工業控制中,模擬量采集的主要過程原理是:將各種工藝參數如溫度、壓力、流量、液位、成分等物理量變換成統一標準信號(標準信號通常是:電流為4-20mA或電壓為0-5V),再傳送到控制器或者指示記錄儀中,進行調節、指示和記錄等。
在工控系統中,溫度、壓力等傳感器采集的信息,通過變送器處理成4-20mA或0-5V電信號,傳送給PLC、單片機等CPU,那么這些CPU是如何把傳送來的電信號轉換為實際的溫度、壓力等信號?
我們通過一個例子來看一下,西門子S7系列PLC是如何處理模擬量傳感器傳動送來的電信號,現在常用的S7-1200PLC直接調用模擬量數據處理模塊就可以,而對于S7-200(此型號已經停產)和S7-200SMART需要對數據進行計算和處理,這種處數據理思路的也是S7-1200數據處理的思路,只不過博圖把這種數據處理過程封裝成為一個指令罷了,其內核是一樣的。我們以S7-200為例(S7-200SMART類似):
有1個溫度傳感器,其測量量程為0—100℃,變送器的輸出信號為4—20mA,現需要用S7-200系列PLC采集溫度傳感器接收的溫度信號,并編程計算得出實時變化的溫度值。
已經知道溫度傳感器的量程為0--100℃,變送器為4---20mA電流信號。也就是說明0--100℃與4---20mA之間的數值是相互對應的,例如0℃對應著4mA,100℃對應著20mA。所以它們之間的關系可以用二維坐標系表示,如圖1所示。
根據相似三角形可以得出公式:
S7-200系列PLC模擬量模塊可處理數值范圍為0—32000,電流范圍為0-20mA。也就是數值0對應著0mA,數值32000對應20mA。兩者之間的關系可以用二維坐標系表示,如圖2所示。
根據相似三角形可以得出公式,
由上面兩個公式可以得出,
其中,TX就是采集的實時溫度值,AIWX為PLC模擬量輸入模塊的采集數據。
AIW16為從溫度變送器接收來的數據,溫度的最終數值為浮點數(也就是有小數點)類型,所以要先轉換為實數,網絡1第一列的指令為數據轉換指令,將AIW16(整數)的數值轉換為雙整數,存儲在VD100地址內;網絡2第二列指令為將雙整數轉換為實數,結果保存在VD104地址內。所以網絡1的程序功能是,將采集的數值(證書類型)轉換為實數類型。網絡2的程序就是按照上面的公式進行計算最終得出實際采集的溫度數值為VD116地址內存放的數值。