因為A/D(模/數)、D/A(數/模)轉換之間的對應關系,S7-200 CPU內部用數值表示外部的模擬量信號,兩者之間有一定的數學關系。這個關系就是模擬量/數值量的換算關系。
例如,使用一個0 - 20mA的模擬量信號輸入,在S7-200 CPU內部,0 - 20mA對應于數值范圍0 - 32000;對于4 - 20mA的信號,對應的內部數值為6400 - 32000。
如果有兩個傳感器,量程都是0 - 16MPa,但是一個是0 - 20mA輸出,另一個是4 - 20mA輸出。它們在相同的壓力下,變送的模擬量電流大小不同,在S7-200內部的數值表示也不同。顯然兩者之間存在比例換算關系。模擬量輸出的情況也大致相同。
上面談到的是0 - 20mA與4 - 20mA之間換算關系,但模擬量轉換的目的顯然不是在S7-200 CPU中得到一個0 - 32000之類的數值;對于編程和操作人員來說,得到具體的物理量數值(如壓力值、流量值),或者對應物理量占量程的百分比數值要更方便,這是換算的***終目標。
如果使用編程軟件Micro/WIN32中的PID Wizard(PID向導)生成PID功能子程序,就不必進行0 - 20mA與4 - 20mA信號之間的換算,只需進行簡單的設置。
模擬量的輸入/輸出都可以用下列的通用換算公式換算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov: | 換算結果 |
Iv: | 換算對象 |
Osh: | 換算結果的高限 |
Osl: | 換算結果的低限 |
Ish: | 換算對象的高限 |
Isl: | 換算對象的低限 |