隨著PLC技術(shù)的發(fā)展,越來越多的設(shè)備中應(yīng)用到PLC控制器,如中央空調(diào)中的恒溫恒濕機(jī)、冷水機(jī)等。在這些設(shè)備的應(yīng)用中,使用了大量的模擬量輸入輸出信號(hào),來達(dá)到溫濕度控制。為此,我們?cè)谶@里以模擬量輸入信號(hào)(0-20mA和4-20mA)為例,簡單介紹以S7-200的模擬量處理方法:
1. 模擬量比例換算
因?yàn)锳/D(模/數(shù))、(D/A)數(shù)/模轉(zhuǎn)換之間的對(duì)應(yīng)關(guān)系,S7-200 CPU內(nèi)部用數(shù)值表示外部的模擬量信號(hào),兩者之間有一定的數(shù)學(xué)關(guān)系。這個(gè)關(guān)系就是模擬量/數(shù)值量的換算關(guān)系。例如,使用一個(gè)0 - 20mA的模擬量信號(hào)輸入,在S7-200 CPU內(nèi)部,0 - 20mA對(duì)應(yīng)于數(shù)值范圍0 - 32000;對(duì)于4 - 20mA的信號(hào),對(duì)應(yīng)的內(nèi)部數(shù)值為6400 - 32000。顯然兩者之間存在比例換算關(guān)系。模擬量輸出的情況也大致相同。
上面談到的是0 - 20mA與4 - 20mA之間換算關(guān)系,但模擬量轉(zhuǎn)換的目的顯然不是在S7-200 CPU中得到一個(gè)0 - 32000之類的數(shù)值;對(duì)于編程得到具體的物理量數(shù)值(如溫度、濕度、壓力值、流量值),或者對(duì)應(yīng)物理量占量程的百分比數(shù)值要更方便,這是換算的最終目標(biāo)。
2. 通用比例換算公式
模擬量的輸入可以用下列的通用換算公式換算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:Ov: 換算結(jié)果 Iv: 換算對(duì)象 Osl: 換算結(jié)果的低限
Ish: 換算對(duì)象的高限 Isl: 換算對(duì)象的低限
它們之間的關(guān)系可以圖示如下:
圖1. 模擬量比例換算關(guān)系
3.程序的編制
根據(jù)1、2兩點(diǎn)的分析,在由第二點(diǎn)中的公式可以編制如下用戶程序。首先在已存在的程序項(xiàng)目建立子程序,在子程序中添加如下代碼:
LD SM0.0
-R #Osl, #Osh
-I #Isl, #Input
ITD #Input, #Temp_D
DTR #Temp_D, #Temp_R
*R #Temp_R, #Osh
-I #Isl, #Ish
ITD #Ish, #Temp_D
DTR #Temp_D, #Temp_R
/R #Temp_R, #Osh
+R #Osl, #Osh
MOVR #Osh, #Output
在建立了子程序后,在把它定義為庫指令后,在以后的編程中可以隨時(shí)調(diào)用該指令應(yīng)用到不同的控制程序中,使用程序的編制過程簡單,同時(shí)使增強(qiáng)的程序的可讀性。以上的程序已經(jīng)過實(shí)際的應(yīng)用,同行們可以直接使用。在程序中調(diào)用的指令Scal_I_to_R如下圖所示。