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