敖茂堯
(廣西職業技術學院 機械與汽車技術系,南寧 530226)
隨著工業過程控制的智能化發展,神經網絡算法、遺傳算法等復雜控制器的應用,已成為當前工業過程控制的發展趨勢。PLC是過程控制系統中最常用的控制器,由于PLC 編程語言的局限性,已滿足不了工控發展對復雜控制算法的需求,然而MATLAB具有強大的工程計算能力,能夠實現各種復雜的智能控制算法,但是不能與現場工控設備直接數據通信。因此,如何使MATLAB 與PLC 相結合,實現兩者的優勢互補是當今自控領域研究的熱門話題。OPC一種工業標準,用于過程控制和制造自動化系統。作為一種組件模型接口能夠為工業應用程序之間提供高效的信息集成和交互功能。OPC技術的出現為實現MATLAB與PLC之間進行通訊提供了公用的接口,因此本文提出一種基于OPC技術與MATLAB的遺傳算法PID控制方法,并在液位過程控制系統進行應用。
本文基于OPC技術,設計并實現了MATLAB與MCGS之間數據的實時傳遞和系統的無縫集成[1],為檢驗所設計的智能控制算法性能提供了一條有效的途徑,本系統西門子PLC對現場設備數據進行采集,通過現場總線建立MCGS與PLC的通訊。作為OPC服務器的組態軟件MCGS(上位機)為數據總控平臺,以MATLAB為OPC客戶端,進行遺傳算法PID設計、實時控制和控制結果分析等。MATLAB與MCGS實現智能過程控制的系統結構,如圖1所示。

圖1 系統整體結構
MATLAB在整個控制系統有兩個作用,分別通過M文件和Simulink實現。在M文件中主要實現連接和斷開OPC服務器,及添加所需讀取和寫入變量的項,并將OPC服務器采集的歷史數據保存在數據庫中;編寫自適應遺傳算法的M文件,并封裝在S函數中。在Simulink中主要調用M文件編寫的S函數以實現遺傳PID控制算法、實時讀取和寫入數據以及可視化的圖形界面。在Simulink上實時控制系統主要包括三個部分:S函數、funread函數、funwrite 函數,MATLAB控制流程圖如圖2所示。

圖2 Malab控制流程圖
MCGS全面支持OPC標準,既可作為OPC客戶端也可以作為OPC服務器,充當服務器時不需要進行專門的設置。MATLAB9.0集成了OPCToolbox工具包,利用此工具包MATLAB可以實現與 OPC服務器的連接并讀取 OPC 服務器中的相應變量的值。基于此,我們利用MATLAB中的 OPC 工具包來實現MATLAB 與 MCGS 的 OPC 服務器的連接,以下給出了在MATLAB 軟件中利用 OPC 技術讀取MCGS控制平臺中實時變量的程序編寫步驟。MATLAB 與MCGS之間實現 OPC 通訊的具體步驟如下所示:1)在 MATLAB中輸入命令“opcregister”安裝OPC核心組件;2)在 MATLAB中輸入命令“opcserverinfo”獲得主機名和ID;3)編寫M 文件。
采用遺傳算法在線整定PID,就是針對每個采樣時間實現PID控制參數的遺傳算法優化,在采樣時間k,選取足夠多的個體,計算不同個體的自適應度,通過遺傳算法的優化,選擇自適應度大的個體所對應的PD控制參數作為該采樣時間下PD的控制參數。為獲得滿意的過度過程動態特性,并防止產生超調,采用誤差絕對值、誤差和誤差變化率的加權及作為第k個采樣時間時i個個體的參數選擇最小目標函數[2]。本文在網絡控制系統中,建立Simulink與OPC服務器的通訊,獲取PID控制模塊的Kp、Ki、Kd參數,在Simulink運行遺傳PID算法,將優化后的PID參數通過OPC接口傳把遺傳PID算法求出的參數寫入控制系統的PID模塊中,實現在線遺傳算法控制[3]。

圖3 雙容水箱控制系統階躍響應曲線
本例選取的雙容水箱控制系統為典型二階延遲系統,為獲得該系統的數學模型,采用MATLAB獲取階躍響應曲線。傳遞函數為:

啟動OPCtoolbox建立與OPC服務器的通訊連接。在Group1和Group2中分別添加一、二級水箱液位變量a1,a2,并采用異步方式讀取數據,更新速率為0.5 秒,記錄600次,采樣時間為300秒,并實時保存數據到數據庫中。采樣結束后根據數據庫中的歷史數據,繪制階躍響應曲線如圖3所示,最后根據上述方法進行分析獲得該系統數學模型為:


圖4 自適應遺傳PID控制效果圖
本例先采用ZN進行整定,整定參數為[P=0.13,I=0.04,D=1.2],后利用設計的自適應遺傳PID進行整定,兩種控制效果如圖4所示,可見采用自適應遺傳算法PID控制,系統的超調量更小,快速性明顯提高,調節時間縮短,從而提高了系統的動態性能。非常適合于對實時性要求極高的實際生產過程控制,是一種高效的尋優方法。
本文從工業過程控制出發,構建了基于OPC技術的MATLAB與PLC的通信,利用MATLAB強大的工程計算功能以及Simulink的OPCtool工具箱實現了對工業過程控制系統的自適應遺傳PID整定,取得了理想的效果。為智能化網絡控制發展提供可靠的理論與實驗依據。
[1] 張烈平, 牛秦洲, 敖茂堯.基于OPC的MATLAB與MCGS實時通訊的實現[J].微計算機信息, 2007, 23(2-1), 54-55.
[2] 敖茂堯, 張烈平, 曾愛群.基于OPC技術的模糊控制器研究和實現[J].自動化與儀表, 2007, 5.
[3] 劉金琨.先進PID控制及其MATLAB仿真[M].北京: 電子工業出版社, 2003: 130-145.