基于面向对象技术的CBTC系统联锁监控机软件模块设计
2014-10-10臧永立
于 潇,钱 婳,臧永立,王 鲲
(中国铁道科学研究院 通信信号研究所,北京 100081)
基于面向对象技术的CBTC系统联锁监控机软件模块设计
于 潇,钱 婳,臧永立,王 鲲
(中国铁道科学研究院 通信信号研究所,北京 100081)
随着铁路的高速发展以及计算机联锁系统在城市轨道交通中的应用,计算机联锁系统在铁路运输中发挥的作用日益增加。本文结合面向对象软件开发的特点,简述面向对象技术在计算机联锁监控机软件开发中的应用。
联锁系统;面向对象;监控机;软件设计
计算机联锁系统负责处理进路内的道岔、信号机和轨道电路之间安全联锁关系,接收列车自动监控(ATS)或者操作员的控制指令,向列车自动防护(ATP)、ATS输出联锁信息。计算机联锁是地铁信号系统的安全核心,对提高地铁运营效率、自动化程度、管理水平以及减少行车指挥调度人员的工作强度具有直接的影响。监控机作为联锁系统的人机接口,其功能包括:站场信息显示,重要信息存储,提供联锁人机交互接口和多设备接口。在基于通信的列车控制(CBTC)系统中,监控机操作的对象数要比传统计算机联锁中复杂。对监控机的软件开发也有着更高的要求,把面向对象的软件开发思想应用于监控机开发无疑会提高软件开发效率,提高系统的安全性。
1 面向对象基本概念
客观世界是由各种各样的事物所组成的,各种各样的事物即为“对象”,每个事物都有自己的静态特性和动态行为,不同事物间的相互关系和相互作用就构成了各种不同的系统,进而构成了整个客观世界。人们为了更好地认识客观世界,把具有相似静态特征和动态行为的事物结合为一个种类,这就形成了“类”。这里的类是具有相似静态特征和动态行为的事物的抽象,客观世界就是由不同类的事物以及他们之间相互联系和相互作用构成的一个整体。
计算机软件就是为了模拟和描述客观世界的事物及他们之间的联系,使客观世界中各种系统通过计算机得以描述和实现。这种以类和对象的方式认识客观世界的思想就是面向对象思想。
2 监控机软件结构设计
监控机应用软件采用自顶向下的设计方法进行模块化设计,以实现监控机的功能需求。
监控机的主要功能:(1)提供信号值班员操作和显示界面,值班员通过鼠标向监控机传递控制意图,在监控机进行必要的逻辑处理后,将控制命令发送给联锁机,同时监控机接收联锁机发来的站场信号设备的状态信息,并显示。(2)给ATS提供接口,接收ATS的操作命令转发给联锁,并将联锁的状态信息传输给ATS显示。
2.1 外部连接关系
监控机分监控A机和监控B机,以主备方式连接到联锁网络中。联锁网络采用双网冗余方式,每台监控机分别连接到2系网络中。监控机与ATS系统采用串行通信方式,监控机与2系ATS均有通信。其连接关系如图1所示。
图1 监控机的连接关系
2.2 软件模块划分
监控机采用嵌入式Windows XP操作系统,软件开发工具为Delphi6。
如图2所示,监控机软件设主程序模块,用于调度管理以太网1通信模块、以太网2通信模块、串口通信模块、用户程序处理模块和时钟校准处理模块。
用户程序处理模块完成显示处理模块、操作处理模块和报警处理模块实例的创建和初始化设置。接收主程序模块的运行命令启动显示处理模块、操作处理模块和报警处理模块的工作。
以太网1通信模块控制监控机中2块以太网通信卡中的1块,通过用户数据报协议(UDP),完成以太网通信卡的初始化并定时查询该网卡的接收、发送缓冲区,接收主程序模块的运行命令并发送给其他子系统,以及接受其他子系统传输的信息并传递给主程序模块,实现监控机与其他子系统的以太网通信。通过以太网1通信模块与监控机进行交互的有联锁(IL)子系统、维修机(MT)子系统。
以太网2通信模块控制监控机中2块以太网通信卡中的另外一块,通过UDP,完成以太网1通信模块同样的功能。以太网2通信模块与以太网1通信模块的软件结构完全一致。
串口通信模块完成ATS通信模块实例的创建和初始化设置,接收主程序模块的运行命令,启动监控机与外接系统的串口通信。
时钟校准处理模块完成本地时钟的校准操作。
监控机软件结构如图2所示。
图2 监控机软件结构框图
2.3 模块间数据流
模块间数据流如图3所示。
图3 监控机主要模块数据流图
以太网1通信模块和以太网2通信模块均与时钟校准处理模块交互时钟信息。将从联锁系统(LS)子系统接收的站场(ST)信息传输给显示处理模块,显示处理模块将此信息作为站场显示的依据。时钟信息来源为MT子系统。
串口通信模块与时钟校准处理模块交互时钟信息。
显示处理模块将站场显示信息传输给串口通信模块。串口通信模块最终将此信息通过串口传输给ATS系统,作为ATS显示站场的依据。
操作处理模块将操作员下达的操作命令传输给以太网1通信模块。以太网1通信模块最终将此命令通过以太网传输给IL子系统。
以太网2通信模块将报警信息传输给报警处理模块。
报警处理模块将报警信息传输给串口通信模块。串口通信模块最终将报警信息通过串口传输给ATS系统,作为ATS系统显示联锁报警信息的依据。
操作处理模块将操作员下达的操作命令传输给以太网2通信模块。以太网2通信模块最终将此命令通过以太网传输给IL子系统。
以太网1通信模块将报警信息传输给报警处理模块。
串口通信模块将操作命令信息传输给操作处理模块。
3 用户处理模块的软件设计
用户程序处理模块是监控机软件中最重要也最复杂的模块,是人机接口的核心部分,要对道岔、信号机、区段等进行显示和操作。若按照面相过程的思想进行设计,显示处理和操作处理等模块要同时满足道岔、信号机和区段等对象的操作,必然使得模块程序复杂,重复性大,从而导致模块间数据流的数据量增大,类型增多,对其他模块的设计也造成影响。使得监控机软件耦合性增强,不易于扩展和修改。
根据面向对象的思想,在监控机软件设计过程中,将监控机软件操控显示的事物抽象为联锁区内动态事物和静态事物2个基本类。监控机控制和显示的其他事物分别抽象成为动态事物类和静态事物类的子类,继承其父类的方法,并根据自身特性分别对其实现。继承关系如图4所示。
图4 动、静态事物的继承关系
联锁区内动态事物主要是指状态会根据联锁数据的变化而发生改变的事物,它们大多可以通过监控机对其进行操作。如信号机、道岔等。联锁区内动态事物类封装了联锁区内动态事物的常用方法:如绘图方法、响应鼠标事件方法等。其绘图方法的继承关系如图5所示。各个动态事物子类均继承了父类的函数,并根据自身需求重构。
图5 子类绘图函数的继承关系
联锁区内静态事物主要是指状态比较稳定,状态显示只受自身配置文件支配而不受联锁数据影响的事物。如用于显示站名的位图、尽头线和绝缘节等。联锁区内静态事物类封装了联锁区内静态事物的常用方法:绘图、响应鼠标事件、读配置文件等。
采用面相对象的开发方式,使得监控机软件的显示处理和操作处理等模块设计更加清晰、简洁。无需在这些相关的模块中考虑对所有动、静态事物的操作。模块间的信息流数据量也大幅度减少,降低了软件的开发成本。
4 结束语
以面向对象思维方式开发的监控机程序目前已在环形试验场通过了测试,CBTC系统运行稳定。面向对象技术在联锁系统中的应用将发挥更大的作用,保证系统的安全和高效。
[1] 黄维通. Visual C++面向对象与可视化程序设计[M]. 2版. 北京:清华大学出版社,2003.
[2] 邵维忠,杨芙清. 面向对象的系统分析[M]. 2版. 北京:清华大学出版社,2006.
责任编辑 杨利明
Model design of object-oriented software for interlocking monitoring machine
YU Xiao, QIAN Hua, ZANG Yongli, WANG Kun
( Signal & Communication Research Institute, China Academy of Railway Sciences, Beijing 100081, China )
With the rapid development of the railway and the application of computer based Interlocking System in Urban Transit, the System played more and more important role in railway transportation. In this paper, combining with the characteristics of object-oriented software development, the model design of software for interlocking monitoring machine was brief introduced.
Interlocking System; object-oriented; monitor; software design
U284.3∶TP39
A
1005-8451(2014)05-0049-03
2013-11-14
于 潇,助理研究员;钱 婳,助理研究员。