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