胡開明 劉 薇 陳 堅
(東華理工大學 長江學院, 撫州 344000)
在自動化專業的實驗教學中,仿真實驗往往具有先導作用,通常一個控制實驗需要預先進行一個仿真實驗,只有仿真成果達到預期才能夠進行更為嚴格的實體實驗[1]。然而,傳統的控制系統仿真有許多缺點和不足,例如在傳統的工業液位控制中,人們雖然能夠利用Matlab進行良好的算法分析和計算,但是很難實現系統的實時監控、操作等,從而不利于人們根據事件發生情況完成相應的控制操作。針對控制系統仿真中出現的問題,將組態軟件與Matlab相結合,并以過程控制中液位系統為研究對象進行虛擬仿真實驗技術開發,在不依賴于價格昂貴且使用麻煩的硬件設備的基礎上,很直觀地看到實驗過程中的畫面效果,還可以根據監控信息進行相應操作,逼真地模仿了用實驗室現場設備做實驗的過程,真正有效地節約了在自動化實驗過程中的時間和硬件投入,具有一定的現實意義。
組態虛擬仿真以OPC技術為核心,將Matlab作為后臺進行數據運算與算法處理,借助OPC接口通訊技術將數據傳送給組態軟件,通過數據的交換在組態環境中實現可視化人機交互,進行模擬仿真運行[2]。OPC依賴于客戶端/服務器的模型,是設置在設備制造商或第三方制造商上開發訪問任務的接口,以OPC服務器的形式向用戶提供訪問接口,解決軟件和硬件制造商之間的差異,完成系統集成,改進系統開放性和互操作性[3]。組態虛擬仿真實驗平臺的原理就是OPC通信技術在Matlab與組態王之間的運用,組態王軟件作為上位機(服務器),直接發出操作命令,Matlab軟件作為下位機(客戶端),接收到命令后進行仿真,并將仿真結果回執給組態王軟件,進而呈現組態監控畫面,而兩者之間的數據通信就是利用OPC通信技術。將Matlab用作OPC客戶端,將Kingview用作OPC服務器,并通過OPC協議進行通信,數據交互為同步方式。其原理如圖1所示。

圖1 Matlab與組態間的OPC通信
組態王監控軟件本身包含一個集成好的運行環境和組態開發環境,并且由于可以通過采用OPC的接口與不同的仿真軟件(如Matlab)方便地對對象進行模擬和數據交互,所以組態軟件可以直接用來設計和實現復雜的對象圖形建模以及具體的對象控制策略[4]。通過開發和選擇一款恰當的組態軟件,規劃設計出可以通過相應的對象圖形監控界面模仿實際的對象模擬實驗環境和設備,并通過相應的OPC接口快捷地連接模擬軟件到OPC的客戶端,讀取由相應的仿真軟件直接輸出的對象仿真數據,在軟件界面上建立基于監控對象屬性的動態模擬數據連接,就可以直觀地觀察到被控對象的變化趨勢。因此,選擇組態王在仿真中作為上位機,進行控制系統的監控顯示。
Matlab軟件是目前仿真軟件中最為廣泛運用的軟件之一,其內具有仿真功能強大的Simulink軟件工具包,可以實現動態系統建模、仿真等功能,在控制系統中是先進的計算和仿真工具。在Simulink擁有OPC工具箱,包括讀、寫等模塊,可以完成與組態王軟件OPC通信,接收控制命令,并將其納入到仿真中去[5]。在Simulink環境中,根據控制對象的不同,建立不同的控制系統模型,接收到上位機的命令信號,進行仿真并將仿真結果回饋給上位機。為此,Matlab可以作為下位機,進行控制算法的實現。
現在版本的Matlab都添加了OPC工具箱,OPC工具箱中包括OPC_Configuration、OPC_Read及OPC_Write等,分別用于配置及讀寫OPC數據,包含有OPC_Read、OPC_Write和OPC_Configuration三個基本模塊。OPC_Configuration為Matlab指定OPC服務器的參數設置窗口,用于選定組態王的OPC服務器。OPC_Read是從OPC服務器中讀取的變量的設置,用于設置輸入變量。同理OPC_Write是從OPC服務器中寫入的變量的設置,用于設置輸出變量。
組態王軟件內嵌有OPC服務器,其性能強大,能為工作人員提供了便捷高效的工程數據實時訪問[5]。另外,組態王軟件作為OPC服務器時可以同時連接管理多個OPC客戶端。每臺基于OPC的客戶端都被工程人員視為一個外部設備,工程技術人員和用戶可以對其外部設備進行重新定義、刪除和重新添加。在組態王軟件點擊新建 OPC,就能進行 OPC 的設置,選擇OPC_Configuration中設置的服務器,就可以完成組態王與OPC聯機通信,便可在該工程下定義實驗所需的變量。
系統由兩個上下兩個獨立單容水箱組成,如圖2所示,水流由管道首先進入上水箱,然后通過底部閥進入下水箱。實驗任務是通過控制電動閥的開度來調節管道流量大小,進而控制下水箱的液位的高度,使其達到給定的液位值。為了提高系統控制精度和抗干擾能力,系統采用串級控制方式,將下水箱作為主控對象,上水箱作為副控對象。下水箱液位變送器將檢測到的水箱水位高度數值送給主控制器,經過與設定液位值進行比較后進行主控運算,運算結果作為上水箱液位的設定值。獲取上水箱液位變送器將測量的水位高度值與該設定值的偏差值,對偏差執行副控運算,運算的結果控制電動閥的開度大小,進行供水流量的調節,進而控制水箱的水位的高低。若下水箱液位高于設定值,則電動閥開度減小,反之則開度增加。

圖2 雙容水箱液位系統結構組成圖
通過試驗測試法得到某過程控制實驗臺的雙容水箱系統中的上下水箱傳遞函數分別為:

(1)

(2)
選擇上水箱作為副控對象,下水箱為主控對象,下水箱液位高度為被控量。雙容水箱液位控制系統采用串級控制方式,主回路是一個定值控制系統(細調功能),副回路是一個隨動系統(粗調功能)。主控量為下水箱的液位高度,要求系統的主控制量達到給定值,并穩定在給定值。副控量為上水箱的液位高度,要求副回路的輸出能正確、快速地復現主調節器輸出的變化規律,以達到對主控制量的控制目的,能夠提高工作頻率,增強克服二次干擾能力。系統結構框圖如圖3所示。
控制效果的優劣取決于系統的控制方式,這也是實驗開發中必不可少的環節。經分析、計算,雙容水箱液位串級控制系統的主控調節器為PI調節器,副控調節器為P調節器。多次仿真實驗最終整定了一組較好的參數,其中主控比例系數Kp=8.1666,積分系數Ki=0.0128;副控比例系數Kp1=0.1696。

圖3 雙容水箱液位控制系統控制框圖
以THJ-2型過程控制實驗平臺作為依托,進行物理實驗調試。對水箱液位控制系統進行實驗,以水箱液位為控制對象、調節閥為執行器、PLC為控制器、壓力變送器為檢測器,計算機作為上位機。壓力變送器將檢測到的液位信號轉換成電壓信號輸入到PLC的輸入接口,再經過A/D轉換成控制量,與設定值進行比較,得到偏差,按照已整定的控制參數經過PID運算后,輸出信號經過PLC的D/A轉換成4~20 mA的模擬電信號后輸出到電動調節閥中調節調節閥的開度,以控制水的流量達到水箱液位恒定[6]。其組成結構如圖4所示。

圖4 水箱液位控制系統組成結構圖
在編程軟件中編寫控制程序并下載到PLC中,進行系統上位機的雙容水箱液位控制系統的組態開發與設計。完成了PLC程序設計和組態人機界面設計之后,進行組態與PLC控制器間的通信連接,進入系統運行測試階段,打開組態運行環境,切換到運行模式,進行參數的設置與實驗測試。雙容水箱串級控制系統組態物理調試如圖5所示。

圖5 雙容水箱液位控制系統調試
在圖5組態運行界面上,左邊部分是水箱的實物運行的模型,右部分是數據顯示和數據控制界面,負責控制器的參數設定和過程值顯示。其中右邊還有實時曲線框,記錄液位控制系統實時運行監控,用來反映各種控制算法的實際控制效果。從圖可知,下水箱液位設定值為8 cm,系統穩態無誤差,超調量約為3%,運行較為平穩,調節時間基本達到要求,副控上水箱開始有較大的起伏,最終達到穩態,能夠跟蹤主控的響應曲線。實驗效果較為理想。
以組態王KingView6.65進行液位控制系統實驗的監控開發,創建“水箱液位控制”工程名,用來存放與工程相關的文件。通過添加工程中需要的硬件設備和工程中使用的變量,選擇已建好的OPC服務器作為變量連接設備[7]。制作雙容水箱液位系統的組態圖形畫面并定義動畫連接,編寫任務控制的命令語言,對運行系統、報警、歷史數據記錄、網絡、用戶等進行設置,進而完成系統組態實驗開發。
組態監控畫面制作完成后,設置Matlab與組態王間的連接。將Matlab中的OPC_Configuration 模塊連接到組態王服務器,并通過OPC_Read 模塊從組態王中讀數據,利用OPC_Write 模塊將數據寫到組態王中,從而完成與組態王間的數據通訊[7]。將Matlab中OPC工具箱的相應模塊拖到仿真圖中,并進行對應點的連接。雙容水箱液位串級控制系統的Matlab與OPC連接圖如圖6所示。

圖6 雙容水箱液位串級控制系統的Matlab與OPC連接圖
打開組態王中的“雙容水箱液位控制”工程畫面并運行,按下“啟動”按鈕,此時變量“yeweisheding”設置的初始值為“5.0”,在主控Kp處輸入“8.1666”,主控Ki處輸入“0.0128”,副控Kp處輸入“0.1696”。當然還可以通過“+-”按鈕進行微調。再打開Matlab,進入建立好的Simulink仿真中并運行,仿真結果及組態王運行結果分別如圖7、圖8所示。

圖7 雙容水箱液位控制Simulink仿真結果圖

圖8 雙容水箱液位控制組態監控運行結果
由圖7與圖8對比可以看出,Simulink仿真結果和組態監控畫面中實時曲線、歷史曲線的結果一致,最終下水箱液位實際值為5,穩態無靜差,滿足控制精度要求。液位水位峰值為5.14,超調為2.8%,調節時間為3450s,均能較好的滿足控制要求,達到了預期效果。對比圖8和圖5,虛擬仿真運行圖形、曲線數據與物理實物運行基本一致,雙容水箱虛擬仿真實驗達到了實物物理實驗的效果。
從虛擬仿真運行的監控畫面同樣能夠清楚明了地觀察到水箱液位不斷變化過程中各過程變量的實時數據,并做好記錄。如果被控液位因水管堵漏超出了或者遠低于假定的范圍,系統將會發出報警,并提醒工作人員進行相應的處理操作,增加實驗的安全功能和人性化設置,實現了虛擬仿真與物理實物實驗的同質等效。
以組態軟件為基礎對控制系統虛擬仿真技術進行改進和開發,著重討論了組態虛擬仿真平臺的搭建原理與設計過程。搭建好的仿真平臺以先進的OPC通信技術為核心,既能發揮Matlab/Simulink中強大的控制算法分析與計算的作用,又能將組態軟件中特有的監控、操作和顯示等功能用到實處[8]。采用雙容水箱液位控制系統實驗為案例進行仿真調試,并進行了實物物理實驗和虛擬仿真實驗對比比較。對比結果證明,組態虛擬仿真實驗系統性能優良,控制精確,較好地驗證了仿真平臺在過程控制實驗中的可行性和優越性,為提高實驗技術手段與方法提供借鑒。