匡付華 程朋勝 胥布工
(華南理工大學(xué)自動化學(xué)院1,廣東 廣州 510640;深圳達(dá)實智能股份有限公司博士后工作站2,廣東 深圳 518057)
OPC及DasRdb數(shù)據(jù)庫在城市軌道交通中的應(yīng)用
匡付華1,2程朋勝2胥布工1
(華南理工大學(xué)自動化學(xué)院1,廣東 廣州 510640;深圳達(dá)實智能股份有限公司博士后工作站2,廣東 深圳 518057)
針對城市軌道交通綜合監(jiān)控電、扶梯等終端設(shè)備“信息孤島”的接入問題,提出了使用OPC技術(shù)及DasRdb實時數(shù)據(jù)庫作為中間件進(jìn)行數(shù)據(jù)轉(zhuǎn)換的解決方案。詳細(xì)描述了整個OPC系統(tǒng)的數(shù)據(jù)架構(gòu),其中DasRdb通過設(shè)備驅(qū)動程序與終端設(shè)備交互,OPC客戶端同時與OPC服務(wù)器和DasRdb進(jìn)行數(shù)據(jù)交換。統(tǒng)計分析結(jié)果表明,設(shè)計的系統(tǒng)能滿足軌道交通實際監(jiān)控的需要。該方案對解決城市軌道交通“信息孤島”的問題具有現(xiàn)實指導(dǎo)意義。
城市軌道交通 綜合監(jiān)控 信息孤島 OPC技術(shù) 實時數(shù)據(jù)庫
大力發(fā)展以地鐵和輕軌交通為主的城市軌道交通是解決我國目前城市交通堵塞的重要手段,2015年我國地鐵建設(shè)投資規(guī)劃額達(dá)11 568億元[1-2]。大連地鐵工程環(huán)境與設(shè)備監(jiān)控系統(tǒng)總承包項目第二標(biāo)段包括2號線所有28個車站、隧道區(qū)間、控制中心等??刂浦行男枰敫鬈囌窘K端設(shè)備的信號,如電、扶梯等。終端設(shè)備具有多樣性,如扶梯廠家有蒂森、西子奧的斯、華升富士達(dá)、博林特、通力等,而RockWell的上位組態(tài)軟件僅支持用于過程控制的對象鏈接與嵌入?yún)f(xié)議。由于不同廠商系統(tǒng)之間通信協(xié)議、通信接入方式均存在差異,因此如何將這些“信息孤島”的信號實時可靠地傳遞到控制中心的數(shù)據(jù)服務(wù)器,是大連地鐵環(huán)境與設(shè)備監(jiān)控系統(tǒng)工程亟待解決的關(guān)鍵問題。
本文以O(shè)PC技術(shù)為基礎(chǔ),闡述了如何通過帶多種設(shè)備驅(qū)動的實時數(shù)據(jù)庫DasRdb,將軌道交通前置機(jī)中的各數(shù)據(jù)實時傳遞到RSLinx OPC Server。本文對整個OPC系統(tǒng)的設(shè)計進(jìn)行了較詳細(xì)的描述,并對通信測試數(shù)據(jù)的實時性進(jìn)行了統(tǒng)計分析。
OPC是微軟公司針對過程控制領(lǐng)域的技術(shù)規(guī)范。它采用客戶端/服務(wù)器模式,制定了關(guān)于數(shù)據(jù)采集、歷史趨勢以及事件報警等接口標(biāo)準(zhǔn),為工業(yè)自動化軟件面向?qū)ο蟮拈_發(fā)提供了統(tǒng)一的接口標(biāo)準(zhǔn)[3-4]。OPC系統(tǒng)由OPC服務(wù)器和OPC客戶端構(gòu)成,OPC服務(wù)器與OPC客戶端之間通過標(biāo)準(zhǔn)組件對象模型(component object model,COM)和分布式組件對象模型(distributed COM,DCOM)進(jìn)行數(shù)據(jù)的交互。OPC服務(wù)器建立了符合OPC規(guī)范的COM接口和對象。OPC邏輯對象模型包括3類對象,即OPC服務(wù)器對象(OPC Server)、OPC組對象(OPC Group) 和OPC項對象(OPC Item),每類對象都包括一系列接口。其中,OPC Server維護(hù)有關(guān)服務(wù)器的信息并作為OPC Group的包容器,可以動態(tài)地創(chuàng)建或釋放組對象。OPC Group提供包容OPC Item的機(jī)制,從邏輯上實現(xiàn)對OPC Item的管理。OPC Item代表了OPC服務(wù)器與數(shù)據(jù)源的一個連接,包括值、品質(zhì)、時間戳3個基本屬性,數(shù)據(jù)值是以Variant形式表示的[5]。由于RockWell公司提供了RSLinx作為OPC服務(wù)器,因此大連地鐵項目僅需實現(xiàn)OPC客戶端開發(fā)及人機(jī)界面與設(shè)備的通信。系統(tǒng)設(shè)計框架如圖1所示。
圖1 系統(tǒng)設(shè)計框架Fig.1 Design framework of the system
1.1 RSLinx OPC服務(wù)器
RockWell公司的RSLinx通信軟件提供符合OPC DA2.0規(guī)范的OPC服務(wù)器(RSLinx OPC Server)。理論上,OPC服務(wù)器是數(shù)據(jù)提供方,但本系統(tǒng)的數(shù)據(jù)來自地鐵車站的各電、扶梯。由于數(shù)據(jù)可雙向讀寫,因此本系統(tǒng)中各電、扶梯的實時數(shù)據(jù)(如電梯上下行標(biāo)志、故障標(biāo)志、樓層標(biāo)志等)通過在RockWell公司的PLC(處理器1756-L71)中建立相應(yīng)的全局標(biāo)簽(內(nèi)存點(diǎn)),然后在RSLinx中對 “DDE/OPC Topic Configuration”進(jìn)行簡單配置,即可實現(xiàn)與PLC的通信,從而將PLC中包含電、扶梯的全局標(biāo)簽導(dǎo)入到RSLinx OPC Server中。
1.2 DasRdb實時數(shù)據(jù)庫
實時數(shù)據(jù)庫DasRdb負(fù)責(zé)現(xiàn)場設(shè)備的數(shù)據(jù)采集和轉(zhuǎn)換,以及工程值的歷史數(shù)據(jù)入庫。采集值和工程值之間的互相轉(zhuǎn)換采用公式完成,設(shè)備驅(qū)動程序只需提供采集值即可。設(shè)備驅(qū)動程序采用正規(guī)動態(tài)鏈接庫(dynamic link library, DLL)方式編寫,使用時動態(tài)加載即可。每個設(shè)備DLL驅(qū)動采用統(tǒng)一規(guī)范的接口函數(shù),驅(qū)動程序通過調(diào)用這些標(biāo)準(zhǔn)的接口函數(shù)實現(xiàn)它的特定功能。驅(qū)動程序信息結(jié)構(gòu)ECDINFO通過實時數(shù)據(jù)庫的回調(diào)函數(shù)實現(xiàn)動態(tài)調(diào)用。
1.3 IndasOpcClient客戶端
IndasOpcClient客戶端作為中間件,需要實現(xiàn)與RSLinx OPC Server服務(wù)器和DasRdb數(shù)據(jù)庫的通信。
OPCDA規(guī)范規(guī)定了兩種通信方式:同步通信和異步通信。在同步通信方式下,當(dāng)OPC客戶程序?qū)PC服務(wù)器進(jìn)行相關(guān)操作時,OPC客戶程序必須等到OPC服務(wù)器對應(yīng)的操作全部完成以后才能返回。在此期間,OPC客戶程序一直處于等待狀態(tài)。在異步通信方式下,當(dāng)OPC 客戶程序?qū)Ψ?wù)器進(jìn)行相關(guān)操作時,OPC客戶程序發(fā)出操作請求后立刻返回并可以進(jìn)行其他操作,無需等待OPC服務(wù)器的響應(yīng);當(dāng)OPC服務(wù)器完成操作請求后,再通知OPC客戶程序。因此,相對于同步通信,異步通信的效率更高,適用于多客戶訪問同一OPC服務(wù)器和大量數(shù)據(jù)的場合。
本客戶端采用異步通信方式,使用回調(diào)函數(shù)實現(xiàn)服務(wù)器通知客戶端數(shù)據(jù)的變化[6]。
IndasOpcClient客戶端實現(xiàn)數(shù)據(jù)交換中間件的功能,OPC服務(wù)器按指定的刷新速率從數(shù)據(jù)源讀取數(shù)據(jù)。如果數(shù)據(jù)發(fā)生變化,則調(diào)用接收器接口成員函數(shù)OnDataChange()將數(shù)據(jù)送給客戶端,客戶端刷新界面;同時通過RDC_WriteVar()函數(shù)將變化的數(shù)據(jù)傳遞給數(shù)據(jù)庫DasRdb,數(shù)據(jù)庫通過設(shè)備驅(qū)動程序?qū)K端設(shè)備進(jìn)行寫操作。當(dāng)終端設(shè)備數(shù)據(jù)有變化時,數(shù)據(jù)庫通過回調(diào)函數(shù)通知IndasOpcClient客戶端,客戶端通過異步寫函數(shù)WriteAsync20()向服務(wù)器發(fā)出寫數(shù)據(jù)請求。服務(wù)器在操作完成后,通過調(diào)用接口成員函數(shù)OnWriteComplete()通知客戶寫數(shù)據(jù)完成。
為了分析IndasOpcClient客戶端和RsLinx OPC服務(wù)器(簡稱C/S)的性能,對它們的時間響應(yīng)做了分析[7]。當(dāng)IndasOpcClient客戶端和RsLinx OPC服務(wù)器分別位于同一臺計算機(jī)上和不同計算機(jī)上(處于同一網(wǎng)段內(nèi))時,使用Visual C++的微秒級定時函數(shù)QueryPerformanceCounter(LARGE_INTEGER * lpCount)分別抓取讀寫單個OPC Item的響應(yīng)時間進(jìn)行統(tǒng)計分析。兩種情況下測得的時間記錄如表1和表2所示,對應(yīng)的時間曲線如圖2和圖3所示。其中,n為測量次數(shù);曲線1為服務(wù)器寫入客戶端時間(即t1),曲線2為客戶端寫入數(shù)據(jù)庫時間(即t2),曲線3為客戶端讀取數(shù)據(jù)庫時間(即t3),曲線4為客戶端寫入服務(wù)器時間(即t4)。
表1 C/S處于同一PC機(jī)的響應(yīng)時間Tab.1 Response time when C/S located in the same PC μs
圖2 C/S處于同一PC機(jī)的響應(yīng)曲線Fig.2 Response curves when C/S located in the same PC 表2 C/S處于不同PC機(jī)的響應(yīng)時間Tab.2 Response time when C/S located in different PC
μs
圖3 C/S處于不同PC機(jī)的響應(yīng)曲線Fig.3 Response curves when C/S located in different PC
根據(jù)圖2和圖3中的試驗數(shù)據(jù),可得到C/S處于同一PC機(jī)和不同PC機(jī)的各曲線標(biāo)準(zhǔn)方差及期望,如表3、表4所示。
表3 C/S處于同一PC機(jī)的數(shù)據(jù)分析Tab.3 Data analysis when C/S located in the same PC μs
表4 C/S處于不同PC機(jī)的數(shù)據(jù)分析Tab.4 Data analysis when C/S located in different PC μs
由以上數(shù)據(jù)可知,整個系統(tǒng)操作實時性較好,客戶端與服務(wù)器讀寫時間比較接近,客戶端讀取數(shù)據(jù)庫平均時間最長(為37 975 μs)。在數(shù)據(jù)庫的設(shè)計中,針對客戶端讀取數(shù)據(jù)庫的平均時間較長的現(xiàn)象進(jìn)行了優(yōu)化。在實際應(yīng)用中,如果網(wǎng)絡(luò)上設(shè)備較多,存在廣播包過多的情況下影響將會較大。此時,可以通過劃分虛擬局域網(wǎng)(virtual local area network, VLAN)來解決[8]。
本文針對城市軌道交通中各“信息孤島”[9](如電、扶梯信號)接入綜合監(jiān)控系統(tǒng)時出現(xiàn)的問題,通過OPC技術(shù)及實時數(shù)據(jù)庫DasRdb實現(xiàn)數(shù)據(jù)的交互,并且給出了整個系統(tǒng)的結(jié)構(gòu)設(shè)計框架。 同時,本文提供了系統(tǒng)運(yùn)行的時間響應(yīng)數(shù)據(jù),并對這些響應(yīng)數(shù)據(jù)進(jìn)行了較詳細(xì)的分析。理論測試結(jié)果與實際應(yīng)用效果表明,該系統(tǒng)的可靠性和實時性能滿足軌道交通中終端設(shè)備的數(shù)據(jù)監(jiān)控要求。
[1] 王開滿,張慎明,江平.軌道交通自動化監(jiān)控系統(tǒng)的特點(diǎn)及其發(fā)展趨勢[J].城市軌道交通研究,2006(2):1-5.
[2] 管建華.綜合監(jiān)控系統(tǒng)(ISCS)研究[J].鐵道通信信號,2004,40(8):1-2.
[3] The OPC Foundation.The interoperability standard for industrial automation & other related domains[EB/OL].[2013-10-25].http:∥www.opcfoundation.org.
[4] 路小俊,冬大龍,宋斌,等.基于OPC技術(shù)的風(fēng)電廠數(shù)據(jù)采集與監(jiān)控系統(tǒng)方案[J].電力系統(tǒng)自動化,2008,32(23):90-94.
[5] 梁庚,李文.基于分布式OPC組件連接件和Web Service的電站遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計[J].電力自動化設(shè)備,2011,31(10):134-138.
[6] 陳燁,倉小金,彭蓬,等.基于OPC中間件技術(shù)的網(wǎng)絡(luò)控制系統(tǒng)[J].電力自動化設(shè)備,2011,31(1):100-104.
[7] Schwarz M H,Boercsoek J.Advances of OPC client server architectures for maintenance strategies-a research and development area not for industries[J].WSEAS Transactions on Systems and Control,2008,3(3):1-3.
[8] 張慎明,王軍.新一代綜合監(jiān)控系統(tǒng)若干問題的研究和探討[J].現(xiàn)代城市軌道交通,2010(1):18-21.
[9] 張衛(wèi),劉焰,張培忠.綜合監(jiān)控系統(tǒng)在城市軌道交通中的應(yīng)用[J].上海電器技術(shù),2000(1):21-25.
Application of OPC Technology and DasRdb Real-time Database in Urban Rail Transit
Aiming at the access problem of “information island” in integrated monitoring of elevators and escalators and other terminal devices in urban rail transmit, the strategic solution for data conversion by adopting OPC technology and DasRdb real time database as the middleware is proposed. The data framework of entire OPC system is described in detail, through device driver, DasRdb is interacting with terminal devices; data exchange is conducted between DasRdb and OPC client / OPC server. The results of statistical analysis indicate that this strategy satisfies the monitoring requirements of rail transit, and provides practical guiding significance for solving the “information island” in urban rail transit.
Urban rail transit Integrated supervisory and control Information island OPC technology Real-time database
深圳市戰(zhàn)略新興產(chǎn)業(yè)發(fā)展專項基金資助項目(編號:CXZZ20120618142442306)。
匡付華(1974-),男,2011年畢業(yè)于華南理工大學(xué)控制理論與控制工程專業(yè),獲博士學(xué)位,高級工程師;主要從事城市軌道交通及智能建筑自動控制方面的研究。
TP29
A
10.16086/j.cnki.issn1000-0380.201506011
修改稿收到日期:2014-03-03。