匡付華 程朋勝 胥布工
(華南理工大學(xué)自動(dòng)化學(xué)院1,廣東 廣州 510640;深圳達(dá)實(shí)智能股份有限公司博士后工作站2,廣東 深圳 518057)
OPC及DasRdb數(shù)據(jù)庫(kù)在城市軌道交通中的應(yīng)用
匡付華1,2程朋勝2胥布工1
(華南理工大學(xué)自動(dòng)化學(xué)院1,廣東 廣州 510640;深圳達(dá)實(shí)智能股份有限公司博士后工作站2,廣東 深圳 518057)
針對(duì)城市軌道交通綜合監(jiān)控電、扶梯等終端設(shè)備“信息孤島”的接入問題,提出了使用OPC技術(shù)及DasRdb實(shí)時(shí)數(shù)據(jù)庫(kù)作為中間件進(jìn)行數(shù)據(jù)轉(zhuǎn)換的解決方案。詳細(xì)描述了整個(gè)OPC系統(tǒng)的數(shù)據(jù)架構(gòu),其中DasRdb通過設(shè)備驅(qū)動(dòng)程序與終端設(shè)備交互,OPC客戶端同時(shí)與OPC服務(wù)器和DasRdb進(jìn)行數(shù)據(jù)交換。統(tǒng)計(jì)分析結(jié)果表明,設(shè)計(jì)的系統(tǒng)能滿足軌道交通實(shí)際監(jiān)控的需要。該方案對(duì)解決城市軌道交通“信息孤島”的問題具有現(xiàn)實(shí)指導(dǎo)意義。
城市軌道交通 綜合監(jiān)控 信息孤島 OPC技術(shù) 實(shí)時(shí)數(shù)據(jù)庫(kù)
大力發(fā)展以地鐵和輕軌交通為主的城市軌道交通是解決我國(guó)目前城市交通堵塞的重要手段,2015年我國(guó)地鐵建設(shè)投資規(guī)劃額達(dá)11 568億元[1-2]。大連地鐵工程環(huán)境與設(shè)備監(jiān)控系統(tǒng)總承包項(xiàng)目第二標(biāo)段包括2號(hào)線所有28個(gè)車站、隧道區(qū)間、控制中心等??刂浦行男枰敫鬈囌窘K端設(shè)備的信號(hào),如電、扶梯等。終端設(shè)備具有多樣性,如扶梯廠家有蒂森、西子奧的斯、華升富士達(dá)、博林特、通力等,而RockWell的上位組態(tài)軟件僅支持用于過程控制的對(duì)象鏈接與嵌入?yún)f(xié)議。由于不同廠商系統(tǒng)之間通信協(xié)議、通信接入方式均存在差異,因此如何將這些“信息孤島”的信號(hào)實(shí)時(shí)可靠地傳遞到控制中心的數(shù)據(jù)服務(wù)器,是大連地鐵環(huán)境與設(shè)備監(jiān)控系統(tǒng)工程亟待解決的關(guān)鍵問題。
本文以O(shè)PC技術(shù)為基礎(chǔ),闡述了如何通過帶多種設(shè)備驅(qū)動(dòng)的實(shí)時(shí)數(shù)據(jù)庫(kù)DasRdb,將軌道交通前置機(jī)中的各數(shù)據(jù)實(shí)時(shí)傳遞到RSLinx OPC Server。本文對(duì)整個(gè)OPC系統(tǒng)的設(shè)計(jì)進(jìn)行了較詳細(xì)的描述,并對(duì)通信測(cè)試數(shù)據(jù)的實(shí)時(shí)性進(jìn)行了統(tǒng)計(jì)分析。
OPC是微軟公司針對(duì)過程控制領(lǐng)域的技術(shù)規(guī)范。它采用客戶端/服務(wù)器模式,制定了關(guān)于數(shù)據(jù)采集、歷史趨勢(shì)以及事件報(bào)警等接口標(biāo)準(zhǔn),為工業(yè)自動(dòng)化軟件面向?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)組件對(duì)象模型(component object model,COM)和分布式組件對(duì)象模型(distributed COM,DCOM)進(jìn)行數(shù)據(jù)的交互。OPC服務(wù)器建立了符合OPC規(guī)范的COM接口和對(duì)象。OPC邏輯對(duì)象模型包括3類對(duì)象,即OPC服務(wù)器對(duì)象(OPC Server)、OPC組對(duì)象(OPC Group) 和OPC項(xiàng)對(duì)象(OPC Item),每類對(duì)象都包括一系列接口。其中,OPC Server維護(hù)有關(guān)服務(wù)器的信息并作為OPC Group的包容器,可以動(dòng)態(tài)地創(chuàng)建或釋放組對(duì)象。OPC Group提供包容OPC Item的機(jī)制,從邏輯上實(shí)現(xiàn)對(duì)OPC Item的管理。OPC Item代表了OPC服務(wù)器與數(shù)據(jù)源的一個(gè)連接,包括值、品質(zhì)、時(shí)間戳3個(gè)基本屬性,數(shù)據(jù)值是以Variant形式表示的[5]。由于RockWell公司提供了RSLinx作為OPC服務(wù)器,因此大連地鐵項(xiàng)目?jī)H需實(shí)現(xiàn)OPC客戶端開發(fā)及人機(jī)界面與設(shè)備的通信。系統(tǒng)設(shè)計(jì)框架如圖1所示。
圖1 系統(tǒng)設(shè)計(jì)框架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í)時(shí)數(shù)據(jù)(如電梯上下行標(biāo)志、故障標(biāo)志、樓層標(biāo)志等)通過在RockWell公司的PLC(處理器1756-L71)中建立相應(yīng)的全局標(biāo)簽(內(nèi)存點(diǎn)),然后在RSLinx中對(duì) “DDE/OPC Topic Configuration”進(jìn)行簡(jiǎn)單配置,即可實(shí)現(xiàn)與PLC的通信,從而將PLC中包含電、扶梯的全局標(biāo)簽導(dǎo)入到RSLinx OPC Server中。
1.2 DasRdb實(shí)時(shí)數(shù)據(jù)庫(kù)
實(shí)時(shí)數(shù)據(jù)庫(kù)DasRdb負(fù)責(zé)現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)采集和轉(zhuǎn)換,以及工程值的歷史數(shù)據(jù)入庫(kù)。采集值和工程值之間的互相轉(zhuǎn)換采用公式完成,設(shè)備驅(qū)動(dòng)程序只需提供采集值即可。設(shè)備驅(qū)動(dòng)程序采用正規(guī)動(dòng)態(tài)鏈接庫(kù)(dynamic link library, DLL)方式編寫,使用時(shí)動(dòng)態(tài)加載即可。每個(gè)設(shè)備DLL驅(qū)動(dòng)采用統(tǒng)一規(guī)范的接口函數(shù),驅(qū)動(dòng)程序通過調(diào)用這些標(biāo)準(zhǔn)的接口函數(shù)實(shí)現(xiàn)它的特定功能。驅(qū)動(dòng)程序信息結(jié)構(gòu)ECDINFO通過實(shí)時(shí)數(shù)據(jù)庫(kù)的回調(diào)函數(shù)實(shí)現(xiàn)動(dòng)態(tài)調(diào)用。
1.3 IndasOpcClient客戶端
IndasOpcClient客戶端作為中間件,需要實(shí)現(xiàn)與RSLinx OPC Server服務(wù)器和DasRdb數(shù)據(jù)庫(kù)的通信。
OPCDA規(guī)范規(guī)定了兩種通信方式:同步通信和異步通信。在同步通信方式下,當(dāng)OPC客戶程序?qū)PC服務(wù)器進(jìn)行相關(guān)操作時(shí),OPC客戶程序必須等到OPC服務(wù)器對(duì)應(yīng)的操作全部完成以后才能返回。在此期間,OPC客戶程序一直處于等待狀態(tài)。在異步通信方式下,當(dāng)OPC 客戶程序?qū)Ψ?wù)器進(jìn)行相關(guān)操作時(shí),OPC客戶程序發(fā)出操作請(qǐng)求后立刻返回并可以進(jìn)行其他操作,無需等待OPC服務(wù)器的響應(yīng);當(dāng)OPC服務(wù)器完成操作請(qǐng)求后,再通知OPC客戶程序。因此,相對(duì)于同步通信,異步通信的效率更高,適用于多客戶訪問同一OPC服務(wù)器和大量數(shù)據(jù)的場(chǎng)合。
本客戶端采用異步通信方式,使用回調(diào)函數(shù)實(shí)現(xiàn)服務(wù)器通知客戶端數(shù)據(jù)的變化[6]。
IndasOpcClient客戶端實(shí)現(xiàn)數(shù)據(jù)交換中間件的功能,OPC服務(wù)器按指定的刷新速率從數(shù)據(jù)源讀取數(shù)據(jù)。如果數(shù)據(jù)發(fā)生變化,則調(diào)用接收器接口成員函數(shù)OnDataChange()將數(shù)據(jù)送給客戶端,客戶端刷新界面;同時(shí)通過RDC_WriteVar()函數(shù)將變化的數(shù)據(jù)傳遞給數(shù)據(jù)庫(kù)DasRdb,數(shù)據(jù)庫(kù)通過設(shè)備驅(qū)動(dòng)程序?qū)K端設(shè)備進(jìn)行寫操作。當(dāng)終端設(shè)備數(shù)據(jù)有變化時(shí),數(shù)據(jù)庫(kù)通過回調(diào)函數(shù)通知IndasOpcClient客戶端,客戶端通過異步寫函數(shù)WriteAsync20()向服務(wù)器發(fā)出寫數(shù)據(jù)請(qǐng)求。服務(wù)器在操作完成后,通過調(diào)用接口成員函數(shù)OnWriteComplete()通知客戶寫數(shù)據(jù)完成。
為了分析IndasOpcClient客戶端和RsLinx OPC服務(wù)器(簡(jiǎn)稱C/S)的性能,對(duì)它們的時(shí)間響應(yīng)做了分析[7]。當(dāng)IndasOpcClient客戶端和RsLinx OPC服務(wù)器分別位于同一臺(tái)計(jì)算機(jī)上和不同計(jì)算機(jī)上(處于同一網(wǎng)段內(nèi))時(shí),使用Visual C++的微秒級(jí)定時(shí)函數(shù)QueryPerformanceCounter(LARGE_INTEGER * lpCount)分別抓取讀寫單個(gè)OPC Item的響應(yīng)時(shí)間進(jìn)行統(tǒng)計(jì)分析。兩種情況下測(cè)得的時(shí)間記錄如表1和表2所示,對(duì)應(yīng)的時(shí)間曲線如圖2和圖3所示。其中,n為測(cè)量次數(shù);曲線1為服務(wù)器寫入客戶端時(shí)間(即t1),曲線2為客戶端寫入數(shù)據(jù)庫(kù)時(shí)間(即t2),曲線3為客戶端讀取數(shù)據(jù)庫(kù)時(shí)間(即t3),曲線4為客戶端寫入服務(wù)器時(shí)間(即t4)。
表1 C/S處于同一PC機(jī)的響應(yīng)時(shí)間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)時(shí)間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中的試驗(yàn)數(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ù)可知,整個(gè)系統(tǒng)操作實(shí)時(shí)性較好,客戶端與服務(wù)器讀寫時(shí)間比較接近,客戶端讀取數(shù)據(jù)庫(kù)平均時(shí)間最長(zhǎng)(為37 975 μs)。在數(shù)據(jù)庫(kù)的設(shè)計(jì)中,針對(duì)客戶端讀取數(shù)據(jù)庫(kù)的平均時(shí)間較長(zhǎng)的現(xiàn)象進(jìn)行了優(yōu)化。在實(shí)際應(yīng)用中,如果網(wǎng)絡(luò)上設(shè)備較多,存在廣播包過多的情況下影響將會(huì)較大。此時(shí),可以通過劃分虛擬局域網(wǎng)(virtual local area network, VLAN)來解決[8]。
本文針對(duì)城市軌道交通中各“信息孤島”[9](如電、扶梯信號(hào))接入綜合監(jiān)控系統(tǒng)時(shí)出現(xiàn)的問題,通過OPC技術(shù)及實(shí)時(shí)數(shù)據(jù)庫(kù)DasRdb實(shí)現(xiàn)數(shù)據(jù)的交互,并且給出了整個(gè)系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)框架。 同時(shí),本文提供了系統(tǒng)運(yùn)行的時(shí)間響應(yīng)數(shù)據(jù),并對(duì)這些響應(yīng)數(shù)據(jù)進(jìn)行了較詳細(xì)的分析。理論測(cè)試結(jié)果與實(shí)際應(yīng)用效果表明,該系統(tǒng)的可靠性和實(shí)時(shí)性能滿足軌道交通中終端設(shè)備的數(shù)據(jù)監(jiān)控要求。
[1] 王開滿,張慎明,江平.軌道交通自動(dòng)化監(jiān)控系統(tǒng)的特點(diǎn)及其發(fā)展趨勢(shì)[J].城市軌道交通研究,2006(2):1-5.
[2] 管建華.綜合監(jiān)控系統(tǒng)(ISCS)研究[J].鐵道通信信號(hào),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)自動(dòng)化,2008,32(23):90-94.
[5] 梁庚,李文.基于分布式OPC組件連接件和Web Service的電站遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].電力自動(dòng)化設(shè)備,2011,31(10):134-138.
[6] 陳燁,倉(cāng)小金,彭蓬,等.基于OPC中間件技術(shù)的網(wǎng)絡(luò)控制系統(tǒng)[J].電力自動(dòng)化設(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ā)展專項(xiàng)基金資助項(xiàng)目(編號(hào):CXZZ20120618142442306)。
匡付華(1974-),男,2011年畢業(yè)于華南理工大學(xué)控制理論與控制工程專業(yè),獲博士學(xué)位,高級(jí)工程師;主要從事城市軌道交通及智能建筑自動(dòng)控制方面的研究。
TP29
A
10.16086/j.cnki.issn1000-0380.201506011
修改稿收到日期:2014-03-03。