景應剛+侯雪燕+劉偉
摘 要 全范圍模擬機被廣泛地用來培訓操作人員,進行設計優化和驗證、技術改造驗證。模擬機仿真平臺通常提供專用接口實現仿真主機、盤臺數據采集計算機、DCS系統、第三方軟件之間的數據及控制命令傳輸。作為連接模擬機各個節點之間軟件總線,接口系統的性能直接影響著模擬機系統性能。OPC技術在工業控制領域有著廣泛的應用,將OPC技術在模擬機接口系統中應用,介紹了工作原理,給出了工作流程、異構平臺系統結構及配置實現方法。研究結果說明,基于OPC技術的接口系統能夠較好地整合DCS系統與傳統的模擬機系統,使模擬機運行穩定,測試方便,易于升級和擴充。此接口系統已在某核動力裝置模擬機中應用,滿足客戶要求。
關鍵詞 模擬機;接口;OPC; XML-DA
中圖分類號 TP391.9 文獻標識碼 A 文章編號 1674-6708(2016)163-0116-02
隨著計算機和仿真技術的發展,模擬機越來越成為操作人員培訓的有效手段和考試的工具。全范圍模擬機與實際模擬對象有完全一樣的控制室,采用軟件模型精確地仿真實際機組的工藝過程和響應,達到在模擬機上操作感覺不到和實際工作場景有所差別的效果。模擬機不僅能夠模擬正常的工況,還能模擬設備、系統故障等事故工況,而不存在真實設備損壞和安全問題,從而有效加強受訓人員對系統的了解,提高分析、判斷和處理故障和事故的能力;并提供各種有效的教學控制手段,可設置初始條件、實時/快速/慢速模式、回放等功能。此外,模擬機還能夠用來進行機組技術改造驗證和機組運行優化研究。
用于過程控制的OPC(OLE for Process Control)標準是為解決現場管理層和過程管理層之間的通信標準而設計的規范,已在工業控制中有著廣泛的應用。OPC基金會會員包括世界上所有主要的自動化控制系統\儀器儀表及自動化控制系統公司,例如德國西門子公司的WinCC軟件已經集成了OPC服務。OPC規范定義了一個開放的接口,在這個接口上,基于不同平臺的軟件組件能夠靈活、高效地獲取數據,實現交互操作。
模擬機仿真平臺通常提供專用接口實現仿真主機、盤臺控制計算機、第三方軟件之間的數據及控制命令傳輸。當模擬機采用新的廠商的硬件板卡或者需要再次合作開發時,需要重新開發通信接口。近年來,隨著DCS系統廣泛應用,DCS仿真已成為模擬機的不可缺少的組成部分。安全級和非安全級DCS以及專用儀控系統可能由分散的不同廠家的設備和方案組成,數據量、計算量較大。仿真主機與DCS仿真系統之間也需要再次開發通信接口。
作為連接模擬機各個節點之間軟件總線,接口軟件的性能直接地影響模擬機系統性能,從而影響模擬機項目的質量。好的接口軟件系統在開發層面提供測試充分的API函數及常規的開發模板,在應用層面提供穩定、可靠的數據傳輸服務及使用方便的測試工具。基于OPC技術的模擬機接口系統能夠較好地整合DCS仿真系統與傳統的模擬機系統,使模擬機易于升級和擴充,標準的通訊協議能保證通信更穩定,通用的測試工具及測試方法能夠縮短模擬機項目的開發周期。
1 OPC技術
基于OPC技術的系統采用客戶端/服務器模式,OPC服務器是數據的供應方,客戶端是數據的使用方。每個OPC服務有唯一的標志(CLSID)。一個OPC客戶端可以同時連接到一個或多個不同廠家的OPC服務器。數據存取服務器是由服務器(Server)對象、組(Group)對象和項(Item)組成。服務器對象包含服務器信息,是組對象的容器。組對象包含自身信息,是項的容器。OPC項描述了服務器中數據源的連接,包含值(value)、品質(quality)和時間郵戳(Time Stamp)。
OPC客戶端可以采用同步訪問、異步訪問或訂閱方式從OPC服務器端獲取數據。在同步訪問方式中,OPC服務器把按照客戶端的要求得到的數據訪問結果作為方法的參數返回給客戶端,客戶端在結果被返回前必須處于等待狀態。在異步訪問中,OPC服務器收到OPC客戶端的要求后,幾乎立即將方法返回,客戶端隨后可以進行其他處理,當服務器完成數據訪問時,觸發客戶端的異步訪問完成事件,將數據訪問結果傳送給客戶端,客戶端在事件處理程序中接受從服務器傳送來的數據。在訂閱方式中,不需要OPC客戶端向OPC服務器請求,服務器按一定的更新周期更新數據緩沖區的數值時,如果發現數值有變化時,就會以數據變化事件通知客戶端。
開發符合OPC規范的應用程序主要有兩種方式:1)利用軟件開發商提供的API。這種方式能夠提高程序的質量、縮短開發周期,可以較少的關注細節,將注意力集中到專業領域;2)根據OPC基金會免費提供的規范開發,這需要了解底層細節,熟悉COM、DCOM技術。
在模擬機接口系統軟件中應用,適合第一種方式,例如使用成熟的OPC技術開發商開發的工具軟件產品。這些軟件產品技術穩定、通用性好,提供工程模板可生成vs.net工程,提供庫函數幫助文檔、程序demo及測試工具OPC demo client,開發、測試都比較方便并且可以為使用者提供相應的技術服務。
2 基于OPC的接口系統
2.1 工作流程
基于OPC的接口系統工作流程圖見圖1。
OPC服務器程序首先創建服務器對象,創建數據地址空間,然后創建請求處理進程,等待客戶端接口調用,通過響應請求實現一系列功能,例如獲取服務器狀態,添加、刪除OPC數據項,獲取或設置數據項的值等。
OPC客戶端程序創建客戶端對象之后,創建和服務器端連接。連接成功后,不斷向服務器發送請求,得到反饋信息。
2.2 全范圍模擬機異構平臺系統
在OPC XML-DA規范發布之前,OPC技術依賴于Microsoft的COM、DCOM技術,僅限于Windows操作平臺。XML-DA基于Web Services概念,用SOAP(簡單對象訪問協議)對應用程序消息進行包裝,在客戶端和服務器端通過HTTP進行數據傳輸,使得OPC的跨平臺通信成為可能。
2.2.1 系統結構
本系統結構的特點是,多個OPC服務端除了相互發送和接收數據外,還分別為各自的客戶端提供數據。仿真主機搭載LINUX操作系統,而DCS仿真主機、盤臺工控機搭載Windows操作系統,第三方軟件運行在搭載LINUX或Windows的計算機上。在這種體系結構下,使用軟件開發商提供的Easy Connect連接管理工具,可以方便地實現兩個OPC Server直接交換數據。通過配置,為兩個數據源建立橋連接,確定對點關系,將各自的數據項導入到Easy Connect的名字空間,見圖3(服務器至服務器數據對點窗口)。Easy Connect負責在OPC Server對應的數據項之間復制數據。仿真主機能夠通過服務器間數據交換和盤臺工控機、DCS主機快速交換數據。同時存在的C/S模式又可以保證局域數據在各自的范圍內高效傳遞。
Easy Connect能夠將數據存儲到 Microsoft SQL Server, Oracle, MySQL, IBM DB2 等支持ODBC接口的數據庫,支持通用的SQL語句,或者以*.txt, *.xml , *.html格式輸出數據。
2.2.2 系統配置
對于跨平臺異構系統,研究出2種應用用法。
1)OPC客戶端程序運行在LINUX端。在Windows端通過Easy Connect建立橋連接(OPC bridge)。配置OPC客戶端屬性,包括激活OPC XML-DA服務,設置存放地址(AddressSuffi)及TCP/IP端口號。
在LINUX端編寫OPC客戶端程序,工作流程見圖1,在建立連接對象時,傳入參數:http://Windows IP Address:Port/AddressSuffi。
2)OPC服務器程序運行在LINUX端。在LINUX端編寫OPC服務程序,工作流程見圖1,需要設置服務的CLSID,最小更新速度,客戶端檢測周期,設置存放地址(AddressSuffi)及TCP/IP端口號等參數。
在Windows端通過Easy Connect 建立本地OPC服務器,為Linux OPC服務器建立的本地服務器類型設置為XML-DA Server,設置外部OPC服務的地址:http:// Linux IP地址:端口號/AddressSuffi,設置連接外部OPC服務的用戶名和密碼。設置完畢,進行測試判斷連接是否成功。如果連接成功,啟動Softing OPC Toolbox Demo Client,添加服務地址,能夠觀測Linux OPC地址空間的各個變量(Item)的值及其它屬性。
3 結論
本接口系統已在某核動力裝置模擬機中應用。本文只討論了OPC數據存取在模擬機接口系統中應用。OPC報警與事件、歷史數據存取等規范在模擬機系統中都有應用場景。OPC報警與事件規范提供了當特定的事件和報警發生時,客戶端程序可從服務器得到通報的機制,允許客戶端確定事件和條件。OPC歷史數據存取規范可提供原始數據或壓縮數據的存儲機制,還提供匯總、分析數據功能。此外還有批量數據存取規范,安全性規范等。這些技術在模擬機系統軟件中應用有待于進一步研究、嘗試。OPC標準接口的引入,必然會使模擬機系統更實時,更穩定、開放,易于擴展、掌握和實施。
參考文獻
[1]ANSI/ANS-3.5-2009 “nuclear power plant simulators for use in operator training and examination”
[2]彭瑾,王錦標.新的OPC規范——OPC XML-DA[J].冶金自動化,2004,28(1):6-9.
[3]吳鑫,宮亮,楊煜普.OPC跨平臺實現方法.計算機工程,2009,35(13):240-242.