基于时刻表的列车模拟运行的研究与设计

2015-06-28 15:42穆亚倩
铁路计算机应用 2015年3期
关键词:时刻表列车运行流程图

穆亚倩,王 飞

(1.兰州交通大学 光电技术与智能控制教育部重点实验室,兰州 730070;2.中铁十一局集团 电务工程有限公司,武汉 430079)

研究与开发

基于时刻表的列车模拟运行的研究与设计

穆亚倩1,王 飞2

(1.兰州交通大学 光电技术与智能控制教育部重点实验室,兰州 730070;2.中铁十一局集团 电务工程有限公司,武汉 430079)

为了实现城市轨道交通的安全有效运输,提出了一种适用于城市轨道交通列车运行时刻表的编制方法。把例如起始时间、终止时间等一些列车运行时所必需的数据以XML格式存储在列车时刻表中,在对XML格式的时刻表数据进行解析时采用了较为方便有效的Tinyxml解析器,把解析出来的时刻表用于列车的模拟运行上。采用了定时器以获得最新的时刻表数据。利用流程图和VC++ 6.0详细说明了列车时刻表模拟运行法的软件实现过程,实现了ATS系统与联锁系统之间的有关时刻表和命令对信息的校核与传递。

城市轨道交通;时刻表;Tinyxml;列车模拟运行

在大中型城市的公共交通系统中,轨道交通系统正在扮演着重要的角色。一般来说,城市轨道交通系统有以下特点:单一旅客运输方式、运行距离短、每日有运行高峰期、客流随节假日波动比较大等;在设计上也有站间运行距离短、行车密度较高、行驶速度较快、安全性能要求高等特点[1]。

地铁列车在运营时间上是按照一定的时刻表运行的。也就是说,列车运行图和运营时刻表是城市轨道交通行车组织的计划和基础。文献 [1]分析了列车自动监控(ATS,Automatic Train Supervision)子系统中的时刻表和运行图管理模块,并实现了地铁列车时刻表的自动编制和运行图绘制功能。文献 [2]对时刻表编辑系统和在线调整系统进行了研究与介绍。文献 [3]研究了在列车时刻表的优化和城市轨道交通的再生制动问题。

在这一背景下,本文提出了一种时刻表的编制方法并引用了 Tinyxml解析器 ,把解析出来的时刻表用于列车的模拟运行上。

1 列车时刻表概述

列车时刻表是计划列车到达、出发或通过车站的时刻以及在停靠站场时停留的时间的表格[2]。它为ATS系统中的列车自动运行提供了时间依据,同时也是组织列车运行的基础。时刻表描述了在一个给定的运行日内,计划的所有的列车移动 (旅行 )的时刻标准和所有临时速度的限制要求[3~5]。根据其作用特点可以分为基本运行时刻表、计划运行时刻表和实际运行时刻表。

1.1 基本运行时刻表

基本列车时刻表规定了各次列车占用区间的顺序 (车次号)、列车在一个车站到达和离开 (或通过 )的时刻、列车在区间的运行时间、列车在停靠车站的停站时间、折返站列车折返作业时间以及调车机车出入场的时间等[5~6]。

1.2 计划运行时刻表

每日运营开始之前,根据当日的运营计划,系统会自动地从数据库中选择一个基本运行图或时刻表作为当日的计划运行时刻表。或者调度员在调度员工作站上选择适当的基本运行时刻表,也可作为当日的计划运行时刻表。

无论哪种方式创建的计划运行时刻表都会出现调度员确认的提示信息,经调度员修改或确认后,ATS系统根据该计划运行时刻表组织和实施当日的列车运行计划,并将该计划显示在控制中心的各个工作站上[5~6]。

1.3 实际运行时刻表

实际运行时刻表由ATS系统根据列车在各个车站及车站之间实际运行的情况自动生成的,其主要记录了列车在每个车站的到发时刻以及在区间的运行时间,并将其在调度员工作站上显示出来[6]。

2 列车时刻表自动编制

列车时刻表编制前,需要人工地输入一些基本数据,包括列车在各个区间的运行时间、列车停站时间、列车折返时间等。这些输入的数据必须介于标准值表里所定义的最大值和最小值之间,即最小值≤计划数据≤最大值[7]。

在输入以上数据后,还需要根据一天中的运营计划确定列车的运行时段数、各运行时段的起始时间和结束时间 ,以及各时段的列车运行间隔和周期[7]。在此基础上,可计算得出各时段的上线列车数。设某时段的列车运行间隔为H,周期为T,上线列车数为N,则有:

在以上数据的基础上,选定运营所需要的折返模式,便可自动推定出列车时刻表并将之显示出来。推定出时刻表的流程图如图1所示。

图1 推定出时刻表的流程图

3 列车时刻表模拟运行概述

依照列车运行时刻表 ,随着时间的流逝 ,控制中心会不停获取所有列车在各个区间内的最新的运行数据 ,它的核心目的是不停刷新更新列车时刻表 ,判断各站之间运行线路上是否有新的列车出现,把新出现的列车加入到对应下一站的列车运行列表中,并启动该站列车运行线程[8]。在列车运行过程中 ,根据列车的到达时刻和出发时刻来计算列车在本车站的停靠时间。当此列车从该站完全通过时 , 此列车在该站的的运行线程结束,从该站的列车运行列表中删除此列车。相应地,此列车的运行线程会出现在下一站的列车运行时刻表中。由于这种监控运行的方法不考虑列车在其它站的运行状况,而只显示在当前车站区段内的运行情况,所以它一般只适用于联锁车站的监控。

另外,列车的运行时间和时刻表数据要实时地保持一致。因为列车的运行起始时刻和终止时刻都取决于时刻表,同时列车运行时间的变化也体现在列车时刻表的变化上;当某列车在某站内出现异常情况或者需要调整时,会生成新的时刻表,以便给后续列车提供新的准确的时刻表依据来运行[7~9]。

4 列车时刻表模拟运行建模

在列车时刻表模拟运行的建模中 , 车站、时刻表、命令对等单元都是一个个实体对象,这些对象不仅有自己的名称和数据类型等基本属性,而且相互之间也存在着一定的协调关系。这些实体对象及其之间的协调关系共同完成了列车时刻表的模拟运行[7]。下面是部分实例模型的具体设计。

(1)车站模型

属性:本站车站站名,本站车站ID号,下站车站站名,下站车站ID号,上站车站站名,上站车站ID 号 ,股道 ID 号。

作用:站间联锁控制,故障设置。

(2)时刻表模型

属性:列车车次号,股道 ID,接发车标志,某列车在上一站离开的时刻,某列车在本站到达的时刻,某列车在本站开出的时刻,某列车在下站到达的时刻等。

作用:列车车次号追踪,时刻表调整等。

(3)命令对模型

属性:股道 ID,接发车标志,始端按钮 ID 号,终端按钮 ID 号,上一车站的 ID 号,本车站的 ID 号等。

作用:进路办理。

5 列车时刻表模拟运行软件设计

要保证实时有效地完成时刻表模拟运行任务,在软件上对总的模拟运行流程的设计是很重要的环节,关键运行过程流程图见图2所示。本设计采用模块化,下文对各模块的内容分别进行了详细阐述。

图2 关键运行过程流程图

5.1 读入推定的时刻表数据

在本次模拟中,首先需要将推定出的时刻表数据写成XML形式的文件,其中,部分XML形式的时刻表文件如下:

在对时刻表文件解析时采用了 Tinyxml。Tinyxml是一个开源的解析 XML 的解析库,能够在Windows 或 Linux 中编译 C++。这个解析库通过解析XML文件,然后在内存中生成DOM模型,从而很方便的遍历这棵XML树。DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。它最大的特点就是它很小,也很方便,添加 6 个文件(tinystr.h、tinyxml. h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp)到 C++ 工程后就可以静态连接到程序里。它很适合如配置文件、数据文件等这类简单文件的解析。Tinyxml实现的是 DOM 访问模型,因此提供了一系列的类对应XML文件中的各个节点。主要类间的定义如下。

TiXmlDocument:表示整个 XML 文档,不对应其中某个特定的节点。

TiXmlElement:表示元素节点,可以包含子节点和 TiXmlAttribute。

TiXmlComment:表示注释。

TiXmlDeclaration:表示声明。

TiXmlText:表示文本节点。

TiXmlUnknown:表示未知节点,通常是出错了

计算机读取并解析时刻表文件的流程图如图3所示。

图3 解析时刻表流程图

5.2 定时器处理过程

为了保证随时解析读取到的时刻表都是最新的,因此在基于时刻表的模拟运行中加入了定时器部分,设置定时器的间隔时间为 300 ms,即 300 ms 读取一次最新的时刻表,定时器处理的流程图如图4所示。

图4 定时器处理过程流程图

5.3 查找下列列车到站的间隔时间

获取到最新的基本时刻表后,需要从时刻表中读取到所有的即将到站的列车中所需时间最短的那趟车的车次号及最短时间间隔等信息,其流程如下:

(1)定义一个时间差数组;

(2)获取并读出车站所有基本时刻表时间,并且获取当前时间,并且将两个时间转换为同一类型的时间;

(3)车站所有基本时刻表时间减去当前时间,并把所得的差值放在定义好的时间差数组中;

(4)求出时间差数组中的最小差值,即为所需时间最短的那趟车的时间差,相应地推算出该趟列车的车次号及停靠的站名,股道名等基本信息。

在控制中心调度台上可以详细地看到各个区间内的列车到达下一站的时间间隔情况,并且当定义定时器的时间间隔为 300 ms时,控制台的最新的时间间隔消息会每隔 300 ms刷新一次,因此区间内的每条列车到达下一站与当前的时间间隔会呈现倒计时状态,实验界面如图 5 所示。

5.4 将办理下条列车进路的指令自动发送给联锁系统

在本次列车运行仿真中,定义当区间内的某趟列车到达下一站时间与当前的时间差减小到 3 min时,进路设定系统会自动地向联锁系统下发办理进路的指令。

根据其来源于时刻表和列车运行调整系统的信息,自动进路设定系统会发出列车进路设置命令;根据其来源于控制中心的排列进路的指令,联锁系统负责实际的安全排列进路[10~12]。

图5 实验界面图

联锁系统与ATS系统之间会进行命令的许可校核,当许可校核得到否定结果时,联锁系统将向ATS系统回送一个相应的信息,然后由 ATS系统重复传输相同的控制命令,直至达到规定的次数和时间为止[10~12]。此二者必须协同地相互配合和相互协调,才能安全有效的完成列车基于时刻表运行的任务。

6 结束语

随着城市轨道交通的快速发展,制作一个地铁列车运行时刻表并依照此时刻表来运行并不是一件难事,但要制作一个把设备情况和运营情况能完美的结合起来的时刻表仍需继续研究[13]。本文首先介绍列车时刻表的概述及分类。接着介绍一种适用于城市轨道交通列车运行时刻表的编制方法,给出了详细的推定时刻表的流程。在解析时刻表时用到了TinyXml解析器,详细介绍了 TinyXml的解析方法。最后介绍了列车时刻表模拟法,并把解析出来的时刻表用于模拟列车运行上。在本次模拟运行中主要采用流程图和模块化研究了列车时刻表模拟运行法的软件实现过程,完成了联锁系统与ATS系统之间有关时刻表信息和命令对信息的传递。其中,对 ATS子系统时刻表编制及模拟运行尚有许多内容值得进一步研究 ,部分实际因素并没有全部考虑进去 ,例如联锁系统与 ATS系统之间如何快速准确地完成许可校核、运行图的自动调整问题等,都值得在以后的学习中继续深入研究。

[1] 白 鑫 . 城市轨道交通信号系统关键技术研究 [D].成都:西南交通大学 , 2000:67-70.

[2] 王坚强 . 城市轨道交通时刻表编辑系统及在线调整系统研究与设计 [D].成都:西南交通大学 , 2010:5-8.

[3] 赵 乐 . 基于再生制动的地铁列车时刻表优化模型与算法研究 [D]. 北京:北京交通大学,2014:7-8 .

[4] 中国建筑工业出版社 .城市公共交通规范 [M]. 北京:中国建筑工业出版社 , 1997.

[5] 朱美超 . 城市轨道交通时刻表编辑器的设计与实现 [D]. 南京:南京理工大学 , 2008:15.

[6] 张雁鹏,党建武,邢建平 . 城市轨道交通列车自动监督时刻表管理设计系统 [J]. 城市轨道交通研究,2013(10):48-52.

[7] 毕莹玉 . 上海地铁列车运行建模及仿真 [D]. 上海:同济大学,2008:48-51.

[8] 李永军 . 地铁 ATS 系统仿真研究 [D]. 北京:北京交通大学 , 2005.

[9] 李永军,唐祯敏 . 地铁调度监督系统的仿真研究 [J]. 现代城市轨道交通 , 2004(4):30-32.

[10] 刘伯鸿,李国宁 . 城市轨道交通信号 [M]. 成都:西南交通大学出版社,2011:94-95.

[11] 林瑜筠,吕永昌 . 计算机联锁 [M].北京:中国铁道出版社,2007:34.

[12] 徐 飞,陈浩然 . 广州地铁一号线列车运行控制的特点及实现方法 [J]. 地铁与轻轨 , 1997(2):26-29.

[13] 李玉宝,钟毅强 . 地铁系统时刻表编辑器浅析 [J]. 铁道通信信号 , 2012(1):38-40.

责任编辑 徐侃春

Research and design of train simulated running process of train based on train timetable schedule

MU Yaqian1, WANG Fei2
( 1.Key Laboratory of Opto-Electronic Technology and Intelligent Control of the Ministry of Education, Lanzhou Jiaotong University, Lanzhou 730070, China; 2. China Railway Eleven Bureau Group Signal and Communication Engineering Co. Ltd, Wuhan 430079, China )

In order to implement eff i cient and safe transport for Urban Transit, this paper put forward a method of drawing up train timetable which was suitable for it. The data such as the start-time and the end-time were stored in XML format and then parsed by the TinyXml which was very convenient and eff i cient. The parsed data were used on the train simulated the running process. The timer was used to ensure the latest data. In the paper, the software implemented process of train simulated running was introduced in detail by using program f l ow chart and VC + +6.0. It was implemented the checking and transferring about train timetable and command between ATS and interlock system.

Urban Transit; time table; Tinyxml; train simulated running

U292∶TP39

:A

1005-8451(2015)03-0001-05

2014-08-18

甘肃省自然科学基金项目(1212RJZA046)。

穆亚倩,在读硕士研究生;王 飞,助理工程师。

猜你喜欢
时刻表列车运行流程图
城市轨道交通时刻表调整服务器故障分析及探讨
令你误车的列车时刻表
一种程序源代码的标准化流程图转化方法∗
CBTC系统列车运行间隔控制仿真研究
相同径路的高速列车运行图编制方法
宁海县村级权力清单36条
计算机编制周期性列车运行图关键技术
短文改错