ATS仿真培训系统列车模拟运行的设计与实现仿真培训系统列车模拟运行的设计与实现
通过VC++中ActiveX控件制作方法设计出上海地铁8号线ATS仿真培训系统中列车模型,并通过列车时刻表数据
存放列车运行时所需的一些数据信息,此时刻表数据以XML格式存储,在对时刻表数据进行解析时采用目前比
较流行的TinyXml。最后还给出此仿真培训系统的列车正常模拟运行的结果。
摘摘 要:要: 通过
关键词:关键词:
中国近年来,基于通信的列车控制系统CBTC(Communication Based Train Control)已逐渐被信号界所认可,成为当今世界
范围内铁路信号技术的发展趋势,随着CBTC系统在国内城市轨道交通工程中的广泛应用,使得城市轨道交通运营企业急需大
量具备CBTC系统背景的运营管理、通信信号等专业知识和操作技能的综合性运营人才。这些综合性运营专业人员不仅需要熟
悉CBTC系统的工作原理,同时还需要具备实际操作能力。考虑到现场行车安全,无法在目前已经投入运营的系统上进行教学
培训。所以开发仿真培训系统就成为解决这一问题的途径。
列车自动运行ATS(Automatic Train Supervision)是CBTC系统中负责监视和控制整个地铁线路中列车的运行状态的一个组成
部分[1]。本文中的列车模拟运行就是此ATS仿真培训系统中的一子模块。
1 列车模型列车模型
1.1 列车模型的设计列车模型的设计
对于8号线列车控件,它的属性分为:静态属性和动态属性。静态属性是指设计控件时可修改,但当列车控件绘制完成时就
不可修改的一类属性;动态属性主要指设计控件时无需设置,在站场图的仿真运行过程中可不断改变的属性[2]。其属性可按
如下设置:
(1) 静态属性:列车长度,列车车厢数,列车重量。
(2) 动态属性:列车标签,列车行车方向,列车标签的方向,列车车门状态等。
1.2 列车模型的实现列车模型的实现
开发列车控件使用的是VC++,它是开发ActiveX控件的常用工具之一。VC++集成开发环境,使用了微软自己的类库
MFC,MFC对开发ActiveX控件提供了全面的支持[3-4]。
其主要定义代码如下:
Class Train:public COleControl{…} //列车控件定义
其主要属性定义如下:
//静态属性
Short TrainDetails; //列车长度
Short TrainMass; //列车重量
Short TrainCarriages; //列车车厢
//动态属性
BSTR TrainLabel; //列车标签
Short LabelPosition; //标签位置
Short Direction; //列车行车方向
Short DoorState; //车门状态
…
在VS2005编译环境中,列车控件显示如图1所示。
2 列车时刻表列车时刻表
2.1 时刻表数据存储时刻表数据存储
可扩展标记语言(XML)是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用
户对自己的标记语言进行定义的源语言。作为一种数据格式,它具有以下特点:
(1) 规范性:XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,它遵循严格的语法要求,便于不同开发人
员的理解。
(2) 简单性:XML文档只是纯文本,这样XML文档就可以自由地在两个不同的系统之间交换数据,因为基本上任何系统都提
供了对文本格式的支持。
(3) 自我描述:XML可以明确地表示数据模型中各个部分的意义,只要查看XML文档就能确定该数据的意义。每个数字的意
义是清楚的,且不会错误地与数字本身相联系。当读取文档时,开发人员了解<Arrival>05:00:00</Arrival>中的05:00:00指的
是列车到站时间而不是列车离站的时间。
(4) 结构和内容分离:在XML中数据和显示格式是分离的,XML元数据文件就是纯数据文件,可以作为数据源提供数据。
(5) 可扩展性:XML允许使用者创建和使用他们自己的标记,而不像HTML那样使用有限的词汇。
基于以上XML语言的特点,再加上列车时刻表数据比较简单,它包括列车发车站点,列车到达站点时间以及列车离开站点
时间。为了使数据结构清晰,便于不同开发人员的理解,所以列车时刻表数据的存储方式则采用XML。
列车时刻表XML数据主要由4个标签组成:列车运行的线路、列车停靠的站台、列车到达站台的时间和列车离开站台的时
间。