APP下载

基于CAN总线的CBTC仿真测试系统数据结构设计

2013-01-17葛新宇党建武

铁道标准设计 2013年5期
关键词:模拟器报文车载

葛新宇,党建武

(1.兰州交通大学电子与信息工程学院,兰州 730070; 2.兰州交通大学,兰州 730070)

随着城市轨道交通的迅速发展,基于通信的列车控制CBTC(Communication Based Train Control)系统由于其高速度、高密度等特点已经成为当今轨道交通首选通信制式。CBTC系统核心部分通过软件实现并采用模块化设计,减少了系统硬件数量,方便了系统的维护,大大减少了维护费用。美国拉斯维加斯单轨电车是世界上第一条采用CBTC作为信号制式的城市轨道交通线路,自此CBTC系统广泛应用于城市轨道交通中,在我国主要有广州地铁4号线、北京地铁4号线、北京地铁10号线及香港迪士尼专线等。但是在CBTC系统研发阶段如何为正在研发的系统提供一个发现系统故障排除故障的平台,成为了制约系统研发的障碍。

由于为CBTC系统[1-3]提供真实的环境进行测试并不现实,因为要为系统提供真实的铁路线路和列车,因此采用仿真测试的手段就显得更加理想。CBTC仿真测试系统可在CBTC系统研发过程中使用模拟器为车载设备提供一个模拟真实的工作环境,为CBTC的研发提供在实验室重现现场运营场景和进行故障分析的手段。在实现CBTC仿真测试系统时首先应对列车运行环境进行建模,在建模过程中存在线路数据、车辆数据、信号数据等大量数据,如何有效地组织管理这些数据,仿真测试系统各个子系统应该采用怎么样的系统结构都直接影响模拟环境的真实性。

1 基于CAN总线的仿真测试系统

1.1 仿真测试系统简介

仿真测试系统[4-6]为车载系统提供相关接口并通过车载通信总线DCS与车载设备进行通信。运用仿真手段模拟列车运营环境,可对列车运行中典型问题进行故障注入,并记录测试结果,通过对测试结果的分析给出故障评定,为车载设备提供检测故障的依据,它主要由以下子系统组成。

测试服务器——提供人机交互界面并根据速度模拟器计算的速度信息和距离信息,对列车进行位置跟踪,协调各模拟器工作,向各模拟器发送测试条件,模拟列车在真实线路上的运行环境;实现车载系统功能测试管理,包括测试条件的生成,自动测试以及测试结果的验证,输出测试记录等。

列车模拟器——模拟列车与车载设备的功能接口,提供列车两端主控手柄、方向手柄、模式按钮、ATO(列车自动驾驶)开始按钮、确认按钮等驾驶台操作信息;模拟列车开关量状态:门状态、门模式、完整性信息等列车状态信息,同时显示列车的状态:ATO发车、AR(自动折返)提示、制动状态、门开关命令等,综合显示列车的运行状态信息;列车模拟器还把自身的工作状态及接口数据反馈给测试服务器。

速度模拟器——速度模拟器根据列车模拟器发送来的牵引制动指令和方向手柄信息、ATO牵引制动指令和ATP(列车自动防护)输出的EB(紧急制动)、NB(常用制动)信息和牵引切除指令,计算列车当前应有的速度和加速度;根据列车当前的速度和加速度输出相应的TG脉冲信号和测速雷达速度信号给车载设备;并且可以根据测试服务器的测试指令模拟列车打滑空转;同时将列车的速度和距离信息发送给测试服务器;速度模拟器可以同时提供头尾车载设备的速度信号。

无线报文生成器——模拟无线功能接口,根据测试服务器报文条件,生成相应的无线报文发送给车载子系统,并接收车载设备的输出信息,解析并反馈给测试服务器。无线报文生成器可以支持头尾车载设备的同时工作。

应答器报文生成器——模拟应答器功能接口,根据测试服务器报文条件,生成相应的应答器报文发送给车载子系统。应答器报文生成器可以支持头尾车载设备的同时工作。

对端模拟器——模拟列车另一端车载设备,提供头尾车载设备通信接口模拟功能。

数据管理服务器——对整个系统中海量数据进行组织管理,并存储由测试服务器生成的测试结果。

测试总线——用于各个子系统间通信。

各子系统之间数据流如图1所示。

图1 CBTC仿真测试系统各子系统数据流

1.2 仿真测试系统简单工作流程

本段以列车开始启动并在运行过程中人为开启列车左门为例对CBTC仿真测试系统工作过程进行简单介绍[7]。当CBTC仿真测试系统与车载建立通信后,可在列车模拟器子系统中插入钥匙并开启列车,同时观察列车完整性、门状态指示灯是否为绿灯,若为绿灯证明列车完整性与门状态完好,按下确认按钮解除列车EB状态,同时拉动方向和牵引手柄,此时列车开始启动。当列车运行经过2个应答器后测试服务器将追踪到列车位置,并根据列车位置与线路情况驱动无线报文生成器向车载发送无线报文,无线报文中包含有移动授权信息(MA)。车载根据MA信息向MA终点运行,若此时测试人员通过人机交互界面将列车左门打开,车载ATP将控制列车紧急制动直至速度为零。若测试人员不做任何操作,在列车向MA终点运行的过程中车载未收到新的MA信息,那么车载ATO将会把列车停在MA终点,若接收到新的MA信息,那么车载ATO将会控制列车继续向新的MA终点运行。若在测试过程中出现任何一种预计结果以外的结果都将视为车载设备故障,并生成测试记录,以便分析车载设备的故障问题,整个过程如图2所示。

2 CAN总线的结构设计

2.1 CAN总线协议

通过图3可以发现CAN协议[8]只是在OSI七层模型中的链路层做出了规定,对物理层并没有做出详细的说明。在CAN协议中对链路层的规定表现在目标层和传输层中,目标层的功能包括:确认要发送的信息,为应用层提供接口;传输层功能包括:数据帧组织,总线仲裁,检错、错误报告、错误处理。ISO11898标准满足CAN协议与仿真测试系统在传输速度的要求,因此仿真测试系统采用ISO11898标准。

图2 CBTC仿真测试系统测试过程

图3 CAN分层结构

2.2 帧类型和帧格式

CAN总线中数据通信是基于消息的,所有的消息都是以固定的格式进行发送并在总线上进行广播,这样就保证了每个节点都可以收到消息以及消息的一致性,CAN总线定义了4种数据帧类型:数据帧、遥控帧、错误帧,过载帧。数据帧发送数据的固定格式,遥控帧是请求发送单元发送数据的帧,错误帧是检测节点的工作状态的帧,过载帧是用于接收单元通知其尚未做好准备的帧;图4表示了标准数据帧的格式。

起始城仲裁域控制域数据域CRC域应答域结束

图4标准数据帧格式

2.3 CAN总线的仲裁机制和校验措施

CAN总线是多主控总线结构[9],每一个节点都可以发送接收数据, CAN总线采用仲裁机制确定发送权归属于哪个节点。CAN总线的仲裁机制是在当多个节点进行发送时通过对其仲裁段显性电平(值0)出现的次数进行比较,显性电平最多的节点获得当前发送权,其他节点将失去发送权转为接受数据,同时失去发送权的节点可在当前发送完毕之后继续进行仲裁以获得发送权,CAN总线的仲裁机制保证了信息的完整性同时节省了时间。

CRC校验可以保证CAN节点中数据传输的准确性,并且CRC校验实现简单,检错能力强。因此在仿真测试系统中采用CRC-16保证数据传输的准确性。

2.4 CAN总线设计

CAN总线[10]的设计包括:CAN收发器用来对数据链路层进行组帧和物理层比特流的生成;微控制器用来对接口逻辑、数据缓冲、滤波、位流处理、错误管理逻辑等逻辑进行统一管理;CAN协议控制器完成CAN协议的相关内容。CAN总线的设计如图5所示。DS80C390芯片集成了微控制器与CAN协议控制器,采用这样的芯片不仅提高了系统的集成度,还节省了空间降低了成本。

图5 CBTC仿真测试系统CAN总线连接

3 数据结构组织(图6)

3.1 数据结构分析

仿真测试系统中有大量的数据,这些数据可分为静态数据和动态数据[11]。静态数据包括线路数据、列车参数数据等这种在系统中固定不变的数据。动态数据是在系统运行中随之改变的数据,例如人机交互信息等。

静态数据库用来对列车运行环境以及车辆信息进行初始化配置。如轨道线路的初始化(闭塞区间ID、区间长度、坡度等)、列车初始化(列车载重、列车阻力、机车牵引力模式)、信号的初始化(道岔、信号机、计轴)。

图6 数据库结构

动态数据主要包括模拟量实时数据,开关量实时数据和派生量实时数据,如在列车模拟器中模拟列车驾驶台的开关按钮(开左门、关左门、ATO启动、模式升、模式降等)。动态数据的更新是通过在测试服务器中人机交互界面的相关操作与测试服务器内部逻辑进行更新变化。

3.2 基于对象的数据结构设计

运用面向对象的设计方法[12],将每一个要素对象化。以每一个分区为基本对象将其抽象为一个节点,线路上所有的位置信息用<分区,偏移量>的相对坐标表示,可以将多个节点通过树形拓扑结构将每个节点进行有机的结合,来表示一条完整的线路。每个对象具有独立的性能数据、关联数据、控制数据, 如分区ID、长度、正反接分区ID等, 这些数据只能由与线路有关的事件享用。图7列出了仿真测试系统的对象标示。

图7 仿真测试系统的对象标示

3.3 数据结构的实现

仿真测试系统中线路数据全部来自于工程图纸,DBMS采用SQL Server 2005关系数据库。仿真测试系统需要将分离出来的对象用SQL语言进行表示,具体内容包括:将属性映射成列;在关系数据库中实现继承;将类映射成表;映射关联、聚合以及组合。

将抽象出的对象映射成SQL中的表有很多方式,一个类可以对应于一张表;也可以对应于多张表;还可以几个类组合成一张表,有时候一个类的一个属性也可以对应于一张单独的表等。

当一个类是独立的、没有任何继承关系,又与其他类无相同的属性信息,就可以将它简单地与一个数据库表进行一一对应,并在数据库中设置PRIMART KEY约束,保证数据的完整性和规范性。例如列车参数类,如图8所示。

图8 列车参数映射关系

当一个类的某一属性在多个对象中具有相同的属性时,例如信号机,在线路参数中主要包含位置<分区,偏移量>属性,同时在动态数据中还要包含信号机的状态属性,因此信号机对象映射为2个列表,此时添加表的PRIMART KEY作为FOREIGN KEY引入到原数据库中,使这2个表联系起来,这样可以避免数据冗余。

由于映射方式很多,各种映射关系各不相同在此处就不做详细叙述。

4 应用

在CBTC仿真测试系统中,基于面向对象的设计方法组织数据库,用<分区,偏移量>的相对坐标表示位置信息可以获得精确的位置信息和移动授权信息,从而实现移动闭塞的追踪、折返、出入段的仿真。为CBTC车载系统提供一个真实的模拟环境及故障处理手段。

图9 仿真测试系统运行图

图9所示是仿真测试系统运行站场图,图中线路中每一小段代表一个分区,矩形代表站台,在站台的左侧有S(Skip)、H(Hold)字母是跳停扣车标志,当两个字母都显示时列车既不调停也不扣车,列车正常运行,当只有一个字母时则代表列车将在此站跳停(S)或扣车(H),在站台与轨道之间的一条线代表屏蔽门的状态。用三角号表示应答器(只画出了有源应答器),双圆表示计轴设备,单圆表示信号机,并用矩形和四分之一圆的组合图形表示列车,四分之一圆代表车头方向,在列车的上方显示列车速度以及运行模式等信息。线路上下方坐标轴用以显示列车在上行、下行线时的速度距离曲线。

以章节1.2仿真测试系统简单工作流程所述过程为例,图9(a)为列车正常运行,从下方坐标轴中的速度距离曲线中看以看到,列车将运行到测试站三并在停在测试站三,在列车行进过程中人为打开车门时,车载ATP发现存在安全隐患使列车进入紧急制动状态,直到列车速度为零并待人为确定无安全隐患时才可以重新启动列车如图9(b)所示。

5 结论

本文基于CBTC仿真测试系统,根据仿真的需求运用面向对象的设计方法对数据库进行设计,对现实车辆环境进行了抽象,对站场元素进行了精确描述。同时仿真测试系统采用CAN总线,通过仲裁机制和CRC校验来保证数据的完整性和准确性,从而加大了数据库和仿真测试系统的可靠、准确性。

系统的设计满足了在实验室重现现场运行的要求,为CBTC系统研发提供了一个排除故障的平台。但是列车运行环境千变万化,本系统仅提供了列车运行的理想环境,对于列车在雨雪天气等恶劣环境下的运行并没有考虑,在以后的研究中将对列车运行复杂多变的环境进行补充,增加系统的实用性。

[1] 辛骥,陈微.浅谈基于CBTC的地铁列车定位功能[J].铁道通信信号,2008(9):4-6.

[2] 王伟,张建明.基于最小系统的CBTC仿真测试平台[J].都市快轨交通,2011,24(4):33-36.

[3] 鲁也传,陈永生,郭玉臣.基于通信的列车自动监控系统平台设计与实现[J].计算机应用,2009,29(S2):152-154.

[4] 王超.一种适用于CBTC仿真测试的校本研究[D].北京:北京交通大学,2010.

[5] 李亮,陈宁.CBTC软件仿真辅助开发系统的研究与实现[J].铁道通信信号,2010,46 (S1):50-51.

[6] 王琰.基于通信的列车控制系统后备系统的探讨[J].铁道标准设计,2007(6):133-134.

[7] 杨杨.基于故障注入的CBTC系统测试的研究与实现[D].北京:北京交通大学,2009.

[8] 季特.车载通信解决方案剖析CAN总线内部结构[J].电子测试,2005(10):34-36.

[9] 左希庆,李天真.基于CAN总线的传感器网络在安全监控系统中的应用[J].工矿自动化,2007(5):64-66.

[10] 张丽平,梁清华,周莹.基于CAN总线的实时数据库设计[J].辽宁工业大学学报,2010,30(2):84-86.

[11] 杜菡萏,焦万立.基于有向图的CBTC 仿真系统数据库设计[J].铁路计算机应用,2012,21(1):49-51.

[12] 王成,唐涛.CBTC仿真系统中数据库的设计与实现[J].计算机仿真,2007,24(9):258-264.

猜你喜欢

模拟器报文车载
基于J1939 协议多包报文的时序研究及应用
一种车载可折叠宿营住房
了不起的安检模拟器
盲盒模拟器
划船模拟器
CTCS-2级报文数据管理需求分析和实现
高速磁浮车载运行控制系统综述
浅析反驳类报文要点
奔驰S级48V车载电气系统(下)
智能互联势不可挡 车载存储需求爆发