刘梦成,孔繁虹
(同济大学 电子与信息工程学院,上海 201804)
城轨列车故障仿真培训系统的研究
刘梦成,孔繁虹
(同济大学 电子与信息工程学院,上海 201804)
城轨列车故障仿真培训系统用于培训列车驾驶员对故障的处理能力,使得驾驶员可以从容应对列车驾驶过程中出现的故障。本文主要使用SQLite数据库管理软件来建立故障数据库,基于电路模型反推故障现象,根据故障现象查询故障原因,并给出合理的故障处理建议,运用 Qt软件进行界面设计和编程实现。
故障仿真;数据库;电路模型
地铁是一个庞大的系统,包括机械系统、电气系统、通信系统。实际运行的地铁列车故障诊断,最早开始于机械设备故障诊断,即状态监测与故障诊断。但最高效的解决方法还应是地铁驾驶员通过在地铁模拟驾驶器上获得的培训。本文主要针对地铁列车电气系统的故障状况进行研究并模拟故障现象。故障仿真系统独立于地铁模拟驾驶器之外,又与模拟驾驶有着重要联系,是模拟驾驶过程中不可或缺的重要环节。
以上海市地铁3号线为仿真对象,依据该线路的电气线路图和相应的司机驾驶操作手册,在介绍故障仿真界面实现的基础上重点介绍如何实现故障仿真培训系统的各项功能。优势在于可以严格按照电气线路图的元器件连接情况来实现故障现象的触发,故障的设置可以涉及到每一个电气线路的元器件,更加切合实际情况。本文所设计的故障仿真培训系统由两部分组成:(1)供教员使用,且需要输入密码才可以登录的故障设置系统;(2)供学员使用,指导学员依据故障现象进行故障处理。
1.1 故障数据库的建立
仿真系统中故障显示即故障的现象,而故障的原因排查即故障的机理。基于故障现象和故障原因的关系考虑建立具有3张表格的数据库,本文使用SQLite数据库管理软件来构建故障数据库。
数据库中一共包含3张表格,依次为:Elements_List(元件表),Faults_List(故障现象表)和Suggestions_List(故障处理建议表)。第1张元件表用来存储电气线路中的电子元器件,如断路器、继电器、接触器等,针对辅助逆变器这种具有整体模块性的元件直接以模块化存储,如相应车厢上的AUX。此外,该表格中需要包含连接第2张表的共用判断元件,已有的元器件可以直接使用,如MP1_ S3(MP1车上的电弓升弓到位行程开关),没有的元器件则考虑新建一个器件,如Doors_Open(虚拟元件),但教员在设置元器件状态时,不允许更改虚拟元件的状态,即需要保证该元件处于正常工作状态(1值)。第2张故障现象表用来存储共用的判断元件及相应的故障现象。第3张故障处理建议表,用来存储供学员排查故障原因和处理建议,考虑到故障现象所对应的故障原因具有发生概率的问题,此处存储的故障原因仅是发生故障频率较多的故障元器件,所以第3张表与前两张表没有链接关系,但是培训机构可以根据已有的故障处理经验去更改这张原因-建议表,不需要修改原程序,可以直接在数据库中更改。
1.2 故障数据库的实现
Qt软件除了提供QSqlQuery类,还提供了3个更高级的类来访问数据库,分别是SQL查询模型(QSqlQueryModel),SQL表格模型(QSqlTableModel)和SQL关系表格模型(QSqlRelationalTableModel)。本文使用SQL表格模型来实现对数据库的增加、删除、查询、更改功能。
教员在设置完故障,培训学员结束时,需要把数据库中的数据,恢复到初始状态,以备下次培训时使用。正常状态时元件的isOK值为1,故障状态时元件的isOK值为0。通过使用SQL语言中Update语句实现复位功能,实现程序如下:
query.exec("update Elements_list set isOK='1' where isOK='0'")
实际的故障检测系统中会实时采集地铁车载状态的数据,能有效监视地铁列车行车过程中各种运行状态量的变化过程,并基于这些故障数据进行分析,及时进行故障诊断和处理,并对这些故障数据进行存储备份。本文中的地铁列车故障仿真培训系统分为教员故障设置系统和学员故障处理系统两部分,它们之间共用同一个数据库。
针对复杂的地铁列车的电气线路,所有诸如断路器、继电器等元件定义为基本类Element,而元件是否正常工作不仅与状态值相关,还与其输入有关。从而在Element中定义QList <Element*>类型的类成员inputElements,使用链表结构来存储输入的元件,构成输入元件集。而元件的输入关系有两种:相互之间为“与”关系的输入,直接使用QList下的append()函数进行添加;相互之间为“或”关系的输入,额外添加虚拟的“node”节点来实现。部分程序如下:
void addOneInput(Element *e) {
this->inputElements.append(e);
}
void addAllToOneInput(QList<Element *> eList) {
Element *n=new Element("node", eList);
this->inputElements.append(n);
}
以上海地铁3号线列车上110 V永久电压得电为例,考虑到需要显示故障现象,基于电路模型的元器件逻辑关系如图1所示。
图1 110 V永久电压得电与否的示意图
其中Line_506表示110 V永久电压的电源线,MP_S3表示列车升弓到位开关,TC_AUX表示TC车上辅助逆变器模块,M_AUX表示M车上辅助逆变器模块,node表示引入的用于表示“或”关系的节点,PEVCB表示列车永久电压断路器,BATCB表示列车永久电源断路器。MP_S3,PEVCB,BATCB,TC_AUX或者M_AUX,同时得电,才可以使得Line_506线得电,也就是获得110 V永久电压。110 V永久电压的获得既可以通过TC车的辅助逆变器获得,也可以通过M车的辅助逆变器获得,所以两者之间是“或”的关系。所以其电路模型可以通过如下的程序来实现:
line_506->addOneInput(mp_s3);
line_506->addOneInput(pevcb);
line_506->addOneInput(batcb);
QList<Element *> tc_m_aux;
tc_m_aux.append(tc_aux);
tc_m_aux.append(m_aux);
line_506->addAllToOneInput(tc_m_aux);
其中,line_506存储Line_506,mp_s3存储元件MP_S3,pevcb存储元件PEVCB,batcb存储元件BATCB,tc_aux存储元件TC_AUX,同理m_aux存储模块元件M_AUX。
数据库第3张表是Suggestions_List表,实现的功能是查询故障原因并给出相应的建议。例如,对于列车的开门故障原因和建议列表如图2所示,其实现是通过使用SQL语言中SELECT DISTINCT语句查询故障现象“faults”列,并添加到ComboBox控件中,以供学员自己去选择故障,然后系统会自动根据“faults”去数据库中查找到该故障现象对应的故障原因及相应的描述、位置、处理建议。
图2 故障数据库中Suggestions_List表
教员通过输入登录名和密码登录故障设置系统,如图3所示。通过界面中Button控件可以选择相应的表格对数据库进行操作,实现增加、删除、查询、修改功能。其中控件元件库,故障现象库和故障处理库分别对应数据库中的Elements_List(元件表),Faults_List(故障现象表)和Suggestions_List(故障处理建议表)。
图3 教员故障设置系统
本文以地铁司机按下开门按钮(左门或右门),地铁列车的左门或右门均无法打开这一故障现象为例,进行仿真。
教员在开始进行故障设置前,先点击“复位初始值”Button控件,复位所有元器件的状态值,然后再通过更改设置元器件的状态值(0或1)进行故障设置,1表示元件处于正常工作的状态,0表示元件处于故障状态,如图3中所示,设置DOCB(车门开断路开关)处于非正常工作状态(0值)即故障状态。教员通过选择相应的元件库,找到需要设置故障的元件,更改状态值,从而依据程序中设计的电路模型去模拟电路的逻辑关系,显示出故障现象。除了以上的故障设置方式,教员还可以通过查询功能(点击“查询”Button控件或者直接按键盘上的Enter键)实现快速查找到希望设置故障的元器件,从而进行故障设置,如图4所示。
图4 快速查找元器件的功能
教员设置好故障后,学员系统中学员通过点击Button控件“显示故障现象”,在空白区域显示故障的现象,图5所示故障现象为:司机按下DOPB_A开左门或DOPB_B开右门所有门不打开,其余的如110 V列车启动后电压、升弓是否到位的状态,则都显示为正常工作状态。
为了达到培训目的,学员需要手动选择故障类型,通过Button控件查询故障原因。
在查询到可能的故障原因后,学员点击Button控件“故障处理建议”,在页面上会显示出对应故障原因的故障处理建议。司机按照系统给出的提示去检查该元件是否有故障,如果故障解除,则表明问题解决了。如果故障没有解除,则按Button控件“原因(Next)”继续查找下一条故障原因,以及相应的故障处理建议。
图5 学员查看故障现象
本文采用SQLite数据库管理软件实现了故障数据库的建立、存储,基于电路模型,使用Qt软件实现界面设计以及调用数据库,初步培训学员熟悉故障处理的各项操作。这对于司机在驾驶列车过程中遇到故障事件,提高其应急处理能力具有重要的现实意义。
[1] 徐 波,于劲松,李行善.复杂系统的智能故障诊断[J].信息与控制,2004,33(1):56-59.
[2] 邵鸿玲.基于数据仓库技术在地铁故障系统中的应用[D].江苏:江苏科技大学,2013.
[3] 沈忠红. 广州地铁车辆故障诊断系统[J]. 机车电传动,2000(4).
[4] 胡文伟. 广州地铁一号线列车故障诊断系统的设计概念[J].电力机车技术,1996(1):18-21.
[5] 陈昫东,孙祯炎,苏东胜,等.城市轨道交通故障分析处理系统的研制[J].科技与企业,2014(2).
责任编辑 陈 蓉
Troubleshooting Simulation Training System for train of Urban Transit
LIU Mengcheng, KONG Fanhong
( School of Electronics and Information Engineering, Tongji University, Shanghai 201804, China )
The Troubleshooting Simulation Training System for train of Urban Transit was benef i cial to improve the driver’s ability of fault handling for train operation. This paper used the SQLite database management software to set up faults database, reversed the failure phenomenon based on the circuit model, inquired the failure cause on the basis of failure phenomenon, proposed rational suggestion of fault handling. Qt software was used for interfacial design and programming implementation.
troubleshooting simulation; database; circuit model
U231.9∶TP39
A
1005-8451(2015)10-0064-04
2015-01-28
刘梦成, 在读硕士研究生;孔繁虹,副教授。