匡芬芳
(湖南化工職業技術學院自動化系,湖南 株洲 412004)
隨著智能儀表和現場總線技術越來越多地應用于工業現場,計算機控制系統內部各軟硬件間以及不同系統間需要進行大量的信息共享與交互[1]。由于目前企業使用的控制系統往往由不同廠商開發,因此相互間的兼容性差。
雖然采用專用接口或數據庫互連可實現部分信息交互,但因實施成本高、系統集成難度大,所以大家一直在探討新的解決方法,OPC(OLE for process control)技術就是其中之一。
OPC規范是由AB、西門子等200多家自動化廠商與微軟合作制定的一項工業標準。該標準定義了在微軟操作系統下,不同程序、設備之間交換實時數據的方法,能將現場信號按照統一的標準與各廠商提供的軟件無縫連接,同時對硬件制造商和軟件開發商劃分了界限,大大提高了控制系統的互操作性、適應性和可擴展性。
液位對象是常見的工業過程被控對象,復雜液位對象具有時變、非線性、大滯后和不確定性等過程對象的典型特征[2-5]。
本文提出的液位系統是一種基于OPC技術的多級網絡控制平臺,并在其中嵌入了模糊控制算法,控制網絡很好地實現了現場操作級、工程師站和專家站的信息共享。同時,通過Access數據庫、VB等應用軟件將專家知識庫、過程模型、仿真圖件及實際生產過程無縫地連接起來,組成了一種開放的、即插即用的工業實時監控系統。
本文所用對象為深圳固高公司的三容水箱系統,其雙容液位部分結構如圖1所示。

圖1 液位對象結構Fig.1 Structure of the liquid level object
水由水泵從儲水箱中抽出后,流經電磁閥、水柱1、手動閥1、水柱2、手動閥2,再回到儲水箱。該對象的輸入信號為電磁閥電壓,輸出信號為兩水柱水位。各閥門的開度變化均可影響對象的非線性程度。
本文中的液位控制系統采用圖2所示的網絡結構[6-7]。該系統由現場操作級、工程師站和專家站三級網絡組成。

圖2 液位控制系統網絡結構Fig.2 Network structure of the liquid level control system
1.2.1 現場操作級
現場操作級包括液位對象、數據采集卡和控制PC機,主要完成以下功能。
①液位傳感器的靜態標定與動態校準;
②液位信號的數據采集處理,并通過OPC協議將數據傳輸給工程師站和專家站;
③液位系統畫面監控及控制方式的選擇,包括手動與自動控制。
1.2.2 工程師站
工程師站由3臺控制PC機組成,裝有RSView32、VB等高級應用軟件,主要完成以下功能。
①集中顯示液位控制系統所有可視化信息,包括各個水柱高度、電磁閥狀態、控制模式和給定數值等;
②設置系統的初始化狀態和復雜控制算法,并可在線修改各控制算法的參數;
③可改變整個系統各控制回路中的手動、自動控制模式;
④生成液位系統各種數據的班報、日報、月報和年報表。
1.2.3 專家站
專家站計算機裝有 RSView32、Matlab、LabVIEW和Access數據庫等高級應用程序,主要功能如下。
①管理整個控制系統,對突發錯誤作出相關處理;
②對系統進行建模仿真及優化計算;
③建立各項指標數據庫,將歷史數據、操作報告和報警信息存入數據庫。
此外,由圖2可知,專家站中預留了控制系統升級接口,日后其他開發人員開發不同的控制算法時,可以方便地與原有系統建立數據通信,無須再開發底層數據采集與通信程序,簡化了開發步驟。
液位系統的工程師站和專家站均采用了RSView32組態軟件。在工程師站中,RSView32通過其自帶的VBA程序開發系統進行模糊控制等復雜算法的運算;在專家站中,借助RSView32卓越的管理系統和數據庫功能可以管理整個控制系統,建立各項指標數據庫,存儲歷史數據。
由此可見,組態軟件RSView32相當于一座中間橋梁,將現場操作級、工程師站和專家站連接了起來。因此,該液位系統需要解決3個核心問題:如何實現現場實時信號的采集、如何在組態軟件RSView32中嵌入復雜控制算法以及如何實現工程師站與專家站組態軟件之間的數據通信。
為了獲取實時液位信號,我們采用VB編程操作數據采集卡采集現場數據。
本系統采用的是阿爾泰公司的PCI2006數據采集卡,它自帶接受訪問的底層驅動。因此,在正式編程之前,需要把開發商提供的模塊文件PCI2006.bas加入到VB工程當中。通過VB程序采集數據的步驟和核心代碼如下。


現場操作級、工程師站和專家站計算機上都裝有RSView32組態軟件。該軟件支持基于OPC技術的數據交換。將現場操作級的RSView32設定為服務器,工程師站和專家站的RSView32設定為客戶機,則現場數據和控制參數可以在3站之間雙向傳遞。
在OPC服務器設定中,現場操作級計算機取名為Water1,在RSView32中建立一個新的節點,則各項參數設置如表1所示。

表1 OPC服務器參數表Tab.1 Parameters of OPC server
在客戶機設定中,服務器計算機均為Water,則在工程師站和專家站上的RSView32中分別建立一個新的節點,各項參數設置如表2所示。

表2 客戶機參數表Tab.2 Parameters of the client
需要注意的是,客戶機上OPC節點設定中的服務計算機名應當填入OPC服務器的計算機名稱,且更新速率應該大于服務器中OPC節點的更新速率。
客戶機上RSView32中的標記需要連接到OPC服務器,并將對應的數據名稱設定為來自設備的名稱,節點名為Expert,地址填入現場操作站RSView32中標記的名稱。測試證明,RSView32的OPC服務器最多可以同時連接10臺用作OPC客戶的RSView32計算機。
客戶機的組態軟件通過OPC技術與VB連接起來,實現復雜控制算法[8-9]。VB在客戶機上與組態軟件RSView32的通信方法如下。
先在VB工具欄中的“工程引用”項加入Rockwell OPC Automation 2.0,然后定義變量。

定義復雜控制算法中的全局變量如下。寫等。

由于程序較長,這里不再贅述。整個程序的流程如圖3所示。

圖3 VB程序流程圖Fig.3 Flowchart of VB program
由于OPC客戶建立連接后,占用了服務器資源,因此,程序結束后必須斷開OPC連接,釋放資源。關鍵程序如下。

本文根據工業液位對象的特性,借助RSView32、VB等高級應用軟件,采用OPC技術構建了三級網絡控制系統。
系統結構開放,可擴展性強,成本低廉,不同廠家的新設備、新軟件,只要提供統一的OPC接口,就能與本系統簡便互聯,減少了底層開發時間和費用。同時,該網絡實現了計算機內部應用程序與現場設備、不同軟硬件、不同應用程序之間的無縫連接與資源實時共享,可供多個客戶同時訪問系統。
[1]李京,宋真君.“工控軟件互操作規范OPC技術”講座——第一講OPC 規范的產生與發展[J].自動化儀表,2002,23(4):68-70.
[2]金彥平.用PLC實現分段液位控制[J].機床電器,2004,31(4):32-34.
[3]陸仲達,徐鳳霞.單片機液位控制系統[J].齊齊哈爾大學學報:自然科學版,2003,19(1):56 -58.
[4]袁麗英,牟曉光.自適應液位模糊控制系統設計[J].哈爾濱商業大學學報:自然科學版,2005,21(3):302 -304.
[5]匡芬芳.基于LabVIEW的液位神經網絡PID控制系統[J].微計算機信息,2010,26(19):60 -62.
[6]向冬,王潤孝,秦現生.基于OPC的多層過程控制系統架構設計及實現[J].計算機應用,2003,23(2):68-70.
[7]薛福珍,徐磊,田貴賓,等.基于OPC的先進控制算法平臺的設計與實現[J].自動化儀表,2005,26(9):26 -28.
[8]趙艷秋,王建民.采用OPC技術實現豎爐燒結DCS系統與VB軟件的接口[J].計算機與數字工程,2006,34(1):114 -117.
[9]郭建明,隋永強,黃珍.基于VB的OPC客戶端程序設計與應用[J].湖南工業大學學報:人文社會科學版,2007,21(6):83-87.