基于组件技术的城市轨道交通轨旁设备仿真系统开发研究①
2014-09-27朱爱鹏徐中伟
朱爱鹏, 徐中伟, 牛 强
(同济大学电子与信息工程学院,上海 201804)
0 引言
随着现代无线通信技术的快速发展,无线通信技术的可靠性、稳定性和实用性大大提高,基于通信的列车运行控制(Communication Based Train Control,CBTC)系统也随之产生[1].CBTC 以其高速度、高密度的特点逐渐成为轨道交通信号系统的首选解决方案.但是在研发的过程中,由于CBTC系统的复杂性和高安全性要求,在没有得到一个符合工程化标准的CBTC系统之前,在实际线路上对CBTC进行安全测试与评估的成本非常昂贵,需要消耗巨大的人力、物力和财力,还具有一定的安全隐患,而且会使整个CBTC系统的开发周期大大延长.因此,CBTC半实物仿真测试平台成为CBTC系统安全测试的重要手段.该仿真测试平台的研究与实现能有效的降低安全测试与评估的成本,对于行业的发展具有很好的促进作用.
轨旁设备仿真是CBTC仿真测试平台不可或缺的重要组成部分,它能仿真轨旁设备的功能,为整个CBTC系统的运行和测试提供虚拟的轨道线路环境.针对不同的轨道线路,轨旁设备都有很大的差异,如果每条线路的轨旁仿真系统都要重新设计,将存在大量的重复劳动,这将降低整个系统的可重用性和扩展性.
本文利用组件技术设计轨旁设备仿真系统并实现.使其能够应用于不同轨道线路的仿真,从而实现轨旁设备仿真系统的可重用性、加快整个CBTC测试平台的效率、缩短开发周期、减少系统错误.
图1
1 组件化程序设计方法
组件是一种可重复调用的软件块,它把维护及操作每一类信息的程序集中在一起独立成块.应用系统通过预先定义好的接口来调用执行组件[2].组件可以简单如一个类,也可以复杂如完整的应用服务处理.组件化程序设计的核心是组件的产生和组装[3].在组件模型下,通过对组件库中的组件进行动态组装来提高软件生成的效率和质量.
组件技术的基本思想:将复杂的软件系统分成几个可先实现、易开发、复用和修改的软件模块.它封装属性和方法,隐藏实现的详细细节,提供相应的接口,开发人员可以利用此接口调用组件来生成系统.可以单独的对某个组件进行修改和升级,只要保持组件接口不变,就不影响整个系统的运行.利用组件构建模型的流程图如图1所示.
2 轨旁设备仿真系统组件的设计
组件是轨旁设备仿真系统的基本单元,根据轨旁设备仿真系统需求的分析,轨旁设备组件包括区段组件、道岔组件、信号机组件、信标组件、车站紧急停车组件、屏蔽门组件等[4].利用组件技术,构建一个完备的轨旁设备组件库,对于不同的轨道线路,通过对组件库中的组件动态组装,完成系统开发,如图2所示.
图2
图3
构建轨旁设备组件最重要的是设计组件的属性.考虑到轨旁设备仿真系统一方面要能仿真真实的轨旁设备功能,另一方面要能给测试人员提供良好的人机交互界面,因此轨旁设备组件的属性可以划分为:功能属性、视图属性.所谓功能属性,是组件对真实轨旁设备功能的模拟,它能给CBTC系统运行提供所需轨旁设备功能,主要是一些状态信息,如区段的占用和空闲、信号机的亮灯状态、熔丝的通断、道岔的定位和反位、屏蔽门的打开和关闭等.组件的视图属性,是指在创建人机交互界面绘制站场图时所需的位置属性,它主要包括轨旁设备组件在站场图中的位置坐标信息、名称信息、轨道区段的长度、信号机的种类信息、站台方向信息等.以道岔组件为例:
1)功能属性(道岔定位状态、道岔反位状态、道岔锁闭状态、道岔到定位延时(ms)、道岔到反位延时(ms));
2)视图属性(道岔中心轴坐标、道岔定位点坐标、道岔反位点坐标、道岔名称);
以道岔属性为例,道岔组件属性代码如下:
3 基于组件的轨旁设备仿真系统的开发
轨旁设备仿真系统的开发首先需要构建一个完备的轨旁设备组件库,然后根据不同轨道线路配置的XML文件信息,从轨旁设备组件库中提取所需的组件,生成对应的组件对象,初始化组件数据,最后调用相应的绘图函数生成整个系统.其开发流程如图3所示.
轨旁设备仿真系统由组件生成、站场图绘制、故障注入三大功能模块构成.其中组件生成是基础,站场图的绘制是以组件生成的对象为参数,故障注入是改变组件对象属性值的手段.
图4
图5
3.1 组件生成
在开发轨旁设备仿真系统的过程中,需要根据组件“清单”从轨旁设备组件库中提取相应的组件,产生相应的组件对象.其中的“清单”就是利用XML语言的描述的轨旁设备信息,将所有组件的相关属性值写入配置的XML文件中,在轨旁设备仿真系统启动后,选择不同轨道线路所对应的XML配置文件,然后根据XML配置文件从组件库中生成所需的组件对象,同时给组件对象的部分属性赋值[5].最后,生成对应轨道线路的轨旁设备仿真系统,从而实现系统的复用性和快速开发.以道岔为例子,某道岔信息的XML语言描述如下:
图6
3.2 站场图绘制
站场图是整个轨旁设备仿真系统提供的人机交互界面,它能显示真个轨道线路的信息,提供所有轨旁设备的运行状态和列车的运行状态,同时给测试人员能通过它进行故障注入,观测测试结果.可见站场图在整个轨旁设备仿真系统中的重要性.本文利用GDI+(Graphics Device Interface,图形设备接口)技术,采用基于函数的设计方法对每一类轨旁设备编写一个独立的绘图函数,所有函数的集合就是整个轨旁设备组件库的函数库[6].在绘制站场图时,只要把组件对象作为函数的参数,利用组件对象的绘图属性绘制站场图,根据组件对象的功能属性动态更新轨旁设备在站场图中的状态信息.整个流程如图4所示:
以成都一号线为例,根据成都一号线信息配置对应的XML文件,轨旁设备仿真系统通过加载XML文件生成关于成都一号线的轨旁设备仿真,其中部分站场图如图5所示:
3.3 故障注入模块
故障注入实际上是一种测试技术,按照测试案例要求或者故障模型,人为地产生故障施加在被测系统中,同时观测被测系统对注入的故障所作出地响应.真实CBTC系统运行环境不可预知的因素非常多,因此故障注入的功能在整个仿真测试平台中是必不可少的.轨旁设备仿真系统可以通过人机交互界面,点击所需注入故障的轨旁设备,改变对应组件对象的属性值,来仿真真实轨旁设备在运行过程中可能出现的故障情况.以道岔为例,如图6所示,可以人为改变道岔组件对象的功能属性值,如道岔的定位状态、反位状态、锁闭状态、到定位延时的值、到反位延时的值等等.
4 结语
基于组件技术的城市轨道交通轨旁设备仿真系统设计完备的轨旁设备组件库,对于不同的轨道线路,配置对应的XML文件,然后从组件库中加载不同的轨道线路所需的组件生成对应的组件对象并初始化组件对象的属性值.将组件对象的属性值作为参数传入对应设备封装好的的GDI+绘图方法,快速准确地绘制站场图界面,实现轨旁系统的可复用性、可扩展性和动态配置.测试人员能从站场图中看到整条线路上的信号机、道岔、区段、站台等轨旁设备的位置和名称,以及他们的时时状态信息,更主要的是测试人员能直接通过站场图通过点击各个轨旁设备对轨旁设备注入一系列的故障,并能反馈给被测系统,为测试人员提供一个良好的人机交互界面,也为CBTC系统的测试提供各种运行场景.基于组件技术的轨旁设备系统的轨旁设备仿真系统已经完成并且完成部分CBTC系统的测试.
[1]鲁也传,陈永生,郭玉臣.基于通信的列车自动监控系统平台设计与实现[J].计算机应用,2009,12:152 -154.
[2]王君,樊治平.一种基于角色的组件动态组装模型[J].计算机应用,2003,2:5 -8.
[3]雒翠萍.面向组件技术的铁路通信资源DSS的研发[J].农业网络信息,2012,8:40 -43.
[4]王野,郭秀清.基于组件技术的列车自动监控仿真系统开发平台[J].计算机应用,2007,12:286 -288.
[5]陈伟嘉,陈永生.OT系统的可复用站场图的设计与实现[J].微计算机应用,2011,8:52 -55.
[6]俞家文,陈空军,高立群.基于GDI+和.NET组件技术的MIS系统动态图[J].微计算机应用,2007,5:552 -555.