前言:尋找寫作靈感?中文期刊網用心挑選的OPC接口程序的設計實現,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
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所示?;贠PC通訊的標準協議,是由世界上領先的自動化軟、硬件廠商連同微軟公司通力開發的,它使工業控制無論是在硬件還是軟件方面都有了統一的依據標準[7]。在軟件方面,目前幾乎國內外所有流行的組態軟件都支持OPC數據交換標準。而且主流的計算機編程語言,都支持OPC通訊協議。值得提出的是當今最優秀的科技應用軟件之一MATLAB在其7.0以上版本中還專門集成了OPC工具箱。硬件方面,當前幾乎所有的PLC及其他工業現場設備都支持OPC數據通訊協議[8]。 2系統構架 當前,在工業DCS系統中,對現場生產過程的控制,多數是由在監控室中的工程技術人員根據現場監測數據并結合工程經驗來完成的。這種控制方式對操作員的經驗有過高的依賴性。盡管在某些先進的DCS系統中對一些參數的控制采用了諸如PLC等硬件來實現,這也從一定程度上提高了控制效果,但是過于復雜的控制算法就難以實現了?;贠PC通訊技術,設計了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將被寫入到力控的實時數據庫,并由組態軟件將控制作用發送到工業現場執行機構。#p#分頁標題#e# 3.3后臺控制算法 針對該系統,利用增量式PID控制算法實現對傳動帶系統的流量控制。數字PID算法的表示形式如式(1)所示。u(k)=Kpe(k)+Ki∑kj=1e(j)T+Kde(k)-e(k-1)T(1)考慮到程序設計的方便,采用增量式PID算法。增量式PID算法的表示形式如式(2)和(3)。Δu(k)=Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)](2)u(k)=u(k-1)+Δu(k)(3)PID控制器的各個參數,使用實驗整定好的值。 3.4MATLAB應用程序編譯生成可執行性文件 由于MATLAB的開放性,由其編寫的程序都可以通過自身的編譯系統,將源程序編譯成可執行文件。這不僅提高了程序的可移植性,還增加了與其他應用程序的兼容性。針對實驗模型,將后臺PID控制算法,編譯生成exe的文件。并將exe文件及其相應的系統文件按要求歸置到相應的路徑下,在設計完成的DCS系統中做相應的調用設置,就可以脫離MATLAB環境,實現對后臺控制算法的調用。MATLAB獨立應用程序的編譯步驟如下:(1)在MATLAB的command窗口中輸入mcc-Bsglpid.m(pid.m為后臺算法的源程序);(2)將生成的exe文件及其相關系統文件連帶MCRin-staller.exe放到同一文件夾下并拷到待運行的機器;(3)在機器上先運行MCRinstaller.exe,然后選擇解壓目錄,安裝相應組件。此外,也可以使用MATLAB中的編譯系統生成COM組件,來完成獨立應用程序的。 3.5DCS工業現場的模擬設計 后臺控制算法應用程序的設計是依賴于實際工業過程來設計的,比如控制變量的命名和選擇等都必須依賴于原有DCS系統,并與DCS數據庫中的變量建立起對應的一一映射關系才能夠完成對特定對象的控制。皮帶配料系統的數學模型如式(4)。仿真模型由MATLAB中的simulink模塊搭建而成,仿真框圖與組態軟件之間,也采用OPC通訊技術來完成動態數據的交換,框圖如圖5所示??驁D的OPCRead和OPCWrite工具框,操作的變量必須與DCS系統中數據庫中的變量一一對應。而且這兩個工具箱讀寫數據的方式可設置為同步或者異步方式。根據系統需要,將數據的讀入設置為同步方式,數據的寫入采用采樣周期為1sec的異步方式。值得注意的是,在設計控制后臺算法和設計仿真模型時,通過OPC通訊技術而進行的數據交換都是OPC服務器中所包含的變量。模型框圖中讀取的是OPC服務器中控制信號即電機電流采樣值,即控制量;向OPC服務器寫入的值,是系統的輸出即流量輸出的實際值,二者都是OPC數據庫變量。 4實驗與結果分析 各部分設計完成后,首先是將生成的后臺控制應用程序放置在指定路徑下,并在組態環境中設置調用該應用程序的命令語句和其他相關參數。組態中的各項參數設置完成后,保存打包成一個工程文件。將打包好的工程文件連帶后臺算法應用程序,解壓安裝在目標計算機上。首先啟動DCS系統并運行控制應用程序,此時打開模擬現場對象的另一臺計算機,運行組建好的模型的simulink框圖,這樣整個實驗系統移動完成。 在系統界面中,如圖6所示,流量設定值為系統的給定量,即期望的流量設定值,由操作人員根據需要來輸入確定值;已傳送總量和當前庫存總量是根據流量等數值進行相應運算,由后臺對象仿真模型得到;流量的測量值是后臺對象仿真模型的輸出值。后臺控制算法的計算結果,即控制量u,則可以通過在實時曲線圖中讀取。仿真開始后,在流量設定值輸入窗口輸入流量期望值100kg/min并記錄下當前的時刻為09:38:37,觀察實時曲線窗口隨時間的推移,流量測定值和控制量的變化曲線,如圖6(a)所示。待輸出曲線值穩定后,改變設定流量為50kg/min并記錄當前時刻為09:40:04得到如圖6(b)所示的結果。 從以上仿真圖形表明,基于OPC通訊技術的后臺控制應用程序能夠實現與DCS系統實時數據庫的數據交換,并能完成對現場模型的有效控制。在圖6(a)的實時曲線框圖可以看出中,在09:38:38時刻,控制量u開始發生變化,在09:38:39時刻,流量的測量值也跟著相應地發生變化,而設定值的輸入時刻為09:38:37。同樣對于圖6(b)的實時曲線,在09:40:04時刻改變流量設定值,在時刻09:40:05控制量u開始發生了變化,在09:40:06時刻,流量的測量值也跟著相應地變化。從以上的仿真曲線和時刻對應關系中可以發現,在DCS系統采樣周期為1sec的情況下,設定值輸入后,在下一個采樣周期內,后臺控制算法就根據給定值的變化對控制量作出相應的調整。由于對象的純滯后性,對象的輸出相對應于輸入有一定的延遲。以上的這些數據充分說明后臺控制算法滿足對工業過程實時性的控制要求。