于蒙,鄒志云,趙丹丹,王志甄,蓋希杰
(防化研究院,北京102205)
小型電加熱反應器被廣泛應用于化工實驗,其準確的溫度控制對化工實驗的順利進行至關(guān)重要。一般選擇常規(guī)PID控制方法控溫,但常規(guī)PID控制在設(shè)定溫度下需要通過整定算法整定出合適的控制參數(shù),電加熱反應過程滯后較大,整定過程耗時較長,如常采用的基于Ziegler-Nichols PID整定算法一般需耗時2~4h。由于其非線性和時變性,若換一個設(shè)定溫度或是在反應物容量、實驗環(huán)境等條件變化時,整定出的參數(shù)值就會不適合,就需要重新整定參數(shù)[1]。因此,一種能夠自整定參數(shù)的控制算法對這種小型電加熱反應器的溫度控制顯得十分重要。
神經(jīng)網(wǎng)絡(luò)與PID控制相結(jié)合在控制領(lǐng)域一直是熱點,利用神經(jīng)網(wǎng)絡(luò)來辨識非線性系統(tǒng)的模型,從而對PID的參數(shù)進行優(yōu)化[2]。徑向基函數(shù)RBF(Radial Basis Function)神經(jīng)網(wǎng)絡(luò)是一種具有單隱層的三層前饋神經(jīng)網(wǎng)絡(luò),它模擬了人腦神經(jīng)網(wǎng)絡(luò)中局部調(diào)整、相互覆蓋接受域的特點,是一種局部逼近網(wǎng)絡(luò)[3]。很多文章論述了采用RBF神經(jīng)網(wǎng)絡(luò)辨識非線性系統(tǒng)的模型從而自適應整定PID參數(shù)的方法,但大部分研究成果停留在仿真階段,通過選擇低階純滯后模型來驗證這種算法的有效性[4-8]。筆者則將基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID算法應用于小型電加熱反應器的溫度控制實驗。在工控機上用組態(tài)軟件對小型電加熱反應器進行數(shù)據(jù)采集和過程監(jiān)控,應用動態(tài)數(shù)據(jù)交換DDE(Dynamic Data Exchange)實現(xiàn)組態(tài)軟件與Matlab的實時數(shù)據(jù)通信;把組態(tài)軟件采集的實時數(shù)據(jù)送到Matlab中,用Matlab進行PID參數(shù)的自適應整定,實現(xiàn)小型電加熱反應器基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制。
小批量化工產(chǎn)品生產(chǎn)中經(jīng)常用到的小型電加熱反應器系統(tǒng)組成如圖1所示[1]。裝置由玻璃三口瓶、單相電熱套、溫控箱、PT100鉑熱電阻組成??刂葡到y(tǒng)由S7-200控制器和工業(yè)控制計算機組成。
小型電加熱反應器溫控的工作原理:分度號為Pt100的鉑熱電阻測量反應溶液的溫度,將該溫度信號送至S7-200的EM231模擬量輸入模塊,CPU226進行采集后,通過 RS-485/RS-232轉(zhuǎn)換器送到工業(yè)控制計算機中的“組態(tài)王”中進行顯示、記錄,“組態(tài)王”用DDE方法將數(shù)據(jù)送至Matlab中,進行基于RBF神經(jīng)網(wǎng)絡(luò)的自適應整定PID控制運算,運算后輸出值再用DDE送至“組態(tài)王”,最終由EM232輸出4~20mA的電流信號。該信號經(jīng)單相調(diào)壓板PAC15和雙向可控硅MTC調(diào)節(jié)加熱電壓。溫度低于設(shè)定溫度時加大電壓,溫度高時降低加熱電壓,使加熱溫度保持恒定。
圖1 小型電加熱反應器及其控制系統(tǒng)示意
基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制結(jié)構(gòu)如圖2所示,其中x1,x2,x3為控制器的3個輸入,分別為e(k)-e(k-1),e(k),e(k)-2e(k-1)+e(k-2);K 為增益因子[9]。
假設(shè)要修正的增量式PID控制中的k時刻權(quán)值為wj(k),j=p,i,d,下一時刻的權(quán)值調(diào)節(jié)公式為
式中:Δwj(k)——權(quán)值增量。引入輸出誤差平方函數(shù)作為性能指標,即:
式中:r(k),y(k)——參考輸入和輸出。權(quán)值修正量為
式中:ηj——學習速率,j=p,i,d。為了得到精確的?y(k)/?Δu(k)值,在控制增量權(quán)值調(diào)整環(huán)節(jié) 引 入 RBF 網(wǎng) 絡(luò),對 ?y(k)/?Δu(k)進 行辨識[10]。
圖2 基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制結(jié)構(gòu)
RBF網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖3所示。在RBF網(wǎng)絡(luò)結(jié)構(gòu)中,X= [x1,x2,…,xn]T為網(wǎng)絡(luò)的輸入向量,n為輸入層神經(jīng)元個數(shù);隱含層徑向基向量H = [h1,h2,…,hj,…,hm]T,其中hj為高斯函數(shù),m為隱含層神經(jīng)元個數(shù)。
圖3 RBF神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)
式中:Cj——RBF神經(jīng)網(wǎng)絡(luò)隱含層第j個節(jié)點的中 心 矢 量;Cj= [c1j,c2j,…,cij,…,cnj]T;bj——隱含層節(jié)點j的基寬度參數(shù),且為大于零的數(shù);RBF神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點基寬向量B=[b1,b2,…,bj,…,bn]T。
網(wǎng)絡(luò)的權(quán)向量為w= [w1,w2,…,wj,…,wm],辨識網(wǎng)絡(luò)的輸出為ym(k)=w h =w1h1+w2h2+…+wmhm。辨識網(wǎng)絡(luò)輸出權(quán)值由下式?jīng)Q定:
式中:α——動量因子;β——學習因子。
采用梯度下降法,迭代計算節(jié)點中心矢量和節(jié)點基寬參數(shù):
在Matlab中實現(xiàn)基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制算法時,需先在“組態(tài)王”中定義好Matlab需要用到的DDE傳送的過程變量,定義形式是“過程變量(連接設(shè)備.寄存器)”。這些變量包括經(jīng)EM231模擬量輸入模塊采集到的溫度測量值(S7200.V100)、溫度的設(shè)定值(S7200.V128)和遙控EM232模擬量輸出模塊輸出的控制量(S7200.V110)等。Matlab與“組態(tài)王”的DDE連接主要包括幾個函數(shù):如通過ddeinit(‘View’,‘TAGNAME’)命令進行 Matlab和“組態(tài)王”的DDE通信初始化;利用ddereq(channel,‘S7200,V100’)命令獲取“組態(tài)王”中的現(xiàn)場溫度變量存儲的溫度值;使用ddepoke(channel,‘S7200.V110’,u(k))命令將運算后的輸出值傳輸給“組態(tài)王”輸出控制變量。
Matlab與“組態(tài)王”通信建立后,基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID程序就可周期性地獲取來自“組態(tài)王”的現(xiàn)場溫度數(shù)據(jù)和設(shè)定值數(shù)據(jù),進行PID參數(shù)的整定,得到整定值的增量,并用kP=kP0+ΔkP,kI=kI0+ΔkI,kD=kD0+ΔkD計算本次循環(huán)的kP,kI和kD的整定值。利用在每次循環(huán)中新得到的kP,kI和kD的整定值,按增量式PID控制算法計算控制輸出量,再通過DDE將結(jié)果傳輸給“組態(tài)王”。
程序的流程如圖4所示,其主要工作流程為定義全局變量、Matlab與KingView的DDE通信初始化,判斷通信是否成功,如不成功則顯示“DDE通信失敗”;如成功,則顯示“DDE通信成功”。引入For循環(huán),并設(shè)定循環(huán)次數(shù),每次循環(huán)Matlab從KingView獲取過程變量和設(shè)定值,通過基于RBF神經(jīng)網(wǎng)絡(luò)的PID算法整定PID參數(shù);用增量式PID算式計算控制輸出,對輸出進行限幅,然后輸出控制作用;繪制過程變量曲線圖,存儲過程數(shù)據(jù)文件,終止DDE通信。
圖4 基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID程序流程
使用一套功率為500W的小型電加熱反應器驗證基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制的有效性,并將這種控制策略與常規(guī)PID進行對比。
基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制原理與方法上一節(jié)已經(jīng)說明,其控制中樞在工控機,通過Matlab與“組態(tài)王”結(jié)合實現(xiàn)算法,S7-200控制器起到獲取現(xiàn)場溫度模擬信號和輸出控制模擬信號的作用。常規(guī)PID控制中樞在S7-200控制器,在STEP7編程軟件中,利用PID編程向?qū)梢粋€PID模塊,針對每個設(shè)定溫度預先設(shè)定初始參數(shù),再利用PID控制調(diào)諧面板整定設(shè)定溫度下的PID參數(shù)值。調(diào)諧面板的參數(shù)整定采用的方法是Ziegler-Nichols整定方法,通過改變輸出值,使設(shè)定值曲線與現(xiàn)場溫度曲線產(chǎn)生相交事件。這種整定方法,振蕩幅度較大,振蕩時間較長,需要完成12次零相交事件,自整定才會送出計算值,整個整定過程要耗時4h左右。
小型電加熱反應器的三口燒瓶中裝入4L液體,分別用兩種控制方法對其進行加熱?;赗BF神經(jīng)網(wǎng)絡(luò)的自適應PID控制采用一套參數(shù)(α=0.05,β=0.5,初始權(quán)值kP0=6.8,kI0=0.016,kD0=0;ηP=1 200,ηI=1.8,ηD=0),常規(guī)PID在設(shè)定溫度為60℃時整定出一組控制參數(shù)(增益7.215,積分時間8.952min,微分時間0)。常規(guī)PID控制整定過程如圖5所示,可以看出現(xiàn)場溫度曲線與設(shè)定值曲線完成了12次相交事件。圖6為設(shè)定溫度為60℃控制效果圖,可以看出兩種控制策略在上升時間與穩(wěn)定時間相近,但基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID沒有出現(xiàn)超調(diào),而常規(guī)PID參數(shù)出現(xiàn)了2.1℃的超調(diào),也可看出常規(guī)PID波動幅度稍大。
圖5 常規(guī)PID控制設(shè)定溫度60℃時整定過程
將燒瓶中液體量減少到3.5L時,兩種控制策略參數(shù)不變,控制效果如圖7所示。
可以看出基于RBF神經(jīng)網(wǎng)路的自適應PID控制無論在上升時間還是在控制精度上都要優(yōu)于常規(guī)PID控制。液體量發(fā)生變化后,常規(guī)PID控制之前整定出的參數(shù)已經(jīng)不適合當前加熱狀態(tài),最終現(xiàn)場檢測溫度與設(shè)定溫度有了2.7℃的誤差。
圖6 設(shè)定溫度為60℃時兩種控制策略比較
圖7 液體量減少為3.5L時兩種控制策略的比較
燒瓶中液體量恢復為4L,設(shè)定溫度變?yōu)?0℃,80℃時,兩種控制策略的控制效果對比如圖8,圖9所示。
圖8 設(shè)定溫為40℃時兩種控制策略的比較
圖9 設(shè)定溫為80℃時兩種控制策略的比較
設(shè)定溫度變化后,基于RBF神經(jīng)網(wǎng)絡(luò)的PID控制會自適應調(diào)整權(quán)值參數(shù),可以看出無論溫度上升為80℃還是下降為40℃,現(xiàn)場溫度都可以快速、準確地達到并保持在設(shè)定溫度。常規(guī)PID控制在設(shè)定溫度發(fā)生變化后,原控制參數(shù)已經(jīng)無法勝任當前的控制要求。設(shè)定溫度為40℃時,現(xiàn)場檢測溫度達到了37.6℃,低設(shè)定溫度2.4℃。設(shè)定溫度為80℃時,現(xiàn)場溫度始終沒有達到設(shè)定溫度,最終穩(wěn)定在78.1℃。
在設(shè)定溫度為80℃時,基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制的參數(shù)調(diào)整情況如圖10,圖11所示,可以看出RBF神經(jīng)網(wǎng)絡(luò)實現(xiàn)了PID參數(shù)的自適應整定,最終將比例和積分參數(shù)穩(wěn)定在6.878,0.013 2。
圖10 基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制比例參數(shù)調(diào)整示意
圖11 基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制積分參數(shù)調(diào)整示意
常規(guī)PID控制算法中的比例、微分、積分參數(shù)在運行初期設(shè)定后便固定不變,不具備自學習、自適應能力。對于具有非線性、大滯后和時變特性的電加熱溫度控制,采用傳統(tǒng)PID的溫度控制適應性和魯棒性差,控制性能有待提高。文中將基于RBF神經(jīng)網(wǎng)絡(luò)的自適應PID控制應用于小型電加熱反應器的溫度控制,并將其與常規(guī)PID控制進行比較。實驗結(jié)果表明,基于RBF的神經(jīng)網(wǎng)絡(luò)的PID控制通過在線辨識建立了過程模型并為參數(shù)整定提供了梯度信息,達到了在線辨識與在線控制的目的,且控制精度高,動態(tài)性能好,具有較好的自適應性和魯棒性。
[1]鄒志云,趙丹丹.小型電加熱反應器溫度的模糊自適應整定PID控制[J].計算機與應用化學,2009,26(08):56-58.
[2]李國勇.智能控制及其Matlab實現(xiàn)[M].北京:電子工業(yè)出版社,2010:24-29.
[3]MENG Joo,ER Shiqian,WU Juwei,et al.Recognization with Radial Basis Function(RBF)Neural Network[J].IEEE Trans on Neural Networks,2002,13(03):697-710.
[4]趙為光,楊瑩.電鍋爐溫度控制系統(tǒng)PID參數(shù)整定算法的改進[J].工業(yè)儀表與自動化裝置,2009,5(01):87-90.
[5]李云娟,方彥軍.一種RBF神經(jīng)網(wǎng)絡(luò)自適應PID控制器在超臨界溫度系統(tǒng)的應用研究[J].控制理論與應用,2010,29(11):1-3.
[6]張明光,王兆剛.基于RBFNN在線辨識的自適應PID預焙陽極焙燒爐溫度控制[J].有色金屬,2008,4(01):20-23.
[7]王杰,姜國強,王栓.基于混合學習算法的RBF神經(jīng)網(wǎng)絡(luò)主蒸汽溫度控制[J].熱力發(fā)電,2009,38(02):78-83.
[8]李小凡.基于RBF神經(jīng)網(wǎng)絡(luò)整定的PID控制器設(shè)計[J].兵工自動化,2009,28(01):45-50.
[9]孫增圻.智能控制理論與技術(shù)[M].北京:清華大學出版社,2000:125-137.
[10]劉金琨.智能控制[M].北京:電子工業(yè)出版社,2005.