- 電話: 010-64734946 64734947 64738638
- 傳真: 010-64738090
模擬量轉換怎樣轉換?
軟件編程S7-400壓力傳感器分享FC105PIWword
在生活中經常會遇到一些新手提出關于模擬量怎樣轉換的問題。我們知道西門子系統庫有專門的塊可以直接使用,例如模擬量輸入轉換塊FC105。但是塊指令各個管腳的含義等不適很明白。有些即使看了幫助文件也不明白。這個時候其實我們完全不需要使用系統塊指令,自己編寫程序就可以實現。
我們都知道大多數傳感器輸出信號和其測量數值成比例關系,即直線關系。我們可以使用數學表達式表達:Y= k X+b 這里舉個最簡單的例子。有一個4線制液壓壓力傳感器,其量程也就是測量范圍是0-400bar ,輸出4-20ma電流信號。即 當傳感器檢測到液壓壓力為0bar,輸出4ma 電流信號,當傳感器檢測到液壓壓力為400bar,輸出20ma電流信號。4-20ma對應模擬量數值0--27648 。
從上圖我們得知:b=0 ,k=400/27648 即 Y=400 X/27648 。由于有除法運算,為了提高運算結果精度,我們使用浮點數運算。根據數學表達式我們可以輕松得寫出程序。假設模擬量輸入地址是PIW 264,轉換結果保存在MD0中。程序如下:
L PIW264 //把PIW264裝載到累加器1中低16位
ITD //整數轉換雙整數,結果保存在累加器1中
DTR //雙整數轉換浮點數,結果保存在累加器1中
L 400.0 //把400.0 裝載到累加器1中,原累加器1中內容復制到累加器2中
*R //累加器2內容與累加器1內容相乘結果保存在累加器1中
L 27648.0 //把27648.0裝載到累加器1中,原累加器1中內容復制到累加器2中
/R // 累加器2內容除以累加器1中內容,結果保存在累加器1中
T MD0 //累加器1中內容傳送到MD0中。
當然,我們也可以使用梯形圖指令實現同樣的功能。因為梯形圖中對數據類型有嚴格的要求,PIW 264 是WORD 數據類型,因此我們需要先將PIW 264賦值給整數類型變量MW10 。程序見下圖
當然,這個是最簡單的模擬量轉換。但是,只要我們明白了原理,再復雜的模擬量轉換,我們只要畫出圖形,寫出數學表達式,根據數學表達式就可以快速正確的編寫出程序。