李申龙,孔 元,郑雪洋
(1 中国铁道科学研究院集团有限公司 机车车辆研究所,北京100081;2 北京纵横机电科技有限公司,北京100094)
多功能车辆总线(Multifunction Vehcle Bus)是IEC 61375的列车通信网络标准中定义的一种用于连接同一车辆或者同一编组中的总线设备的现场总线技术。MVB设备是指轨道交通列车上使用MVB通信协议进行数据通信的设备[1]。目前,“和谐号”、“复兴号”等高速动车组在全国范围内广泛通行,基于MVB网络通信的车载设备亦已研制完成并装车使用,我国高速铁路在理论和实践方面取得了巨大进展。
MVB是一种总线型拓扑,用于传输车辆控制数据、状态数据和故障诊断数据。这些数据信息的传输是建立在MVB网络状态良好的前提下,而当MVB网络出现通讯异常时,如端口碰撞、从帧超时、线路问题导致信号质量差等故障,列车无法进行正常通信和故障诊断。现有解决此类故障的方法为,技术人员通过查看MVB分析仪上的信息,如产生碰撞的端口、错误的设备地址等信息来定位故障,该方法虽然有效,但十分耗时,且人的主观因素会影响故障定位的准确性。因此需要一种能快速定位MVB网络故障的策略和方法。
文中以MVB协议分析仪硬件为基础,结合高速动车组MVB网络拓扑和通讯协议,同时对大量MVB通讯故障数据进行了汇总和总结,设计开发了一套基于C++语言的故障诊断软件。软件实现了MVB数据获取、数据过滤、数据统计、过程数据实时显示以及MVB通讯故障诊断等功能,不仅能够缩短故障诊断时间,还能提升故障诊断的准确率。高速动车组MVB通讯故障诊断软件运行在PC上,系统工作框图如图1所示。
图1 系统工作框图
MVB协议分析仪可实时获取总线上的数据,并通过TCP协议将MVB数据发送至故障诊断软件。故障诊断软件与MVB分析仪建立连接后,将数据接收到本地,同时对数据进行处理,可以实时统计MVB数据、实时显示过程数据,也可以结合列车拓扑,对MVB通讯故障进行诊断,给出诊断结果。MVB通讯故障诊断软件功能框图如图2所示。
图2 MVB通讯故障诊断软件框图
数据捕获模块是故障诊断软件与MVB分析仪的桥梁,是诊断软件最基本的功能。数据捕获模块将MVB分析仪发出的TCP数据包,解析为MVB数据,并按照时间顺序排列显示,解析内容包括端口地址、数据长度、时间戳、中断类型以及数据内容。捕获后的数据如图3所示。
一个完整的MVB数据帧包括:主帧起始分界符、主帧数据、主帧CRC校验、主帧终止符、从帧起始分界符、从帧数据、从帧CRC校验和从帧终止符。图3中每一行表示一份MVB数据,其中“F码”列与“地址”列为主帧数据内容,“数据”列为从帧数据内容,“错误”列和“中断”列为数据帧诊断结果,“相对时间”列表示前后两个数据帧的时间间隔。
图3 捕获后的数据
MVB总线上的端口个数多、数据内容量大,需要一种能够快速筛选出MVB端口,以便定位故障,因此本软件设计了数据过滤模块。
数据过滤模块可以针对端口的F码、端口地址、错误类型、中断类型、从帧数据内容等参数进行过滤,其数据过滤参数说明见表1。过滤模块界面及过滤内容具体含义如图4所示。
图4 数据过滤界面
表1 数据过滤参数说明
使用数据过滤功能时,每一行表示一条过滤规则,一条过滤规则可以填写多列过滤条件,一行中的多个过滤条件为逻辑“与”的关系。一次过滤,最多可以同时设置15行过滤规则,不同行过滤规则之间为逻辑“或”的关系。
数据过滤模块可以快速定位故障端口,便于现场排查故障。同时在分析MVB报文时,也可以过滤从帧数据内容,更直观的查看MVB端口在一段时间内的状态或数值变化。下面以1128端口为例,对数据过滤模块做简要说明:
将过滤条件设为“端口地址:1128”,过滤后的结果如图5所示。过滤后的结果为所有MVB端口为1128的数据帧。其中“F码”列为“3”表示1128端口为过程数据端口,从帧数据长度为16字节;“错误”列为“000000”表示数据帧正常无错误;“中断”列“SFC”表示总线上检测到1128端口的有效从帧(Slave Frame Checked);“相对时间”列表示总线上1128数据帧的帧间隔,可以看出1128端口的主帧轮询周期为64 ms;“数据”列为1128端口的从帧数据内容,通过数据过滤模块可以方便的查看1128端口从帧数据,按照协议规定,1128端口第二个字节表示生命信号,过滤后的数据可以清楚的看出设备生命信号在变化,若生命信号不变化,则可认为设备出现了故障。
图5 1128端口数据
数据统计模块可以实时统计MVB分析仪捕获的总线数据,并对MVB总线整体通信质量进行评价。数据统计功能界面如图6所示。
图6 数据统计功能界面
其中“报文”数据框按照MVB数据帧的类型分别进行统计,分为“过程数据”列(F码0-4),“消息数据”列(F码12),“设备状态”列(F码15),“事件轮询”列(F码8、9、13、14)以及“未知类型”列(F码5、6、7、10、11)。对于各项统计,“正常”行表示主帧从帧通信正常;“无应答”表示在规定时间内从帧无应答;“错误”列表示其他类型的MVB数据帧。“计数”框统计了分析仪收到的数据帧总数及异常数据帧数,并给出了异常比例。“总帧数”为总线上主帧与从帧之和,“异常数”为总线上的各种错误帧总数。
通过数据统计模块,可以初步判断网络整体状态。
过程数据是一种周期性数据,采用逻辑地址,以固定时间间隔、源寻址广播的方式发送,用于传输列车的控制信息。此类数据特点是数据完整性高、采用周期性传输、延时低、抖动小[2]。
过程数据实时显示模块可以实时显示从MVB总线上捕获的所有过程数据,并按照端口地址罗列统计结果。过程数据实时显示界面如图7所示。
图7 过程数据实时显示界面
该模块对MVB过程数据相应的F码、端口地址、主帧总数、从帧总数、错误总数、特征周期、最小周期、最大周期及从帧数据等内容予以统计和显示。通过“错误总数”列可以识别出问题MVB端口,再结合通讯协议可以快速定位故障设备。通过特征周期、最小周期、最大周期3个参数可以评价过程数据端口的通讯周期是否稳定,以及是否符合通讯协议中的要求。
为了方便现场故障定位和调试,本软件通过上述MVB数据捕获功能,汇总了大量故障数据,并结合列车网络拓扑、列车MVB接线图及列车通讯协议,整理并总结出了一套快速定位MVB通讯故障的方法。高速动车组的简易MVB网络拓扑如图8所示,其中绿色线为MVB总线。
图8 高速动车组简易MVB拓扑
软件在进行故障诊断前,需先设置MVB网络拓扑和配置MVB通信协议。MVB网络拓扑包括MVB设备、中继器、总线管理器,以及他们之间的连接关系;MVB通信协议包括设备的设备地址、过程数据端口地址、过程数据端口长度、生命信号字节偏移等信息。软件可根据已配置的列车拓扑和MVB通讯协议,在列车发生MVB通讯故障时,快速定位出以下几种故障:
MVB网络是一种总线式网络,为了保证总线上各设备之间网络通信的可靠性和实时性,需要由MVB总线的主设备即总线管理器(Bus Adminis⁃trator,简称BA)调度各设备之间的通信[3],MVB总线的任何活动都是由总线管理器发起的,总线管理器先发送一个主帧,然后被主帧寻址的MVB设备就响应一个从帧,主帧加从帧组成一条完整的MVB报文。当软件接收不到任何总线上的主帧数据时,即认为发生总线管理器故障。
为了保证列车控制数据通信的实时性和确定性,同时保证充分利用带宽,总线管理器会按照端口的特征周期去轮询过程数据。
软件会统计过程数据端口的特征周期、最小周期、最大周期3个时间参数,特征周期为接收到的过程数据端口时间间隔的平均值。对某特定过程数据端口,当最小周期小于特征周期的一半或最大周期大于特征周期的一倍时,软件会报出此端口轮询周期异常。
设备通讯故障为MVB通讯中最常见的故障,发生此类故障的原因很多,但其表现形式均为过程数据报文从帧内容异常,如设备故障导致不回复从帧、MVB端口碰撞导致从帧错误、线路质量差导致从帧丢失等。发生设备通讯故障时,过程数据端口在总线上的不同表现形式如图9所示。当软件检测到过程数据端口发生异常时,结合配置的MVB协议,能够快速定位故障设备。
图9 350端口从帧状态
中继器为MVB通信中的0类设备,用于实现信号的再生和放大。由于中继器仅用于MVB信号的转发,其本身并不具备数据通信能力,因此当列车中继器设备发生故障时,很难直接定位故障原因。软件可以结合MVB拓扑和总线状态,间接定位中继器故障。
以图1拓扑为例,当检测到3车中继器下所有设备(制动控制单元、辅助控制单元、受电弓控制器、门控器、空调)均报出通信异常时,则认为3车中继器发生故障。
当现场发生MVB通讯故障时,MVB通讯故障诊断软件可以帮助维护人员快速定位故障设备,缩短了故障诊断时间,同时还提升了故障诊断的准确率。实际使用过程中,软件对文中提到的几种故障定位准确。但MVB通讯故障产生的原因复杂,表现形式多种多样,如当某故障设备影响其他设备正常通讯,或多个设备同时发生MVB通讯故障时,软件对这些故障诊断的准确率会下降,对此类故障数据的收集和故障特征信息的提取是后续研究的重点。