OPC技術(shù)在液位控制中的應用解析
引言
本文引用地址:http://dyxdggzs.com/article/201808/385766.htm隨著(zhù)智能儀表和現場(chǎng)總線(xiàn)技術(shù)越來(lái)越多地應用于工業(yè)現場(chǎng),計算機控制系統內部各軟硬件間以及不同系統間需要進(jìn)行大量的信息共享與交互。由于目前企業(yè)使用的控制系統往往由不同廠(chǎng)商開(kāi)發(fā),因此相互間的兼容性差。
雖然采用專(zhuān)用接口或數據庫互連可實(shí)現部分信息交互,但因實(shí)施成本高、系統集成難度大,所以大家一直在探討新的解決方法,OPC(OLE for process contr01)技術(shù)就是其中之一。
OPC規范是由AB、西門(mén)子等200多家自動(dòng)化廠(chǎng)商與微軟合作制定的一項工業(yè)標準。該標準定義了在微軟操作系統下,不同程序、設備之間交換實(shí)時(shí)數據的方法,能將現場(chǎng)信號按照統一的標準與各廠(chǎng)商提供的軟件無(wú)縫連接,同時(shí)對硬件制造商和軟件開(kāi)發(fā)商劃分了界限,大大提高了控制系統的互操作性、適應性和可擴展性。
1 基于OPC技術(shù)的液位控制系統
1.1液位對象
液位對象是常見(jiàn)的工業(yè)過(guò)程被控對象,復雜液位對象具有時(shí)變、非線(xiàn)性、大滯后和不確定性等過(guò)程對象的典型特征。
本文提出的液位系統是一種基于OPC技術(shù)的多級網(wǎng)絡(luò )控制平臺,并在其中嵌入了模糊控制算法,控制網(wǎng)絡(luò )很好地實(shí)現了現場(chǎng)操作級、工程師站和專(zhuān)家站的信息共享。同時(shí),通過(guò)Access數據庫、VB等應用軟件將專(zhuān)家知識庫、過(guò)程模型、仿真圖件及實(shí)際生產(chǎn)過(guò)程無(wú)縫地連接起來(lái),組成了一種開(kāi)放的、即插即用的工業(yè)實(shí)時(shí)監控系統。
本文所用對象為深圳固高公司的三容水箱系統,其雙容液位部分結構如圖1所示。
圖1 液位對象結構
水由水泵從儲水箱中抽出后,流經(jīng)電磁閥、水柱1、手動(dòng)閥1、水柱2、手動(dòng)閥2,再回到儲水箱。該對象的輸入信號為電磁閥電壓,輸出信號為兩水柱水位。各閥門(mén)的開(kāi)度變化均可影響對象的非線(xiàn)性程度。
1.2液位控制系統的OPC結構
本文中的液位控制系統采用圖2所示的網(wǎng)絡(luò )結構。該系統由現場(chǎng)操作級、工程師站和專(zhuān)家站三級網(wǎng)絡(luò )組成。
圖2 液位控制系統網(wǎng)絡(luò )結構
1.2.1現場(chǎng)操作級
現場(chǎng)操作級包括液位對象、數據采集卡和控制PC機。主要完成以下功能。
①液位傳感器的靜態(tài)標定與動(dòng)態(tài)校準;
②液位信號的數據采集處理,并通過(guò)OPC協(xié)議將數據傳輸給工程師站和專(zhuān)家站;
③液位系統畫(huà)面監控及控制方式的選擇,包括手動(dòng)與自動(dòng)控制。
1.2.2工程師站
工程師站由3臺控制PC機組成,裝有RSView32、VB等高級應用軟件,主要完成以下功能。
①集中顯示液位控制系統所有可視化信息,包括各個(gè)水柱高度、電磁閥狀態(tài)、控制模式和給定數值等;
②設置系統的初始化狀態(tài)和復雜控制算法,并可在線(xiàn)修改各控制算法的參數;
③可改變整個(gè)系統各控制回路中的手動(dòng)、自動(dòng)控制模式;
④生成液位系統各種數據的班報、日報、月報和年報表。
1.2.3專(zhuān)家站
專(zhuān)家站計算機裝有BSView32、Matlab、LabVIEW和Access數據庫等高級應用程序,主要功能如下。
①管理整個(gè)控制系統,對突發(fā)錯誤作出相關(guān)處理;
②對系統進(jìn)行建模仿真及優(yōu)化計算;
③建立各項指標數據庫,將歷史數據、操作報告和報警信息存入數據庫。
此外,由圖2可知,專(zhuān)家站中預留了控制系統升級接口,日后其他開(kāi)發(fā)人員開(kāi)發(fā)不同的控制算法時(shí),可以方便地與原有系統建立數據通信,無(wú)須再開(kāi)發(fā)底層數據采集與通信程序,簡(jiǎn)化了開(kāi)發(fā)步驟。
2 液位控制系統的OPC實(shí)現
液位系統的工程師站和專(zhuān)家站均采用了RSView32組態(tài)軟件。在工程師站中,RSView32通過(guò)其自帶的VBA程序開(kāi)發(fā)系統進(jìn)行模糊控制等復雜算法的運算;在專(zhuān)家站中,借助BSView32卓越的管理系統和數據庫功能可以管理整個(gè)控制系統,建立各項指標數據庫,存儲歷史數據。
由此可見(jiàn),組態(tài)軟件RSView32相當于一座中間橋梁,將現場(chǎng)操作級、工程師站和專(zhuān)家站連接了起來(lái)。因此,該液位系統需要解決3個(gè)核心問(wèn)題:如何實(shí)現現場(chǎng)實(shí)時(shí)信號的采集、如何在組態(tài)軟件BSView32中嵌入復雜控制算法以及如何實(shí)現工程師站與專(zhuān)家站組態(tài)軟件之間的數據通信。
2.1數據采集
為了獲取實(shí)時(shí)液位信號,我們采用VB編程操作數據采集卡采集現場(chǎng)數據。
本系統采用的是阿爾泰公司的PCI2006數據采集卡,它自帶接受訪(fǎng)問(wèn)的底層驅動(dòng)。因此,在正式編程之前,需要把開(kāi)發(fā)商提供的模塊文件PCI2006.bas加入到VB工程當中。通過(guò)VB程序采集數據的步驟和核心代碼如下。
2.2組態(tài)軟件OPC通信方法
現場(chǎng)操作級、工程師站和專(zhuān)家站計算機上都裝有BSView32組態(tài)軟件。該軟件支持基于OPC技術(shù)的數據交換。將現場(chǎng)操作級的RSView32設定為服務(wù)器,工程師站和專(zhuān)家站的BSView32設定為客戶(hù)機,則現場(chǎng)數據和控制參數可以在3站之間雙向傳遞。
在OPC服務(wù)器設定中,現場(chǎng)操作級計算機取名為Waterl,在RSView32中建立一個(gè)新的節點(diǎn),則各項參數設置如表1所示。
表1 OPC服務(wù)器參數表
在客戶(hù)機設定中,服務(wù)器計算機均為Water,則在工程師站和專(zhuān)家站上的RSView32中分別建立一個(gè)新的節點(diǎn),各項參數設置如表2所示。
表2 客戶(hù)機參數表
需要注意的是,客戶(hù)機上OPC節點(diǎn)設定中的服務(wù)計算機名應當填入OPC服務(wù)器的計算機名稱(chēng),且更新速率應該大于服務(wù)器中OPC節點(diǎn)的更新速率。
客戶(hù)機上ILSView32中的標記需要連接到OPC服務(wù)器,并將對應的數據名稱(chēng)設定為來(lái)自設備的名稱(chēng),節點(diǎn)名為Expert,地址填入現場(chǎng)操作站 RSView32中標記的名稱(chēng)。測試證明,ILSView32的OPC服務(wù)器最多可以同時(shí)連接10臺用作OPC客戶(hù)的RSView32計算機。
2.3組態(tài)軟件與VB的通信方法
客戶(hù)機的組態(tài)軟件通過(guò)OPC技術(shù)與VB連接起來(lái),實(shí)現復雜控制算法。VB在客戶(hù)機上與組態(tài)軟件BSView32的通信方法如下。
先在VB工具欄中的“工程引用”項加入Rock.well 0PC Automation 2.0,然后定義變量。
Const ServerName=“RSI.RSView320PCTagServer”
Dim Nodename as String //節點(diǎn)名即計算機名
Dim MyOPCServer as OPCServer //OPC服務(wù)器
Dim MyOPCGroup as OPCGmup //OPC組
評論