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