薄迎春, 劉 寶, 張 欣
(中國石油大學 信息與控制工程學院, 山東 青島 266555)
隨著國民經濟的不斷發展,對工業生產過程的控制要求也日趨嚴格[1],以模糊控制、預測控制、學習控制等為代表的先進控制策略越來越多地在工業生產過程中得到推廣和應用[2-3]。先進控制理論與應用等相關課程也在高等工科院校逐漸受到重視。然而,目前的工業過程控制設備(如集散控制系統、PLC等)開放性及靈活性較低[4],難以在這些系統或設備上直接開發復雜的先進控制算法[5]。采用通用語言或平臺(如Visual C++,Matlab等)可靈活、方便地實現各類先進控制算法的設計[6-7],但是,由于工業控制設備通信的復雜性以及學生實驗時間的限制,這些采用通用語言或平臺開發的先進控制算法模塊又難以快速接入實驗室現有的工業過程控制設備或系統[8],從而無法實現先進控制算法在過程控制實驗裝置上的有效應用。
上述因素使得先進控制實驗難以在過程控制實驗裝置上得到有效的實施,學生學習到的先進控制理論與工程實踐難以有機融合,不能最大限度地發揮實驗裝置的效用。鑒于此,針對過程控制實驗裝置開發了一套先進控制接口平臺,以解決通用先進控制算法模塊與底層工業過程控制設備之間的通信問題,力求降低先進控制策略在過程控制實驗裝置上實施的復雜性。該平臺采用Visual C++語言設計,支持OPC(OLE for Process Control)及Modbus通信協議,可與絕大部分集散控制系統、PLC、單片機系統等過程控制設備實現數據交互[8-9]。同時該平臺提供了先進控制算法接口,采用通用語言或平臺編寫的先進控制算法程序可非常方便地接入先進控制接口平臺。
如圖1所示,先進控制接口平臺主要由實時數據庫及2個接口模塊(控制設備通信接口及算法接口)組成。實時數據庫是先進控制算法與底層過程控制設備進行數據交互的中轉站,先進控制算法模塊及底層設備之間的數據交互通過實時數據庫的中轉間接實現;算法接口從實時數據庫獲取先進控制算法所需的數據,同時將先進控制算法輸出的控制量送入實時數據庫;控制設備通信接口對過程控制設備的數據進行采集并送入實時數據庫,同時將實時數據庫的相應控制數據送入過程控制設備,過程控制設備獲得控制數據后,可驅動過程控制實驗裝置上相應執行機構動作,從而實現對實驗裝置的控制。

圖1 先進控制接口平臺總體結構
除上述功能外,平臺還提供了變量顯示、曲線顯示、報警顯示、參數配置及調整等輔助功能模塊,通過這些模塊,學生可對先進控制的運行情況進行監視和調整。
先進控制實驗接口平臺支持OPC及Modbus兩種通信協議(利用這兩種協議可實現與絕大部分過程控制設備的數據通信)。在接口平臺運行之前,需要對數據接口進行配置,如圖2所示。

圖2 通信接口配置
圖2所示的協議列表中選擇與底層過程控制設備對應的接口協議。通信協議列表中Modicon Modbus協議為標準的Modbus協議,當選用此協議時,需要在后續的參數配置中填寫波特率、數據位、停止位、校驗方式等信息,這些信息必須與過程控制設備定義的參數一致。除Modicon Modbus協議,列表中其余協議均為OPC協議(不同廠家設備OPC服務器名稱不一致),采用OPC協議時,首先在圖2所示列表中選擇過程控制設備對應的OPC服務器名稱,并在后續的參數設置中填寫OPC服務器所在的IP地址即可。若所連接設備的OPC服務器名稱未出現在列表中,可以通過添加數據接口,填入OPC服務器名稱及服務器所在的IP地址即可完成控制設備通信接口的配置。
實時數據庫由Visual C++采用動態鏈接庫及共享內存技術生成[10],該動態鏈接庫在平臺啟動時自動載入,并在計算機的內存中開辟一段共享的存儲空間以存儲實時數據。實時數據庫的變量屬性見表1。

表1 實時數據庫變量屬性
實時數據庫包含了所有先進控制算法與過程控制設備之間要進行通信的變量,這些變量需在接口平臺運行之前進行登記。通信變量登記界面如圖3所示。

圖3 通信變量登記界面
當采用OPC通信協議時,只需填寫變量ID、變量名稱、通道類型及變量說明信息、變量名稱要與定義在過程控制設備的OPC服務器中的變量名稱完全一致,這主要是由于OPC協議是通過標簽(即變量名稱字符)實現訪問數據定位的。當采用Modbus通信協議時,除上述信息外,還必須填寫從站地址及變量地址,因為Modbus協議主站是通過從站地址及變量地址實現訪問數據定位的。
算法接口主要實現從實時數據庫獲取數據,以及將算法輸出的控制量寫入到實時數據庫。該接口由實時數據庫提供的2個函數實現:(1)從實時數據庫獲取數據函數int GetItemValue(int nID, VARIANT Value),該函數獲取實時數據庫中編號為nID的變量值,并將其存入Value中,其中,Value是一個變體類型(VARIANT)的數據,這意味著該函數可以獲取任意類型的數據值;(2)向實時數據庫寫入數據函數int SetItemValue(int nID, VARIANT Value),該函數將Value的值寫入實時數據庫中編號為nID的變量中。 采用任何語言編寫的先進控制算法均可通過調用這兩個函數實現與接口平臺之間的數據訪問。
接口平臺運行之前要進行參數配置及設計相應的先進控制算法。參數配置通過系統提供的界面完成如下2項工作:一是根據過程控制設備支持的通信模式選擇相應的通信接口方式;二是對需要從底層過程控制設備獲取的數據及要寫入底層控制設備的數據進行登記。完成系統參數配置及設計好相應的先進控制算法后,即可使平臺進入運行狀態。系統運行過程可分為5步:
(1) 系統初始化,根據登記信息初始化通信接口及為變量在實時數據庫中分配空間;
(2) 控制設備通信接口從過程設備獲取所需數據并寫入實時數據庫相應位置;
(3) 先進控制算法通過算法接口從實時數據庫獲取所需數據進行處理,處理后得到的控制量通過算法接口寫入實時數據庫相應位置;
(4) 通信接口從實時數據庫獲取先進控制算法輸出的控制數據并寫入底層過程控制設備;
(5) 底層過程控制設備接收控制數據并驅動相應執行機構動作。
上述過程周期性執行,即可實現對過程控制實驗裝置的先進控制。運行過程見圖4。

圖4 接口平臺運行過程
以A3000過程控制實驗裝置的溫度控制為例說明本先進控制接口實驗平臺的應用過程。

圖5 A3000裝置溫度控制結構
如圖5所示,鍋爐出口溫度為TI01,鍋爐溫度為TI02,控制器TC將采集到的信號進行處理、形成控制輸出,并將控制輸出送到調壓器,通過調節調壓器的電壓BS01,使鍋爐出口溫度TI01達到預設值。原系統采用西門S7-200PLC進行控制。S7-200PLC編程能力有限,只能實現常規的PID控制。由于鍋爐與溫度檢測點之間存在滯后管段,檢測到的出口溫度比實際的鍋爐溫度滯后。溫度被控對象的數學模型可表示為:
G(s)=Gp(s)e-τds
(1)
其中,Gp(s)為被控對象中不含純滯后環節的傳遞函數,τd為滯后時間。整個控制系統的閉環傳遞函數為
(2)
D(s)為控制器傳遞函數。
由(2)式可見,閉環傳遞函數的分子和分母均含有純滯后環節,對于這樣的系統,常規控制方法難以取得較好的控制效果。圖6為常規PID控制效果。由于存在純滯后環節,為避免系統振蕩,常規PID的比例參數必須設置得非常小,這使得整個控制過程相應十分緩慢[11]。
采用純滯后補償技術雖然可以解決純滯后系統的控制問題,但需要準確辨識Gp(s)及滯后時間τd。精確辨識對于實際的生產過程也是很難實現的,所以這里采用BP神經網絡在線學習策略實現出口溫度的控制[12]。控制器結構如圖7所示。

圖6 常規PID控制效果

圖7 神經網絡控制器結構
由于西門子PLC支持MODBUS協議,所以在數據接口配置中選擇Modicon Mdbus。PLC及接口平臺的通信參數設置:波特率為9 600 bit/s,數據位為8,停止位為1,校驗為無。本例中,先進控制算法運行需要獲取鍋爐溫度TI02及出口溫度TI01,并將算法輸出送入PLC調壓變量BS01。接口平臺的變量登記見表2。

表2 實時數據庫變量登記
神經網絡控制算法采用Matlab實現[13],程序結構如下:
float TI01,TI02,BS01;//定義變量
//裝在動態鏈接庫文件
loadlibrary(′DataIFPlat′,′ DataIFPlat.h′);
//從實時數據庫獲取溫度數據
calllib(′ DataIFPlat′,′ GetItemValue′,1,TI01);
calllib(′ DataIFPlat′,′ GetItemValue′,2,TI02);
//神經網絡控制算法,算法輸入為TI01,TI01,
//算法輸出為BS01
……
//將算法輸出的控制量BS01寫入實時數據庫
calllib(′ DataIFPlat′,′ SetItemValue′,3,BS01);
其中,DataIFPlat為先進控制實驗接口平臺的dll文件名,DataIFPlat.h為動態鏈接庫的頭文件。
系統運行時,PLC的常規控制回路設置為手動控制狀態(在手動狀態下,PLC相應回路的控制量可由外部輸入更改),然后啟動先進控制接口平臺及先進控制算法程序,此時先進控制算法的數據可通過先進控制接口平臺直接送入PLC,同時PLC的過程數據也可通過先進控制接口平臺傳輸到先進控制算法模塊,從而構成先進控制閉環回路。神經網絡對于出口溫度的控制效果如圖8所示。由圖8可見,在保證出口溫度穩定的情況下,神經網絡控制的響應速度較常規PID明顯加快。

圖8 神經網絡控制效果
先進控制接口平臺提供了開放的算法接口,各類語言編寫的先進控制算法均可接入平臺以構成先進控制回路。學生只需按要求填好通信參數及配置相應的通信變量,不必關注先進控制與底層過程控制設備的通信細節,降低了先進控制策略在過程控制實驗裝置上實施的復雜性。同時,該平臺也可使學生更專注于先進控制算法本身的理論和實踐研究,使實驗更具目的性。先進控制接口平臺在中國石油大學(華東)信息與控制工程學院自動化系的先進控制課程實驗、創新實踐以及畢業設計等環節得到了應用,獲得了較好的實踐應用效果。