基于二叉树结构高速铁路联锁系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2016-12-05
作者简介:杨美娜,在读硕士研究生;杨 扬,副教授。
文章编号:1005-8451(2017)04-0020-05
基于二叉树结构高速铁路联锁系统设计与实现
杨美娜,杨 扬
(西南交通大学 信息科学与技术学院,成都 611756)
摘 要:计算机联锁系统的进路搜索算法需要有更高的可靠性、安全性以及更快的搜索效率,才能满足高速铁路联锁系统的要求。针对这一需求,采用二叉树结构的进路搜索算法设计高速铁路的计算机联锁系统。基于二叉树的计算机联锁系统,其关键部分就是要将信号平面布置图上的信号点建立成二叉树模型。二叉树模型与站场形状有一定的相似性,在设备间的关系上,二叉树模型的结点与站场的联锁设备一一对应。因此,通过站场的平面布置图很容易建立二叉树模型,为编写程序提供方便,同时二叉树的数据结构有利于进路搜索,为选排进路提供了方便。 关键词:计算机联锁;二叉树;进路搜索;高速铁路
中图分类号:U284.37∶TP39 文献标识码:A Binary tree structure based high-speed railway interlocking system
YANG Meina, YANG Yang
( School of Information Sciences and Technology, Southwest Jiaotong University, Chengdu 611756, China )
Abstract: The route search of computer interlocking system needs to have higher safety and reliability as well as faster search efficiency, to meet the requirements of high-speed railway interlocking system. According to this requirement, the computer interlocking system of high-speed railway was designed by using the route searching algorithm of the binary tree structure. The key part of computer interlocking system that based on binary tree structure was to find signals in plane layout and use them build a binary tree. The mode of binary branch tree was similar to shape of station yard. Node of binary tree and the interlocking device of station were one-to-one correspondence on the relationship between the equipments. Therefore, it was easy to set up binary tree model according to the station yard layout. Binary tree model provides convenient to writing program, at the same time, to the benefit for route search.Keywords: computer interlocking; binary tree; route search; high-speed railway
联锁一般来说是指车站的各种信号设备之间的相互制约关系,从而保证列车运行安全,提高列车的运行效率[1-3]。计算机联锁自诞生之日起至今经历了很长的历程。计算机联锁从最简单的联锁控制,到以继电器为基础的电气集中联锁,再到基于计算机的计算机联锁系统,计算机联锁系统在不断的发展与自我完善中[4]。
联锁数据在计算机存储中的组织形式就叫做数据结构[5]。在计算机联锁中数据结构对联锁系统的功能有一定的影响,数据结构影响程序的运行速度、数据占用空间大小等直接影响到系统的性能。因此在进路搜索算法中要选用合适的数据结构,采用合适的数据组织形式可以简化编写联锁程序的复杂度。本文采用二叉树的数据结构并采用深度优先搜索算
法来实现联锁功能。
1 数据结构
在计算机联锁中,一个好的联锁数据结构可以优化联锁程序,节省选排进路所用的时间,提高搜索进路的速率。如果在车站中各个信号点之间的联锁关系比较复杂,数据间的制约关系比较繁多,一个良好的数据结构可以使数据间的组织形式变得一目了然。因此在计算机联锁的系统设计中需要考虑数据结构,计算机联锁中通常有3种数据结构进路表结构、站场型和二叉树[5-6]。
1.1 进路表结构
进路表型数据结构是将数据汇总在一个表中就形成了进路表。在进路进行搜索之前就将可能搜索到的所有进路,包括基本进路、变通进路、迂回进路全部汇总在一个数据表中,就构成了总进路表[7]。
第26卷第4期
Vol.26 No.4
研究与开发
Research and Development
在搜索进路时就根据始端和终端搜索到相应的进路,并为列车排列相应进路。
1.2 站场型数据结构
站场型数据结构是指将信号点都用数据块的形式来表示,各个数据块的连接形式与站场上信号点之间的连接形式是一样的[8]。在建立站场型数据模型时,要根据站场的平面布置图中个信号点的位置将与之对应的数据模块进行连接,就构成了站场型数据模型。每个数据模块由数据场和指针场组成,数据模块中存储信号点的状态值,指针场中存储的是下一个数据模块的地址。
1.3 二叉树型数据结构
二叉树是一种树形结构,它的每个结点至多有两个子结点,两个结点有左右次序不能交换次序。它的每个结点由一个数据单元和两个分别指向左右两个子结点的指针组成,因此每个结点都至少由一个数据域和两个指针域组成[8-9]。站场的形状一般与二叉树的形状类似,因此可以将联锁设备中信号点都用二叉树的结点表示,建立二叉树数据模型,方便进路搜索[10-12]。
1.4 几种数据结构的对比
综上所述,进路表型数据结构进路全部存储在进路表中,在已知进路始终端的情况下,很容易确定对应的进路,易于查找。但如果站场很大,进路很多的情况下,进路表中存储的数据量就比较大,这对建立进路表造成很大困难,同时在查找进路时需要一个一个遍历,这就对搜索进路的效率有一定的影响[13]。进路表中的数据对站场的依赖性很大,站场中联锁设备进行增加减少时,进路表需要重新生成。
站场型数据结构,数据的连接形式与站场的平面布置图上的信号点的连接形式是一样的。如果站场改变,只需要改变数据的连接方式,增加和减少结点就可以了,很容易修改[13]。由于数据是模块的形式存储的,在编写程序时有利于程序的模块化。
二叉树是一种树形结构,在搜索进路前要将信号点建立在二叉树中,如果站场很大,建立二叉树所用的时间就比较多。在搜索进路时需对二叉树进行搜索,需要采用适当的搜索方式,否则可能影响搜索效率。2 搜索算法
在二叉树中,深度优先搜索是最常用的搜索方式,其搜索过程类似于树的先序遍历,其采用的搜索方式是沿着初始结点开始,尽可能向下搜索结点,直到结点没有后续结点或目标结点为止。如果沿着一条进路搜索到最末端结点仍然没有搜索到目标结点,那么就沿着离最末结点最近结点的另一条边搜索,直到结点没有后续结点或目标结点为止,如果仍然没有找到目标结点,就重复上述操作,直到找到目标结点,或将所有的结点都遍历一遍[14-16]。
二叉树结构也可以用广度优先算法,从初始结点开始,沿着结点的所有边同时向下搜索,在搜索过程中,同一层的结点未处理完就不会向下搜索[15]。二叉树的广度优先搜索虽然是可行的,但却不常用,因为在站场中联锁控制设备很多的情况下,使用此搜索方式需要的内存空间大,搜索到的无效进路多,影响搜索效率[17]。
文中二叉树结构采用最为常见的深度优先搜索方式进行进路搜索,加入一些约束条件,进路的占用情况、敌对信号机的状态等制约因素,搜索过程也需要检查制约因素,条件不成立,则该条进路搜索无效。
3 构建系统模型
3.1 站场的二叉树模型建立
二叉树建模就是要将站场中联锁设备,信号机、道岔、轨道区段用二叉树的结点表示[18]。为了表示方便,信号机中,接车和出站信号机中的第1和第2灯位都用一个结点表示,调车信号机采用一个灯位表示,用一个结点表示。道岔区段用3个结点来表示分为岔前、辙叉、岔后3个部分,轨道区段用一个结点表示。从根结点开始,在初始节点的的左右子叶结点里放入下一个结点的地址值,连续赋值,遇到末结点为股道区段时停止赋值。
建立二叉树时的规则:
(1)在建立二叉树模型的过程中,根据站场的数据模型,所建立的二叉树模型一般不是满二叉树,为了搜索进路方便,从根结点开始,如果下一层只
研究与开发
第26卷第4期杨美娜等:基于二叉树结构高速铁路联锁系统设计与实现