南 楠
(三門峽職業(yè)技術(shù)學(xué)院,河南 三門峽 472000)
隨著現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展,工業(yè)自動(dòng)化程度的提高,SCADA(監(jiān)控和數(shù)據(jù)采集)系統(tǒng)的重要性日益凸顯。其作為工業(yè)過程自動(dòng)化控制的重要組成部分,一旦出現(xiàn)故障,將造成巨大的企業(yè)經(jīng)濟(jì)損失甚至導(dǎo)致人身安全。
果汁廠的進(jìn)貨、挑選清洗、制漿、殺菌、蒸發(fā)、過濾、灌裝等工藝都已實(shí)現(xiàn)自動(dòng)控制。本文提出了一種基于MAS和OPC技術(shù)的集成方法,并以某果汁廠的SCADA系統(tǒng)為例分析工作過程,體現(xiàn)系統(tǒng)的良好交互性。
SCADA系統(tǒng)是一門綜合了計(jì)算機(jī)、通信、網(wǎng)絡(luò)與自動(dòng)化控制的技術(shù),根據(jù)其應(yīng)用領(lǐng)域的不同所實(shí)現(xiàn)的系統(tǒng)功能也各不相同,但系統(tǒng)最基本的功能有兩個(gè):服務(wù)器端、客戶機(jī)端。服務(wù)器端主要實(shí)現(xiàn)的功能有:數(shù)據(jù)采集與處理、控制運(yùn)算、消息預(yù)警、數(shù)據(jù)同步等;客戶機(jī)端功能主要有:用戶圖形界面、安全管理、行政決策、安全管理等。
目前常應(yīng)用于電力、燃?xì)狻④壍赖刃袠I(yè),對(duì)生產(chǎn)過程和無人現(xiàn)場(chǎng)進(jìn)行監(jiān)控,實(shí)時(shí)反饋采集數(shù)據(jù),使管理者及時(shí)作出決策。SCADA系統(tǒng)是企業(yè)進(jìn)行安全生產(chǎn)、正常運(yùn)行、合理資源調(diào)度、科學(xué)管理和設(shè)備優(yōu)化最基礎(chǔ)的技術(shù)手段。
本文提出的方法是基于MAS和OPC協(xié)議實(shí)現(xiàn)過程集成,這種集成能完成兩個(gè)目標(biāo)。其一,可將過程數(shù)據(jù)從處理域傳送到信息域,管理者根據(jù)傳輸數(shù)據(jù)作出相應(yīng)決策;其二,可實(shí)現(xiàn)依據(jù)OPC協(xié)議提供的支持使控制設(shè)備具有互操作性。OPC技術(shù)是微軟公司基于OLE COM/DCOM技術(shù)開發(fā)的一套標(biāo)準(zhǔn)規(guī)范,用于過程控制和制造業(yè)的應(yīng)用實(shí)現(xiàn)互操作的接口方法。目前全世界有成百上千個(gè)OPC數(shù)據(jù)存取服務(wù)器和客戶端。
圖1顯示了SCADA系統(tǒng)中使用OPC協(xié)議的基本結(jié)構(gòu)。OPC服務(wù)器連接到PLC負(fù)責(zé)直接控制過程,OPC服務(wù)器作為PLC的驅(qū)動(dòng)程序。OPC服務(wù)器與PLC之間的通信是依靠供應(yīng)商提供的特定生產(chǎn)控制系統(tǒng)。另一方面,OPC服務(wù)器與SCADA應(yīng)用程序之間的通信采用COM/DCOM技術(shù),可以與大多數(shù)供應(yīng)商提供的控制系統(tǒng)配合使用。

圖1基本的OPC協(xié)議體系結(jié)構(gòu)
大多數(shù)MAS平臺(tái)是以Java程序語言為基礎(chǔ)實(shí)現(xiàn)的,因此建立一個(gè)通過網(wǎng)橋或適配器鏈接Java代理與OPC服務(wù)器是必需的。在Java中選擇jeasyopc類來連接Java MAS代理和OPC服務(wù)器,jeasyopc的使用使java OPC的實(shí)現(xiàn)更加容易。抽象出來的結(jié)構(gòu)圖如圖2所示。

圖2 MAS與OPC集成
圖2顯示了基于代理的系統(tǒng)層次結(jié)構(gòu)圖。圖中表明該系統(tǒng)包含四個(gè)層,自下而上分別是物理過程層、控制層、OPC通信層和代理層。每層之間通過相應(yīng)接口通信,例如,物理過程層和控制層之間是圖形接口,通過計(jì)算機(jī)進(jìn)行模/數(shù)轉(zhuǎn)換;控制層和OPC通信層是通過自定義接口為供應(yīng)商提供驅(qū)動(dòng)程序;OPC通信層和代理層之間是Java-OPC接口,實(shí)現(xiàn)系統(tǒng)交互性。

圖3系統(tǒng)層次結(jié)構(gòu)
把上述理論應(yīng)用到某果汁的生產(chǎn)過程控制中,實(shí)現(xiàn)本地和遠(yuǎn)程的訪問服務(wù)。以果汁廠三個(gè)區(qū)域?yàn)榛A(chǔ)實(shí)現(xiàn)系統(tǒng)設(shè)計(jì),三個(gè)區(qū)包含制漿車間、包裝車間、廢渣處理車間。每個(gè)控制過程由西門子S7-300PLC控制,西門子S7-300PLC在果汁廠中用來實(shí)現(xiàn)蒸發(fā)的自動(dòng)控制。三個(gè)區(qū)連接到本地局域網(wǎng)中,再包括操作員的控制系統(tǒng)。此外,每個(gè)控制過程包含多個(gè)過程變量,應(yīng)連續(xù)監(jiān)測(cè),例如制漿車間中的機(jī)器運(yùn)行速度、液壓數(shù)值、溫度等,隨時(shí)與操作員交互信息,及時(shí)調(diào)整下步運(yùn)行模式。實(shí)驗(yàn)工程結(jié)構(gòu)圖如圖4所示,所有主機(jī)通過一個(gè)局域網(wǎng)連接到互聯(lián)網(wǎng)中,實(shí)現(xiàn)從外部實(shí)時(shí)訪問系統(tǒng)運(yùn)行數(shù)據(jù)。

圖4試驗(yàn)工程結(jié)構(gòu)圖
系統(tǒng)采用Java語言,使用Jade開發(fā)框架,實(shí)現(xiàn)FIPA(the foundation for intelligentphysicalagents)定義。利用JADE框架可以迅速地實(shí)現(xiàn)多個(gè)代理開發(fā),多個(gè)代理類型可以相同,可以不同。同時(shí)FIPA對(duì)異構(gòu)環(huán)境有良好的支持性,多個(gè)代理可以在局域網(wǎng)或外網(wǎng)的一臺(tái)或多臺(tái)主機(jī)上,代理個(gè)數(shù)的增減也易于實(shí)現(xiàn)。
案例實(shí)驗(yàn)中,工作過程如下:
(1)每個(gè)PLC控制過程分配給一個(gè)OPC代理,進(jìn)而注冊(cè)其服務(wù)到Jade代理,代表在Jade平臺(tái)的黃頁服務(wù)。在本案例中,有三個(gè)OPC代理,每一個(gè)對(duì)應(yīng)一個(gè)PLC控制系統(tǒng)。
(2)起初遠(yuǎn)程操作員代理并不知道OPC代理與PLC系統(tǒng)的對(duì)應(yīng)關(guān)系,因此在開始運(yùn)行時(shí)需要通過Jade代理自動(dòng)搜索與之匹配的OPC代理。
(3)在確定OPC代理后,經(jīng)營(yíng)者代理發(fā)送一個(gè)ACL消息請(qǐng)求到OPC代理,通過OPC代理返回的實(shí)時(shí)數(shù)據(jù)分配給相應(yīng)的PLC系統(tǒng)。
(4)每個(gè)車間代理可以同時(shí)訪問多個(gè)OPC代理,即每個(gè)遠(yuǎn)程代理可以用來管理和監(jiān)控多個(gè)控制過程。
(5)遠(yuǎn)程操作代理不斷從位于主機(jī)上的OPC代理接受改變的實(shí)時(shí)數(shù)據(jù)界面,一旦數(shù)據(jù)提示異常,將采取警報(bào)服務(wù),如圖5中Var2的實(shí)際值較參考值高,將會(huì)發(fā)出提醒消息。遠(yuǎn)程代理實(shí)現(xiàn)了提供實(shí)時(shí)監(jiān)控、報(bào)警服務(wù)、趨勢(shì)服務(wù),對(duì)管理者在無法到達(dá)現(xiàn)場(chǎng)的情況下及時(shí)作出決策提供有力支持。
在SCADA系統(tǒng)中應(yīng)用代理服務(wù),解決了由于網(wǎng)絡(luò)延遲和安全配置引起的問題,使通過外網(wǎng)訪問OPC服務(wù)器變得簡(jiǎn)單易行。在本例中,OPC代理根據(jù)經(jīng)營(yíng)者的請(qǐng)求,連續(xù)不斷地發(fā)送實(shí)時(shí)數(shù)據(jù)給每個(gè)車間的PLC系統(tǒng),同時(shí)再次接受數(shù)據(jù),調(diào)整后生成新的結(jié)果反饋給經(jīng)營(yíng)者,以便經(jīng)營(yíng)者作出決策。在此過程中,OPC代理和遠(yuǎn)程代理的數(shù)量可以根據(jù)需要在局域網(wǎng)或外網(wǎng)的任何地方隨時(shí)添加,增加系統(tǒng)靈活性。
本例中采用Jade平臺(tái)為主要開發(fā)平臺(tái),在其上運(yùn)行SCADA系統(tǒng),可在局域網(wǎng)或外網(wǎng)的任何一臺(tái)主機(jī)上運(yùn)行代理服務(wù)。使用Eclipse類設(shè)定參數(shù),過程為運(yùn)行——運(yùn)行配置——新配置——新參數(shù)。調(diào)試時(shí),Jade平臺(tái)提供了一個(gè)內(nèi)置跟蹤工具,使用該工具可生成一個(gè)初級(jí)的UML序列圖,可以實(shí)現(xiàn)通過Jade的異步消息交換過程。運(yùn)行時(shí)OPC代理與遠(yuǎn)程代理保持同步數(shù)據(jù)傳輸,運(yùn)行界面如圖6所示。

圖5 SCADA系統(tǒng)中OPC代理服務(wù)界面

圖 6OPC代理與Jade代理運(yùn)行界面
圖中顯示了,制漿車間和廢渣處理兩個(gè)車間的OPC代理與三個(gè)遠(yuǎn)程代理運(yùn)行時(shí)的界面數(shù)據(jù),雙方實(shí)時(shí)傳遞消息,通過互聯(lián)網(wǎng)同步數(shù)據(jù),根據(jù)變化遠(yuǎn)程操作員作出決定,能更好地控制現(xiàn)場(chǎng)生產(chǎn),及時(shí)發(fā)現(xiàn)問題隱患。同時(shí)雙方代理的位置、個(gè)數(shù)靈活多變,隨時(shí)可以增加或減少代理數(shù)量,而整個(gè)SCADA系統(tǒng)的運(yùn)行不受影響。
SCADA系統(tǒng)是一個(gè)高度分散的、開放的、動(dòng)態(tài)的,而且需要高度靈活性和交互性的系統(tǒng)。基于MAS和OPC技術(shù)的SCADA系統(tǒng)的提出,解決了現(xiàn)如今系統(tǒng)的動(dòng)態(tài)和高分布問題。基于MAS的方法很好地解決了傳統(tǒng)系統(tǒng)缺乏靈活性缺陷,以及OPC技術(shù)的采用,使系統(tǒng)可以與任何類型的控制系統(tǒng)相互通信。根據(jù)研究分析,預(yù)測(cè)到將來的SCADA系統(tǒng)必定是規(guī)模大、結(jié)構(gòu)復(fù)雜且高度分布模式,代理技術(shù)的應(yīng)用對(duì)工業(yè)自動(dòng)化控制的擴(kuò)展性將起到?jīng)Q定作用。
[1]王世卿,黎楚兵.基于Multi-Agent的供應(yīng)鏈系統(tǒng)模型及其仿真[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31( 5).
[2]余勇,林為民.工業(yè)控制SCADA系統(tǒng)的信息安全防護(hù)體系研究[J].信息網(wǎng)絡(luò)安全,2012( 5):74-77.
[3]陳曦,周峰等.我國SCADA系統(tǒng)發(fā)展現(xiàn)狀、挑戰(zhàn)與建議[J].工業(yè)技術(shù)創(chuàng)新,2015( 2).
[4]李鴻培,忽朝儉,王曉鵬.2014工業(yè)控制系統(tǒng)的安全研究與實(shí)踐[J].計(jì)算機(jī)安全,2014( 5):36-62.
[5]崔嵩.OPC技術(shù)與分布式實(shí)時(shí)數(shù)據(jù)庫在SCADA系統(tǒng)中的開發(fā)與應(yīng)用[D].山東大學(xué),2014.
[6]劉亮,陸地.基于SCADA系統(tǒng)的數(shù)字化油田的設(shè)計(jì)[J].自動(dòng)化與儀表,2015( 8).