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