刘 涌,李海潮,赵 鞭
一种基于二叉树的测控设备故障诊断方法*
刘 涌**,李海潮,赵 鞭
(西安卫星测控中心,西安 710043)
针对传统故障树知识规则存储和诊断推理算法不易实现的问题,提出了一种基于二叉树的故障诊断方法。首先,通过对故障树与二叉树转换规则与方法的分析,直接构建出测控设备故障二叉树集;然后,利用二叉树节点左右编码值来定位该节点的方法,建立故障诊断规则库;最后,采用遍历诊断规则库的搜索算法实现对故障定位。在测控设备中的应用表明,该方法能够方便地建立诊断规则库,准确定位设备故障,可有效提高设备故障诊断效率。
测控设备;故障诊断;故障树;故障二叉树;诊断规则
航天测控设备是复杂的机电一体化综合系统,为各类航天器提供测控支持,其运行状况直接影响到航天测控任务的成败。对这类复杂大型设备,设备操作者用传统的经验模式进行设备故障处理有很大的局限性。虽然测控设备故障诊断领域引入了故障树分析法[1-2],为复杂的诊断过程提供了清晰直观的故障处理流程,但这些传统故障树模型结构复杂,特别是对复杂系统所构建的故障树集,各元素结构差异很大,既不利于计算机的存储和检索,又难以用统一的计算机软件算法实现对每个故障树的诊断推理。二叉树的结构统一,且每个树可等价转换为二叉树[3],故可考虑将故障树转化为故障二叉树。
故障二叉树分析法在国内已有研究[4],但多是以如何解决诊断规则的有效存储为研究目的,很少给出故障诊断的推理算法。本文在分析故障树与故障二叉树转换关系基础上,提出直接构建设备故障二叉树的方法,研究了故障二叉树利用数据库表来存储诊断规则的过程,在此基础上,给出故障二叉树诊断推理算法和软件实现,并结合测控设备故障实例分析了算法的实际应用效果。
2.1故障树模型
故障树分析法[5]是一种快速、准确的设备故障诊断与定位方法。故障树由顶事件、中间事件、底事件以及反映事件间关系的逻辑门组成。顶事件是指最不希望发生的故障事件,是诊断分析的目标;中间事件是指导致顶事件发生的各种原因;底事件是指故障机理已知的基本故障因素。
建立故障树的关键是要弄清系统功能间的逻辑关系、故障模式等,使故障树能够抽象地反映出实际系统的故障组合和所传递的逻辑关系。经分析知道,航天测控设备故障树的顶事件与底事件在逻辑上大多可用或门来连接,这种逻辑关系容易求解最小割集[6],由一个底事件就可以很快定位故障。因此,典型的测控设备故障树模型如图1(a)所示,其中,T为顶事件,A为中间事件,X为底事件,事件均为节点,各节点间均用逻辑或门连接。
图1 故障二叉树的形成过程Fig.1 The formation of fault binary tree
2.2故障树与故障二叉树的转换
从图1(a)看出,故障树结构复杂,其节点的最大度数无限制,且无左、右之分,故不同故障树的结构各异;二叉树则结构统一,其节点的最大度数仅为2,且有左、右之分,故易于实现存储和遍历算法。由于树可等价转化为二叉树,其转化过程只改变存储方式,而不会丢失原树中的信息,因此,将故障树转换为故障二叉树,能较易实现诊断规则的数据库存储和诊断推理算法。
转换过程遵循以下规则:从故障树根节点开始,将树节点的孩子作为其左子节点,兄弟作为其右子节点,不断地进行树型转换,直到最后一个叶子节点。将图1(a)中故障树按照此规则转换成二叉树后,故障二叉树结构如图1(b)所示。
在计算机处理中,图1(b)中故障二叉树模型的诊断处理流程仍不够清晰,不利于推理过程的路径切换,因此,还需对该模型做进一步的结构变形处理。方法如下:
(1)二叉树根节点和叶节点结构不变;
(2)将父节点符号变为菱形,内容更改成疑问句,作为推理判断节点;对无左孩子的父节点增加左子节点,且该子节点结构与父节点原结构一致,这样,父节点成为故障中间原因的条件判断句,其左子节点为“是”的回答结果,其右子节点为“否”的回答结果;
(3)给无右孩子的父节点增加右子节点,该子节点为叶节点,内容由原父节点确定。
经过变形后的二叉树成为完全二叉树,结构如图1(c)所示,其与图1(a)和图1(b)的故障树完全等价。其中,顶事件T为根节点,故障中间原因A统一为父节点,底事件X为叶节点,左子节点是父节点肯定回答的结果,存放下一级中间原因或底事件,右子节点是父节点否定回答的结果,存放同级故障原因。
2.3故障二叉树的构建
通过对上述转换过程及变形方法分析可知,在实际应用中,故障二叉树完全可以根据设备情况直接构建,而不需经过复杂转换过程来得到。故障二叉树的具体构建方法如下:
首先,将故障征兆作为根节点,是故障二叉树的顶事件;
然后,将第一父节点作为根节点的唯一孩子,存放判断句式的故障原因;
再为每个父节点生成左、右孩子,用左孩子存放发生概率相对较大的下一级中间原因或底事件,是父节点肯定回答的结果;用右孩子存放同级故障原因,是父节点否定回答的结果。如此不断地生成节点,直到所有底事件都已产生为止。这样就生成了故障二叉树,其左右子树的次序不能任意颠倒。
2.4故障二叉树实例
图2(a)是针对某型测控设备基带系统“数传接收机不能锁定”故障征兆,按照上述构建方法直接生成的故障二叉树,图中:T表示数传接收机无法锁定;A1为转备机后能否锁定;A2为重置参数后是否锁定;A3为TTC模式是否正常;A4为切换数传本振后是否正常;A5为切换数传下变频器后是否正常;A6为切换低本振是否正常;A7为切换LNA后是否正常;X1表示基带数传状态不稳;X2表示中频分路器异常;X3表示数传本振异常;X4表示数传下变频器异常;X5表示矩阵与中频分路单元连接断开;X6表示低本振异常;X7表示LNA异常;X8表示LNA前后端微波切换开关故障。
图2 故障二叉树实例Fig.2 The example of fault binary tree
由图2(a)可知,故障二叉树从根节点开始,由上往下,经过中间节点直至叶子节点,完全是一种产生式规则专家系统中的正向推理过程。把根节点作为前件,各中间事件或顶事件为后件,可以用“IF…THEN…”来表示,并将这种规则运用到整个推理过程中。
前面实例中,当基带分系统出现“数传接收机不能锁定”的故障事件T时,假设故障原因是由于矩阵与中频分路单元连接异常X5所引起,则整个推理过程如下:任务期间,操作者的监视行为主要集中在主机上,“数传接收机不能锁定”的故障事件是指基带主机无法锁定,这时需要检查基带备机接收数传信号是否正常锁定的事件A1。如果备机也无法锁定,那么进一步检查主机TTC通道工作是否正常的事件A3。如果TTC工作正常,则往下检查在切换数传本振后是否锁定的事件A4,如果还是无法锁定,则切换数传下变频器,检查数传是否锁定的事件A5,如果仍无法锁定,那么可以确定,故障原因就是矩阵与中频分路单元连接出现问题的事件X5所引起。至此,推理过程结束。
由上述过程知,故障二叉树的诊断推理过程是一种链条式的推理模型,其具体推理方法如下:
(1)按照故障征兆,首先从第一父节点提供的推断线索开始进行诊断推理,并根据这一步的诊断结果判断故障事实的真假情况,然后转入下一步;
(2)如果该节点的故障事实为真,则转入其左子节点进行诊断处理;若不为真,则转入其右子节点进行诊断处理;
(3)当转入的节点为叶子节点时,推理过程完成,从该叶子节点中提取出诊断结果;否则,转到第2步继续推理。
采用故障二叉树表模式来存储故障诊断规则[7]:首先,对二叉树节点进行定位,并抽象出节点表达的信息;然后,利用定位结果连同与该节点相关联的父子节点,可构成一条诊断规则记录。这样就把故障二叉树结构与数据库表联系起来,每个节点产生一条规则记录,一棵树可产生一系列的记录存储到数据库的一张诊断规则表中。
用数组或链表处理二叉树集时,树节点存储方式复杂、检索定位困难。这里,对故障二叉树节点的定位,采用了对节点进行左右值编码的方式来实现,利于数据库对规则的存储。节点编码规则如下:不计顶事件节点,先将第一父节点左值编码确定为1,后续的编码值均逐次加1;所有左值编码为从上往下编,右值编码为从下往上编;同级编码先左节点后右节点顺次进行。按照这个规则,上述图2(a)的故障二叉树编码结果如图2(b)所示。除去顶事件,该二叉树共有5层(L1~L5),编码节点15个,编码值1~30。可以看出,每个节点左右编码值都是唯一的,通过这两个编码值完全可确定节点,给故障二叉树的遍历带来方便。
编码完成后,可对节点进行定位并提取节点信息。节点信息结构如下:
[节点]={[顶事件],[属性],[规则内容],[层级],[左值],[右值]}。
“属性”指该节点是故障中间原因的父节点(用0表示)还是底事件的叶子节点(用1表示)。利用这些信息以及故障二叉树的编号,就构成了故障诊断规则记录。
由此,可以在SQL Server数据库管理系统中,设计规则库表来存储该故障二叉树的推理规则。定义规则库表各字段,见表1。
表1 规则库表设计Tab.1 The design of rule-base
为测控设备每个分系统各创建一张诊断规则表,将设备故障二叉树除顶事件节点外的其他所有节点,按照表字段要求,形成诊断规则记录存于相应表中。由于每个分系统可以构造出很多故障二叉树,因此,利用该存储方法可生成分系统的故障二叉树集诊断规则表,对整个测控设备可生成故障诊断知识规则库。
用二叉树进行故障诊断的推理机制就是在二叉树故障规则库中搜索相关规则,并与用户提供的或者已知的证据不断地进行比较、判别,直到得出最终结论。整个推理过程实际上就是通过节点编码值的定位结果遍历故障二叉树,完成每个节点指定的诊断操作,直至找到需要的叶子节点为止。诊断过程实现如下:
Step 1 根据故障信息,通过规则表中字段Type查找该故障征兆的记录数,如记录数为0,则表中无该故障信息记录,提示该故障为新故障案例,返回;否则,继续下一步;
Step 2 通过规则表字段Layer查找二叉树的总层数,推断后续推理过程的最大询问次数;
Step 3 由规则表的Type_id查询每个节点的记录信息,将这些节点信息存放到一个可变长CFaultNodeArray类型的诊断规则结构数组m_Fault-NodeArray中;数据结构设计为
CFaultNodeArray是由FAULTNODE定义的结构数组类;
Step 4 故障诊断推理算法描述:
(1)由m_FaultNodeArray.GetSize()得到一个故障二叉树的节点总数;
(2)在数组中循环查找左值lft=1的节点,确定为第一父节点;
(3)根据父节点提供的oper_order信息,对设备做诊断处理,判断该信息的真假,如果为真,则左值lft=lft+1,再由lft值,查找到对应子节点,并置判断量YorNFlag为True;否则,右值rgt=rgt-1,再由rgt值,查找到对应子节点,并置判断量YorNFlag为False;
(4)对查询到的子节点,判断该节点的层次数是否超限,如超限则退出,否则继续;
(5)判断子节点flag值,如为1,则已经查询到叶节点,诊断推理过程结束;如为0,则需根据判断量YorNFlag的值进行下一步诊断,如YorNFlag为True,则转入左子节点,否则转入右子节点,然后转入到(3)继续推理过程。
该算法具有通用性,可完成对设备故障的诊断处理过程。
基于二叉树的测控设备故障诊断推理模块采用VC开发,并使用SQL Server 2000数据库系统来管理由测控设备故障二叉树集构建的诊断知识规则库。
在算法实现时,因用户输入的故障征兆串不可能与二叉诊断树规则库中表述的故障征兆串完全一致,为此,采用编辑距离算法(也称LD算法)来计算这两个字串间的相似度。LD算法是指在两个字串间,通过插入、删除和替换操作将源字串转换成目标字串所需的最少操作次数,即最短编辑距离,由该距离来计算两个字串的相似度[8],编辑距离越小,相似度则越大。
故障诊断推理的界面如图3所示。以基带分系统出现的“数传接收机不能锁定”故障为例,当用户输入故障征兆“数传接收机无法锁定”后,点击“搜索”按钮,则在“故障征兆匹配列表”栏中显示5条从知识规则库中搜索到的与输入征兆有相似度的故障征兆列表。
图3 故障二叉树的诊断界面Fig.3 Diagnostic UI of fault binary tree
用户选择“数传接收机不能锁定”这条相似度最高的征兆后,双击征兆栏,推理按钮“是”和“否”被激活,开始每一步的诊断推理过程。在诊断中,如果系统自动给出的判断语句需要用户做肯定确认则单击“是”按钮,否则单击“否”按钮,推理过程在人机交互中不断进行,经过5步推理后得出诊断结果:“矩阵与中频分路单元连接异常”。经检查发现,矩阵与分路单元间的连接电缆松动,重新拔插后故障得到解决。因此,利用二叉树诊断规则库,该诊断推理算法能有效地诊断出设备的故障问题。
与利用局限性比较大的链表结构来存储故障二叉树诊断规则[9]有所不同,采用节点编码定位方法来实现数据库表对诊断规则的存储,这种模式灵活性大,适用范围广,易于采用统一的软件算法实现诊断推理过程。因此,上述方法可应用到测控设备构建的所有故障二叉树的诊断推理过程中。
把故障树转换为故障二叉树后,可借助二叉树节点的编码定位方法实现对故障诊断规则的数据库存储功能,可借助二叉树模型结构统一的特点完成对故障二叉树的搜索遍历,实现故障诊断推理过程。分析表明,设备故障二叉树的诊断方法比传统故障树的诊断方法更为简单,更易于软件的实现。在航天测控设备中的实际应用结果证明了该方法在测控设备故障诊断中的有效性和可靠性,能准确定位设备故障,提高设备故障诊断效率,具有很强的实用价值。
测控设备结构复杂,目前能自动采集的设备状态参量还很有限,部分状态信息需人工方式获取,导致该方法在诊断过程中要利用人机交互来完成。因此,如何充分利用故障二叉树的结构特点实现设备故障诊断过程自动化,提高设备故障的智能诊断水平,还需要做更深入的研究。
[1] 孙福安,郭亚坤,戴兵.基于模糊故障树的基带设备故障诊断方法[J].兵工自动化,2013,32(3):76-79.
SUN Fuan,GUO Yakun,DAI Bing.Fault diagnosis method of base band equipment based on fuzzy fault tree[J]. Ordnance Industry Automation,2013,32(3):76-79.(in Chinese)
[2] 钟飞,刘传伟,邓世东,等.基于故障树的发射机故障诊断[J].舰船电子工程,2013,33(1):111-112.
ZHONG Fei,LIU Chuanwei,DENG Shidong,et al.Fault diagnosis of transmitter based on fault tree[J].Ship Electronic Engineering,2013,33(1):111-112.(in Chinese)
[3] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2002.
YAN Weimin,WU Weimin.Data structure(C language)[M].Beijing:TsinghuaUniversityPress,2002.(in Chinese)
[4] 李钊,李建军,董巍巍,等.基于二叉树的故障诊断信息录入技术[J].无线电工程,2012,42(11):55-57.
LI Zhao,LI Jianjun,DONG Weiwei,et al.Recording technology of fault diagnosis information based on bintree[J]. Radio Engineering,2012,42(11):55-77.(in Chinese)
[5] 张金玉,张炜.装备智能故障诊断与预测[M].北京:国防工业出版社,2013.
ZHANG Jinyu,ZHANG Wei.Intelligent fault diagnosis and prognosis for equipment[M].Beijing:National Defense Industry Press,2013.(in Chinese)
[6] 柯铭铭,路平.故障树在无人机发射机故障诊断中的应用[J].现代电子技术,2011,34(19):18-20.
KE Mingming,LU Ping.Application of FT in fault diagnosis of UAV transmitter[J].Modern Electronics Technique,2011,34(19):18-20.(in Chinese)
[7] 陈凤友,陈忠一.故障树分析法在雷达发射机故障诊断中的应用[J].电子机械工程,2013,29(3):61-64.
CHEN Fengyou,CHEN Zhongyi.Application of fault tree analysis to radar transmitter fault diagnosis[J].Electro-Mechanical Engineering,2013,29(3):61-64.(in Chinese)
[8] 姜华,韩安琪,王美佳,等.基于改进编辑距离的字符串相似度求解算法[J].计算机工程,2014,40(1):222-227.
JIANG Hua,HAN Anqi,WANG Meijia,et al.Solution algorithm of string similiarity based on improved levenshtein distance[J].Computer Engineering,2014,40(1):222-227.(in Chinese)
[9] 王学杰,贺国,陈连树.基于二叉树的某型船柴油机控制系统故障诊断专家系统[J].中国船舶研究,2009,4(6):34-37.
WANG Xuejie,HE Guo,CHEN Lianshu.Fault diagnosis expert system for diesel control system on a certain ship based on binary fault tree[J].Chinese Journal of Ship Research,2009,4(6):34-37.(in Chinese)
刘 涌(1968—),男,四川邻水人,1992年获工学学士学位,现为高级工程师,主要从事测控软件研发工作;
LIU Yong was born in Linshui,Sichuan Province,in 1968.He received the B.S.degree in 1992.He is now a senior engineer.His research concerns TT&C software development.
Email:baqin888@sina.com
李海潮(1975—),男,陕西西安人,1996年获工学学士学位,现为高级工程师,主要从事飞行器测控工作;
LI Haichao was born in Xi′an,Shaanxi Province,in 1975. He received the B.S.degree in 1996.He is now a senior engineer.His research concerns spacecraft TT&C Technology.
赵 鞭(1976—),男,四川乐山人,2010年获工学硕士学位,现为工程师,主要从事飞行器测控工作。
ZHAO Bian was born in Leshan,Sichuan Province,in 1976.He received the M.S.degree in 2010.He is now an engineer.His research concerns spacecraft TT&C Technology.
A Fault Diagnosis Method for TT&C Equipment
Based on Binary Tree
LIU Yong,LI Haichao,ZHAO Bian
(Xi′an Satellite Control Center,Xi′an 710043,China)
To solve the difficulties in achieving the fault diagnosis rule's store and reasoning algorithm by traditional fault tree,a new fault diagnosis method based on binary tree is proposed.Firstly,a set of fault binary tree for the space Telemetry,Tracking,and Command(TT&C)equipment is directly constructed after analyzing the conversion rule and method for fault tree to binary tree.Secondly,the rule-base for fault diagnosis is set up by the method,in which the node's left and right coding values are used to locate tree's node.Finally,the fault location is realized by the searching algorithm based on tranversing the diagnosis rule-base.The application in TT&C equipment shows that this method can easily establish diagnosis rulebase,accurately locate equipment faults and effectively improve the efficiency of fault diagnosis.
TT&C equipment;fault diagnosis;fault tree;fault bindary tree;diagnosis rule
**通信作者:baqin888@sina.com baqin888@sina.com
TN80;TP182
A
1001-893X(2016)08-0928-06
10.3969/j.issn.1001-893x.2016.08.017
2016-01-29;
2016-04-20
date:2016-01-29;Revised date:2016-04-20
引用格式:刘涌,李海潮,赵鞭.一种基于二叉树的测控设备故障诊断方法[J].电讯技术,2016,56(8):928-933.[LIU Yong,LI Haichao,ZHAO Bian.A fault diagnosis method for TT&C equipment based on binary tree[J].Telecommunication Engineering,2016,56(8):928-933.]