时间:2024-07-28
范会来 闫英敏 杨凤彪
(军械工程学院电气工程系,河北 石家庄 050003)
故障树是一种特殊的逻辑图。基于故障树的诊断方法是一种由果到因的分析过程,它从系统的故障状态出发,逐级进行推理分析,最终确定故障发生的基本原因、影响程度和发生概率[1]。近年来,有关这方面的研究主要是将故障树方法和其他方法相结合,其中故障树与专家系统相结合的方法占绝大多数。
故障树在故障诊断中的应用比较局限于其“浅知识”应用[2],如基于故障树分析(fault tree analysis,FTA)的故障诊断专家系统就是应用最小分割集作为联系故障树与专家系统知识库的纽带[3]。而对故障树“深知识”的挖掘利用较少,不能充分发挥故障树模型的作用。“智能指引完备过程规则树”(intelligent guide completeness process rule tree,IGCPRT)模型[4]和扩展故障树节点模型[5]的提出为完整描述故障树模型提供了一种较好的方法。该方法通过增加节点信息、丰富节点知识,使模型成为具备深层知识的故障树或者规则树。但是这两种方法仍局限于对最小割集方法的扩展,缺乏对故障树层次逻辑关系的应用[6-7]。
本文首先对故障树过程性诊断进行数学分析,然后提出了一种使用非线性链表组织各个扩展故障树节点的方法,很好地解决了故障诊断专家系统的知识获取和快速推理问题,达到了快速准确故障诊断和故障定位的要求。
故障树模型采用最小割集进行故障诊断,而故障树的过程性故障诊断主要是按照系统工作原理,应用故障树层次的逻辑推理关系,将系统故障逐层分解细化,最后定位到底事件故障状态。
在复杂系统中,应用故障树的过程性故障诊断可以挖掘故障树模型中包含的深层知识,反映诊断对象内在层次关联。诊断过程符合人类逻辑思考的推理过程。故障树模型的顶事件对应于诊断系统要分析解决的任务,其底事件对应诊断系统的推理结果,而故障树由顶到底的层次和逻辑关系对应诊断系统的推理过程。
假设所研究的设备及其组成的部件、元件等的工作状态只取正常与故障两种,且部件、元件的状态是相互独立的,进而研究一个由n个独立的底事件构成的故障树。
设xi为底事件i的状态变量,xi仅取0或1两种状态;Φ表示顶事件的状态变量,Φ也仅取0或1两种状态,则有如下定义:
顶事件状态Φ完全由故障树底事件状态xi所决定,即 Φ = Φ(X),其中 X=(x1,x2,…,xn),称 Φ(X)为故障树的结构函数。结构函数是表示设备状态的一种布尔函数,其自变量为该设备组成单元的状态。不同的故障树有不同的逻辑结构,从而对应不同的结构函数。
下面对两种常用的故障树逻辑结构进行分析。
①故障树或门结构如图1所示。这是一种布尔并集运算,当xi只取0或1时,可直接转化为数学乘积运算。
图1 故障树或门结构图Fig.1 Structure of the OR gate of fault tree
当xi仅取0或1时,式(3)可以改写为:
式(4)表明,当故障树的某一个部件、元件出现故障时,设备就会发生故障;当或门逻辑下的部件、元件全部正常工作时,设备才会正常工作。
②故障树与门结构如图2所示。
图2 故障树与门结构图Fig.2 Structure of the AND gate of fault tree
当xi仅取0或1时,式(5)可以改写为:
式(6)表明,当故障树的全部部件、元件出现故障时,设备才会发生故障。对此可以这样理解与门结构,即在构成与门结构的子事件中存在着为增加系统可靠性的备用设备,或者系统设计时存在功能重复的冗余设备,所以只有当这几个重复的功能设备同时出现故障时,系统才会表现出故障状态。
对任意一棵静态故障树,都可以简化为由逻辑与门和或门以及各个事件组成的规范故障树形式[8],或者通过故障树化简的上行法和下行法[9]化简为状态可测量的节点的中间事件和底事件的逻辑关系。对于绝大多数有限个数检测点的设备都可以使用这种方法化简。
由式(4)和式(6)的逆否命题可知,在“自上而下”的故障搜寻中,若顶事件故障由与门逻辑引起,则其子事件必然全部处于故障状态;若顶事件的故障由或逻辑引起,则其子事件至少有一个处于故障状态,需要对其子事件逐一进行判断。
按照上述规则,对一个由与门逻辑和或门逻辑构成的复杂多层故障树模型进行故障诊断分析,其模型如图3所示。
图3 多层故障树模型Fig.3 Multi-layer fault tree model
顶事件 A 的最小割集为{E,F}、{G}、{C}、{H}、{K},其布尔形式表达为:
当顶事件A发生故障即A=1时,首先对M2层的B、C、D做出判断。由于C为底事件,较容易判断,因此,只考察B和D的状态。
若B=0、D=0,则系统没有出现故障,不需要对任何节点进行测试;若 B=1、D=0,则 E=1、F=1、G=0、H=0、K=0,需对B的所有下一层子事件进行测试;若B=0、D=1,则 E、F 至少有一个为“0”,对系统故障无影响,可以不用测试,而G、H、K中至少有一个为“1”,因此需对D的所有下一层子事件进行测试;若B=1、D=1,则需要对B和D的所有下一层子节点进行测试。
由上述四种情况可以得出:在“自上而下”的故障搜寻中,对凡是状态为“1”的节点的下一层子节点都要进行测试,直到最底层底事件为止,从而可以搜寻出导致系统故障的故障源。这种故障树的故障搜寻方法可以称为寻1法。寻1法的故障诊断原理依据是在确定状态的非冗余系统中故障传播的不丢失性。
寻1法不需要预先规定故障源个数,可以一次性搜寻出所有故障源,且在深度较浅、节点分支较多的故障树中,寻1法较最小割集法可明显提高故障诊断的速度和效率。但是在存在冗余部件的设备中,因为与门的存在,寻1法不能发现潜在的故障源,但是其可以查找到导致系统故障的显著故障源,使系统恢复工作。对寻1法的改进措施是:在搜寻到与门时,不论与门节点是否为“1”,都对其下一层子节点进行测试,这样就可以找出潜在的故障源(仅限单层与门,对于多层与门、或门嵌套的故障树,此方法仍不能搜寻到全部的潜在故障源)。
对大型复杂系统进行故障诊断时,简单孤立的故障节点描述是不够的。为了满足过程性故障诊断的需求,在建立故障树时,需要在传统故障树的各个事件的基础上附加一些其他信息,如故障现象的描述、故障的检测方式或方法、诊断建议和维修策略、父节点或子节点的信息等。包含了这些特殊信息的故障树可以称为扩展故障树,构成扩展故障树的事件称为扩展故障树节点。
为实现在组织和存储扩展故障树节点的非线性链表化,在将故障树各个事件转化为扩展故障树节点时,故障树节点必须能够给出以下基本信息:父节点、子节点、子节点的继承频率、故障现象描述、故障测试方法。除基本信息外也可添加其他一些信息,便于故障推理和人机交互,如节点深度、诊断建议、维修策略等。基于MS Access数据库的扩展故障树节点属性表结构如表1所示。
表1 扩展故障树节点表结构Tab.1 Structure of extended fault tree node
由于系统结构的复杂性,故障树某一节点的子节点往往包含多个节点,且一个节点同时为父节点和子节点,因此在父节点库扩展故障树节点结构中,只给出了子节点表编号和子节点的个数。而在子节点库中,对应子节点编号给出了某一节点所包含的子节点的节点编号和继承概率,其结构如表2所示。
表2 子节点表结构Tab.2 Structure of the child nodes
继承频率为子节点在其父节点之下发生的次数,用于故障搜寻时的优先级排序。按照概率统计原理,在多次重复的故障诊断之后,故障频率与其父节点发生总次数之比逐渐逼近故障发生的概率。
在维护扩展故障树节点数据库时,如需添加叶节点,只需要在扩展故障树节点表中增加节点编号并补充相应的信息,然后在其父节点的子节点表中增加其节点编号,并给定一个继承概率即可。
通过数据库技术,将扩展故障树的内部各个节点的属性以及节点之间的关系转化为在计算机上存储的非线性链表化的数据结构。由于节点属性中包含了可执行的测试方法与用于比较故障现象的描述,所以当对某一节点进行审查时,就可以对该节点的故障状态做出详细的判断。
在寻1法的搜索过程当中,只对故障状态为“1”的节点的子节点进行搜索,就可以查找到故障源,不需要区分与门和或门的结构差别。因此,图3中所表示的故障树模型可以简化为简易故障树模型。故障搜寻可以转化为对链表特殊节点的遍历,简化了搜索的复杂程度。简易故障树模型如图4所示。
图4 简易故障树模型Fig.4 Simple fault tree model
为避免搜寻过程中的盲目性,引入优先搜寻机制。这里采用的是对节点自动进行故障次数统计的方法,即每次节点状态被测试为“1”时,就将其节点属性中的故障频率加1。在对同一系统进行多次故障诊断和测试之后,节点都会有属于自己的故障继承频率,故障继承频率与其父节点的故障继承频率的比值就为节点继承其父节点故障的继承概率,即B的继承概率可表示为:
式中:B的继承概率为单一故障发生时的概率。为了方便系统操作,只记录继承频率。在同一层的节点中按照故障继承频率的高低依次进行故障诊断,采用深度优先、自动回溯的控制策略。深度优先是基于故障同时发生的最少化期望原理,存在一定的实际应用价值,即系统故障往往是由一处故障源引起,多处故障同时发生的概率较小。因此,当锁定某处节点故障时,深度优先可以迅速追寻故障的根源,提高诊断的效率。
由于故障树本身已经具备了较为全面的诊断知识,因此在诊断系统工作前不需要预先对其进行“训练”就能对系统做出较为全面的诊断。个体系统之间的差异性以及使用环境的差别,使得故障分布可能会不一致。通过在诊断过程中不断统计学习故障分布,使得这种诊断方法在不同设备、不同环境下都具有自适应和学习的能力,从而使得系统诊断更具有针对性和效率性[10-11]。
在一个可测试节点有限的诊断系统应用中,运用过程性故障诊断的故障诊断系统能有效地找出故障原因,并给出相应的维护策略。对于多次重复发生的故障,由于其故障频率的优先性,会有较快的故障诊断速率;对于偶发性的故障事件,系统仍能顺利进行故障定位。故障定位的精度取决于在设计系统时底事件的详细程度,底事件划分越详细,定位精度越高,但是故障搜寻所耗费的时间会相应变长,且在完成故障定位后,系统会产生一条明确的故障搜寻路径及其每个节点相匹配的规则,维护人员可以对整个过程进行监视。
通过对故障树过程性故障诊断的非线性链表化,不但能够完整地表述故障树模型中所包含的故障信息和故障层次机理,而且很好地解决了存储模式问题;按照统一化的扩展故障树节点进行数据组织,也为数据库维护提供了简便的方法。同时扩展故障树节点可作为专家系统知识库中的知识元,可以较为方便地与专家系统相结合,形成一个较完备的诊断系统,为专家系统知识获取提供了一个新途径。
[1]周东华,胡艳艳.动态系统的故障诊断技术[J].自动化学报,2009,35(6):748-758.
[2]蔡猛,张大发,张宇生,等.基于故障树分析的核动力装置实时智能故障诊断专家系统设计[J].原子能科学技术,2010,44(S1):374-379.
[3]张琦,廖捷,吴建军,等.基于FTA的通用装备电子系统故障诊断专家系统设计[J].兵工学报,2008,29(2):174-178.
[4]李洁,沈士团,陈星.航电设备故障诊断专家系统研究与实现[J].计算机工程,2007,33(14):163-167.
[5]刘成瑞,张庆振,任章.基于扩展故障树的运载火箭故障诊断专家系统[J].宇航学报,2008,29(6):1936-1942.
[6]窦东阳,赵英凯.基于优先级诊断树的旋转机械故障诊断专家系统[J].中国电机工程学报,2008,28(32):82-89.
[7]朱大奇.航空电子设备故障诊断技术研究[D].南京:南京航空航天大学,2002.
[8]黎清海,朱新华.基于层次分析的火控系统故障诊断专家系统[J].电光与控制,2006,13(4):64-68.
[9]黄文虎,夏松波,刘瑞岩,等.设备故障诊断原理、技术及应用[M].北京:科学出版社,1997:194-195.
[10]汪子皓,莫易敏.基于故障诊断二叉树的内燃机车故障诊断专家系统[J].中国铁道科学,2008,29(5):99-102.
[11]陈亚兵,孙济庆.基于知识库的专家咨询系统设计与实现[J].计算机工程,2007,33(16):196-199.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!