1 引言
在實際生產過程中,多數工業對象具有較大的純滯后時間τ,如造紙生產過程、化學放應及精餾塔等。τ對控制性能極為不利,采用常規PID對克服很難適應,而且使控制過程嚴重超調,穩定性差。通常,如果純滯后與過程慣性時間常數之比大于0.5,則認為它是大純滯后過程。盡管控制理論在過去的幾十年中發展很快,但是迄今為止,在時滯過程中,應用較多的仍然是史密斯預估器。
隨著微電子、通信和控制技術的發展,PLC不僅具有了邏輯運算、計時計數等邏輯功能,還擁有了數值運算、模擬監控、中斷和通信等功能。其應用范圍大到過程控制、智能控制等領域。作為西門子公司生產的小型PLC,S7-200以往多用在開關量的控制中,對于模擬量的控制,一般采用常規PID算法。但如果被控對象具有較大純滯后,采用常規PID的控制方法往往不能勝任。本文提出一種在西門子小型PLC S7-200中實現史密斯預估補償的新方法,并用模糊控制器代替原有的PID控制器,用以增強對系統參數變化的適應性,從而構成一種史密斯模糊集成控制系統,改變了以往S7-200PLC只能使用常規PID的控制算法的情況。實踐證明:使用S7-200 PLC,能夠實現史密斯預估補償。S7-200在具有大純滯后過程中也能起到很好的效果。
2 被控對象特點及控制任務
被控對象是以某熱處理淬火爐為背景的一個電加熱爐試驗裝置,爐體長約3m,由5個加熱區組成,每個加熱區采用一組可控硅控制的電阻絲加熱。在每個加熱區內分別有一個J形熱電偶用于測量該區的溫度。在生產過程中,工件通過鏈條連續在爐內傳遞。由于加熱過程存在較大滯后和非線性特性,加之各區之間較強的關聯耦合作用以及爐子內部鏈條的連續傳動,使得電加熱爐溫度的定值控制十分困難。以往采用單純的PID控制,無法獲得滿意的控制效果,因此采用史密斯模糊控制策略來實現該電加熱爐溫度的控制。
3 史密斯預估控制原理
在單回路控制系統中,D(s)表示調節器的傳遞函數,用于校正GP(s)部分;表示被控對象的傳遞函數,GP(s)為被控對象中不包含純滯后部分的傳遞函數,
為被控對象純滯后部分的傳遞函數。τ為純滯后時間。
圖1 帶純滯后環節的控制系統
史密斯預估控制原理是:與D(s)并接一補償環節,用來補償被控對象中的純滯后部分,這個補償環節稱為史密斯預估補償器,其傳遞函數為。
補償后的系統框圖如圖2所示。
圖2 史密斯預估補償回路圖
由史密斯預估器和調節器D(s)組成的補償回路稱為純滯后補償器,其傳遞函數為,即
經補償后的系統閉環傳遞函數為:
上式說明,經補償后,消除了純滯后部分對控制系統的影響。
4 模糊控制器的設計
傳統的史密斯預估補償控制器是基于被控對象精確模型而設計的,以此對于缺乏精確模型或參數時變的具有滯后的過程控制系統來說,很難獲得令人滿意的控制效果。考慮到模糊控制器具有模型參數不敏感的優點,可將模糊控制器引入史密斯預估補償控制系統中,用模糊控制器取代圖1中的控制器D(s),構成史密斯模糊集成控制系統(SFC)。圖3給出了本課題采用的模糊控制器的基本結構。圖中SP為設定值,y為過程輸出,e和ė分別為偏差和偏差變化率,E和EC分別是e和ė經過輸入量化以后的語言化變量,U為基本模糊控制器輸出語言變化量,u為經過輸出量化后的實際輸出值。
圖3 模糊控制器結構
(1) 模糊控制器的語言變量:模糊控制器的語言變量可選為實際溫度y與溫度設定值ysp之差e=y-ysp及變化率 Δe/TS,TS為采樣周期;輸出語言變化量為控制通過加熱裝置的電流的可控硅導通角的變化量u。
(2) 輸入語言變量偏差E、偏差變化EC和輸出語言變量U的隸屬度函數,經過歸一化處理后,偏差、偏差變化及輸出控制變化量的基本論域都為[-1,+1]。若選定E的論域X={-3,-2,-1,0,+1,+2,+3},則得誤差e的量化因子GE=3/1=3。為語言變量E選取的語言值:NB、NM、NS、ZERO、PS、PM、PB。各語言值由梯形隸屬度函數定義,如圖4所示。
圖4 語言變量E的梯形隸屬度函數
圖5 語言變量U的單值隸屬度函數
誤差變化EC的論域Y=X,量化因子GR=GE=3,語言變量EC的語言值及隸屬度函數均與E相同。輸出語言變量U的論域Z={-3,-2,-1,0,+1,+2,+3},則輸出控制量變化Δu的比例因子GU=1/3=0.33。同樣,語言變量U選取得語言值:NB、NM、NS、ZERO、PS、PM、PB。為計算簡單起見,各語言值由單值隸屬度函數定義,如圖5所示。
(3) 模糊控制規則表。基于對操作者手動策略的總結,得出一組由49條模糊條件語句構成的控制規則,將這些模糊條件語句加以歸納,可以建立反映電加熱爐溫度控制的模糊控制規則表,如表1所示。
表1 溫度模糊控制規則表
模糊控制規則表1包含的每一條模糊條件語句都決定一個模糊關系,其中第i條模糊規則Ri可表述為:if (GE?e) is Ei and (GC?△e) is ECi then (GU?△u) is Ui i=1,2,……,49。通過對模糊關系的合成運算,可獲取表征電加熱爐溫度模糊控制的總的模糊關系,進而求得控制量U,求取輸出控制量。
(4) 采用前述乘積推理、重心法解模糊算法,可求得實際輸出控制量。由第i條模糊控制規則推理得到的輸出模糊集合隸屬度函數為:μUi(U)=μEi(E)μECi(EC)
解模糊后得到精確控制量輸出:
5 具有純滯后補償的數字控制器
純滯后補償的數字控制器由兩部分組成:一部分是模糊控制器,一部分是史密斯預估器。
(1) 史密斯預估器
系統中的滯后環節使信號延遲,為此,在內存中專門設定N個單元作為存放信號m(k)的歷史數據。存儲單元的個數,式中T為采樣周期。
每采樣一次,把m(k)記入0單元,同時把0單元原來存放數據移到1單元,1單元原來存放數據移到2單元,依次類推。從單元N輸出的信號,就是滯后N個采樣周期的M(K-N)信號。史密斯預估器的輸出可按圖6的順序計算。
圖6 史密斯預估器方框
u(k)是模糊控制器的輸出,是史密斯預估器的輸入。從圖6中可知,必須先計算傳遞函數的輸出后,才能計算預估器的輸出:。工業對象可近似用一階慣性和純滯后環節的串聯來表示:
式中:Kf為被控對象的放大系數;Tf為被控對象的時間常數;τ為純滯后時間。
預估器的傳遞函數為:
(2) 純滯后補償控制算法步驟
① 計算反饋回路的偏差e1(k)
e1(k)=r(k)-y(k)
② 計算純滯后補償器的輸出yτ(k)
化成微分方程式,則可寫成:
相應的差分方程為:
式中:,
,上式稱為史密斯預估控制算式。
③ 計算偏差e2(k)
e2(k)= e1(k)-yτ(k)
④ 計算控制器的輸出u(k)
u(k)=△u( k )+u ( k-1)
6 實驗結果
用S7-226PLC控制電加熱爐,PLC中的程序用STL語言編寫,分為主程序、子程序0、子程序1、定時中斷子程序0。各程序段流程圖及程序代碼如下:
主程序: 子程序0:
圖7 主程序流程圖 圖8 子程序0流程圖
子程序1的作用是在每一秒內,將模糊控制器的輸出送給史密斯預估器的輸入端,同時將史密斯預估器存儲單元內的數據依次推移。具體程序如下:
LD SM0.0
A SM0.5
EU
MOVD &VB204, VD1
MOVD &VB200, VD5
FOR VW100, +1, +N (N為滯后純時間)
MOVD *VD1, *VD5
+D +4, VD1
+D +4, VD5
WDR
NEXT
定時中斷子程序0的作用是在每一個定時中斷區間內(定時長度由定時中斷控制寄存器控制),讀入設定值SP、過程值PV及史密斯預估器的輸出,計算出史密斯模糊控制器的輸出,送給模擬量輸出通道,控制可控硅的導通角,實現閉環控制。定時中斷子程序0的程序框圖如圖9所示。
圖9 定時中斷子程序流程圖
圖10 電加熱爐溫度史密斯模糊控制效果
筆者用S7-226控制此電加熱爐對象,以往采用常規PID算法時,被控參數嚴重超調,穩定性極差。采用本文所述的方法進行改進后,顯著改善了控制效果。控制結果如圖10所示。
7 結語
西門子小型PLCS7-200具有高可靠性,強抗干擾能力,擁有高速的執行速度,在浮點運算、指針運算、中斷、通信等方面功能完全能夠勝任一些特殊場合的過程控制,實踐結果表明,采用史密斯預估補償的方法,比用常規PID超調量顯著減少,提高了系統的穩定性,控制效果令人滿意,拓展了S7-200這類小型PLC的應用領域。