1 引言
電動(dòng)調(diào)節(jié)閥因具有結(jié)構(gòu)簡(jiǎn)單、維修方便、使用壽命長(zhǎng)等優(yōu)點(diǎn)被廣泛地應(yīng)用于造紙、石化、電站、制冷等過程控制領(lǐng)域。基于提高電動(dòng)調(diào)節(jié)閥的控制精度、減少調(diào)試者和操作員的無用勞動(dòng)這一目的,具有連續(xù)閥位反饋的閥門深受生產(chǎn)廠家和控制系統(tǒng)設(shè)計(jì)部門的青睞。而具有連續(xù)閥位反饋的閥門的造價(jià)遠(yuǎn)遠(yuǎn)高于無連續(xù)閥位反饋的閥門,為此,對(duì)無連續(xù)閥位反饋的閥門用軟件來彌補(bǔ)硬件上的美中不足就顯得很有必要。本文就是在進(jìn)行某造紙廠工業(yè)控制系統(tǒng)DCS設(shè)計(jì)的同時(shí),實(shí)現(xiàn)了這種無連續(xù)開度反饋的電動(dòng)調(diào)節(jié)閥開度的計(jì)算,使其具有有連續(xù)開度反饋閥門的特性,經(jīng)在實(shí)際中使用,效果良好,工作穩(wěn)定可靠。
2 電動(dòng)調(diào)節(jié)閥的控制機(jī)理
圖1 壓力控制回路
電動(dòng)調(diào)節(jié)閥廣泛地應(yīng)用在DCS控制系統(tǒng)的壓力、壓差、液位等控制回路,下面就以典型的壓力控制[1]回路為例,分析無連續(xù)開度反饋電動(dòng)調(diào)節(jié)閥的控制機(jī)理,如圖1所示。
壓力變送器測(cè)得的現(xiàn)場(chǎng)壓力信號(hào)PT通過功能模塊SM331送給CPU模塊,CPU結(jié)合電動(dòng)閥的全開全關(guān)位置反饋,利用PID算法輸出數(shù)字量的開/關(guān)閥信號(hào)給固態(tài)繼電器對(duì)SR,從而驅(qū)動(dòng)電動(dòng)閥增大/減小其開度。
在圖1所示的壓力控制回路中,CPU中運(yùn)行的PID控制算法[2,3]采用STEP7自帶的FB42功能塊,其相關(guān)端口[4]介紹如下:
SP_INT:設(shè)定值輸入端(浮點(diǎn)格式),范圍為0.0~100.0;
PV_IN:測(cè)量值輸入端,范圍為0.0~100.0;
PV_PER:測(cè)量值輸入端,范圍為0~27648;
CRP_IN:數(shù)值轉(zhuǎn)換(將PV_PER外圍設(shè)備數(shù)值轉(zhuǎn)換為一個(gè)浮點(diǎn)格式的數(shù)值),范圍為-100.0~100.0,CRP_IN的輸出=PV_PER×100/27648;
PV_NORM:對(duì)CRP_IN的輸出進(jìn)行標(biāo)準(zhǔn)化,PV_NORM的輸出=(CRP_IN的輸出)×PV_FAC+ PV_OFF,PV_FAC的缺省值為“1”, PV_OFF的缺省值為“0”;
DISV:干擾信號(hào)輸入端;
LMNR_HS:閥門全開信號(hào)反饋;
LMNR_LS:閥門全關(guān)信號(hào)反饋;
LMNS_ON:手動(dòng)選擇端;
LMNUP:手動(dòng)開閥;
LMNDN:手動(dòng)關(guān)閥;
MTR_TM:閥門的行程時(shí)間(默認(rèn)值為30秒);
QLMNUP:開閥信號(hào);
QLMNDN:關(guān)閥信號(hào)。
FB42的工作過程:由SP_INT和PV_IN(或PV_PER)得到范圍在-100.0~100.0之間的偏差信號(hào)(PV),該偏差經(jīng)過比例環(huán)節(jié)之后,其中一路先經(jīng)過了一個(gè)積分環(huán)節(jié),然后與計(jì)算得到的理論閥位開度增量值相比較,比較后的結(jié)果再通過一個(gè)積分環(huán)節(jié)算得當(dāng)前的閥位估計(jì)值,該估計(jì)值與比例環(huán)節(jié)后的偏差在THREE_ST(三步元件)塊里計(jì)算得到正負(fù)脈沖寬度,該結(jié)果再通過PULSEOUT(脈沖信號(hào)產(chǎn)生環(huán)節(jié))產(chǎn)生不同占空比的脈沖信號(hào),該脈沖信號(hào)直接控制電動(dòng)閥開度的增大/減少。
3 閥門開度計(jì)算算法的實(shí)現(xiàn)
從上述功能塊FB42的工作過程介紹中可以看到,在FB42中其實(shí)提供了一個(gè)計(jì)算閥門開度的功能,但由于這個(gè)功能塊沒有提供任何的結(jié)果輸出,再加上FB42的源代碼也無法獲得,所以不能直接使用。為了解決這個(gè)問題,筆者提出了仿FB42的閥位開度計(jì)算算法。其主程序流程圖如圖2所示。
圖2 閥位開度計(jì)算算法流程圖
在該主程序流程圖中,初始化部分主要完成閥門行程時(shí)間的獲取以及各個(gè)所要用到的內(nèi)存單元的復(fù)位。
開閥時(shí)間T1的計(jì)算由以下具體程序[5]實(shí)現(xiàn):
COMM:A #QLMNUP //開閥信號(hào)上升沿啟動(dòng)定時(shí)器
L S5T#30S
SP T 1 //設(shè)定定時(shí)器類型為脈沖定時(shí)器
AN #QLMNUP //當(dāng)開閥信號(hào)終止時(shí)復(fù)位定時(shí)器
R T 1
LC T 1
BTI
T LW 20
L 300記下每次在得到全開/全關(guān)
L LW 20
-I
T LW 22
ITD
DTR
T LD 24 //讀取定時(shí)器工作時(shí)間并轉(zhuǎn)換為實(shí)數(shù)型數(shù)據(jù)
關(guān)閥時(shí)間T2的計(jì)算程序與此類似。在獲得開關(guān)閥時(shí)間T1、 T2的基礎(chǔ)之上計(jì)算閥門的開度增量:
L LD 12 //該暫存存儲(chǔ)單元存放本次循環(huán)周期內(nèi)的開閥開度增量
L #OPN_PST //上次循環(huán)周期內(nèi)的開閥開度增量
-R
T LD 64 //開閥開度增量
L LD 12
T #OPN_PST
L LD 16 //該暫存存儲(chǔ)單元存放本次循環(huán)周期內(nèi)的關(guān)閥開度增量
L #CLS_PST //上次循環(huán)周期內(nèi)的關(guān)閥開度增量
-R
T LD 72 //關(guān)閥開度增量
L LD 16
T #CLS_PST
開/關(guān)閥開度增量的周期累計(jì),再通過一個(gè)積分環(huán)節(jié),在原有開度的基礎(chǔ)之上得到當(dāng)前的理論開度值。
4 優(yōu)化功能的實(shí)現(xiàn)
4.1 行程時(shí)間的自計(jì)算
在FB42中,默認(rèn)的MTR_TM(行程時(shí)間)為30秒。可實(shí)際的閥門由于具體的生產(chǎn)廠家、規(guī)格型號(hào)等客觀因素的影響,行程時(shí)間各有不同。從以上所述的計(jì)算算法可以看到,閥門的行程時(shí)間在整個(gè)計(jì)算過程中起到了至關(guān)重要的作用。為此,筆者就在開度計(jì)算前加入了一段計(jì)算行程時(shí)間的程序。其具體的功能實(shí)現(xiàn)為:手動(dòng)設(shè)置QLMNDN為1,直至從LMNR_LS得到閥門全關(guān)信號(hào),然后設(shè)置QLMNUP為1,同時(shí)啟動(dòng)定時(shí)器,當(dāng)從LMNR_HS得到閥門全開信號(hào)時(shí),停止定時(shí),由此得到的時(shí)間值就是該閥門的行程時(shí)間。
4.2 調(diào)整功能
一般情況下,由于固態(tài)繼電器以及閥門本身反應(yīng)時(shí)間的影響,閥門不會(huì)很好地跟蹤FB42的開/關(guān)閥信號(hào)輸出,這種誤差經(jīng)過累計(jì)就會(huì)使上述算法計(jì)算得到的理論開度和實(shí)際開度有較大的出入。為了解決這個(gè)問題,就有必要添加自調(diào)整功能。借助電動(dòng)閥門提供的全開/全關(guān)反饋信號(hào),筆者提出了基于以下思想的自調(diào)整方案:
(1) 在得到閥門反饋回來的全開/全關(guān)信號(hào)時(shí),強(qiáng)制把當(dāng)前計(jì)算得到的開度相應(yīng)地置為100.0和0.0;
(2) 信號(hào)時(shí),計(jì)算得到的開度和當(dāng)時(shí)的實(shí)際開度(0.0或100.0)的偏移量。該偏移量用于修正下次的理論開度。
4.3 自調(diào)整算法
為了使計(jì)算得到的理論開度盡可能準(zhǔn)確地和實(shí)際開度保持一致,先從分析控制系統(tǒng)入手。該系統(tǒng)的構(gòu)成框圖如圖3所示。
圖3 閥門控制系統(tǒng)的構(gòu)成框圖
在這個(gè)控制系統(tǒng)中,由于固態(tài)繼電器、閥門本身的動(dòng)作時(shí)間,所以閥門作為一個(gè)被控對(duì)象是具有較為明顯的純滯后特性。理論開度和實(shí)際開度的偏差正是由于這些純滯后所造成的。為此,有必要得到純滯后時(shí)間和偏差量之間的定量關(guān)系。以圖4所示的閥門動(dòng)作過程為例。
圖4 閥門動(dòng)作過程
其中,T1是固態(tài)繼電器、閥門得電動(dòng)作的滯后時(shí)間,T2是固態(tài)繼電器、閥門失電動(dòng)作的滯后時(shí)間,Δk是閥門的靜態(tài)開度偏差量。
在圖4中,可以看到閥門的一次開過程引入的偏差量是:
(1)
一次關(guān)過程引入的偏差量是:
(2)
由(1)、(2)式得到了偏差量Δk和純滯后時(shí)間ΔT的關(guān)系表達(dá)式:(3)
其中,ΔT=T2-T1,m是輸出開閥信號(hào)的次數(shù),n是輸出關(guān)閥信號(hào)的次數(shù)。假定在閥門全開時(shí)得到的理論開度和實(shí)際開度的差值為Δk,而開/關(guān)閥門信號(hào)的輸出次數(shù)是可以統(tǒng)計(jì)得到的,由上面的關(guān)系式就可以簡(jiǎn)單地整定出一個(gè)ΔT,如此反復(fù),每次到達(dá)全開/全關(guān)位置時(shí)就整定出一個(gè)新的ΔT,然后在每次閥門的開/關(guān)過程中補(bǔ)償因?yàn)楣虘B(tài)繼電器、閥門動(dòng)作所引入的開度偏差,這樣就保證了理論開度值始終可以跟上實(shí)際開度值的變化。
4.4 算法驗(yàn)證及試驗(yàn)結(jié)果
注:圖5、圖6中橫坐標(biāo)表示開/關(guān)閥門信號(hào)的輸出次數(shù)之差m-n(次),縱坐標(biāo)表示閥門開度k(%);
‘*’為未經(jīng)自調(diào)整的閥門實(shí)際開度采樣值,‘o’為未經(jīng)自調(diào)整的閥門實(shí)際理論開度采樣值。
圖5 未經(jīng)自調(diào)整的閥門實(shí)際、理論開度對(duì)比
為了驗(yàn)證本開度計(jì)算算法以及優(yōu)化功能的正確性,采用了一臺(tái)和無連續(xù)閥位反饋的電動(dòng)閥有同樣控制機(jī)理,而且還有連續(xù)閥位反饋的ZAP-20型電動(dòng)閥門進(jìn)行試驗(yàn)。
FB42作為閥門的PID控制器,結(jié)合開度計(jì)算程序,在閥門由全關(guān)到全開的過程中依次取樣,其試驗(yàn)結(jié)果如圖5所示。
由圖5試驗(yàn)曲線通過(3)式可以整定出一個(gè)ΔT≈0.1983s,用它去補(bǔ)償其開度偏差,得到如圖6所示的曲線。
對(duì)照?qǐng)D5、圖6兩組曲線,可以看到自調(diào)整前的理論開度和實(shí)際開度的偏差較大,并且其值與m-n值之間存在著近似線性關(guān)系。經(jīng)過自調(diào)整后,兩者的偏差明顯減小,理論開度能很好地跟蹤實(shí)際開度。
圖6 自調(diào)整后的實(shí)際、理論閥門開度對(duì)比
5 算法的擴(kuò)展
該算法具有很好的通用性。針對(duì)僅有兩點(diǎn)(全開、全關(guān))狀態(tài)反饋的閥門,可以彌補(bǔ)沒有連續(xù)準(zhǔn)確開度反饋的缺點(diǎn),針對(duì)有連續(xù)開度反饋的閥門同樣也可以起到提高精度的作用。
將自調(diào)整算法應(yīng)用到有連續(xù)開度反饋的閥門中可以發(fā)現(xiàn),實(shí)際開度和理論開度之間的偏差不光和ΔT(開關(guān)閥門滯后時(shí)間之差)有關(guān),更是和閥門本身的精度有關(guān),精度越高的閥門,其實(shí)際開度跟蹤設(shè)定開度的程度越好,相反地,精度不高的閥門往往因?yàn)殚_度誤差導(dǎo)致工藝質(zhì)量下降,但閥門精度的提高是以犧牲成本為基礎(chǔ)的,本算法就可以通過自調(diào)整程序得到實(shí)際閥門數(shù)學(xué)模型的主要參數(shù),在此基礎(chǔ)上,結(jié)合相關(guān)的算法優(yōu)化閥門的開度信號(hào),從而達(dá)到控制效果的最優(yōu)。
6 結(jié)語
在深入研究FB42的基礎(chǔ)上,結(jié)合從控制系統(tǒng)的角度分析得到的自調(diào)整結(jié)論,通過具體程序?qū)崿F(xiàn)了無連續(xù)開度反饋電動(dòng)調(diào)節(jié)閥的開度計(jì)算算法。該算法經(jīng)調(diào)試已經(jīng)在河北某造紙廠正式投入使用,減輕了調(diào)試和操作的難度和復(fù)雜度,達(dá)到了預(yù)期控制效果。同時(shí),節(jié)約了成本,拓寬了閥門的使用范圍,具有較高的實(shí)用推廣價(jià)值。