因為A/D(模/數(shù))、D/A(數(shù)/模)轉換之間的對應關系,S7-200 SMART CPU內(nèi)部用數(shù)值表示外部的模擬量信號,兩者之間有一定的數(shù)學關系。這個關系就是模擬量/數(shù)值量的換算關系。
例如,使用一個0 - 20mA的模擬量信號輸入,在S7-200 SMART CPU內(nèi)部,0 - 20mA對應于數(shù)值范圍0 - 27648;對于4 - 20mA的信號,對應的內(nèi)部數(shù)值為5530 - 27648。
如果有兩個傳感器,量程都是0 - 16MPa,但是一個是0 - 20mA輸出,另一個是4 - 20mA輸出。它們在相同的壓力下,變送的模擬量電流大小不同,在S7-200 SMART內(nèi)部的數(shù)值表示也不同。顯然兩者之間存在比例換算關系。模擬量輸出的情況也大致相同。
上面談到的是0 - 20mA與4 - 20mA之間換算關系,但模擬量轉換的目的顯然不是在S7-200 SMART CPU中得到一個0 - 27648之類的數(shù)值;對于編程和操作人員來說,得到具體的物理量數(shù)值(如壓力值、流量值),或者對應物理量占量程的百分比數(shù)值要更方便,這是換算的最終目標。
模擬量的輸入/輸出都可以用下列的通用換算公式換算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov: 換算結果 Iv: 換算對象 Osh: 換算結果的高限 Osl: 換算結果的低限 Ish: 換算對象的高限 Isl: 換算對象的低限
它們之間的關系可以圖示如下:
圖1. 模擬量比例換算關系
為便于用戶使用,這里提供了量程轉化庫,用戶可以添加到自己的Micro/WIN編程軟件中應用。
注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責任。使用該軟件的風險完全由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為此聯(lián)系西門子技術支持與服務部門。
在這個指令庫中,子程序S_ITR用來進行模擬量輸入到S7-200 SMART 內(nèi)部數(shù)據(jù)的轉換;子程序S_RTI可用于內(nèi)部數(shù)據(jù)到模擬量輸出的轉換。
編程舉例:
將4 - 20mA模擬量輸入轉換為內(nèi)部百分比值
|
將內(nèi)部百分比值轉換為4 - 20mA模擬量輸出
|
圖2. 編程舉例
溫度模擬量輸入模塊(EM231 TC、EM231 RTD)所讀取的數(shù)據(jù)是溫度測量值的10倍(攝氏或華氏溫度)。如AIW16里監(jiān)控到520相當于實際溫度52.0度。,可以自己做運算,當然也可以按照上文圖2中的步驟做量程轉換,調(diào)整上下限即可