使用PLC對模擬量處理是在項目開發(fā)過程中,經(jīng)常會遇到的問題。PLC運行過程中使用的是AD轉換后的數(shù)字數(shù)據(jù),實際工程值使用的是表達現(xiàn)場物理現(xiàn)狀的數(shù)據(jù),那這兩種數(shù)據(jù)直徑的對應轉換是如何進行的?PLC編程又如何對這樣的數(shù)據(jù)進行轉換處理?
PLC對電壓/電流模擬量的處理
因為A/D(模/數(shù))、D/A(數(shù)/模)轉換之間的對應關系,S7-200 CPU內(nèi)部用數(shù)值表示外部的模擬量信號,兩者之間有一定的數(shù)學關系。這個關系就是模擬量/數(shù)值量的換算關系。例如,使用一個0 - 20mA的模擬量信號輸入,在S7-200 CPU內(nèi)部,0 - 20mA對應于數(shù)值范圍0 - 32000;對于4 - 20mA的信號,對應的內(nèi)部數(shù)值為6400 - 32000。
如果有兩個傳感器,量程都是0 - 16MPa,但是一個是0 - 20mA輸出,另一個是4 - 20mA輸出。它們在相同的壓力下,變送的模擬量電流大小不同,在S7-200內(nèi)部的數(shù)值表示也不同。顯然兩者之間存在比例換算關系。模擬量輸出的情況也大致相同。
上面談到的是0 - 20mA與4 - 20mA之間換算關系,但模擬量轉換的目的顯然不是在S7-200 CPU中得到一個0 - 32000之類的數(shù)值;對于編程和操作人員來說,得到具體的物理量數(shù)值(如壓力值、流量值),或者對應物理量占量程的百分比數(shù)值要更方便,這才是換算的最終目標。
PLC內(nèi)部數(shù)據(jù)轉換為物理量值的計算
以下為模擬量輸入信號與PLC讀取值之間的轉換關系。
模擬量的輸入/輸出都可以用下列的通用換算公式換算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
- Ov:換算結果
- Iv:換算對象
- Osh:換算結果的高限
- Osl:換算結果的低限
- Ish:換算對象的高限
- Ish:換算對象的低限
在進行程序的處理的時候,依照以上對應轉換關系,進行線性轉換,即可達到實際的物理量或者百分比值。
實例程序實現(xiàn)
以下程序為讀取模擬量數(shù)值,并將其按照實際工況轉換為實際的物理值,其中轉換系數(shù)常數(shù)手動計算設置,轉換常數(shù)的計算方法上面的對應轉換關系得出。
以上網(wǎng)絡功能為,將模擬量輸入數(shù)據(jù)轉換為浮點數(shù),以便進行數(shù)據(jù)處理。
以上程序網(wǎng)絡實現(xiàn)了PLC模擬量輸入讀取數(shù)據(jù)到實際物理值之間的轉換。