0 引言
隨著智能儀表和現場總線技術越來越多的應用于工業現場,大量現場信息通過智能儀表直接進入監控計算機或通過現場總線傳至計算機后,存在計算機內部應用程序與現場信息的共享與交互問題[2]。另一方面,現場控制級作為企業整個信息系統的底層部分,必然需要與工程師站、專家站進行信息共享。由于控制系統往往由不同的廠商開發,相互兼容性差,各級控制系統間難以有效地進行信息交互。
碳素陽極是鋁電解工藝中至關重要的原料。某廠現有碳素陽極生產線采用A-B公司的可編程控制器(SLC系列),借助RSLinx通訊軟件、RSView32組態軟件實現了焙燒過程監控。但目前該生產線自動化水平較低。操作工需要時刻監視生產過程,人工定時記錄大量的溫度、壓力等參數,并根據歷史數據來修改設定參數。原有工程師站及專家站由不同的廠商開發,與現場級操作站可交換的信息很少。
鑒此,本文提出了一種基于OPC技術的多級控制網絡結構,可實現現場控制級、工程師站、專家站的信息共享,并通過OPC將現場控制系統與Access數據庫、VB等應用軟件連接起來,將專家知識庫、過程建模與仿真同現場生產無縫的連接起來,組成一種開放的、即插即用的工業實時監控系統(ONPS)[1]。
1 OPC概述
OPC(OLE for Process Control)規范是由AB、西門子等200多家世界高水平的自動化廠商與微軟合作制定的一項工業標準。這個標準定義了在微軟操作系統下的不同客戶程序之間交換實時自動化數據的方法。
1.1 OPC技術規范
OPC 技術以組件對象模型和分布式組件對象模型(COM/DCOM)技術為基礎,采用客戶/服務器(Client/Server)模式,定義了一組COM對象及其接口規范。
OPC對象主要包括服務器(Server)、組(Group)、和項(Item)。OPC 服務器對象除了維護自身信息外,還作為組對象的容器,可動態地創建或釋放組對象;而組對象相對于項而言也是一個包容器,它提供了一套管理項的機制;OPC 項則表示了與OPC 服務器中數據的連接,包括值(Value) 、品質(Quality) 、時間戳(Time stamp) 三個基本屬性[3]。
OPC提供了兩個應用程序的接口,一個是定制接口(Custom Interface),供C/C++開發的應用程序使用,一個是自動化接口(Automation Interface),供VB和VBA用戶使用。許多應用程序如Matlab、Access等都可使用自動化接口快捷的與OPC服務器建立聯系。見圖1
圖1 兩種OPC接口
1.2 使用OPC的優點
OPC規范出現之前,自動化設備廠商在生產硬件的同時,必須提供硬件相關的驅動程序。軟件開發商只有得到硬件驅動程序后,才能開發訪問該硬件的上層程序。一旦硬件設備升級,軟件開發商必須重新針對驅動程序做相應的修改,增加了系統維護的成本。系統集成商急需一種開放的、即插即用的驅動程序。
另外一方面,由于工業過程控制對象的復雜性及信息參數較多,傳統工業過程系統采用兩級或單級控制結構。工業過程數據只能停留于現場操作站。隨著Intertnet/Intranet遠程控制的出現,以及復雜控制算法越來越多的應用于復雜工業過程控制,大量控制系統分為現場操作級/工程師站/專家站三級控制結構。不同控制級之間需要進行無縫的數據連接。
OPC技術建立了一組符合工業控制標準的接口規范,將現場信號按照統一的標準與SCADA和HMI等軟件無縫連接起來,同時將軟件和硬件分離開來,為硬件制造商和軟件開發商劃分了界限,使軟件層不再依賴具體的設備硬件層,大大提高了控制系統的互操作性和適應性。見圖2
(a) 傳統數據訪問方式 (b)OPC下數據訪問方式
圖2 兩種數據訪問方式的對比
1.3 OPC發展前景
OPC基金會自成立至今,會員已經超過220家,世界上各主要的自動化儀表生產商,自動化系統開發商都是該組織的成員。經過OPC基金會幾年高效的工作,目前已經推出了OPC數據訪問(Data Access)、報警與事件(Alarm and Event)規范和歷史數據訪問(Historical Data Access)規范。目前得到廣泛應用的是OPC數據訪問規范,它主要解決服務器端和客戶端的實時數據存取問題[4]。
OPC技術作為一項成熟的工業標準,近年來引起廣泛關注,許多高校與自動化廠商都致力于OPC產品的研發。一些國際著名的控制類公司,如AB,西門子,ABB等都針對其硬件產品和組態軟件開發了OPC產品,用戶無需使用C++/VB進行繁瑣的編程工作,就可以利用OPC開發控制系統。在本文中,使用了AB公司的組態軟件RSView32,該軟件支持OPC技術,具體的使用方法參見3.1。
在應用研究方面,許多科研人員利用OPC所帶來的巨大便利,開發了許多優秀的工業控制系統。在文獻3中,作者開發了一種基于OPC技術的先進控制算法平臺,該平臺可以加載和仿真各種先進控制算法,并通過OPC技術和第三方DCS系統進行數據交換,實現了對復雜工業系統的先進控制。在文獻1中Jun Liu,Khiang Wee Lim等人提出了一種基于OPC技術的開放的(Open)、公共的(Nonproprietary)、即插即用的(Plug-And-Play)工業實時監控系統(ONPS)。該系統為獨立分散的過程監控與工控軟件提供了一種標準的數據共享的方法,同時將仿真與實際應用無縫的連接起來。
2 系統結構
2.1 生產系統簡介
碳素陽極生產線由五部分組成:原料系統、循環水系統、燃燒機系統、余熱爐系統和煅燒系統。見圖3
圖3 碳素陽極生產線組成圖
原料系統:將焙燒原料生石焦破碎、電磁分離,通過電動斗提和傳輸皮帶將原料送至煅前倉供煅燒系統使用。操作工根據料倉高度就地或遠程控制各個電機的啟停。
燃燒機系統:為煅燒大窯提供天然氣和空氣,操作工根據爐內溫度調節燃氣閥與空氣閥開度大小。在自動控制狀態下,可在工程師站或專家站改變空氣與燃氣的配比。
煅燒系統:煅燒系統主要由煅燒大窯和冷卻窯組成。生石焦經過煅燒大窯煅燒后,送至冷卻窯冷卻。煅燒窯內溫度及冷卻窯的溫度都是影響產品質量的重要因素。開環監控狀態下操作工通過改變二次風機與三次風機的轉速來改變煅燒窯溫度,通過改變冷卻窯內噴水的流量來改變冷卻窯出料的溫度和濕度。同時為了使氣體充分燃燒,還需要檢測大窯尾氣的含氧量。在手動控制狀態下,操作工根據含氧量的大小設定燃燒室配風調節閥的開度。
余熱爐系統:煅燒窯產生大量的高溫氣體,余熱爐系統可回收利用這些氣體,供工廠生活取暖。同時該系統配備了水磨除塵裝置,可凈化排放的氣體。與煅燒系統一樣,余熱爐系統有大量的參數需要監控。如鍋爐蒸汽溫度、壓力;鍋爐給水流量、給水壓力;除塵器壓力、溫度等等。
循環水系統:為煅燒系統提供冷卻水,向余熱爐系統提供鍋爐用水。
2.2 計算機網絡控制結構
碳素陽極生產現場有5臺A-B可編程控制器(SLC504),分別控制原料系統、燃燒機系統、煅燒系統、余熱爐系統和循環水系統。考慮到生產過程比較復雜,產品質量受多種因素影響,系統采用多級控制網絡結構。見圖4
圖4 碳素陽極生產多級控制結構圖
現場操作站有三臺研華工控計算機。每臺計算機上都裝有A-B公司的組態軟件RSView32,借助RSLinx通訊軟件和DH+網絡與PLC進行數據交換。煅燒車間的兩臺工控機為主熱備份,主要負責監控原料系統、燃燒機系統、煅燒系統和循環水系統。現場操作級主要有以下功能:
(1).監控原料系統料倉高度,根據該高度就地或遠程控制給料機、破碎機、皮帶傳輸等電機的啟動停止。
(2).監控煅燒系統、循環水系統、余熱爐系統各個檢測點的溫度、壓力、流量,在系統手動狀態下調節各個執行機構的輸出量。
(3).設定系統設備連鎖運行,故障處理時設備的啟停。
(4).作為OPC服務器向工程師站和專家站傳遞現場所有參數,并接受上一級發送的控制參數。
工程師站有兩臺研華工控計算機,裝有RSView32組態軟件和RSLogix500 PLC編程軟件。工程師站主要有以下功能:
(1).集中顯示生產過程所有可視化信息,包括各檢測點數值、各個電機運行狀態、控制模式、給定數值等。
(2).對整個生產過程進行初始化設置,并可在線修改各個控制回路控制器參數。
(3).可改變整個系統各個控制回路手動、自動控制模式。
(4).生成生產過程各種數據的班報、日報、月報、年報。
工程師站利用RSView32自帶的OPC功能與現場操作站進行數據交換,減少了DH+網絡的通信負擔。
專家站計算機裝有RSView32組態軟件、Matlab、VB、Access數據庫等高級應用程序。專家站的主要功能如下:
(1).管理整個控制系統,對系統突發錯誤作相關處理。
(2).對系統進行建模仿真及優化計算。
(3).根據專家經驗給定投料量、焙燒窯轉速等相關給定值以及各參數的報警上下限。
(4).建立各項指標數據庫,將歷史數據、操作報告、報警信息存入數據庫。
3 OPC實現方法
3.1 組態軟件OPC通信方法
現場操作級、工程師站和專家站計算機上都裝有A-B公司的RSView32組態軟件。該軟件支持基于OPC技術的數據交換。將現場操作級的RSView32設定為服務器,工程師站和專家站的RSView32設定為客戶機,現場數據及控制參數可以在三站之間雙向傳遞。
服務器設定:假定煅燒車間1號工控機名稱為Calciner1,在RSView32中建立一個新的節點:
數據源:OPC服務器
節點名:Calciner1
名字:RSI.RSView32OPCTagServer
類型:本機
更新速率:1秒
客戶機設定:在工程師站和專家站上的RSView32中建立一個新的節點:
數據源:OPC服務器
節點名:Expert
名字:RSI.RSView32OPCTagServer
類型:遠程
更新速率:5秒
需要注意的是客戶機上OPC節點的更新速率應該小與服務器中OPC節點的更新速率。
客戶機上RSView32中的標記需要連接到OPC服務器,將對應的數據名稱設定為來自設備,節點名為Expert,地址填寫為現場操作站RSView32中標記的名稱。RSView32 的 OPC 服務器已經被測試和證明最多可以同時連接 10 臺用作 OPC 客戶的 RSView32 計算機,現在并不正式支持每臺 RSView32 OPC 服務器與超過 10 臺用作 OPC 客戶的 RSView32 計算機連接使用。
3.2 組態軟件與VB通信方法
專家站的組態軟件通過OPC技術與VB連接起來,實現復雜控制算法。VB作為客戶機與組態軟件RSView32通信
方法如下[5]:
現在VB工具欄中“工程\引用”將Rockwell OPC Automation 2.0 加入。然后定義變量。
Const ServerName=“RSI.RSView32OPCTagServer” ‘ OPC類型
Dim Nodename as String ‘節點名即計算機名
Dim MyOPCServer as OPCServer ‘OPC服務器
Dim MyOPCGroup as OPCGroup ‘OPC組
Dim MyOPCItem as OPCItem ‘OPC項對象
Dim OPCItemCollection as OPCItems ‘OPC項集合
并定義項改變值個數、ID、指針等變量如:
Dim ItemCount as Long ‘項改變值個數
Dim OPCItemIDs(100) as ‘定義OPC項數組
Dim ItemServerHandles()As long ‘定義服務器項指針
Dim ClientHardles(100)As long ‘定義客戶端句柄
另外還要定義復雜控制算法中的全局變量如:
Dim CalcinerHead_Temp as Single ‘定義窯頭溫度
Dim DischargeEnd_Temp as Single ‘定義出料溫度
定義好所有的變量后,將進行OPC的連接,OPC讀寫等,由于程序較長,這里不再贅述。OPC客戶連接后,需要占用服務器資源,所以程序結束后必須斷開OPC連接,釋放資源。關鍵程序如下:
清除指定的OPC項
0PCItemCollectlon.Remove ltemCount.Removelt
emServerHandles,RemoveltemServerE1TOrS
Set OPCItemCollection = Nothing
清除指定的OPC組
ConeetedServerGroup.Remove(”Group1”)
Set ConnectedGroup = Nothing
與服務器斷開連接并且清除
AnOPCServer.Disconnect
Set AnOPCServer=Nothing
整個程序的流程如圖5。
圖5 VB程序流程圖
4 結束語
根據碳素陽極生產過程的特性,借助PLC、RSView32組態軟件以及VB等其他高級應用軟件,采用OPC技術構建了現場操作級、工程師站、專家站三級控制網絡。該網絡結構具有以下優點:
1.現場操作站與PLC之間通過DH+ 網絡進行數據傳輸,方便快捷,保證了系統的實時性。
2.工程師站與專家站采用OPC技術與現場操作站連接,這樣減輕了DH+網絡的通信負擔,降低了因大量數據通信造成的控制系統的延遲。同時由于采用OPC技術通信后,工程師站及專家站工控機上無需DH+卡,減少了系統開支。
3.在專家站采用OPC技術將現場信息與VB、數據庫等應用程序連接起來,增強的系統的可擴展性,其他控制系統開發商對控制系統進行優化升級時無需再進行重復的底層開發工作。
參考文獻
[1] Jun Liu, Khiang Wee Lim. Using the OPC Standard for Real-Time Process Monitoring and Control [J].IEEE Software, 2005 22(6):55-59
[2] 李京,宋真君.OPC規范的產生與發展[J].自動化儀表,2002,23(4):68-70
[3] OPC Foundation. OPC Overview (1.0)[EB/OL].Http://www.opcfoundation.org, 1998-10
[4] 薛福珍,許磊,田貴賓,劉忍權.基于OPC的先進控制算法平臺的設計與實現[J].自動化儀表,2005,26(9):26-28
[5] 趙艷秋,王建民.采用OPC技術實現豎爐燒結DCS系統與VB軟件的接口[J].計算機與數字工程,2006,34:114-117