基于分层架构高可扩展的地铁列车显示屏软件系统研制
2023-10-29刘佳薇
刘佳薇,杨 博,刘 琪
西安中车永电捷通电气有限公司,陕西 西安 710018
0 引言
随着我国城市轨道交通的高速发展,地铁给人们的出行带来了极大的便利,同时也加快了城市建设的进度。在地铁车辆中,列车控制与管理系统(train control and management system,TCMS)作为整辆车的核心,起到了中枢神经的作用,控制并监视着整个列车的运行[1],而人机接口单元(human machine interface,HMI)则方便地向司机和维修人员展示了整个列车的运行数据,因此该部分对于列车行车安全有着重要的意义[2-4]。基于传统的显示屏软件架构,系统研制面临着开发周期长、维护成本较高等诸多挑战,已无法满足下一代基于纯国产化硬件平台地铁列车显示屏系统的研制需求。为了满足地铁列车运行过程中的监控需求,及时解决列车调试过程中的问题,提高列车调试效率,同时满足国内城市地铁线路多期建设的特点,本文自主设计与开发了一种基于分层架构高可扩展插件式的地铁列车显示屏架构,具有易开发、易调试、易模块化替换等的诸多特点。
1 系统介绍
1.1 硬件配置
每列车配有2套HMI,其中所使用的显示屏大小为12.1英寸,分辨率为1 024×768。该平台采用Linux操作系统,处理器为 ARM架构,主频为800 MHz,512 MB DDR3内存。全触摸无按键电阻屏,对比度700:1。
1.2 相关开发技术
制动显示屏的软件开发基于嵌入式Linux操作系统,框架使用Qt框架,开发环境采用Qt Creator工具。Qt Creator提供了跨平台、完整的Qt软件开发环境(integrated development environment,IDE)[5-6]。
2 软件设计
2.1 TCMS网络拓扑
列车控制与管理系统(train control and management system,TCMS)是专为轨道交通车辆的控制和通信而设计的一套车载计算机系统[7]。图1为上海地铁6号线网络拓朴图,整车由4节车组成,由带司机室的拖车Tc车和带受电弓的动车Mp车组成。而本文所介绍的地铁列车显示屏软件则是搭载于Tc车的人机接口单元HMI中,它可以向列车司机以及维修人员展示列车运行数据及各种子设备的状态参数等。
图1 上海地铁6号线TCMS网络拓扑结构图
2.2 界面和功能设计
该软件主要由常规、维修、设置和检查4个功能模块组成。用户可以使用点按显示屏的方式自由切换。
常规模式如图2所示,主要针对列车司机。在该模式下,列车司机可以掌握整辆车的运行数据,包括列车速度、运行模式、报站方案以及一些子设备的状态参数等。
图2 常规模式
而维修模式则主要向用户展示TCMS系统中各个子设备的技术参数、MVB硬线传输数据、TCMS系统各个软件版本数据等。图3为维修模式的画面跳转图。
图3 维修模式
进入设置模式,用户可以对时钟、列车编号、车门、乘车率、显示屏语言、按键音量和一些子设备的累计能耗进行设置。图4为设置模式的画面跳转图。
图4 设置模式
检查模式则主要用于向用户展示各种试验数据。列车维护人员在列车驻车状态下,可使用该模式进行各项试验。图5为检查模式的画面跳转图。
图5 检查模式
2.3 软件架构设计
地铁列车显示屏软件目标是在车载硬件和显示屏硬件之间构建数据通信及展示的能力,实现司机对列车运行状态的监控并及时感知各设备组件的告警信息,因此,软件的系统边界外有2个对象,分别是位于系统南侧的车载硬件及位于系统北侧的显示屏,而该系统就是通过一系列能力,将车载硬件的信息及时、准确、灵活地展示在显示屏中。图6为HMI软件的架构图。
图6 HMI软件架构
为了完成数据的展示,本系统首先构建了数据采集层。该采集层通过硬件中的驱动模块,将车载硬件的信息通过MVB总线采集至系统内。数据采集层中针对不同设备分别设置了多个数据采集器,这些采集器采集的硬件设备包括但不限于空调、车门、牵引、辅助及广播等设备。
在数据采集层上,系统构建了逻辑处理层,负责对数据采集层获取的数据按照预先定义的范式进行加工,将数据转换为可显示的形式。在逻辑处理层中,实现多个对数据处理的通用组件,如数据转换组件、数据计算组件、端口映射组件等,及各硬件设备特有的专用组件,如车门异常检测组件等。
在逻辑处理层上,系统构建了页面加载层,负责将处理好的数据绘制到显示屏系统中。在页面加载层,首先构建了组件层,实现了页面所需的公用组件,减少了开发成本并降低了后续系统的维护成本。在组件层上实现了绘制层,将处理好的数据按照界面设计中已规范化的形式进行数据加载,并完成最终的页面渲染,同时,将异常告警及时展示在显示屏中。
系统通过引入数据采集层、逻辑处理层及页面加载层极大地提升了系统扩展的能力,当后续有新的硬件设备安装并接入MVB总线后,只需在数据采集层扩展出对应的采集器,在逻辑处理层中实现硬件特有组件,并在页面加载层绘制对应的设备页面,即可完成新增硬件设备的显示功能,即新引入的设备实现不对原有设备的实现进行修改,提高了系统整体的鲁棒性,同时,在出现功能缺陷时,也可避免出现霰弹式修改。软件通过构建数据采集层,逻辑处理层和页面加载层,构建了高内聚、低耦合HMI软件系统。
3 程序实现
地铁列车显示屏软件主要服务于列车驾驶人员以及列车维修人员,因此其画面需要清晰明了地展示列车运行状态以及列车历史运行数据等。
3.1 显示界面
图7为上海地铁6号线列车司机室显示屏中的“常规-总体”界面,该界面的主要作用是向列车司机详尽展示了列车的部分基本运行数据。
图7 “常规-总体”画面
3.2 逻辑处理
为获取到3.1中填充的BC压力数据,须将从数据采集层获取的数据进行进一步处理。从MVB总线获取的BC压力长度为8 bits,取值范围为0~255,而BC对应的压力值为0~10 bar,须将8 bits代表的BC压力转换为10进制后,再进行运算,规范化为可理解的压力值。
3.3 MVB数据通信
为从MVB总线获取到BC压力对应的8 bits数据,需要按照预先定义的设备信息、字偏置及位置从MVB总线返回的数据流中获取。
4 结束语
HMI对于整个TCMS系统来说十分重要,它就像是TCMS系统的眼睛一样,司机和维护人员可以通过HMI了解到列车综合的数据信息,包含其运行的状态数据和故障数据等。本文提出的这种基于分层架构高可扩展的地铁列车显示屏软件目前已经应用在上海地铁6号线和8号线项目中,经过多次试验和调试,列车现已进入运营阶段。目前,软件运行稳定,操作画面友好,方便维护人员下载数据。该软件架构方法对今后其他HMI应用软件的开发具有很好的参考价值。