張愛絨,謝斌紅,張英俊
(1.太原理工大學 期刊中心,太原030024;2.太原科技大學 計算機學院,太原030024)
隨著自動化和信息化的快速發展,煤礦企業系統日益復雜,規模日益擴大,用戶希望把從井下底層的設備信息到高層的企業決策信息都能夠有效地集成、整合和共享,有效利用各自所需信息的價值。充分的信息和共享是工廠自動化的基礎,信息孤島的打破是提高工廠綜合生產效率的前提,因此用戶對數據的交互和共享的要求越來越高,數據和交換的核心地位越來越凸顯。而目前,由于不同的監控系統相互獨立,兼容性差,且網絡化的監控系統采用了不同的通信技術和信息交換標準,難以做到信息共享和統一管理,容易形成“信息孤島”[1]。此外,現用井下分站大多采用不同的開發平臺、由不同的廠家開發,彼此之間形成了由不同通信協議和通信接口組成的異構系統。因此,各監測系統的數據有效集成和共享就成為煤礦企業亟需解決的首要問題。在對OPC UA技術研究的基礎上,研發了OPC UA的客戶端和服務器端程序,通過各子系統的數據個性化定制功能,實現了系統數據的充分集成與共享,有效解決了現場異構設備不同通信協議帶來的數據集成和傳輸問題。在寺河礦二號井工業性試驗結果表明,OPC UA在平臺無關性、可互操作性、安全性、可靠性等方面優勢顯著,具有廣闊的應用前景。

圖1 監控系統集成邏輯架構
煤礦監控系統集成方案的邏輯架構如圖1所示,采用分層技術,系統從下到上分為設備層、設備 接入層、主干數據傳輸鏈路層、數據采集層、數據存儲層和業務層。各層之間緊密協作又各自獨立,每個邏輯層在為其上層提供數據和服務的同時,又為其下層提供了合適的服務接口。該邏輯架構降低了層之間的依賴關系,且能夠保持各層邏輯上相對獨立性,從而使整個系統的邏輯結構更為清晰,提高了系統和軟件的可維護性和可擴展性。
如圖2所示,在設備接入區域,系統采用協議網關和嵌入式OPC UA服務器兩種設備接入技術,其中自主設計的多協議網關,可以方便、靈活連接CAN、RS485、Profile-Bus等工業現場總線到綜合接入平臺的傳輸網絡;實時數據庫提供的OPC UA客戶端和組態軟件可通過嵌入式的OPC UA服務器直接從工業現場提取設備數據。這兩種設備安裝在現場總線的最前端,極大的縮短現場總線的電纜長度,實時地將現場總線的數據轉化為以太網數據流,通過GEPON(無緣光纖以太網)數據鏈路層網絡快速的進入數據采集層,為數據的進一步快速處理奠定堅實的基礎。

圖2 監控系統集成拓撲結構
OPC技術提供了現場設備、控制系統和企業范圍應用間的即插即用和互操作,但由于其本身存在移植性、安全性等問題使其在有些場合并不適用。隨著OPC UA技術的推出,解決了以往的OPC規范存在的固有問題,如它在互操作性上的改進削減了成本,加快了開發速度并促進了運行效率。OPC UA為了解決OPC的缺陷提出了以下幾點方案:
1)OPC UA基于消息傳遞,消息采用了WSDL格式的定義,而非二進制數據傳輸,從而實現了平臺無關性。
2)OPC UA采用了集成的地址空間,增加了語義識別功能。客戶軟件在連接到OPC UA服務器的時既可知道數據的類型,還可識別服務器定義實體間的數據語義。
3)OPC UA定義了全新的標準統一的服務集,使其在同一個OPC UA服務器下方便訪問實時數據、歷史數據、報警信息等,避免了通過不同OPC服務器各自的API訪問不同的數據,也簡化了服務器開發時API重疊的問題。
4)OPC UA可以方便地從OPC DA服務器和客戶端升級到OPC UA服務器和客戶端,實現了與原有OPC服務器完全兼容。
5)集成的OPC UA數據加密功能符合國際安全標準,為Internet及各企業網絡內的遠程訪問和數據共享、客戶端和服務器之間的安全通訊提供了保障。
可以看到,OPC UA集成了現有的OPC規范,并且是跨平臺的,提供更高的可靠性、安全性和數據集成,可顯著改進企業信息的連通性。
OPC UA采用客戶端/服務器結構,客戶端包括OPC UA客戶端應用程序、OPC UA通信棧、OPC UA客戶端API。它使用OPC UA客戶端API與OPC UA服務器端發送和接收OPC UA服務請求和響應。OPC UA服務器包括OPC UA服務器應用程序、真實對象、OPC UA 地址空間、發布/訂閱實體、OPC UA服務器接口API、OPC UA通信棧。它使用OPC UA服務器API從OPC UA客戶端來傳送和接收消息。OPC UA客戶端與服務器的交互也是通過問答模式,客戶端與服務器之間的交互是通過UA的通信棧進行的。OPC UA服務器與客戶端的主要交互過程[2]如下:
1)客戶發送服務請求,經底層通信實體發送給OPC UA通信棧,并通過OPC UA服務器接口調用請求/響應服務,在地址空間的一個或多個節點上執行指定任務之后,返回一個響應。
2)客戶發送發布請求,經底層通信實體發送給OPC UA通信棧,并通過OPC UA服務器接口發送給預定,當預定指定的監視項探測到數據變化或者事件/警報發生時,監視項生成一個通知發送給預定,并由預定發送給客戶。
OPC UA的實現主要分為兩個方面:OPC UA客戶端和OPC UA服務器。客戶端完成對數據的讀取和功能的實現;服務器實現對各類數據源的封裝,使得客戶端可以統一的方式去訪問服務器獲得數據。OPC UA規范對各類接口和方法進行了抽象,功能實現則留給了用戶。為了加快用戶開發,OPC基金會及其成員提供了適用于各種應用場合的不同語言版本的軟件開發包,如嵌入式系統、Linux系統等。比較典型的有Softing AG、Kepware、Unified Automation 等公司的產品[3]。這里采用由Unified Automation提供的OPC UA C++SDK來完成客戶端和服務器的實現。OPC UA客戶端的實現主要完成連接和瀏覽UA服務器的地址空間等功能,其基本流程如下:
1)初始化UA通信棧,這是客戶端與服務器的通信基礎;
2)連接到UA服務器;
3)瀏覽UA服務器地址空間,讀寫相應的數據,調用服務器提供的方法,處理事件報警;
4)接收處理數據變化通知,完成監控項讀取;5)關閉與服務器的連接。
OPC UA服務器的開發需要著重注意的是
OPC UA地址空間的建立和對外部實體(即子系統或設備)通信協議的封裝[4]。其基本流程如下:
1)初始化UA通信棧,讀取XML或INI格式的配置文件;
2)對外部數據源進行抽象,建立對象類型(Object Type)、對象(Object),添加變量(Variable)和屬性(Property),完成地址空間的擴展;
3)封裝與外部實體(數據源)的通信,獲取或寫入數據,并建立相應的變量監控,封裝對設備的控制;
4)根據設定時間對變量值進行檢測,如有變化則發出數據變化或者事件報警通知給客戶端;
5)服務器關閉,斷開與客戶端的連接。
系統實現了嵌入式OPC UA和通用OPC UA,前者應用在井下設備現場,實現對井下分站數據的采集和緩存;地面數據中心的全功能OPC UA節點既可通過數據傳輸鏈路直接采集井下子系統的數據,也可與其它OPC節點相連間接的獲取數據,整個采集模塊可以組成網狀的邏輯連接。由于數據標準規范,服務接口統一,通過以上兩種方式為煤礦瓦斯災害監測預警系統、人員定位系統、通訊聯絡等系統提供了基礎數據,實現了系統間數據有效集成。
另外,利用OPC UA技術研發了如圖3所示的數據定制組件,通過該組件,可方便靈活為各子系統提供標準統一和個性化的數據發布服務,實現了系 統間數據共享。

圖3 數據定制界面
作為新一代數據交換技術,OPC UA能實現從底層設備到企業決策層的全方位集成,具有安全性強、可靠性高的特點。采用OPC UA接口進行系統集成將極大地縮小開發周期,提高系統之間的互操作性,解決了許多自動化企業的“信息孤島”問題。目前在國內OPC UA的應用還不成熟,但其在平臺無關性、可互操作性、安全性、可靠性等方面具有顯著的優勢,必將成為今后的研究熱點。
[1] 張英俊,郭勇義.基于 CORBA的煤礦瓦斯綜合監測預警系統集成技術研究[J].太原理工大學學報,2009,40(1):24-27.
[2] 張力展,靳其兵,趙大力.基于 OPC UA的管控一體化研究[J].工業控制計算機,2008,21(9):26-27.
[3] 蘇延召,李艾華.基于 OPC UA的自動化系統集成技術研究 [J].測控技術,2011,30(3):68-71.
[4] 任雯,梁嵐珍.基于 OPC技術和工業以太網的異構系統集成研究[J].石油化工高等學校學報,2008,21(3):92-96.