在生產過程中,有很多模擬量存在,如壓力、溫度、流量、速度、PH值等。想實現自動化控制,這些模擬量需要進行處理。因此,PLC要加模擬量輸入擴展模塊。這樣就提供了模擬量輸入路徑,則可以直接與現場的傳感器、變送器直接相連接。
例如現場用的變送器,輸出的標準信號4-20mA或1-5V,由于連接模擬量輸入模塊,將信號傳輸到每塊模擬量輸入模塊。又因為模擬量輸入模塊的每個通道都有個A/D轉換器,把輸入的模擬量信號轉換為CPU能夠解決的數字量。例如西門子S7_200PLC,其模擬量輸入擴展模塊能把0-20mA或4-20mA或1-5V的模擬量處理為0-32000或6400-3200的數字量,以便于其CPU處理。由此可見,信號變化經歷了物理量(P、T、L、F)到傳感器到a/d轉換器到顯示。
假如現場一臺測量液位的液位變送器,量程是0-10m,輸出信號4-20mA,當液位高度為5m時,PLC如何處理而顯示5m呢?這里有模擬量輸入換算公式,在模擬量輸入程序編寫也要用的。傳感器輸出信號下限為0,轉為程序編寫的公式為Y=X/32000x10,如果信號輸出下限為4m或1V,轉換為程序編寫的公式為Y=(X-6400)/25600x10。
實際高度為5m,那么液位變送器輸出信號應該為12mA。送到模擬量輸入模塊,由A/D轉換器轉為19200。在PLC轉為程序編寫的公式,Y=(X-6400)/25600x10。其中,Y表示CPU處理好的實際值,X表示每個通道A/D轉換器處理模擬量后的數字量。
以上述的例子,既然模擬量輸入模塊A/D轉換器處理模擬量信號12mA為數字量19200。套用公式可知Y=5m,與現場液位變送器顯示一致,測量是準確的。
寫程序時先進行數據類型轉換,然后再進行處理。把A/D轉換器轉為數字量的值處理為雙整型,隨后處理為實型,最后用減、除、乘功能塊,乘功能塊輸出值就是實際值Y。