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