張愛(ài)絨,謝斌紅,張英俊
(1.太原理工大學(xué) 期刊中心,太原030024;2.太原科技大學(xué) 計(jì)算機(jī)學(xué)院,太原030024)
隨著自動(dòng)化和信息化的快速發(fā)展,煤礦企業(yè)系統(tǒng)日益復(fù)雜,規(guī)模日益擴(kuò)大,用戶希望把從井下底層的設(shè)備信息到高層的企業(yè)決策信息都能夠有效地集成、整合和共享,有效利用各自所需信息的價(jià)值。充分的信息和共享是工廠自動(dòng)化的基礎(chǔ),信息孤島的打破是提高工廠綜合生產(chǎn)效率的前提,因此用戶對(duì)數(shù)據(jù)的交互和共享的要求越來(lái)越高,數(shù)據(jù)和交換的核心地位越來(lái)越凸顯。而目前,由于不同的監(jiān)控系統(tǒng)相互獨(dú)立,兼容性差,且網(wǎng)絡(luò)化的監(jiān)控系統(tǒng)采用了不同的通信技術(shù)和信息交換標(biāo)準(zhǔn),難以做到信息共享和統(tǒng)一管理,容易形成“信息孤島”[1]。此外,現(xiàn)用井下分站大多采用不同的開(kāi)發(fā)平臺(tái)、由不同的廠家開(kāi)發(fā),彼此之間形成了由不同通信協(xié)議和通信接口組成的異構(gòu)系統(tǒng)。因此,各監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)有效集成和共享就成為煤礦企業(yè)亟需解決的首要問(wèn)題。在對(duì)OPC UA技術(shù)研究的基礎(chǔ)上,研發(fā)了OPC UA的客戶端和服務(wù)器端程序,通過(guò)各子系統(tǒng)的數(shù)據(jù)個(gè)性化定制功能,實(shí)現(xiàn)了系統(tǒng)數(shù)據(jù)的充分集成與共享,有效解決了現(xiàn)場(chǎng)異構(gòu)設(shè)備不同通信協(xié)議帶來(lái)的數(shù)據(jù)集成和傳輸問(wèn)題。在寺河礦二號(hào)井工業(yè)性試驗(yàn)結(jié)果表明,OPC UA在平臺(tái)無(wú)關(guān)性、可互操作性、安全性、可靠性等方面優(yōu)勢(shì)顯著,具有廣闊的應(yīng)用前景。
圖1 監(jiān)控系統(tǒng)集成邏輯架構(gòu)
煤礦監(jiān)控系統(tǒng)集成方案的邏輯架構(gòu)如圖1所示,采用分層技術(shù),系統(tǒng)從下到上分為設(shè)備層、設(shè)備 接入層、主干數(shù)據(jù)傳輸鏈路層、數(shù)據(jù)采集層、數(shù)據(jù)存儲(chǔ)層和業(yè)務(wù)層。各層之間緊密協(xié)作又各自獨(dú)立,每個(gè)邏輯層在為其上層提供數(shù)據(jù)和服務(wù)的同時(shí),又為其下層提供了合適的服務(wù)接口。該邏輯架構(gòu)降低了層之間的依賴關(guān)系,且能夠保持各層邏輯上相對(duì)獨(dú)立性,從而使整個(gè)系統(tǒng)的邏輯結(jié)構(gòu)更為清晰,提高了系統(tǒng)和軟件的可維護(hù)性和可擴(kuò)展性。
如圖2所示,在設(shè)備接入?yún)^(qū)域,系統(tǒng)采用協(xié)議網(wǎng)關(guān)和嵌入式OPC UA服務(wù)器兩種設(shè)備接入技術(shù),其中自主設(shè)計(jì)的多協(xié)議網(wǎng)關(guān),可以方便、靈活連接CAN、RS485、Profile-Bus等工業(yè)現(xiàn)場(chǎng)總線到綜合接入平臺(tái)的傳輸網(wǎng)絡(luò);實(shí)時(shí)數(shù)據(jù)庫(kù)提供的OPC UA客戶端和組態(tài)軟件可通過(guò)嵌入式的OPC UA服務(wù)器直接從工業(yè)現(xiàn)場(chǎng)提取設(shè)備數(shù)據(jù)。這兩種設(shè)備安裝在現(xiàn)場(chǎng)總線的最前端,極大的縮短現(xiàn)場(chǎng)總線的電纜長(zhǎng)度,實(shí)時(shí)地將現(xiàn)場(chǎng)總線的數(shù)據(jù)轉(zhuǎn)化為以太網(wǎng)數(shù)據(jù)流,通過(guò)GEPON(無(wú)緣光纖以太網(wǎng))數(shù)據(jù)鏈路層網(wǎng)絡(luò)快速的進(jìn)入數(shù)據(jù)采集層,為數(shù)據(jù)的進(jìn)一步快速處理奠定堅(jiān)實(shí)的基礎(chǔ)。
圖2 監(jiān)控系統(tǒng)集成拓?fù)浣Y(jié)構(gòu)
OPC技術(shù)提供了現(xiàn)場(chǎng)設(shè)備、控制系統(tǒng)和企業(yè)范圍應(yīng)用間的即插即用和互操作,但由于其本身存在移植性、安全性等問(wèn)題使其在有些場(chǎng)合并不適用。隨著OPC UA技術(shù)的推出,解決了以往的OPC規(guī)范存在的固有問(wèn)題,如它在互操作性上的改進(jìn)削減了成本,加快了開(kāi)發(fā)速度并促進(jìn)了運(yùn)行效率。OPC UA為了解決OPC的缺陷提出了以下幾點(diǎn)方案:
1)OPC UA基于消息傳遞,消息采用了WSDL格式的定義,而非二進(jìn)制數(shù)據(jù)傳輸,從而實(shí)現(xiàn)了平臺(tái)無(wú)關(guān)性。
2)OPC UA采用了集成的地址空間,增加了語(yǔ)義識(shí)別功能??蛻糗浖谶B接到OPC UA服務(wù)器的時(shí)既可知道數(shù)據(jù)的類(lèi)型,還可識(shí)別服務(wù)器定義實(shí)體間的數(shù)據(jù)語(yǔ)義。
3)OPC UA定義了全新的標(biāo)準(zhǔn)統(tǒng)一的服務(wù)集,使其在同一個(gè)OPC UA服務(wù)器下方便訪問(wèn)實(shí)時(shí)數(shù)據(jù)、歷史數(shù)據(jù)、報(bào)警信息等,避免了通過(guò)不同OPC服務(wù)器各自的API訪問(wèn)不同的數(shù)據(jù),也簡(jiǎn)化了服務(wù)器開(kāi)發(fā)時(shí)API重疊的問(wèn)題。
4)OPC UA可以方便地從OPC DA服務(wù)器和客戶端升級(jí)到OPC UA服務(wù)器和客戶端,實(shí)現(xiàn)了與原有OPC服務(wù)器完全兼容。
5)集成的OPC UA數(shù)據(jù)加密功能符合國(guó)際安全標(biāo)準(zhǔn),為Internet及各企業(yè)網(wǎng)絡(luò)內(nèi)的遠(yuǎn)程訪問(wèn)和數(shù)據(jù)共享、客戶端和服務(wù)器之間的安全通訊提供了保障。
可以看到,OPC UA集成了現(xiàn)有的OPC規(guī)范,并且是跨平臺(tái)的,提供更高的可靠性、安全性和數(shù)據(jù)集成,可顯著改進(jìn)企業(yè)信息的連通性。
OPC UA采用客戶端/服務(wù)器結(jié)構(gòu),客戶端包括OPC UA客戶端應(yīng)用程序、OPC UA通信棧、OPC UA客戶端API。它使用OPC UA客戶端API與OPC UA服務(wù)器端發(fā)送和接收OPC UA服務(wù)請(qǐng)求和響應(yīng)。OPC UA服務(wù)器包括OPC UA服務(wù)器應(yīng)用程序、真實(shí)對(duì)象、OPC UA 地址空間、發(fā)布/訂閱實(shí)體、OPC UA服務(wù)器接口API、OPC UA通信棧。它使用OPC UA服務(wù)器API從OPC UA客戶端來(lái)傳送和接收消息。OPC UA客戶端與服務(wù)器的交互也是通過(guò)問(wèn)答模式,客戶端與服務(wù)器之間的交互是通過(guò)UA的通信棧進(jìn)行的。OPC UA服務(wù)器與客戶端的主要交互過(guò)程[2]如下:
1)客戶發(fā)送服務(wù)請(qǐng)求,經(jīng)底層通信實(shí)體發(fā)送給OPC UA通信棧,并通過(guò)OPC UA服務(wù)器接口調(diào)用請(qǐng)求/響應(yīng)服務(wù),在地址空間的一個(gè)或多個(gè)節(jié)點(diǎn)上執(zhí)行指定任務(wù)之后,返回一個(gè)響應(yīng)。
2)客戶發(fā)送發(fā)布請(qǐng)求,經(jīng)底層通信實(shí)體發(fā)送給OPC UA通信棧,并通過(guò)OPC UA服務(wù)器接口發(fā)送給預(yù)定,當(dāng)預(yù)定指定的監(jiān)視項(xiàng)探測(cè)到數(shù)據(jù)變化或者事件/警報(bào)發(fā)生時(shí),監(jiān)視項(xiàng)生成一個(gè)通知發(fā)送給預(yù)定,并由預(yù)定發(fā)送給客戶。
OPC UA的實(shí)現(xiàn)主要分為兩個(gè)方面:OPC UA客戶端和OPC UA服務(wù)器??蛻舳送瓿蓪?duì)數(shù)據(jù)的讀取和功能的實(shí)現(xiàn);服務(wù)器實(shí)現(xiàn)對(duì)各類(lèi)數(shù)據(jù)源的封裝,使得客戶端可以統(tǒng)一的方式去訪問(wèn)服務(wù)器獲得數(shù)據(jù)。OPC UA規(guī)范對(duì)各類(lèi)接口和方法進(jìn)行了抽象,功能實(shí)現(xiàn)則留給了用戶。為了加快用戶開(kāi)發(fā),OPC基金會(huì)及其成員提供了適用于各種應(yīng)用場(chǎng)合的不同語(yǔ)言版本的軟件開(kāi)發(fā)包,如嵌入式系統(tǒng)、Linux系統(tǒng)等。比較典型的有Softing AG、Kepware、Unified Automation 等公司的產(chǎn)品[3]。這里采用由Unified Automation提供的OPC UA C++SDK來(lái)完成客戶端和服務(wù)器的實(shí)現(xiàn)。OPC UA客戶端的實(shí)現(xiàn)主要完成連接和瀏覽UA服務(wù)器的地址空間等功能,其基本流程如下:
1)初始化UA通信棧,這是客戶端與服務(wù)器的通信基礎(chǔ);
2)連接到UA服務(wù)器;
3)瀏覽UA服務(wù)器地址空間,讀寫(xiě)相應(yīng)的數(shù)據(jù),調(diào)用服務(wù)器提供的方法,處理事件報(bào)警;
4)接收處理數(shù)據(jù)變化通知,完成監(jiān)控項(xiàng)讀取;5)關(guān)閉與服務(wù)器的連接。
OPC UA服務(wù)器的開(kāi)發(fā)需要著重注意的是
OPC UA地址空間的建立和對(duì)外部實(shí)體(即子系統(tǒng)或設(shè)備)通信協(xié)議的封裝[4]。其基本流程如下:
1)初始化UA通信棧,讀取XML或INI格式的配置文件;
2)對(duì)外部數(shù)據(jù)源進(jìn)行抽象,建立對(duì)象類(lèi)型(Object Type)、對(duì)象(Object),添加變量(Variable)和屬性(Property),完成地址空間的擴(kuò)展;
3)封裝與外部實(shí)體(數(shù)據(jù)源)的通信,獲取或?qū)懭霐?shù)據(jù),并建立相應(yīng)的變量監(jiān)控,封裝對(duì)設(shè)備的控制;
4)根據(jù)設(shè)定時(shí)間對(duì)變量值進(jìn)行檢測(cè),如有變化則發(fā)出數(shù)據(jù)變化或者事件報(bào)警通知給客戶端;
5)服務(wù)器關(guān)閉,斷開(kāi)與客戶端的連接。
系統(tǒng)實(shí)現(xiàn)了嵌入式OPC UA和通用OPC UA,前者應(yīng)用在井下設(shè)備現(xiàn)場(chǎng),實(shí)現(xiàn)對(duì)井下分站數(shù)據(jù)的采集和緩存;地面數(shù)據(jù)中心的全功能OPC UA節(jié)點(diǎn)既可通過(guò)數(shù)據(jù)傳輸鏈路直接采集井下子系統(tǒng)的數(shù)據(jù),也可與其它OPC節(jié)點(diǎn)相連間接的獲取數(shù)據(jù),整個(gè)采集模塊可以組成網(wǎng)狀的邏輯連接。由于數(shù)據(jù)標(biāo)準(zhǔn)規(guī)范,服務(wù)接口統(tǒng)一,通過(guò)以上兩種方式為煤礦瓦斯災(zāi)害監(jiān)測(cè)預(yù)警系統(tǒng)、人員定位系統(tǒng)、通訊聯(lián)絡(luò)等系統(tǒng)提供了基礎(chǔ)數(shù)據(jù),實(shí)現(xiàn)了系統(tǒng)間數(shù)據(jù)有效集成。
另外,利用OPC UA技術(shù)研發(fā)了如圖3所示的數(shù)據(jù)定制組件,通過(guò)該組件,可方便靈活為各子系統(tǒng)提供標(biāo)準(zhǔn)統(tǒng)一和個(gè)性化的數(shù)據(jù)發(fā)布服務(wù),實(shí)現(xiàn)了系 統(tǒng)間數(shù)據(jù)共享。
圖3 數(shù)據(jù)定制界面
作為新一代數(shù)據(jù)交換技術(shù),OPC UA能實(shí)現(xiàn)從底層設(shè)備到企業(yè)決策層的全方位集成,具有安全性強(qiáng)、可靠性高的特點(diǎn)。采用OPC UA接口進(jìn)行系統(tǒng)集成將極大地縮小開(kāi)發(fā)周期,提高系統(tǒng)之間的互操作性,解決了許多自動(dòng)化企業(yè)的“信息孤島”問(wèn)題。目前在國(guó)內(nèi)OPC UA的應(yīng)用還不成熟,但其在平臺(tái)無(wú)關(guān)性、可互操作性、安全性、可靠性等方面具有顯著的優(yōu)勢(shì),必將成為今后的研究熱點(diǎn)。
[1] 張英俊,郭勇義.基于 CORBA的煤礦瓦斯綜合監(jiān)測(cè)預(yù)警系統(tǒng)集成技術(shù)研究[J].太原理工大學(xué)學(xué)報(bào),2009,40(1):24-27.
[2] 張力展,靳其兵,趙大力.基于 OPC UA的管控一體化研究[J].工業(yè)控制計(jì)算機(jī),2008,21(9):26-27.
[3] 蘇延召,李艾華.基于 OPC UA的自動(dòng)化系統(tǒng)集成技術(shù)研究 [J].測(cè)控技術(shù),2011,30(3):68-71.
[4] 任雯,梁嵐珍.基于 OPC技術(shù)和工業(yè)以太網(wǎng)的異構(gòu)系統(tǒng)集成研究[J].石油化工高等學(xué)校學(xué)報(bào),2008,21(3):92-96.