模擬量輸入信號還不會換算?一個萬能的程序,全部輕松搞定!
在實際的一些項目中,會使用幾十上百個模擬量輸入信號,這些模擬量輸入信號可能是電壓、電流或者熱電阻信號等等,如果每個都單獨處理的話,非常耗費時間。我們就想著能不能使用一個程序,簡單配置一下,就能處理所有的模擬量輸入信號呢?當然是可以實現,這也是我們這篇文章要解答的問題,請接著往下看。
西門子S7-1200/1500 PLC中模擬量模塊的類型包括電壓/電流、電阻/熱電阻、熱電偶,如圖所示:
這三類模擬量模塊的信號,又可以概括為四種情況:
a.單極性信號
不過零的模擬量信號變化為單極性信號,比如0~5V、4~20mA、0~300Ω。
單極性模擬量信號的額定測量范圍為0~27648,其轉化公式為:
以一個檢測距離0~200mm,模擬量信號為0~10V的傳感器,當In等于13824時,帶入公式的Out的物理量實際值等于100mm。
b.雙極性信號
過零的模擬量信號變化為雙極性信號,比如±10V、±80mV。
雙極性模擬量信號的額定測量范圍為±27648,其轉化公式為:
以一個檢測角度±90°,模擬量信號為±10V的傾角傳感器,當In等于-13824時,帶入公式的Out的物理量實際值等于-90°。
c.標準型溫度測量
將Pt100這類溫度傳感器的阻值轉化成溫度的類型。
其轉化公式為:
這個公式是將模擬量測量值除以10.0得到實際的溫度,比如說當前模擬量測量值為12345,那么實際的溫度就是1234.5℃。
需要注意的是,如果使用熱電偶,其也按照標準溫度公式來轉化。
d.氣候型溫度測量
氣候型溫度是一種特殊的類型,它是用來描述實際的天氣溫度,比如天氣預報說,深圳明天的氣溫為10~20℃;哈爾濱明天的氣溫為-3~12℃。
其轉化公式為:
這個公式是將模擬量測量值除以100.0得到實際的溫度,比如說當前模擬量測量值為2062,那么實際的溫度就是20.62℃。
在一個項目中,具有64個模擬量輸入信號,其信號地址和類型如下所示:
按照該項目需求,進行程序編寫,主要分為以下幾個步驟:PLC和模塊組態、將模擬量地址映射到數組、新建FB模板程序、編寫控制程序。
a.PLC和模塊組態
按照實際的模擬量模塊進行組態,并設置好對應的模擬量類型,如圖所示:
b.將模擬量地址映射到數組
添加一個PLC數據類型(UDT),并命名為“typeChannel”,如圖所示:
在PLC變量中,添加一個名稱為 “AIChannel”,數據類型為“typeChannel”的數據,如圖所示:
c.新建FB模板程序
添加一個名稱為“typeAI”,并添加模擬量通道的元素,如圖所示:
再添加一個名稱為“AIConvert”的FB函數塊,并在接口中添加參數,如圖所示:
d.編寫控制程序
使用一個FOR循環指令來進行初級處理,如果“enable”為TRUE,則啟用該通道,并根據該通道的類型進行CASE判斷,并處理程序,如圖所示:
將該FB在OB1中進行調用,并新建全局變量,并關聯形參,如圖所示:
為了便于仿真測試,添加一個數組用于模擬AI信號值,如圖所示:
仿真在線監控,這里將前三個模擬量通道配置為單極性,物理值范圍為0~100.0Mpa,當模擬量通道有信號輸入時,得到的模擬量轉化值如圖所示:
回到最開始的那個問題,我們使用一個FB程序塊,簡單配置后,就實現了所有模擬量信號的轉化。這個程序為第一個版本,后續可以根據需要對模擬量通道故障進行處理,模擬量的濾波也可以在該程序上進行修改和完善。如果本案例對你有用,請關注公眾號,并點贊轉發讓更多人知道。
文章來源:技成培訓網
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















