南 楠
(三門峽職業(yè)技術(shù)學(xué)院,河南 三門峽 472000)
隨著現(xiàn)代計算機(jī)技術(shù)的發(fā)展,工業(yè)自動化程度的提高,SCADA(監(jiān)控和數(shù)據(jù)采集)系統(tǒng)的重要性日益凸顯。其作為工業(yè)過程自動化控制的重要組成部分,一旦出現(xiàn)故障,將造成巨大的企業(yè)經(jīng)濟(jì)損失甚至導(dǎo)致人身安全。
果汁廠的進(jìn)貨、挑選清洗、制漿、殺菌、蒸發(fā)、過濾、灌裝等工藝都已實現(xiàn)自動控制。本文提出了一種基于MAS和OPC技術(shù)的集成方法,并以某果汁廠的SCADA系統(tǒng)為例分析工作過程,體現(xiàn)系統(tǒng)的良好交互性。
SCADA系統(tǒng)是一門綜合了計算機(jī)、通信、網(wǎng)絡(luò)與自動化控制的技術(shù),根據(jù)其應(yīng)用領(lǐng)域的不同所實現(xiàn)的系統(tǒng)功能也各不相同,但系統(tǒng)最基本的功能有兩個:服務(wù)器端、客戶機(jī)端。服務(wù)器端主要實現(xiàn)的功能有:數(shù)據(jù)采集與處理、控制運(yùn)算、消息預(yù)警、數(shù)據(jù)同步等;客戶機(jī)端功能主要有:用戶圖形界面、安全管理、行政決策、安全管理等。
目前常應(yīng)用于電力、燃?xì)?、軌道等行業(yè),對生產(chǎn)過程和無人現(xiàn)場進(jìn)行監(jiān)控,實時反饋采集數(shù)據(jù),使管理者及時作出決策。SCADA系統(tǒng)是企業(yè)進(jìn)行安全生產(chǎn)、正常運(yùn)行、合理資源調(diào)度、科學(xué)管理和設(shè)備優(yōu)化最基礎(chǔ)的技術(shù)手段。
本文提出的方法是基于MAS和OPC協(xié)議實現(xiàn)過程集成,這種集成能完成兩個目標(biāo)。其一,可將過程數(shù)據(jù)從處理域傳送到信息域,管理者根據(jù)傳輸數(shù)據(jù)作出相應(yīng)決策;其二,可實現(xiàn)依據(jù)OPC協(xié)議提供的支持使控制設(shè)備具有互操作性。OPC技術(shù)是微軟公司基于OLE COM/DCOM技術(shù)開發(fā)的一套標(biāo)準(zhǔn)規(guī)范,用于過程控制和制造業(yè)的應(yīng)用實現(xiàn)互操作的接口方法。目前全世界有成百上千個OPC數(shù)據(jù)存取服務(wù)器和客戶端。
圖1顯示了SCADA系統(tǒng)中使用OPC協(xié)議的基本結(jié)構(gòu)。OPC服務(wù)器連接到PLC負(fù)責(zé)直接控制過程,OPC服務(wù)器作為PLC的驅(qū)動程序。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平臺是以Java程序語言為基礎(chǔ)實現(xiàn)的,因此建立一個通過網(wǎng)橋或適配器鏈接Java代理與OPC服務(wù)器是必需的。在Java中選擇jeasyopc類來連接Java MAS代理和OPC服務(wù)器,jeasyopc的使用使java OPC的實現(xiàn)更加容易。抽象出來的結(jié)構(gòu)圖如圖2所示。
圖2 MAS與OPC集成
圖2顯示了基于代理的系統(tǒng)層次結(jié)構(gòu)圖。圖中表明該系統(tǒng)包含四個層,自下而上分別是物理過程層、控制層、OPC通信層和代理層。每層之間通過相應(yīng)接口通信,例如,物理過程層和控制層之間是圖形接口,通過計算機(jī)進(jìn)行模/數(shù)轉(zhuǎn)換;控制層和OPC通信層是通過自定義接口為供應(yīng)商提供驅(qū)動程序;OPC通信層和代理層之間是Java-OPC接口,實現(xiàn)系統(tǒng)交互性。
圖3系統(tǒng)層次結(jié)構(gòu)
把上述理論應(yīng)用到某果汁的生產(chǎn)過程控制中,實現(xiàn)本地和遠(yuǎn)程的訪問服務(wù)。以果汁廠三個區(qū)域為基礎(chǔ)實現(xiàn)系統(tǒng)設(shè)計,三個區(qū)包含制漿車間、包裝車間、廢渣處理車間。每個控制過程由西門子S7-300PLC控制,西門子S7-300PLC在果汁廠中用來實現(xiàn)蒸發(fā)的自動控制。三個區(qū)連接到本地局域網(wǎng)中,再包括操作員的控制系統(tǒng)。此外,每個控制過程包含多個過程變量,應(yīng)連續(xù)監(jiān)測,例如制漿車間中的機(jī)器運(yùn)行速度、液壓數(shù)值、溫度等,隨時與操作員交互信息,及時調(diào)整下步運(yùn)行模式。實驗工程結(jié)構(gòu)圖如圖4所示,所有主機(jī)通過一個局域網(wǎng)連接到互聯(lián)網(wǎng)中,實現(xiàn)從外部實時訪問系統(tǒng)運(yùn)行數(shù)據(jù)。
圖4試驗工程結(jié)構(gòu)圖
系統(tǒng)采用Java語言,使用Jade開發(fā)框架,實現(xiàn)FIPA(the foundation for intelligentphysicalagents)定義。利用JADE框架可以迅速地實現(xiàn)多個代理開發(fā),多個代理類型可以相同,可以不同。同時FIPA對異構(gòu)環(huán)境有良好的支持性,多個代理可以在局域網(wǎng)或外網(wǎng)的一臺或多臺主機(jī)上,代理個數(shù)的增減也易于實現(xiàn)。
案例實驗中,工作過程如下:
(1)每個PLC控制過程分配給一個OPC代理,進(jìn)而注冊其服務(wù)到Jade代理,代表在Jade平臺的黃頁服務(wù)。在本案例中,有三個OPC代理,每一個對應(yīng)一個PLC控制系統(tǒng)。
(2)起初遠(yuǎn)程操作員代理并不知道OPC代理與PLC系統(tǒng)的對應(yīng)關(guān)系,因此在開始運(yùn)行時需要通過Jade代理自動搜索與之匹配的OPC代理。
(3)在確定OPC代理后,經(jīng)營者代理發(fā)送一個ACL消息請求到OPC代理,通過OPC代理返回的實時數(shù)據(jù)分配給相應(yīng)的PLC系統(tǒng)。
(4)每個車間代理可以同時訪問多個OPC代理,即每個遠(yuǎn)程代理可以用來管理和監(jiān)控多個控制過程。
(5)遠(yuǎn)程操作代理不斷從位于主機(jī)上的OPC代理接受改變的實時數(shù)據(jù)界面,一旦數(shù)據(jù)提示異常,將采取警報服務(wù),如圖5中Var2的實際值較參考值高,將會發(fā)出提醒消息。遠(yuǎn)程代理實現(xiàn)了提供實時監(jiān)控、報警服務(wù)、趨勢服務(wù),對管理者在無法到達(dá)現(xiàn)場的情況下及時作出決策提供有力支持。
在SCADA系統(tǒng)中應(yīng)用代理服務(wù),解決了由于網(wǎng)絡(luò)延遲和安全配置引起的問題,使通過外網(wǎng)訪問OPC服務(wù)器變得簡單易行。在本例中,OPC代理根據(jù)經(jīng)營者的請求,連續(xù)不斷地發(fā)送實時數(shù)據(jù)給每個車間的PLC系統(tǒng),同時再次接受數(shù)據(jù),調(diào)整后生成新的結(jié)果反饋給經(jīng)營者,以便經(jīng)營者作出決策。在此過程中,OPC代理和遠(yuǎn)程代理的數(shù)量可以根據(jù)需要在局域網(wǎng)或外網(wǎng)的任何地方隨時添加,增加系統(tǒng)靈活性。
本例中采用Jade平臺為主要開發(fā)平臺,在其上運(yùn)行SCADA系統(tǒng),可在局域網(wǎng)或外網(wǎng)的任何一臺主機(jī)上運(yùn)行代理服務(wù)。使用Eclipse類設(shè)定參數(shù),過程為運(yùn)行——運(yùn)行配置——新配置——新參數(shù)。調(diào)試時,Jade平臺提供了一個內(nèi)置跟蹤工具,使用該工具可生成一個初級的UML序列圖,可以實現(xiàn)通過Jade的異步消息交換過程。運(yùn)行時OPC代理與遠(yuǎn)程代理保持同步數(shù)據(jù)傳輸,運(yùn)行界面如圖6所示。
圖5 SCADA系統(tǒng)中OPC代理服務(wù)界面
圖 6OPC代理與Jade代理運(yùn)行界面
圖中顯示了,制漿車間和廢渣處理兩個車間的OPC代理與三個遠(yuǎn)程代理運(yùn)行時的界面數(shù)據(jù),雙方實時傳遞消息,通過互聯(lián)網(wǎng)同步數(shù)據(jù),根據(jù)變化遠(yuǎn)程操作員作出決定,能更好地控制現(xiàn)場生產(chǎn),及時發(fā)現(xiàn)問題隱患。同時雙方代理的位置、個數(shù)靈活多變,隨時可以增加或減少代理數(shù)量,而整個SCADA系統(tǒng)的運(yùn)行不受影響。
SCADA系統(tǒng)是一個高度分散的、開放的、動態(tài)的,而且需要高度靈活性和交互性的系統(tǒng)。基于MAS和OPC技術(shù)的SCADA系統(tǒng)的提出,解決了現(xiàn)如今系統(tǒng)的動態(tài)和高分布問題?;贛AS的方法很好地解決了傳統(tǒng)系統(tǒng)缺乏靈活性缺陷,以及OPC技術(shù)的采用,使系統(tǒng)可以與任何類型的控制系統(tǒng)相互通信。根據(jù)研究分析,預(yù)測到將來的SCADA系統(tǒng)必定是規(guī)模大、結(jié)構(gòu)復(fù)雜且高度分布模式,代理技術(shù)的應(yīng)用對工業(yè)自動化控制的擴(kuò)展性將起到?jīng)Q定作用。
[1]王世卿,黎楚兵.基于Multi-Agent的供應(yīng)鏈系統(tǒng)模型及其仿真[J].計算機(jī)工程與設(shè)計,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)的安全研究與實踐[J].計算機(jī)安全,2014( 5):36-62.
[5]崔嵩.OPC技術(shù)與分布式實時數(shù)據(jù)庫在SCADA系統(tǒng)中的開發(fā)與應(yīng)用[D].山東大學(xué),2014.
[6]劉亮,陸地.基于SCADA系統(tǒng)的數(shù)字化油田的設(shè)計[J].自動化與儀表,2015( 8).