基于列车智能显示器故障记录处理的设计与研究

2017-12-15 00:52
计算机测量与控制 2017年11期
关键词:字节显示器代码

(1.武汉大学,武汉 430072; 2.湖南铁道职业技术学院,湖南 株洲 412000)

基于列车智能显示器故障记录处理的设计与研究

龚娟1,2

(1.武汉大学,武汉430072; 2.湖南铁道职业技术学院,湖南株洲412000)

列车在外部环境的影响下导致各设备的软硬件产生缺陷从而引发故障,在一定程度上影响了列车的性能和安全;显示器是列车必不可少的重要部件,是人机交互的桥梁,也是列车各设备故障状态信息显示的窗口;针对传统列车显示器的故障误报和易产生故障空白记录的现象,文章设计和实现了基于故障码的列车显示器故障信息搜索和分析方法,大大提高了列车显示器应用设计人员的开发效率,减少了故障记录过程的工作量;并基于实际测试环境对该方法进行了实验,结果表明,该方法对列车显示器故障记录的处理具有高效性、健壮性,并保证了显示器故障信息显示的准确性。

显示器;故障记录;故障搜索;故障分析

0 引言

列车运行过程中,由于操作环境和使用条件的影响,故障产生是必然的现象。及时地显示故障信息,并通过故障提示对机车各设备进行检修,是保证列车安全运行以及发挥最高效能的先决条件。显示设备已成为列车网络控制系统和信息化系统的重要部件,主要负责列车各设备状态信息的显示,作为列车控制系统的智能人机交互窗口,可对整车各设备进行故障诊断、分析及显示,可对各故障进行详细地记录,记录内容确定故障发生的设备名称、故障等级、故障名称及发生故障的时间,当故障发生时,可协助司机采取适当的操作,并使维护人员更容易地查找并解决故障,帮助工作人员及时有效地排除故障,已成为保证机车安全运行的一个重要措施。故利用列车智能显示器来及时有效地发现和定位故障,是机车的安全和消除隐患的必要前提。

1 基本原理与方法

列车故障检测与诊断系统是一种列车在运行过程中出现或即将出现故障时,通过提示或人机直接对话形式达到在较短时间内有效诊断列车故障的智能系统。其中,故障信息的显示和提示则由列车显示器应用软件来实现。

1.1 列车通信网络与显示器通信原理

列车通信网络TCN是面向控制的一种连接车载设备的数据通信系统,是分布式列车控制系统的核心组成部分。它包含连接各车厢间的绞线式列车总线WTB和连接车厢内各设备的多功能车辆总线MVB。列车智能显示器HMI属于MVB 3类设备,具有过程数据和消息数据的能力,支持MVB网络接口是列车智能显示器的基本要求。TCN与HMI的间的通信原理如图1所示。

图1 列车网络控制系统与显示器通信过程

从故障信息的通信流程图可看出,“故障事件”是诊断机制的触发源,列车通信网络系统从车载各部件或子系统的电子控制单元(如空调控制单元、制动控制单元和牵引控制单元等)获取故障信息及故障相关环境参数。若故障事件出现,则列车通信网络的中央处理单元将通过通信对故障源环境参数进行获取、检测、分类处理,同时根据协议发送相应的故障代码,显示器接收到总线上的相关数据后对故障信息进行处理,完成故障列表、显示和存储,显示器通过形象的图形或文字方式将列车运行状态和故障信息提供给司机。整个过程包含故障相关的界面设计、故障信息显示的代码设计,显示器需要根据具体模式,显示具体故障内容信息和记录,并包括故障的背景参数和故障等级。

1.2 显示器故障记录处理方法

列车智能显示器是列车网络控制系统的重要组成部分,它提供车载系统工作和运行相关的的实时状态信息、故障显示和人机交互功能,同时显示器提供便捷的的网络维护接口。显示器硬件通常包括处理器、内存、FLASH存储器、键盘、触摸屏、显示屏、通信接口电路等部分,软件方面,显示器采用嵌入式Linux系统,并设置基于Linux系统的图形显示接口(Graphical User Interface,GUI)和图形界面开发工具Fluid,用户通过开发工具和软件进行显示器具体界面和功能的开发。

目前,不同的车型(主要分为机车、城轨和动车)显示器应用软件所设计的故障处理方式基本类似。通常,显示器处理的故障分为现存故障、故障履历和故障提示三部分,现存故障是列车当前已经发生了且没有消失的故障信息;故障履历显示现存故障和过去一段时间内发生过的故障;故障提示是针对现存故障而设计的,它可对当前列车存在的故障进行故障提示,为司机或技术人员查找故障提供帮助。

列车显示器故障处理方法如图2所示。

图2 列车显示器故障记录处理方法

列车网络控制系统对整车各设备的故障信息进行采集与分析后将故障数据按照通信协议发送到相应的通信端口,显示器根据通信协议周期性的对端口数据进行读取操作,根据图2可知,显示器根据读取到的故障数据搜索故障,找到相应的故障编码后再进行故障分析,若确定当前故障为新产生的故障则存取新故障记录信息和提示信息,并存至故障履历中,反之,若当前故障为消失状态则存储故障结束时间并转储整条记录信息,最后将故障信息分别显示在现在故障、故障履历和故障提示界面中。通常,列车显示器故障信息读取的操作流程如图3所示。

图3 列车显示器故障信息读取的操作流程

2 传统的故障搜索与分析方法

现今,列车整车中的设备日益增多,导致列车故障诊断系统产生了海量的数据,从而显著增加了列车显示器与通信网络控制系统间的通信负荷量[2],与之相对应的是显示器应用软件需处理和显示的故障数据也将剧增。因此,如何对产生的故障数据进行分析,并在大量的故障记录中查找到所对应的故障代码,保证故障数据显示的完整性和准确性,已成为列车显示器故障处理迫切需要考虑的问题。

图4是目前列车显示器故障搜索与故障分析方法,该故障搜索与故障分析过程首先是将当前最新的故障数据状态按字节序存入故障状态数组中,并按字节序对每个字节的数据进行运算比较,若新故障字节数据与旧数据发生了变化,则认定当前字节存在相应故障的变化。为了分析故障原因,对故障数据字节的每位去比较查找并计算故障序号,并据此分析该故障位是新故障的发生还是旧故障的消失。然后,针对具体事件是故障发生或消失的状况分别执行相应的系统预定义的动作。如若是故障发生将添加此故障到故障记录;若是故障消失则从故障记录中删除此故障的记录项。

图4 传统列车显示器的故障搜索与分析方法

如果列车存在故障信息,显示器将按记录条以纯文本信息的形式显示给司机或技术人员,每条纯文本信息都分配有故障代码,故障代码有一定的编排依据,通常是按不同的设备来进行分配。根据不同的故障类别可进行故障评估,一般分为严重、中等和轻微三个等级,严重故障将影响列车正常运营,需要司机立刻处理;中等故障将影响列车部分性能,需司机稍作处理就能继续运营;轻微故障只需司机了解即可,不影响列车运营。故障代码、类别、时间及故障内容都将显示在人机接口单元的故障界面上,故障显示如图5所示。

图5 列车显示器故障状态信息记录

3 基于故障码的故障搜索与分析方法

传统的故障搜索方法,通过比较故障序号成员的变化情况,逐行去对包含空白记录的文本信息进行读取,最终显示故障信息,以此完成显示功能。此方案不仅回溯周期长,并且相当不准确,对于并发故障,难以做到有效和精准性。开发人员必需反复检测,回溯故障。此类故障检索方法周期长,而且工作量巨大,难以保证开发、调试的进度,方法分析详细说明如下:

1)在存储最新故障数据状态时,每个端口的每个字节都用一条语句来存取故障状态值,而通常情况下列车存在成百上千条故障记录,随着数据量的增加,将会急剧降低开发效率。

2)由于存储最新故障数据状态的不灵活性,使得在故障文本的处理上也受到约束,严格按照每个字节的每个位来编排故障内容,即使当前位不存在故障信息,也得在故障文本中为其保留空白记录条,增加了设计工作量。

3)在开发过程中没有充分利用故障代码的优势,采用增加故障序号成员的方式来搜索故障,使得整个故障程序的逻辑性不强,无法保证故障显示和提示信息的准确性。

基于以上分析,本文提出了一种新的基于故障码的故障搜索和分析方法,从时间复杂性和空间复杂性上都很好地解决此类问题。

3.1 设计方案的思想

与传统故障搜索方法不同的是,本文在故障搜索一开始就将故障的代码、故障端口及存储位置进行初始化,在判断存在故障变化的情况下,不再需要计算故障序号,而是直接根据当前的故障代码值进行判断,若为非0值则获取整个故障文本的信息,再去搜索故障代码,最后,若故障发生则添加新的故障信息,若故障消失则删除旧的故障信息。详细的实现流程如图6所示:

图6 基于故障码的列车显示器故障搜索与分析方法

具体步骤说明如下:

(1)故障信息初始化。依次对各故障设备的故障代码、故障端口及具体存储位置进行初始化,值存于各数组元素中,为后续存储最新故障数据状态做准备。

(2)存储最新故障状态数据。通过MVB网络接口协议对最新故障数据进行读取并存储,此处读到的最新故障状态数据主要是指的现存故障。根据已初始化的故障代码、故障端口及其位置采用简单的循环语句可实现。

(3)判断。对已获取到的新老故障字节序进行比较,若故障字节序不同则说明当前故障发生了变化,依次对当前字节序的各位进行判断,若存在故障代码值则进行下一步操作,否则本次搜索结束。

(4)获取故障文本信息。依次对当前故障位的各故障文本信息进行转储,内容包括:故障发生时间、故障内容、故障发生装置、故障等级、故障代码等。

(5)搜索故障代码。对整个存放故障数据的数组进行搜索,若找到故障码则进行下一步操作,否则故障整个搜索结束。

(6)故障发生或消失的判断。对老故障的故障位进行判断,若有变化则说明是故障发生,否则是故障消失。

(7)故障文本的操作。若为故障发生,则将发生的故障记录信息添加至现存故障文本文件和故障履历文本文件内;若为故障消失,则将现存故障文本内对应的故障记录信息进行转储,故障履历的内容不进行处理。

3.2 伪代码

图4给出了基于故障码的列车显示器故障搜索与分析方法的具体实现过程,为使设计方案的结构更清晰,增强设计过程的易读好,便于更好地实现本文的开发过程,现用另一种算法描述语言对上述方案设计的说明进行阐述,即伪代码,详细如下所示:

Dim Wrong_Device_No[][]←{the value of wrong code}; //故障初始化

Dim Wrong_Device_Port[][]←{the value of wrong port};

Dim Wrong_Device_Byte[][]←{the value of wrong byte};

for i=0 to the size of port //存储最新故障状态数据

WrongStatus[]←mvb.get_uchar();

for i=0 to WRONGBYTENO

{

if(OldWrongStatus[i]^WrongStatus[i]) //有故障变化

for j=1 to 8

{

if((OldWrongStatus[i]>>j)&0x01)

{

if(Wrong_Device_No[i][j]!=0) //故障代码为非0值

{

for i=0 to List_Items //获取整个故障文本信息

{

fseek(fp_wrongtxt,location,SEEK_SET);

fread(wrongtxtinfo[i].content,size,count,fp_wrongtxt);

}

for i = 0 to ListNo

{

if( WrongInfo[i].WrongRCode == Wrong_Device_No[i][j]) //找到故障代码

{

if(WrongHappend) //故障发生

{

for i=0 to List_total

wronginfo[i].content←wrongtxtinfo[i].content;

}

Else //故障消失

{

for m=location to ListNo-1

wronginfo[m]=wronginfo[m+1];

}

} //end compare

}//end for

}//end Wrong_Device_No[i][j]

}//end OldWrongStatus

}//end for

}//end for

3.3 实验环境及结果分析

为了保证实验结果的准确性和真实性,对基于故障码的列车显示器故障搜索及故障分析方法的测试主要分与列车通信网络的通信测试和显示屏本身的故障显示测试。实验所用的显示屏为TPX系列屏,其硬件环境为包含了MVB网络接口设计的PowerPC处理器,扩展了SDRAM、FLASH、键盘、触摸屏、LCD显示器、以太网等外部接口。软件环境为嵌入式Linux操作系统,以tiny-x为图形显示接口,开发工具为FLTK的图形开发工具Fluid。

通过列车通信网络对各设备故障端口数据传送的模拟值进行实验,实验结果如图7所示。实验结果表明,基于故障码的故障搜索与分析方法能有效地实现列车整车设备故障信息的记录功能,并能可靠地与列车通信网络进行实时通信,整车设备的信息记录无误报或无记录现象,保证了显示器故障信息显示的准确性。

图7 基于故障码故障搜索与分析方法的实验结果

4 与传统故障处理方法的比较

在列车显示器故障记录处理过程中,无论采取哪种方法都要保证故障记录数据显示和提示的正确性。本文的列车故障显示器故障搜索方法与传统方法相比较而言有一定的优势。

首先,本文方法可减少显示器应用软件设计工作量,传统故障最新状态数据的存取过程工作量较大,在将网络接口中所有数据存放于故障状态数组过程中,需要大量的按字节存放语句。而本文在经过故障代码、端口及存储位置的初始化后,仅需简单的循环即可实现故障状态存取过程。

其次,显示器应用开发人员在故障文本的输入过程中,传统方法极易产生错误,必须严格按照端口数据字节的位来处理,即使当前位没有故障数据也需输入空白行,开发过程需十分谨慎,否则会有错位现象。而本文方法仅需输入存在的故障记录文本即可,不需输入空白记录行,具体比较如图8所示。

最后,传统方法难以保证显示器故障显示的正确性,由于在文本中存在空行的现象,在程序设计过程中,若空白位没有屏蔽则会显示出空白记录,而本文方法则完全不可能产生空白记录现象,详细如图9所示。

图8 显示器故障搜索与分析方法故障文本处理的比较(左侧为本文方法)

图9 显示器故障搜索与分析方法故障显示结果的比较(左侧为本文方法)

5 结束语

本文首先描述了列车显示器与网络控制系统的通信原理,并对传统列车显示器的故障记录处理方法进行了阐述。针对传统列车显示器故障记录易产生空白记录的现象,本文设计和实现了一种新的列车显示器故障搜索和分析方法,结合程序流程图及伪代码的形式,对该方法的实现过程进行了详细的介绍,并与传统列车显示器记录方法进行了比较。结果表明,该方法对列车显示器故障记录的处理具有高效性、健壮性,并保证了显示器故障信息显示的准确性。在今后的研究过程中,将侧重于列车显示器故障记录处理方法的优化,以帮助司机或维护人员能更准更快地查找并解决故障。

[1] 王佳佳,刘长清.辅助变流器故障诊断技术[J].大功率变流技术,2010(4):12-15.

[2] 贺德强.地铁列车故障检测与诊断系统网络体系结构及其仿真研究[J].机车电传动,2009(5):30-31.

[3] 刘 军.支持TCN的列车智能显示器的研究与实现[D].长沙:中南大学,2009.

DesignandResearchBasedonFaultRecordProcessingofTrainIntelligentDisplay

Gong Juan1,2

(1.WU HAN University, Wuhan 430072,China; 2.Hunan Rilway Professional Technology College,Zhuzhou 412000, China)

Under the influence of the external environment, the train causes the defects of the hardware and software of the equipment. The defects lead to fault and affect the performance and safety of the train to a certain extent. Monitor is an essential component of train, a bridge of human-computer interaction, and a window for displaying the fault information of train equipment. Aiming at the phenomenon of false alarm and blank record of traditional train monitor, this paper designs a new method about fault information searching and analyzing based on fault code. This method greatly promotes the efficiency of train display application designers and reduces the workload of fault recording process. Based on the actual test environment, this method is tested. Results show that the method is efficient and robust for fault record of train display and, to some extent, ensures the accuracy of display the fault information.

monitor; fault record; fault research; fault analysis

2017-06-29;

2017-08-29。

2017湖南省教育厅科学研究项目(17C1041)。

龚 娟(1978-),女,湖南汩罗人,硕士研究生,副教授/高级工程师,主要从事列车网络控制方向的研究。

1671-4598(2017)11-0039-04

10.16526/j.cnki.11-4762/tp.2017.11.010

TN873

B

猜你喜欢
字节显示器代码
No.8 字节跳动将推出独立出口电商APP
把显示器“穿”在身上
IDC发布《2018年PC显示器市场跟踪报告》
No.10 “字节跳动手机”要来了?
一种新型点阵显示器的设计
创世代码
创世代码
创世代码
创世代码
轻量级分组密码Midori64的积分攻击