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