閻 群,李 擎,李希勝,崔家瑞,栗 輝
(1. 北京科技大學(xué) 自動化學(xué)院,北京 100083;2. 北京科技大學(xué) 北京市工業(yè)波譜成像工程技術(shù)研究中心,北京 100083)
隨著科學(xué)技術(shù)和計算機(jī)技術(shù)水平的不斷提高,現(xiàn)代工業(yè)生產(chǎn)正向大型化、連續(xù)化、復(fù)雜化的方向發(fā)展,以模糊控制、神經(jīng)控制、預(yù)測控制、魯棒控制等為代表的先進(jìn)控制策略在工業(yè)生產(chǎn)過程中的應(yīng)用越來越廣泛[1-2],先進(jìn)控制理論與應(yīng)用逐漸在高等工科院校受到重視,這對先進(jìn)控制理論實踐教學(xué)提出了增設(shè)該類實驗項目的需求。
在卓越工程師培養(yǎng)計劃、CDIO(conceive, design,implement, operate)特色專業(yè)建設(shè)和工程教育專業(yè)認(rèn)證三種工程化教育理念的指導(dǎo)下,歷經(jīng)5年時間,我校自動化學(xué)院以冶金領(lǐng)域的典型控制系統(tǒng)為原型,構(gòu)建了基于“OBE(outcomes-based education)+CDIO”的實踐能力培養(yǎng)體系,出色完成了自動化生產(chǎn)線實訓(xùn)平臺建設(shè),在培養(yǎng)學(xué)生解決復(fù)雜工程問題的能力方面取得了較好的成績[3-6]。但自動化生產(chǎn)線實訓(xùn)平臺的控制設(shè)備選用西門子PLC,開放性、靈活性及數(shù)據(jù)處理能力都較弱,不利于靈活、快速地集成復(fù)雜的先進(jìn)控制算法,學(xué)生學(xué)到的先進(jìn)控制理論與工程實際難以有機(jī)融合,無法最大限度地發(fā)揮自動化生產(chǎn)線實訓(xùn)平臺的效用。
MATLAB是一種計算功能強(qiáng)大的科學(xué)計算語言,內(nèi)部的 Simulink組件提供了一個動態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境,只需通過簡單、直觀的拖曳操作,就可構(gòu)造出復(fù)雜的系統(tǒng),便于靈活、方便地實現(xiàn)各類先進(jìn)、復(fù)雜的控制算法,但它難以直接控制現(xiàn)場工控設(shè)備[7-9]。鑒于此,本文利用OPC(OLE for process control)通信對實驗室原有自動化生產(chǎn)線實訓(xùn)平臺進(jìn)行了二次開發(fā),構(gòu)建了以組態(tài)王為橋梁,由MATLAB、組態(tài)王和PLC共同組成的先進(jìn)控制半實物實訓(xùn)平臺。該平臺充分利用組態(tài)王在界面設(shè)計方面和MATLAB在算法設(shè)計與仿真方面的優(yōu)勢,降低了先進(jìn)控制策略在自動化生產(chǎn)線實訓(xùn)平臺上實施的復(fù)雜性,提高了實訓(xùn)平臺的開放性,為不同水平學(xué)生特別是探索欲、求知欲較強(qiáng)的學(xué)生提供了機(jī)會,滿足了綜合設(shè)計型、創(chuàng)新型和探索型等更高層次的實踐教學(xué)及相關(guān)科研需求,有利于培養(yǎng)自動化專業(yè)學(xué)生解決復(fù)雜工程問題的能力。
先進(jìn)控制半實物實訓(xùn)平臺采用“虛擬控制器+實物對象”的形式,總體結(jié)構(gòu)如圖1所示,主要包括被控對象、控制設(shè)備、上位計算機(jī)三部分。被控對象為自主研制的自動化生產(chǎn)線實訓(xùn)平臺中的實物實訓(xùn)裝置,主要包括多熱工參量控制實訓(xùn)系統(tǒng)、三容水箱過程控制實訓(xùn)系統(tǒng)、磁粉制動交流電機(jī)控制實訓(xùn)系統(tǒng)、柔性制造實訓(xùn)系統(tǒng)、卷曲張力控制實訓(xùn)系統(tǒng)、鋼鐵廢水處理實訓(xùn)系統(tǒng)等[4,6]。實物實訓(xùn)裝置使用工業(yè)現(xiàn)場常用的工業(yè)級檢測儀表和執(zhí)行機(jī)構(gòu),以期在對象特性、系統(tǒng)約束條件等方面盡可能體現(xiàn)工業(yè)現(xiàn)場的實際情況。控制設(shè)備選取西門子SIMATIC S7-200或S7-300 PLC,負(fù)責(zé)實驗平臺的數(shù)據(jù)采集與處理,接收來自上位計算機(jī)的操作信號和控制信號,并發(fā)送給執(zhí)行機(jī)構(gòu)完成控制任務(wù)。上位計算機(jī)基于目前使用較多且功能完善的組態(tài)王6.55進(jìn)行監(jiān)控界面設(shè)計,輔以MATLAB仿真軟件實現(xiàn)各種先進(jìn)控制算法,控制程序和監(jiān)控界面之間通過OPC數(shù)據(jù)接口實現(xiàn)數(shù)據(jù)交換,充分利用兩種軟件的特點。監(jiān)控界面提供“裝置圖示”“實時曲線”“參數(shù)配置”“歷史數(shù)據(jù)”“報表查詢”等功能,便于學(xué)生動態(tài)監(jiān)控控制系統(tǒng)的控制過程。
圖1 先進(jìn)控制半實物仿真實訓(xùn)平臺總體結(jié)構(gòu)
該先進(jìn)控制半實物實訓(xùn)平臺的一個重要部分就是MATLAB中的控制程序與組態(tài)王監(jiān)控界面的數(shù)據(jù)交換。OPC是一套標(biāo)準(zhǔn)的OLE/DCOM接口協(xié)議,采用客戶/服務(wù)器體系,其目標(biāo)是在客戶和服務(wù)器之間建立一種通信和數(shù)據(jù)交換的工業(yè)標(biāo)準(zhǔn)機(jī)制[9]。組態(tài)王軟件全面支持OPC技術(shù),啟動組態(tài)王軟件時系統(tǒng)會自動啟動組態(tài)王內(nèi)部的OPC服務(wù)器,完成以O(shè)PC技術(shù)為通信橋梁的數(shù)據(jù)通信[10-11]。MATLAB提供了OPC工具箱,支持讀寫 OPC數(shù)據(jù)[12-14]。因此,將組態(tài)王作為OPC服務(wù)器,MATLAB作為OPC客戶端,無需開發(fā)特定程序,可以利用OPC技術(shù)在同一臺計算機(jī)上實現(xiàn)Windows系統(tǒng)中組態(tài)王與MATLAB的數(shù)據(jù)交換,如圖2所示。
圖2 基于OPC技術(shù)的組態(tài)王與MATLAB數(shù)據(jù)交換
如圖3所示,三容水箱過程控制實訓(xùn)系統(tǒng)的控制設(shè)備選用的是SIMATIC S7-200 PLC,其編程能力有限,只能實現(xiàn)常規(guī)的PID控制。這里以水平雙容水箱液位單神經(jīng)元PID控制項目為例,說明本先進(jìn)控制半實物實訓(xùn)平臺的應(yīng)用過程。
圖3 三容水箱過程控制實訓(xùn)系統(tǒng)
在神經(jīng)網(wǎng)絡(luò)控制中,神經(jīng)元是最基本的控制元件,結(jié)合常規(guī)PID控制,將誤差的比例、積分和微分作為單個神經(jīng)元的輸入量,就構(gòu)成了單神經(jīng)元PID控制器[6,15],其控制系統(tǒng)框圖如圖4所示。
圖4 單神經(jīng)元PID控制系統(tǒng)框圖
yr(k)為系統(tǒng)的設(shè)定值,y(k)為系統(tǒng)的實際輸出值,系統(tǒng)誤差信號e(k)經(jīng)過狀態(tài)變換器變換成神經(jīng)元的三個輸入量神經(jīng)元的權(quán)系數(shù)ω1(k) =kp、單神經(jīng)元PID控制器的輸出為
其中K為單神經(jīng)元比例系數(shù),K>0。與傳統(tǒng)PID控制不同,單神經(jīng)元PID控制器的權(quán)系數(shù)可以通過神經(jīng)元的自學(xué)習(xí)功能進(jìn)行自適應(yīng)調(diào)整,故可以大大提高控制器的魯棒性。
這里選用有監(jiān)督 Hebb學(xué)習(xí)算法,為了保證學(xué)習(xí)算法的收斂性和控制魯棒性,規(guī)范化處理后權(quán)系數(shù)的學(xué)習(xí)規(guī)則為[6]:
其中ηp、ηi、ηd分別為比例、積分、微分控制的學(xué)習(xí)速率。
在將該控制器應(yīng)用于實際系統(tǒng)之前,需要使用MATLAB/Simulink對其進(jìn)行仿真驗證。
1)建立控制系統(tǒng)模型。
采用實驗建模法,以階躍信號為激勵,采集被控系統(tǒng)的響應(yīng)信號,通過 MATLAB的系統(tǒng)辨識工具箱對采集數(shù)據(jù)進(jìn)行處理,得到被控對象的數(shù)學(xué)模型。對所得的數(shù)學(xué)模型進(jìn)行仿真,并與實際測得響應(yīng)曲線對比,驗證模型的有效性。實驗建模法測得水平雙容水箱液位控制系統(tǒng)的數(shù)學(xué)模型為
2)利用MATLAB/Simulink實現(xiàn)單神經(jīng)元PID控制算法。
單神經(jīng)元 PID控制算法無法直接用傳遞函數(shù)描述,引入S-Function模塊,按式(2)—(4)編寫單神經(jīng)元PID控制算法,并對其進(jìn)行封裝。單神經(jīng)元PID控制器內(nèi)部結(jié)構(gòu)見圖5。
圖5 單神經(jīng)元PID控制器內(nèi)部結(jié)構(gòu)
3)仿真結(jié)果。
水平雙容水箱液位控制系統(tǒng)仿真框圖見圖6。
給定階躍信號,仿真的液位百分比設(shè)定值為30%,圖7為未加任何控制器的仿真結(jié)果,液位百分比穩(wěn)定在82%左右,出現(xiàn)了較大的穩(wěn)態(tài)誤差。圖8為加入單神經(jīng)元 PID控制器的仿真結(jié)果,其中K=0.000 6、ηp=0.5、ηi=0.6、ηd=0.1,系統(tǒng)的超調(diào)較小,無穩(wěn)態(tài)誤差,而且能很快達(dá)到穩(wěn)定狀態(tài)。
圖6 水平雙容水箱液位控制系統(tǒng)Simulink仿真框圖
圖7 未加控制策略的仿真結(jié)果
控制器設(shè)計經(jīng)調(diào)試驗證后,就可以應(yīng)用于實物控制對象。
1)系統(tǒng)總體監(jiān)控程序設(shè)計。
系統(tǒng)總體監(jiān)控程序提供液位監(jiān)控系統(tǒng)人機(jī)交互界面并完成數(shù)據(jù)采集。啟動組態(tài)王軟件時系統(tǒng)會自動啟動組態(tài)王內(nèi)部的 OPC服務(wù)器,其標(biāo)識是 KingView.View.1[11-12]。在組態(tài)王監(jiān)控程序的數(shù)據(jù)字典中建立需要的內(nèi)存實型變量,比如水平雙容水箱液位控制所需的變量LT101、PID1_SP及U101,分別對應(yīng)液位測量值、給定值及潛水泵轉(zhuǎn)速值,這些變量將通過OPC服務(wù)器供MATLAB/Simulink中控制器引用。
2)MATLAB/Simulink OPC客戶端設(shè)置。
MATLAB/Simulink自帶的OPC工具箱提供了一種服務(wù)器和客戶端互訪的通用機(jī)制。OPC工具箱中包括OPC configuration、OPC read、OPC write等模塊,分別用于配置需要連接的OPC服務(wù)器和讀、寫數(shù)據(jù)[13-14]。借助MATLAB OPC工具箱可以方便地實現(xiàn)MATLAB客戶端與組態(tài)王服務(wù)器之間的連接和數(shù)據(jù)交換,在后臺計算處理完成先進(jìn)控制算法?;贠PC的單神經(jīng)元PID控制器Simulink框圖見圖9。
圖9 基于OPC的單神經(jīng)元PID控制器Simulink框圖
3)具體操作及運行效果分析。
系統(tǒng)運行時,PLC的常規(guī)控制回路設(shè)置為手動控制狀態(tài)(手動狀態(tài)下PLC相應(yīng)回路的控制量可由外部輸入更改),此時先進(jìn)控制器的輸出數(shù)據(jù)通過OPC客戶端傳送到組態(tài)王OPC服務(wù)器,進(jìn)而送入PLC控制潛水泵的轉(zhuǎn)速。同時,液位設(shè)定數(shù)據(jù)及PLC采集的當(dāng)前液位數(shù)據(jù)通過組態(tài)王OPC服務(wù)器傳輸?shù)組ATLAB中的先進(jìn)控制算法模塊,形成先進(jìn)控制閉環(huán)回路。單神經(jīng)元PID控制器的控制效果見圖10。
圖10 水平雙容水箱液位單神經(jīng)元PID控制器控制效果
第1階段主要測試系統(tǒng)的跟蹤響應(yīng)。設(shè)定參考液位百分比為60%,由其第1階段響應(yīng)曲線可以看出系統(tǒng)超調(diào)量約為3.3%,調(diào)節(jié)時間大約82 s,系統(tǒng)響應(yīng)快,超調(diào)小,無偏差,性能優(yōu)異。
第2階段主要測試輸出干擾對系統(tǒng)性能的影響。將水箱的出水閥開度調(diào)大,由第2階段響應(yīng)曲線可以看出,液位下降產(chǎn)生偏差,MATLAB中單神經(jīng)元PID控制器開始調(diào)節(jié),潛水泵轉(zhuǎn)速增加,約44 s后液位重新恢復(fù)穩(wěn)定,恢復(fù)時間短,系統(tǒng)抗干擾能力強(qiáng)。
第3階段主要測試輸入干擾對系統(tǒng)性能的影響。給定輸入一個躍變,液位百分比設(shè)定值由 60%降為40%,由第3階段響應(yīng)曲線可以看出,控制輸入和潛水泵的轉(zhuǎn)速減小,液位跟隨設(shè)定值,約120 s后液位重新穩(wěn)定。系統(tǒng)抗干擾性能較強(qiáng),跟隨時間短,性能較好。
該先進(jìn)控制半實物實訓(xùn)平臺是在我校CDIO實驗室原有自動化生產(chǎn)線實訓(xùn)平臺上的二次開發(fā),立足專業(yè)特點、面向工程實際,具有很高的創(chuàng)新性和實用性,為本科實踐教學(xué)提供了有力支持,為學(xué)生科技創(chuàng)新、學(xué)科競賽提供了實訓(xùn)基地。而且,它為研究生和教師提供了科研平臺,在對學(xué)生進(jìn)行全面、系統(tǒng)工程實踐訓(xùn)練,培養(yǎng)學(xué)生解決復(fù)雜工程問題能力的同時,提升了教師的業(yè)務(wù)能力與綜合素養(yǎng),為培養(yǎng)創(chuàng)新研發(fā)型人才提供了師資保障。我院每年約有300余名本科生使用該平臺完成“自動化生產(chǎn)線實訓(xùn)”和“控制系統(tǒng)設(shè)計與實現(xiàn)”兩門實踐類課程學(xué)習(xí)。約有近150名學(xué)生依托該平臺參加各類科技創(chuàng)新和學(xué)科競賽。據(jù)不完全統(tǒng)計,近3年學(xué)生共獲各類國家級特等獎20余項、一等獎50余項、省部級一等獎60余項,學(xué)生獲得授權(quán)專利13項、軟件著作權(quán)7項,在校學(xué)生學(xué)科競賽的獲獎比例達(dá)到本專業(yè)學(xué)生總數(shù)的35%以上,連續(xù)兩年位列全校前兩名。