2021-4-9 | 通信技術
0引言
可視化界面軟件是在生產過程自動化中解決可視化和控制任務的人機接口軟件[1]。它具有高度的實用性和組態靈活性,可開發生成友好的交互式圖形界面。但是它的數據運算能力較弱,不易實現復雜的數據處理和控制算法。比如DCS系統中的組態軟件,虛擬儀器軟件LabVIEW[2]等。而在數據處理和復雜控制算法的實現方面有突出優勢計算機編程語言如MAT-LAB,C,C++等,由于其編程方便、使用靈活、易于移植、便于模塊化處理的特性,成為工程技術人員開發實現復雜算法不可或缺的實現工具。尤其是MATLAB語言,針對不同的工程應用領域,系統有相應的工具箱,這不僅能夠方便地進行算法的設計與實現,而且能極大地縮短開發周期。但是這些開發語言不能與工業現場設備直接進行數據交換,而且在界面設計方面也明顯遜色于組態軟件。如何在可視化界面系統中,綜合采用先進智能算法,使整個系統滿足生產過程的目標要求,從而提高界面監控系統數據處理性能,是界面監控系統亟待改善和提高的課題。OPC通訊技術的出現為解決該問題開辟了一條有效的途徑[3]。
1開放性的OPC接口協議
OPC(ObjectLinkingandEmbeddingforProcessControl)技術即過程控制中的對象連接和嵌入技術[4],它為基于Win-dows的應用軟件和現場過程控制架起了橋梁[5]。作為工業標準的OPC技術,不僅解決了不同軟件和硬件之間的通訊障礙,而且也很好地解決了不同軟件之間由于數據格式不一致而帶來的通訊問題[6]。OPC采用典型的客戶機/服務器模式:一個OPC客戶程序可以連接一個或多個不同的OPC服務器程序,同時多個不同的OPC客戶程序也可以連接到同一個OPC服務器程序上,結構模型如圖1所示。OPC數據存取服務器主要包括服務器對象、組對象和項對象。OPC服務器對象負責維護相關服務器的信息,并作為OPC組對象的包容器,可以動態地創建或釋放組對象;組對象除了維護自身相關的信息外,要提供包容和組織OPC項對象的機制;OPC項對象則需維護OPC服務器中與數據有關的信息,但它并不是實際數據源,僅是指向數據源的連接。服務器對象、組對象和項對象之間的組織關系如圖2所示。基于OPC通訊的標準協議,是由世界上領先的自動化軟、硬件廠商連同微軟公司通力開發的,它使工業控制無論是在硬件還是軟件方面都有了統一的依據標準[7]。在軟件方面,目前幾乎國內外所有流行的組態軟件都支持OPC數據交換標準。而且主流的計算機編程語言,都支持OPC通訊協議。值得提出的是當今最優秀的科技應用軟件之一MATLAB在其7.0以上版本中還專門集成了OPC工具箱。硬件方面,當前幾乎所有的PLC及其他工業現場設備都支持OPC數據通訊協議[8]。
2系統構架
當前,在工業DCS系統中,對現場生產過程的控制,多數是由在監控室中的工程技術人員根據現場監測數據并結合工程經驗來完成的。這種控制方式對操作員的經驗有過高的依賴性。盡管在某些先進的DCS系統中對一些參數的控制采用了諸如PLC等硬件來實現,這也從一定程度上提高了控制效果,但是過于復雜的控制算法就難以實現了。基于OPC通訊技術,設計了DCS系統的復雜控制算法的實現方法。該DCS監控系統充分利用了算法軟件的運算優勢,實現對工業過程的復雜、智能控制,同時也不需對原DCS系統進行大的改變,控制效果也遠優于傳統方式。系統結構框圖如圖3所示。系統運行后,DCS實時數據庫系統按照一定的采樣頻率從生產現場采集的實時數據。這些數據一方面通過組態軟件顯示在系統的監控界面上;另一方面,被存儲到DCS系統的歷史數據庫中,以備以后的查閱使用。而后臺的控制算法應用程序一旦被DCS監控系統喚醒,后臺控制程序將按照事先設定的周期通過OPC數據交換通道讀取實時采集而來的數據,然后結合數據信息并調用相應后臺算法,計算出控制器當前和接下來一段時間內應采取的控制量,并將該控制量及時地通過OPC數據交互通道傳遞到DCS實時數據平臺,并由該平臺向工業現場控制器發出相應的控制指令。從而完成一次控制動作。后臺控制算法按照一定的周期,反復如此,直到接收到DCS實時數據平臺發出停止指令為止。
3系統仿真實驗設計
為檢驗以上系統構架的可行性和控制的實時性,選擇廣泛應用于礦山、碼頭、冶金和化工等行業的傳送帶配料系統為被控實驗對象。控制器通過接收來自上位機的設定流量數據作為給定量,與實際檢測到的流量進行比較,得出偏差,然后根據偏差來決定控制系統的輸出,即電流控制信號,進而控制電機的轉速,使物料流量穩定在期望值上。基于以上的被控對象,采用力控組態軟件開發DCS仿真系統并用MATLAB設計相應的控制算法,利用遠程網絡上的另一臺計算機上運行的simulink仿真框圖來模擬現場工業過程。
3.1DCS監控界面的構建
根據系統構架,原有DCS系統不需要做大的改變和調整,只需要在后臺DCS實時數據庫中增加對相關對象的控制量即可,為驗證系統構架的可實現性,設計了如圖4所示的DCS仿真界面。
3.2OPC接口程序的設計實現
系統的后臺控制算法由MATALB編寫實現,并通過OPC接口程序與DCS交換實時數據。MATLAB為OPC提供了專門的接口函數,以方便創建和配置OPC對象,并讀寫和記錄數據。下面給出了MATLAB與三維力控組態進行數據通信的部分程序。3.2.1MATLAB獲取實時數據da=opcda('localhost','PCAuto.OPCServer');connect(da);%與OPC本地服務端相連grp=addgroup(da);%添加組itm=additem(grp,'flag.PV');%把變量元素添加到組中;itm1=additem(grp,'def.PV');itm2=additem(grp,'out.PV');itm3=additem(grp,'u.PV');while(flag==1)r=read(itm1);%讀取設定輸入值rin=r.Value;y=read(itm2);圖5后臺模型simulink框圖yout=y.Value;上述程序實現了MATLAB應用程序對DCS系統的實時數據的讀取操作。后臺程序可以利用這些數據進行計算推導,得到下一控制周期應該施加的控制量。3.2.2MATLAB運算結果寫入力控實時數據庫grp=addgroup(da);%創建項目組Itm3=additem(grp,'u.PV');%把變量添加到組中…%計算控制量u的值write(itm3,u);%向力控實時數據庫寫數據通過上述程序的執行,MATLAB的運算結果u將被寫入到力控的實時數據庫,并由組態軟件將控制作用發送到工業現場執行機構。