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