OPC及DasRdb数据库在城市轨道交通中的应用
2015-06-12匡付华程朋胜胥布工
匡付华 程朋胜 胥布工
(华南理工大学自动化学院1,广东 广州 510640;深圳达实智能股份有限公司博士后工作站2,广东 深圳 518057)
OPC及DasRdb数据库在城市轨道交通中的应用
匡付华1,2程朋胜2胥布工1
(华南理工大学自动化学院1,广东 广州 510640;深圳达实智能股份有限公司博士后工作站2,广东 深圳 518057)
针对城市轨道交通综合监控电、扶梯等终端设备“信息孤岛”的接入问题,提出了使用OPC技术及DasRdb实时数据库作为中间件进行数据转换的解决方案。详细描述了整个OPC系统的数据架构,其中DasRdb通过设备驱动程序与终端设备交互,OPC客户端同时与OPC服务器和DasRdb进行数据交换。统计分析结果表明,设计的系统能满足轨道交通实际监控的需要。该方案对解决城市轨道交通“信息孤岛”的问题具有现实指导意义。
城市轨道交通 综合监控 信息孤岛 OPC技术 实时数据库
0 引言
大力发展以地铁和轻轨交通为主的城市轨道交通是解决我国目前城市交通堵塞的重要手段,2015年我国地铁建设投资规划额达11 568亿元[1-2]。大连地铁工程环境与设备监控系统总承包项目第二标段包括2号线所有28个车站、隧道区间、控制中心等。控制中心需要引入各车站终端设备的信号,如电、扶梯等。终端设备具有多样性,如扶梯厂家有蒂森、西子奥的斯、华升富士达、博林特、通力等,而RockWell的上位组态软件仅支持用于过程控制的对象链接与嵌入协议。由于不同厂商系统之间通信协议、通信接入方式均存在差异,因此如何将这些“信息孤岛”的信号实时可靠地传递到控制中心的数据服务器,是大连地铁环境与设备监控系统工程亟待解决的关键问题。
本文以OPC技术为基础,阐述了如何通过带多种设备驱动的实时数据库DasRdb,将轨道交通前置机中的各数据实时传递到RSLinx OPC Server。本文对整个OPC系统的设计进行了较详细的描述,并对通信测试数据的实时性进行了统计分析。
1 OPC系统设计
OPC是微软公司针对过程控制领域的技术规范。它采用客户端/服务器模式,制定了关于数据采集、历史趋势以及事件报警等接口标准,为工业自动化软件面向对象的开发提供了统一的接口标准[3-4]。OPC系统由OPC服务器和OPC客户端构成,OPC服务器与OPC客户端之间通过标准组件对象模型(component object model,COM)和分布式组件对象模型(distributed COM,DCOM)进行数据的交互。OPC服务器建立了符合OPC规范的COM接口和对象。OPC逻辑对象模型包括3类对象,即OPC服务器对象(OPC Server)、OPC组对象(OPC Group) 和OPC项对象(OPC Item),每类对象都包括一系列接口。其中,OPC Server维护有关服务器的信息并作为OPC Group的包容器,可以动态地创建或释放组对象。OPC Group提供包容OPC Item的机制,从逻辑上实现对OPC Item的管理。OPC Item代表了OPC服务器与数据源的一个连接,包括值、品质、时间戳3个基本属性,数据值是以Variant形式表示的[5]。由于RockWell公司提供了RSLinx作为OPC服务器,因此大连地铁项目仅需实现OPC客户端开发及人机界面与设备的通信。系统设计框架如图1所示。
图1 系统设计框架Fig.1 Design framework of the system
1.1 RSLinx OPC服务器
RockWell公司的RSLinx通信软件提供符合OPC DA2.0规范的OPC服务器(RSLinx OPC Server)。理论上,OPC服务器是数据提供方,但本系统的数据来自地铁车站的各电、扶梯。由于数据可双向读写,因此本系统中各电、扶梯的实时数据(如电梯上下行标志、故障标志、楼层标志等)通过在RockWell公司的PLC(处理器1756-L71)中建立相应的全局标签(内存点),然后在RSLinx中对 “DDE/OPC Topic Configuration”进行简单配置,即可实现与PLC的通信,从而将PLC中包含电、扶梯的全局标签导入到RSLinx OPC Server中。
1.2 DasRdb实时数据库
实时数据库DasRdb负责现场设备的数据采集和转换,以及工程值的历史数据入库。采集值和工程值之间的互相转换采用公式完成,设备驱动程序只需提供采集值即可。设备驱动程序采用正规动态链接库(dynamic link library, DLL)方式编写,使用时动态加载即可。每个设备DLL驱动采用统一规范的接口函数,驱动程序通过调用这些标准的接口函数实现它的特定功能。驱动程序信息结构ECDINFO通过实时数据库的回调函数实现动态调用。
1.3 IndasOpcClient客户端
IndasOpcClient客户端作为中间件,需要实现与RSLinx OPC Server服务器和DasRdb数据库的通信。
OPCDA规范规定了两种通信方式:同步通信和异步通信。在同步通信方式下,当OPC客户程序对OPC服务器进行相关操作时,OPC客户程序必须等到OPC服务器对应的操作全部完成以后才能返回。在此期间,OPC客户程序一直处于等待状态。在异步通信方式下,当OPC 客户程序对服务器进行相关操作时,OPC客户程序发出操作请求后立刻返回并可以进行其他操作,无需等待OPC服务器的响应;当OPC服务器完成操作请求后,再通知OPC客户程序。因此,相对于同步通信,异步通信的效率更高,适用于多客户访问同一OPC服务器和大量数据的场合。
本客户端采用异步通信方式,使用回调函数实现服务器通知客户端数据的变化[6]。
IndasOpcClient客户端实现数据交换中间件的功能,OPC服务器按指定的刷新速率从数据源读取数据。如果数据发生变化,则调用接收器接口成员函数OnDataChange()将数据送给客户端,客户端刷新界面;同时通过RDC_WriteVar()函数将变化的数据传递给数据库DasRdb,数据库通过设备驱动程序对终端设备进行写操作。当终端设备数据有变化时,数据库通过回调函数通知IndasOpcClient客户端,客户端通过异步写函数WriteAsync20()向服务器发出写数据请求。服务器在操作完成后,通过调用接口成员函数OnWriteComplete()通知客户写数据完成。
2 测试数据分析
为了分析IndasOpcClient客户端和RsLinx OPC服务器(简称C/S)的性能,对它们的时间响应做了分析[7]。当IndasOpcClient客户端和RsLinx OPC服务器分别位于同一台计算机上和不同计算机上(处于同一网段内)时,使用Visual C++的微秒级定时函数QueryPerformanceCounter(LARGE_INTEGER * lpCount)分别抓取读写单个OPC Item的响应时间进行统计分析。两种情况下测得的时间记录如表1和表2所示,对应的时间曲线如图2和图3所示。其中,n为测量次数;曲线1为服务器写入客户端时间(即t1),曲线2为客户端写入数据库时间(即t2),曲线3为客户端读取数据库时间(即t3),曲线4为客户端写入服务器时间(即t4)。
表1 C/S处于同一PC机的响应时间Tab.1 Response time when C/S located in the same PC μs
图2 C/S处于同一PC机的响应曲线Fig.2 Response curves when C/S located in the same PC 表2 C/S处于不同PC机的响应时间Tab.2 Response time when C/S located in different PC
μs
图3 C/S处于不同PC机的响应曲线Fig.3 Response curves when C/S located in different PC
根据图2和图3中的试验数据,可得到C/S处于同一PC机和不同PC机的各曲线标准方差及期望,如表3、表4所示。
表3 C/S处于同一PC机的数据分析Tab.3 Data analysis when C/S located in the same PC μs
表4 C/S处于不同PC机的数据分析Tab.4 Data analysis when C/S located in different PC μs
由以上数据可知,整个系统操作实时性较好,客户端与服务器读写时间比较接近,客户端读取数据库平均时间最长(为37 975 μs)。在数据库的设计中,针对客户端读取数据库的平均时间较长的现象进行了优化。在实际应用中,如果网络上设备较多,存在广播包过多的情况下影响将会较大。此时,可以通过划分虚拟局域网(virtual local area network, VLAN)来解决[8]。
3 结束语
本文针对城市轨道交通中各“信息孤岛”[9](如电、扶梯信号)接入综合监控系统时出现的问题,通过OPC技术及实时数据库DasRdb实现数据的交互,并且给出了整个系统的结构设计框架。 同时,本文提供了系统运行的时间响应数据,并对这些响应数据进行了较详细的分析。理论测试结果与实际应用效果表明,该系统的可靠性和实时性能满足轨道交通中终端设备的数据监控要求。
[1] 王开满,张慎明,江平.轨道交通自动化监控系统的特点及其发展趋势[J].城市轨道交通研究,2006(2):1-5.
[2] 管建华.综合监控系统(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技术的风电厂数据采集与监控系统方案[J].电力系统自动化,2008,32(23):90-94.
[5] 梁庚,李文.基于分布式OPC组件连接件和Web Service的电站远程监控系统设计[J].电力自动化设备,2011,31(10):134-138.
[6] 陈烨,仓小金,彭蓬,等.基于OPC中间件技术的网络控制系统[J].电力自动化设备,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] 张慎明,王军.新一代综合监控系统若干问题的研究和探讨[J].现代城市轨道交通,2010(1):18-21.
[9] 张卫,刘焰,张培忠.综合监控系统在城市轨道交通中的应用[J].上海电器技术,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
深圳市战略新兴产业发展专项基金资助项目(编号:CXZZ20120618142442306)。
匡付华(1974-),男,2011年毕业于华南理工大学控制理论与控制工程专业,获博士学位,高级工程师;主要从事城市轨道交通及智能建筑自动控制方面的研究。
TP29
A
10.16086/j.cnki.issn1000-0380.201506011
修改稿收到日期:2014-03-03。