模擬量在工業現場使用的非常普遍,常見的模擬量信號有±10V、±5V、0~20mA、4~20mA等等。當模擬量傳感器連接到模擬量輸入模塊后,CPU必須將采集到的信號進行轉換才能正確的處理,這也就是常說的模數轉換。
不過,模數轉換后的數值并不具有明顯的工程意義。比如,經過模數轉換后,得到模擬量的信號值為15680。這個值并不具有工程意義,必須將其轉換成工程量值(比如溫度、壓力等)才有實際意義。今篇這篇文章,我們就來談談怎樣將模擬量的信號值轉換成工程量值。
很多PLC都集成了模擬量信號值與工程量值的轉換指令/函數,比如S7-1200 系列PLC,可以使用指令SCALE_X和NORMAL_X來完成轉換。
具體可以看看這篇文章:
如何對模擬量模塊SM1232進行組態和編程?
其實,模擬量信號值和對應的工程量值之間成正比關系,有一個通用的轉換公式。
接下來我們介紹下這個轉換公式。有了這個公式,也可以自己編程來實現轉換函數。
在介紹公式之前,先做如下定義:
Ish:模擬量信號轉換后的最大值(上限,Input scale value high);
Isl:模擬量信號轉換后的最小值(下限,Input scale value low);
Osh:工程值的最大值(上限,Output scale value hight);
Osl:工程值的最小值(下限,Output scale value low);
Iv:輸入的模擬量信號值(Input value);
Ov:輸出的工程值(Output Value);
以模擬量轉換后的信號值為橫坐標,以與之對應的工程量值為縱坐標,在二維坐標系中畫出一條直線。上述各值在坐標系中的分布如下圖:
根據正比關系,有如下方程:
(Osh-Osl)/(Ish-Isl)=(Ov-Osl)/(Iv-Isl)
解方程得出:
Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl
這個就是模擬量信號值轉換成工程量值的公式,感興趣的小伙伴可以根據這個公式編寫出自己的轉換函數。
好了,關于模擬量信號值與工程量值的轉換就介紹到這里。歡迎掃描下面的二維碼關注我們的微信公眾號。