王曉瑜,閻宇威
(西安航空學(xué)院 電子工程學(xué)院,西安 710077)
隨著《中國(guó)制造2025》制造強(qiáng)國(guó)的戰(zhàn)略目標(biāo)的提出,我國(guó)工業(yè)發(fā)展迅速,石油、化工、電力、冶金等過(guò)程控制行業(yè)對(duì)電加熱溫度控制系統(tǒng)的先進(jìn)技術(shù)及智能算法提出更高要求。文獻(xiàn)[1]提出基于神經(jīng)網(wǎng)絡(luò)PID 算法的鍍液溫度控制系統(tǒng),通過(guò)仿真證明,BP-PID 算法可獲得近似最優(yōu)控制參數(shù),相比傳統(tǒng)PID 算法達(dá)到較好控制效果,實(shí)際應(yīng)用該算法超調(diào)率小于3%,穩(wěn)態(tài)精度小于±1.5℃,溫控效果佳。文獻(xiàn)[2]介紹了BP 神經(jīng)網(wǎng)絡(luò)PID 控制器應(yīng)用于熱油鍋爐溫控系統(tǒng)的控制算法,實(shí)驗(yàn)結(jié)果表明,與普通PID控制相比,該方法超調(diào)量小、過(guò)渡時(shí)間短,PID 參數(shù)易于整定,可使鍋爐處于最佳的燃燒狀態(tài)。文獻(xiàn)[3]以注射機(jī)料筒溫度控制系統(tǒng)為例,研究了模糊RBFNNPID 控制的實(shí)現(xiàn)問(wèn)題,進(jìn)行了仿真研究,驗(yàn)證了設(shè)計(jì)的可行性,給出了以模糊PID 控制在西門(mén)子S7-1200 PLC 的控制方案,但未進(jìn)行注射機(jī)的實(shí)驗(yàn)實(shí)現(xiàn)。文獻(xiàn)[4]通過(guò)PLC 對(duì)J36-800 型閉式壓力機(jī)傳統(tǒng)繼電器-接觸器控制系統(tǒng)的改造,重點(diǎn)介紹了BP 神經(jīng)網(wǎng)絡(luò)PID 控制器在原液壓伺服控制系統(tǒng)實(shí)時(shí)測(cè)量值的改進(jìn)方法,仿真結(jié)果表明,該方法在獲得精確壓力值和位移值方面,較傳統(tǒng)PID 控制器具有魯棒性好、調(diào)整迅速、超調(diào)量小等優(yōu)點(diǎn),能滿足實(shí)際生產(chǎn)需求。文獻(xiàn)[5]設(shè)計(jì)了基于BP-PID 算法的漆包線檢測(cè)儀溫度控制系統(tǒng),通過(guò)仿真研究,驗(yàn)證了設(shè)計(jì)的可行性,給出了以STM32 做為檢測(cè)儀的實(shí)驗(yàn)方法,結(jié)果表明,當(dāng)控制溫度為120 ℃時(shí),該控制方式與傳統(tǒng)PID 控制相比具有更好的控溫效果,超調(diào)率小于4%、穩(wěn)態(tài)精度小于2 ℃,達(dá)到了預(yù)期目的。
綜合文獻(xiàn)[1]~文獻(xiàn)[4]的研究結(jié)果,都僅限于理論編程和仿真部分,未做到進(jìn)一步的實(shí)驗(yàn)或?qū)嵨飳?shí)現(xiàn)。文獻(xiàn)[5]則以現(xiàn)有實(shí)驗(yàn)設(shè)備的STM32 為控制器實(shí)現(xiàn)。本文提出基于BP 神經(jīng)網(wǎng)絡(luò)的電加熱溫度控制系統(tǒng)控制算法,構(gòu)建BP-PID 控制器網(wǎng)絡(luò)模型,自建實(shí)驗(yàn)系統(tǒng),以SIEMENS S7-1200 系列1214 PLC 作為控制器,選取SM1234 AI/AO 模擬量混合模塊、插入式RF-SBW 系列赫斯曼溫度變送器和LSATH3P50 型調(diào)壓模塊,由TIA14.0 軟件進(jìn)行程序的編寫(xiě),在SIEMENS 1200PLC 自帶的PID 控制面板進(jìn)行PID 參數(shù)的實(shí)時(shí)監(jiān)控,通過(guò)MATLAB 仿真和實(shí)驗(yàn)測(cè)試,實(shí)現(xiàn)了該算法和控制方案升溫速度快、控溫精度高的目的[6]。
本文設(shè)計(jì)的電加熱溫度控制系統(tǒng)原理如圖1所示,主要由加熱裝置、變送器、控制算法、PLC、PID控制面板和調(diào)壓模塊組成。
圖1 溫度控制系統(tǒng)Fig.1 Temperature control system
當(dāng)加熱裝置開(kāi)始工作后一定時(shí)間,溫度變送器將檢測(cè)到的溫度信號(hào)轉(zhuǎn)換成4~20 mA 的電流信號(hào),通過(guò)控制算法整定出優(yōu)化的PID 參數(shù),然后送到PLC 及模擬量處理模塊SM1234,PLC 處理后將模擬量信號(hào)轉(zhuǎn)換成標(biāo)準(zhǔn)的16 位數(shù)字信號(hào)并存貯在指定區(qū)域;通過(guò)博圖軟件設(shè)定300 ms 的中斷程序讀取當(dāng)前溫度值,通過(guò)標(biāo)度變換,將其轉(zhuǎn)換成0~1 之間的實(shí)數(shù)送到PID 模塊,與設(shè)定值比較后對(duì)偏差進(jìn)行PID 運(yùn)算,并在PID 控制面板上實(shí)時(shí)顯示,運(yùn)算結(jié)果歸一化后送至調(diào)壓模塊,由調(diào)壓模塊調(diào)節(jié)加熱裝置的功率,控制加熱速度,進(jìn)而影響加熱溫度。
考慮到電溫度控制系統(tǒng)具有非線性、大時(shí)滯和大慣性的特點(diǎn),此處將加熱裝置的動(dòng)態(tài)特性等效為具有時(shí)滯的一階慣性環(huán)節(jié),則電加熱溫度控制系統(tǒng)傳遞函數(shù)的數(shù)學(xué)模型為[5]
式中傳遞函數(shù)的純滯后時(shí)間為90 s,反映了電加熱溫控系統(tǒng)的大時(shí)滯特性,該數(shù)值越大,則導(dǎo)致系統(tǒng)的超調(diào)越大,震蕩加劇,嚴(yán)重影響控制的穩(wěn)定性和快速性。
傳統(tǒng)PID 算法簡(jiǎn)單易用,但難以實(shí)現(xiàn)大時(shí)滯和大慣性非線性系統(tǒng)的精確控制,而智能控制算法中的神經(jīng)網(wǎng)絡(luò)適用于復(fù)雜的非線性、不確定的控制問(wèn)題,此處根據(jù)電加熱溫控系統(tǒng)控制特性及要求,將二者互補(bǔ),構(gòu)成BP 神經(jīng)網(wǎng)絡(luò)PID 控制器,結(jié)構(gòu)如圖2所示。
圖2 BP 神經(jīng)網(wǎng)絡(luò)PID 控制器結(jié)構(gòu)圖Fig.2 Structure diagram of BP neural network PID controller
首先,系統(tǒng)經(jīng)溫度變送器得出給定值rin與單位負(fù)反饋yout疊加后的偏差e,然后結(jié)合學(xué)習(xí)算法和微分運(yùn)算,作為BP-NN 網(wǎng)絡(luò)的輸入,通過(guò)神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)和權(quán)值系數(shù)的不斷調(diào)整,對(duì)PID 控制器3 個(gè)輸出增量參數(shù)進(jìn)行在線整定和優(yōu)化,最后將優(yōu)化結(jié)果作用于被控對(duì)象,達(dá)到預(yù)期的控制目的[5]。
本文選擇BP 神經(jīng)網(wǎng)絡(luò)為3-9-3 結(jié)構(gòu),即輸入層節(jié)點(diǎn)(神經(jīng)元)有3 個(gè),分別為X1(設(shè)定值rin)、X2(過(guò)程值yout)和X3(偏差e)。輸出層的節(jié)點(diǎn)為PID 控制器對(duì)應(yīng)的3 個(gè)參數(shù),分別為比例系數(shù)Kp、積分時(shí)間Ki和微分時(shí)間Kd,如圖3所示。
圖3 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure diagram of BP neural network
2.2.1 PID 控制算法
PID 控制器通過(guò)調(diào)整Kp、Ki和Kd三項(xiàng)參數(shù),使得溫控系統(tǒng)獲得良好的閉環(huán)控制性能。通常依據(jù)PID 控制器輸出與執(zhí)行機(jī)構(gòu)的對(duì)應(yīng)關(guān)系,將基本數(shù)字PID 算法分為位置式和增量式兩種。
(1)位置型控制算法:
式中:k 為采樣信號(hào),取值為0,1…2;u(k)為控制量;e(k)為偏差。該算法中輸出的u(k)可直接控制執(zhí)行機(jī)構(gòu),使每次輸出均與過(guò)去的狀態(tài)有關(guān),因計(jì)算時(shí)要對(duì)偏差e(k)進(jìn)行累加,故累積誤差相對(duì)較大。
(2)增量型控制算法:
該算法控制輸出的是控制量增量,誤動(dòng)作小,不產(chǎn)生積分失控,易于實(shí)現(xiàn)手動(dòng)/自動(dòng)的無(wú)擾動(dòng)切換。此處選用增量型控制算法。
2.2.2 BP-PID 控制算法
BP 神經(jīng)網(wǎng)絡(luò)有前饋型和后向傳播兩類(lèi)。其中前饋只用于計(jì)算出網(wǎng)絡(luò)的輸出,不對(duì)網(wǎng)絡(luò)的參數(shù)進(jìn)行調(diào)整。后向傳播是對(duì)于給定樣本,為了將期望和輸出之間的誤差做到最小,進(jìn)而調(diào)整訓(xùn)練網(wǎng)絡(luò)的權(quán)值和閾值,通過(guò)逐層傳遞得到誤差δ(i),形成的反饋,將其用來(lái)求偏導(dǎo)數(shù)作梯度下降實(shí)現(xiàn)。此處將二者結(jié)合,即在前饋型網(wǎng)絡(luò)的結(jié)構(gòu)上增加了后向傳播算法。
(1)前饋網(wǎng)絡(luò):
網(wǎng)絡(luò)輸入層的輸入函數(shù)為
式中:x 為輸入層節(jié)點(diǎn)(神經(jīng)元)。
網(wǎng)絡(luò)隱含層的輸入函數(shù)為
網(wǎng)絡(luò)輸出層的輸入函數(shù)為
網(wǎng)絡(luò)輸出層的輸出函數(shù)為
式中:O1(3)(k)=Kp,O2(3)(k)=Ki,O3(3)(k)=Kd。
(2)反饋網(wǎng)絡(luò)的后向傳播算法
排除標(biāo)準(zhǔn):(1)惡性腫瘤;(2)嚴(yán)重的肝腎功能異常;(3)嚴(yán)重的甲狀腺功能異常;(4)嚴(yán)重的血液疾病;(5)感染性疾?。?6)系統(tǒng)性炎癥疾??;(7)既往經(jīng)冠狀動(dòng)脈造影診斷為冠心病。
期望誤差是否達(dá)標(biāo)由性能指標(biāo)函數(shù)式(11)決定:
通過(guò)梯度下降法,控制期望誤差使其最小化。
網(wǎng)絡(luò)輸出層權(quán)值的學(xué)習(xí):
式中:η 為學(xué)習(xí)效率,令η=0.3;α 為慣性系數(shù),令α=0.02;δi(3)為輸出層權(quán)值的反傳誤差信號(hào):
網(wǎng)絡(luò)隱含層權(quán)值學(xué)習(xí)算法:
其中δi(2)為隱含層權(quán)值反傳誤差信號(hào):
BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為3-9-3,根據(jù)電加熱溫控系統(tǒng)傳遞函數(shù)的數(shù)學(xué)模型(式1),使用MATLAB R2019,取 采 樣 時(shí) 間 為1 ms,Kp=0.8,Ki=0.6,Kd=0.55,學(xué)習(xí)速率η 取0.3,慣性系數(shù)α 取0.02,層間初始值?。?0.1,0.1],傳統(tǒng)PID 控制算法和BP-PID 控制算法溫控曲線如圖4所示,三個(gè)參數(shù)的自修正曲線如圖5所示。
圖4 2 種算法的仿真結(jié)果Fig.4 Simulation results of two algorithms
圖5 參數(shù)自修正曲線Fig.5 Parameter self correction curve
從圖4中可看出,BP-PID 控制算法動(dòng)態(tài)性能良好,無(wú)震蕩,以較快時(shí)間(70 s)進(jìn)入穩(wěn)定狀態(tài)。文獻(xiàn)[1]采用模糊神經(jīng)網(wǎng)絡(luò)PID 控制算法,在幅值為1 的階躍信號(hào)激勵(lì)下,該算法根據(jù)外部輸入實(shí)時(shí)自修正并得到最佳的比例、積分和微分系數(shù);文獻(xiàn)[2]將BP 神經(jīng)網(wǎng)絡(luò)PID 控制器用于熱油鍋爐溫控系統(tǒng),實(shí)驗(yàn)數(shù)據(jù)表明,在控溫階段采用溫度變化超調(diào)量小,控溫效果好于傳統(tǒng)PID 控制器;文獻(xiàn)[3]將模糊RBFNNPID 算法用于料筒溫度控制系統(tǒng),通過(guò)仿真曲線對(duì)比,溫度超調(diào)量控制精度高,約為5 ℃(2.3%),響應(yīng)速度快,達(dá)到穩(wěn)定時(shí)間為85 s,得出該控制器性能最優(yōu)的結(jié)論;文獻(xiàn)[4]將BP 神經(jīng)網(wǎng)絡(luò)PID 控制算法用于液壓油路控制系統(tǒng)仿真,結(jié)果表明,與傳統(tǒng)PID控制相比,該算法過(guò)渡平穩(wěn),響應(yīng)時(shí)間快,調(diào)整時(shí)間短,超調(diào)量小,控制精度較高。文獻(xiàn)[5]系統(tǒng)的階躍響應(yīng)仿真曲線中,BP 算法可快速整定出一組性對(duì)優(yōu)化的PID 參數(shù)。同比參考文獻(xiàn)[1-5],本文算法的PID曲線無(wú)震蕩,超調(diào)量為0,過(guò)渡過(guò)程短,調(diào)節(jié)時(shí)間約為70 s,可以看出,使用基于BP-PID 電加熱控制算法的動(dòng)態(tài)性能好,溫控偏差小、控制精度高[1-5]。
主控器選用西門(mén)子S7-1214 PLC、模擬量混合模塊、LSA 調(diào)壓模塊和24 V 直流開(kāi)關(guān)電源各1 臺(tái),插入式RF 赫斯曼溫度變送器安放在電磁式熱水器中,實(shí)驗(yàn)系統(tǒng)如圖6所示。
圖6 實(shí)驗(yàn)系統(tǒng)Fig.6 Experimental system
PLC CPU S7-1214 由TIA PortalV14 軟 件實(shí)現(xiàn)OB1 主程序模塊、OB30 循環(huán)中斷模塊、FB1 前向網(wǎng)絡(luò)輸入模塊和DB 數(shù)據(jù)存放模塊的編程。其中主程序模塊進(jìn)行溫度預(yù)設(shè)值和過(guò)程值的歸一化處理及系統(tǒng)監(jiān)視;循環(huán)中斷模塊完成前向神經(jīng)網(wǎng)絡(luò)PID 模塊的調(diào)用和循環(huán)執(zhí)行;前向網(wǎng)絡(luò)輸入模塊FB1 調(diào)用其他網(wǎng)絡(luò)模塊,完成網(wǎng)絡(luò)的控制;數(shù)據(jù)存放模塊則存放網(wǎng)絡(luò)隱含層和輸出層的權(quán)值數(shù)據(jù)。以上模塊均采用LAD 語(yǔ)言和SCL 語(yǔ)言混合編程[6]。
將試驗(yàn)系統(tǒng)的目標(biāo)溫度設(shè)定為65 ℃,在當(dāng)前環(huán)境溫度為32 ℃情況下,分別采用傳統(tǒng)PID 和本文算法對(duì)搭建的電加熱溫度控制系統(tǒng)進(jìn)行加熱控制,通過(guò)SIEMENS 1214PLC 自帶的PID 控制面板,進(jìn)行PID 溫度曲線的實(shí)時(shí)監(jiān)控,實(shí)測(cè)結(jié)果如圖7所示。
圖7 PID 控制面板組態(tài)圖Fig.7 Configuration diagram of PID control panel
觀察圖7可知,因電溫度加熱控制系統(tǒng)具有非線性和大時(shí)滯等特點(diǎn),加之實(shí)驗(yàn)場(chǎng)地受限,存在一些未知不可控因素影響,在系統(tǒng)調(diào)節(jié)過(guò)程中,BPPID 控制器在1 min 左右時(shí)間開(kāi)始作用調(diào)節(jié),系統(tǒng)溫度超調(diào)量為0.0%,全程無(wú)波動(dòng)。在2.5 min 左右,輸入溫度達(dá)到預(yù)設(shè)溫度的穩(wěn)態(tài)誤差范圍,約為5 ℃(3.8%),此時(shí)算法調(diào)節(jié)功能開(kāi)始減弱;在2.9 min 左右,輸入溫度達(dá)到預(yù)設(shè)溫度穩(wěn)態(tài)誤差的2.0%,算法調(diào)節(jié)結(jié)束,溫度最終穩(wěn)定在預(yù)設(shè)值65 ℃,穩(wěn)態(tài)誤差為0.0%。
本文以電加熱溫度控制系統(tǒng)為研究對(duì)象,簡(jiǎn)化并建立了該系統(tǒng)傳遞函數(shù)的數(shù)學(xué)模型和神經(jīng)網(wǎng)絡(luò)模型,在此基礎(chǔ)上,提出了基于BP-PID 控制器的增量型后向傳播算法,通過(guò)MATLAB 進(jìn)行仿真,結(jié)果表明,同比傳統(tǒng)PID 算法,該算法動(dòng)態(tài)性能良好,無(wú)震蕩,溫控精度高。
實(shí)驗(yàn)實(shí)現(xiàn)中,當(dāng)環(huán)境溫度為32 ℃,目標(biāo)溫度設(shè)定為65 ℃時(shí),系統(tǒng)溫度全程無(wú)波動(dòng),超調(diào)量為0.0%,穩(wěn)態(tài)誤差由算法初始作用的3.8%下降至0.0%,同時(shí)可以通過(guò)實(shí)驗(yàn)系統(tǒng)PID 控制面板進(jìn)行溫度曲線的實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)電加熱溫度控制穩(wěn)定性好,無(wú)震蕩;控制精度高,偏差?。豢焖僬{(diào)節(jié)且運(yùn)行狀態(tài)可視化和控制智能化的目的。