摘 要:現場總線控制系統(FCS)較封閉的DCS系統具有明顯的優勢,已成為過程控制的主流系統。在中科院沈陽自動化研究所設計的基于FF現場總線的實驗平臺上,提出了將先進控制算法應用到FF現場總線控制系統單回路液位控制系統中的可行性方案,更好的發揮了FF現場總線與先進控制算法的技術優勢。
關鍵詞:FF現場總線;OPC;PID控制;先進控制算法
Study of Advanced Control Algorithm Based on Foundation Fieldbus
Abstract:The fieldbus control system (FCS) has more obvious advantage than the closed distributed control system (DCS), which has become the major in process control. Based on the experiment platform of foundation fieldbus designed by Shen Yang Automation Institute of Chinese Academy of Science, the feasible project of applying advanced control algorithm to the single loop liquid control of foundation fieldbus control system is proposed, which exerts the technical advantages of foundation fieldbus and advanced control algorithm.
Key words:foundation fieldbus; ole for process control; PID control; advanced control algorithm
引 言
現場總線技術的發展使得控制系統在由封閉走向開放的進程中邁進了一大步,以現場總線為基礎的控制系統將會取代封閉的DCS系統成為過程控制的主流系統。FF現場總線[1]是一種全數字、串行、雙向通信網絡,同時也是一種專門針對過程自動化領域的應用而設計的現場總線,所以其在設計之初就充分考慮了過程自動化領域的一些特點,比如總線、供電、本質安全,以及較高的實時性要求等。我國在FF總線技術研究以及符合FF協議的現場設備產品開發方面己經取得了長足的進步,如中科院沈陽自動化研究所研制出了各種基金會現場總線產品,例如壓力變送器、溫度變送器,以及主機接口卡和通信棧軟件等。在DCS時代,先進控制己被證明可以為企業獲得巨大的經濟效益。先進控制與現場總線的結合[2]無疑是工業界所期望的,也是該文討論的主題。在FF現場總線過程控制實驗系統中,被控對象往往存在時變性和時滯性問題,對控制系統構成了極大的難題,認為采用了現場總線就可以解決這些問題是一個誤區?,F場總線的采用只是提供了控制策略的更好的實現手段。動態矩陣控制(DMC)作為一種先進控制算法,可以直接用于時滯對象而無需附加其它的控制結構。
該文將以在中科院沈陽自動化研究所設計的基于FF現場總線的網絡化測控實驗平臺[3,4]上,設計了雙容水箱的液位反饋控制回路,并結合具體被控對象提出了將先進控制算法應用到FF現場總線系統的可行性方案,既在OPC服務器MicroCyber .FFServer.1的基礎上實現了常規的PID控制,進而在PID控制的基礎上實現了基于OPC技術的先進控制算法。實驗表明,該方案控制效果更好的發揮了現場總線與先進控制的技術優勢,取得了預期的控制效果。
1 基于FF現場總線的網絡化實驗平臺
本系統包括兩個部分[5]:FF現場總線部分和現場控制模型部分,如圖1。FF現場總線[6]包括低速現場總線H1和高速現場總線HSE。低速現場總線H1的速率為31.25Kbps,可用于溫度、液位及流量等控制場合,信號類型為電壓信號;高速現場總線HSE的速率為100Mbps,一般用于高級控制、遠程輸入/輸出和高速工廠自動化等場合。現場控制模型可以利用實驗室的原有設備,從而節約了投資。原有的模擬儀表可以通過電流信號到現場總線信號變送器轉接到現場總線。
[align=center]

圖1 系統軟件運行關系[/align]
以單回路液位控制為例,上位機中軟件的運行情況:①HSE Init接口軟件, 選擇H1網段,HSE 接口程序可以與以太網段內的 HSE 設備,以及 LD 設備下的 H1 網段設備進行交互,向組態等上層軟件提供數據訪問接口;②運行組態程序FF-Configurator組態軟件, 刷新網段獲取系統的現場設備列表和功能塊列表, 刷新網段后,建立應用完成功能塊組態,功能塊間的連線表示通過現場總線通信的信號連接,如圖2所示;③FF H1和FF HSE OPC服務器, 每秒鐘刷新一次,實現設備的實時數據和歷史數據共享以及報警等功能; ④設計SiaView監控軟件, 新建一個工程,在對象中選擇PID拖到視圖中,與OPC連接后經過編輯可得到一個PID功能塊操作面板。
[align=center]

圖 2 應用窗口中配置的PID組態策略[/align]
從組態軟件的工程窗口的設備中選擇IF-AI1功能塊、IF-PID功能塊和FI-AO1功能塊拖拽到應用視圖中連接配置成一個PID控制回路,見圖2。將功能塊連接,建立功能塊之間的聯系,使功能塊之間能夠進行參數值的傳遞并需下載組態信息到現場設備。要使液位控制回路正確運行需要修改功能塊的參數值,雙擊IF-PID功能塊,打開塊的參數窗口,將IF-PID中MODE_BLK項下的TARGET參數修改成〝AUTO〞模式,讀取功能塊參數,從而實現單回路的液位控制自動正常的運行。如果想要實現將先進控制算法應用到FF現場總線系統的方案,只需將IF-PID中MODE_BLK項下的TARGET參數修改成〝MAN〞模式,具體設置如圖3所示,然后通過OPC技術實現過程變量和控制變量的通訊。
[align=center]

圖3 實現先進控制算法時的IF-PID功能塊參數表[/align]
2 基于OPC的PID控制方案
要實現基于FF現場總線的先進控制算法,主要要先以實現常規PID控制為基礎,包含先進控制算法的軟件通過OPC接口來讀寫硬件設備的信息(作為OPC客戶),通過OPC服務器訪問過程數據,可以克服異構網絡結構和網絡協議之間的差異。
2.1 OPC服務器
選用中科院沈陽自動化研究所提供了OPC服務器MicroCyber .FFServer.1,服務器的地址空間由服務器可讀寫的所有數據項組成,可以根據需要得到數據項的全稱對其進行相關操作。圖4為OPC服務器的地址空間圖。使用OPC技術實現用VB6.0編寫的客戶端程序與OPC服務器的通訊,服務器中液位的實時值IF-PID-PV.VALUE,以及自定義變量如液位設定值IF-PID-SP.VALUE,然后進行算法控制,得到控制量,將控制量寫入OPC服務器的項FI-PID-OUT.VALUE,從而控制受控系統。
[align=center]

圖 4 OPC服務器的地址空間圖[/align]
2.2 OPC自動化接口標準
2.2.1自動化接口
OPC基金會為方便用戶在各種環境下軟件開發,為數據訪問規范提供兩類接口:自動化接口和定制接口。基于定制接口的開發,需要用到較深的COM/DCOM知識,比較晦澀難懂,而運用自動化接口則有以下優點:客戶程序可以很容易地應用接口,而無需了解接口的詳細內部機理;可以運用事件觸發機制;可以生成一個通用的動態鏈接庫(DLL)或控件供所有客戶端應用程序使用。
2.2.2自動化接口的通信機制
OPC客戶程序通過封裝的OPC自動化接口動態鏈接庫訪問OPC服務器[7],如圖5所示。該動態連接庫將OPC服務器的定制接口翻譯成OPC客戶程序希望的自動化接口,以供客戶程序調用。OPC客戶程序和動態鏈接庫是進程內的通信,而動態鏈接庫和OPC服務器的通信則基于COM/DCOM,既可以是進程內或本地的連接,又可以是遠程連接。封裝的動態鏈接庫解決了定制接口的解釋和二者的通信,從而大大簡化了OPC客戶程序的開發。
[align=center]

圖 5 OPC客戶程序與服務器的通迅

圖6 自動化對象模型[/align]
2.2.3自動化對象模型
OPC客戶程序的開發關鍵在于搞清該動態鏈接庫的封裝結構,也即自動化接口標準。該標準可以用圖6所示的自動化對象模型表示。它主要由6類對象組成:①OPCServer:OPC服務器的一個實例。只有創建了 OPCServer 對象以后才能獲得 OPC服務器的信息,它包括 OPCGroups 的搜索以及 OPCBrowser 對象的創建;②OPCGroups:能夠自動搜集到 OPCServer 范圍內客戶端創建的所有的 OPCGroup對象;③OPCGroup:OPCGroup 對象的一個實例。 它包含所有的狀態信息,并且為 OPCGroup 中所涉及的 OPCItems提供必要的服務;④OPCItems :能夠自動搜集到 OPCServer 范圍內客戶端創建的對應相應的 OPCGroup中的所有的 OPCItem 對象;⑤OPCItem :一個自動化對象,它包含“位號”的定義,當前值,狀態信息,最后更新時間;⑥OPCBrowser:瀏覽服務器中所有“位號”名稱的對象。對于每個 OPCServer只能創建一個 OPCBrowser 對象。
2.3 實現PID控制的OPC客戶程序
2.3.1使用VB開發OPC應用程序
利用VB開發OPC應用程序時,實現OPC自動化接口的OPC包裝DLL是必須的,這個OPC包裝DLL一般應該是由OPC服務器的供應商提供的,為OPC客戶程序的軟件開發提供了具有良好接口的工具。本文使用為OPC基金會的OPC包裝DLL進行說明。
因為在新建的VB工程里OPC包裝DLL還沒有注冊,必須先用下述方法對OPC包裝DLL進行注冊:①從VB菜單里選擇[工程(P)]-[引用(N)];②在[可用的引用(A)]的一覽表示中,選擇對應的OPC包裝DLL的文件名,這里選擇[OPC Automation 2.0]。
2.3.2 實現步驟
用VB編寫OPC客戶端程序包含以下步驟[8]:①添加服務器的引用,創建 OPC 服務器對象,并將客戶程序與服務器相連;②創建組集合并添加組對象;③添加 OPC項,利用 OPCBrowse方法瀏覽整個服務器中所有的項,選擇需要的項,將其添加到規定的組中,并顯示其值和狀態;④在主畫面中顯示添加的組和項。
2.3.3 程序設計
下面是以VB實現的具有PID功能的OPC同步客戶程序。
[align=center]

圖7 實現PID控制的OPC客戶程序[/align]
該單回路控制過程為自衡非振蕩,具有相互影響的雙容過程。其數學模型可用如下傳遞函數描述:
G(s) =

式中, K[sub]p[/sub] , T[sub]p[/sub] ,τ為過程的增益、時間常數和時滯。式中的各參數可根據階躍響應曲線用圖解法求得。
下面給出確定傳遞函數的參數的方法:設圖7中的控制量為q,測量值為y,新的穩態值

為設定值,增益K可由輸入輸出的穩態值直接算出

而T[sub]p[/sub] ,τ則可以用作圖法確定。為了能夠隨時調用在OPC服務器上采集的測量值y并繪制出相應的階躍響應曲線,這里把選擇的數據存放在指定的數據庫中(采用SQL2000數據庫)。同時也是為了在進行算法的仿真的時候,既可以從歷史數據庫中取數據,也可隨著數據的采集,可以不斷刷新數據,進行算法的優化,如圖8。
[align=center]

圖8 SQL server 數據庫中存取OPC服務器數據[/align]
3 基于OPC的先進控制控制方案
動態矩陣控制(Dynamic Matrix Control,簡稱DMC)算法[9]包括預測模型、優化控制、反饋校正。監控軟件體系[10,11]中的4.2動態矩陣控制軟件的開發
動態矩陣控制的主要功能是按照DMC算法來確定控制作用。
在設計中將DMC控制類型抽象為一個DMC控制類(DMC Class ),并相應生成一個對象(object)。描述實體的屬性成為數據被封裝在對象的內部.即將DMC控制所需的各項參數如:模型時域長度N,優化時域長度P,控制時域長度M等作為DMC控制類的私有成員(Private). DMC控制對象的外部程序不能對這些數據進行訪問,而DMC控制的初始化,DMC控制的在線計算等作為公共接口(Public),外部程序可以對其進行存取。
仿真對象采用FF現場總線過程實驗系統的單回路控制模型,液位對象主要由2個水槽串聯組成,每個水槽長20cm,寬10cm,高40cm,以水槽2的液位高度h2為被控變量,其最大值為40cm,工作點常設定在20cm左右.因為系統具有容積滯后和管道滯后,所以液位對象是一個具有純滯后的多容對象。對系統進行實驗測試,純滯后約為3s。模型時域長度為10,優化時域長度為6,控制時域長度為5,控制周期1000ms,控制周期個數取為1000,設定值為20,誤差權1,控制權0.01。
[align=center]

圖9 用VB界面開發的OPC客戶界面

圖10 Vb6.0中實現DMC算法[/align]
4 結論
該文深入研究了FF現場總線的過程控制實驗系統的設計過程,進而研究OPC技術,目的是希望通過VB去開發OPC自動化接口的客戶應用程序,實現動態矩陣先進控制算法到OPC 客戶應用程序的應用編程,進而方便用戶的使用和系統的維護和升級,同時研究SQL Server 2000的數據庫系統,用于歷史數據的存取以及算法的仿真。如何實現更加復雜的先進控制算法,可以使用OLE自動化技術來實現VB與Matlab混合編程 [12],即用VB編寫OPC客戶端程序來實現數據通信,而利用Matlab進行先進控制算法的編寫,從而對現場數據進行分析,是下一步研究的重點。
參考文獻:
[1] 龍姿平,萬曼影.FF現場總線概述[J].自動化與儀表,1999,14(4):5-7.
[2] 苑明哲,劉玉忠,周悅等.先進控制與FF 現場總線[J].工業檢測與自動化裝置,2003,(2):7-9.
[3] 劉丹,于海斌,王宏等. 自主開發的FF現場總線控制系統典型應用[J].自動化儀表,2005,26(3):46-48.
[4] 陳娜,戚淑芬。基于FF現場總線的實驗測控系統[J].青島科技大學學報,2004,25(1):80-82.
[5] 徐永紅?;贔F的網絡化控制實驗平臺[D].哈爾濱:哈爾濱工業大學,2003.
[6] 劉丹,于海斌,王宏等. FF HSE和FF H 1協議網關的基本原理與實現[J].信息與控制,2004,33(6):719-723。
[7] 王凌,楊新照,張鳳形. OPC服務器在FF總線系統中的應用[J]. 儀器儀表學報,2004,25(4):227-228.
[8] 趙明生.基于OPC技術的預測控制[J].計算機工程與應用,2005(9):224~228..
[9] 李金霞,邱公偉.動態矩陣控制及其改進方法的仿真研究[J].福 州大學學報(自然科學版),2004,32(5):560-562.
[10] 張雯.基于現場總線過程控制系統的監控系統的研究[D].上海:上海理工大學,2001.
[11] 邵奇可.分布式軟件技術及其應用研究[D].浙江:浙江工業大學,2002.
[12] 毛彥科。基于現場總線的智能監控系統組建技術及應用研究[D].上海:上海大學,2002.