您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于模块化分解的故障树分析方法
基于模块化分解的故障树分析方法周斌1,黄元亮2,黄威21.暨南大学珠海校区电教中心,珠海,5190702.暨南大学电气自动化研究所,珠海,519070摘要:针对传统故障树分析算法中存在的诊断成本与时间等问题,该方法采用DFLMS算法模块化分解故障树,结合ite运算符,将最左底层模块子树转化为相应的BDD结构;运用DFLMS算法得到该BDD结构中的割集和最小割集,用相同故障概率的基本事件替代最左底层模块子树得到新故障树;最后用自底向上、从左至右的递归综合的分析思想,完成对故障树的分析。通过分析故障实例诊断,验证了方法的可行性和高效性。关键词:故障树;故障诊断;模块化;二元决策图中图分类号:TP393文献标识码:AAFaultTreeAnalysisAlgorithmBasedonModularDecompositionZhouBing1,HuangYuan-liang*,HuangWei1.ElectrifiededucationcenterofZhuhaiCampus,JinanUniversity,Zhuhai519070,China2.InstituteofElectricandAutomation,JinanUniversity,Zhuhai519070,ChinaAbstract:ForsolvingthediagnosecostingandtimeappliedtotraditionalFTA,adopttheDFLMSalgorithmtodecomposethefaulttreeintomodules,combinedwithiteoperator,thenconvertthemostleftandbottommoduleBDD.Secondly,applytheDFLMSalgorithmtoacquiretheCutSetandtheMinimumCutSetoftheBDD,andthenuseanewbottomeventwiththesamefailureprobabilitytoreplacethemoduletogenerateanewfaulttree.Finally,finishanalyzingfaulttreefrombottomtoupandfromlefttoright.Byanalyzingthesimulationoffaultdiagnosis,thefeasibilityandefficiencyofthefaulttreeanalysisalgorithmareconfirmed.Keywords:FaultTree;FaultDiagnosis;Modular;BinaryDecisionDiagram1引言故障树分析(FaultTreeAnalysis,FTA)[1]起源于对导弹的随机失效问题的预测,经过40多年的发展,目前已广泛地应用到核能工业、航空航天、电子、化工和机器人等领域,文献[2]采用递归算法生成连锁故障树,进行故障预警。文献[3]提出了基于二元决策图的建筑施工安全风险评估方法,文献[4]提出了故障树模块化分解模型,采用动态和静态相结合的方法分析系统可靠性,文献[5]提出一种新的T-S模糊故障树分析方法,文献[6]提出寻找基本事件的最优排序的三条排序法则,使二元决策图结点数减少约二分之一。尽管FTA技术得到了快速的发展,但它存在许多需要继续探讨或者扩展的问题,如顶事件割集的不交化问题,传统方法的思想和实际运用过程都比较冗长、繁杂。近年来出现的二元决策图(BinaryDecisionDiagram,BDD)[7]技术是故障树分析的一种非常有效的工具。尤其是针对传统故障树分析复杂系统时而导致的“组合爆炸”的问题,BDD技术显现出更为出色的运算能力。BDD技术可以一次性实现割集的不交化,当故障树是最简割集BDD时,可以从不交化割集中直接析出最小割集(MinimumCutSet,MCS)。文献[8]提出了诊断重要度大的最小割集优先诊断的原理。本文采用双DFLMS算法对大型复杂的故障树进行模块化分解,结合ite运算符思想将故障树转化为BDD,应用一种基于线性搜索的算法,对故障树中的模块子树进行快速查找,增强了模块的搜索速度。--------------项目基金:广东省产学研项目(2012B091000138),珠海市产学研项目(2012D0501990003).作者简介:周斌,1978,男,研究方向故障诊断等。黄元亮(通讯作者),1963,男,教授,博士,研究方向为智能故障诊断,牵引供电电能质量等,email:tyoll@jnu.edu.cn。黄威,1989,男,硕士研究生,研究方向为故障诊断和无线通讯。2故障树的模块化分解为了有效降低故障树分析的运行时间和存储空间,有必要研究故障树结构中的特殊规律,从而对其进行模块化分解。通过划分得到的故障树子模块在逻辑图上反映为某个转入“事件”(但转入“事件”不一定是模块),子模块实际上是一棵独立的故障树。利用模块划分的思想,可以对子模块继续划分,直到不能划分为止。对故障树模块化分解后,只需分别分析独立的子模块,然后将子模块的结果进行综合(子模块通过某些逻辑关系构成顶事件),则可以得到整棵故障树的分析结果(比如:计算顶事件的失效概率、寻找MCS等)[9]。我们应用一种基于线性搜索的算法,对故障树中的模块子树进行快速查找,能够大大增强模块的搜索速度,其寻找模块的时间与故障树的大小呈线性关系。此算法通过对故障树进行两次深度优先最左遍历(DepthFirstLeftMostSearching,DFLMS)[10]的方式对事件进行搜索,得到故障树的各模块子树。通过对故障树进行第一次搜索,对搜索到的故障树中的底事件和中间事件分别设置三个标记:标记1:表示第一次搜索到该事件所用的步数;标记2:表示第二次搜索到该事件所用步数;标记3:表示最后一次搜索到该事件时所用的步数。对于底事件,有标记1等于标记2;对于出现一次中间事件,有标记2等于标记3;对于出现两次或两次以上的中间事件,则三次标记各不相同。然后再对故障树进行第二次搜索,对每一个中间事件,计算与其相连接的所有下层事件中,标记1的最小值min和标记3的最大值max,当满足下述条件时,节点N及其所有下层事件构成相应的模块子树:(1)与其相连接的所有下层事件中,标记1的最小值min比节点N的标记1的值大;(2)与其相连接的所有下层事件中,标记3的最大值max比节点N的标记2的值小。考虑到模块的特征,进行模块搜索时,需要满足如下条件:(1)如果故障树中的某个底事件只在同一个逻辑门的输入中出现,则该底事件只被搜索一次;(2)模块中的每个中间节点(描述中间事件的逻辑门)至少被搜索两次(当搜索从其父节点向下到达该节点时,该节点获得第一次访问;当搜索从该节点的最右子节点返回到该节点时,该节点获得第二次访问);(3)如果同一中间事件(节点)作为不同逻辑门的输入,则该节点下的子节点只被搜索一次。对故障树进行模块化分解是减小故障树分析规模的重要措施,尤其是对大型复杂的故障树分析而言,具有非常重要的应用价值。3基于模块化分解的故障树分析方法3.1故障树向BDD转化在将故障树转化为BDD之前,需对各底事件进行排序,然后采用ite(if-then-else)运算符思想得到相应故障树的BDD结构。本文采用基于渐进式底事件排序方法[11]之上的相邻底事件优先排序的方法对故障树底事件进行排序,文献[11]已证明,该底事件排序方法与现有的方法相比,在75%的实例中有效的提高了排序性能。对底事件进行排序后,用Shannon分解[12]对结构函数进行进一步地分析、处理,使得影响顶事件故障(正常)状态的基本事件及传播路径变得清晰有序,而BDD技术则是实现和简化Shannon分解的有效工具。3.2基于DFLMS的BDD结构不交化割集搜索算法顶事件的BDD结构精确地描述了底事件影响顶事件的状态及路径。在BDD结构得以简化的情况下,顶事件的所有1节点路径(根节点到1叶节点间的节点序列,不包括1叶节点)就是不交化割集。在BDD结构未知的情况下,实现顶事件BDD结构的不交化割集的方式必须通过路径搜索,当搜索完某条路径,则该路径上的节点以某种方式排列而成的序列就形成割集的一条不交链。形成不交链的关键在于“继承”操作。考虑到DFLMS算法对未知结构进行搜索时的高效性,本文采用DFLMS遍历的方法对BDD结构的不交化割集进行求解,其搜索步骤如下:(1)从根节点开始向左搜索,若向左搜索时节点值为“1”,则记录下此时的搜索路径(即该节点的父节点的继承信息),返回该节点的父节点,执行(2);若不是,将该节点作为根节点,执行(1);(2)进行向右搜索(若已搜索过,则直接返回该节点的父节点的父节点),若节点值为“0”,则返回该节点的父节点的父节点,执行(2);若不是,将该节点作为根节点,执行(1);当所有节点均搜索完毕时,算法终止。3.3自底向上、从左至右的递归综合分析方法用故障树分析法对系统可靠性进行分析,首先须针对系统的可能故障来构建故障树,若是大型且复杂的故障树,须对构建完毕的故障树进行模块化分解(考虑到故障树的模块化分解能显著提高故障树的分析效率,故本文无论针对大型故障树还是小型故障树,均进行模块化分解),提出采用自底向上、从左至右的递归综合分析方法,具体步骤为:(1)对故障树进行模块化分解,执行步骤(2);(2)将最左底层模块子树转化为相应的BDD结构,执行步骤(3);故障树模块化分解构建新的故障树模块顶事件失效概率将最左底层模块子树转化为BDD结构故障树的CS和MCS计算CS,MCS,P(CS)和P(MCS)底事件重要度是否仅有顶事件模块YN图1故障树分析流程图(3)对该最左底层模块子树所对应的BDD结构进行分析,得出该模块子树的CS和MCS,然后用相同故障发生概率的基本事件替代该最左底层模块子树,得到新的故障树,执行步骤(4);(4)若存在上一个最左底层模块子树,则将上一个最左底层模块的CS代入至新故障树,执行步骤(5);否则,执行步骤(5);(5)若新故障树的最左底层模块为顶事件模块,则执行步骤(6);否则,执行步骤(3);(6)得到故障树的CS和MCS。对上述算法进行整合,可得本文对故障树的分析流程如图1所示。4实例分析为了验证本文故障树分析方法的可行性,下面对如下图2所示的故障树进行分析。按第2节的方法,对图2所示的故障树进行模块化分解,得到如表1所示的故障树分解结果。X1G1G2X3X2G4X4X5X6X8X7G4X10X9G4X10X9T图2实例故障树表1故障树的模块化分解结果表搜索对象TG1G2G3G4G5X1X2X3X4X5X6X7X8X9X10X11B1121834815161713192021225610B22414231271115161713192021229610B32414231271115161713192021229610Bmin231945515161713192021225610Bmax2313221191015161713192021229610是否模块YYYYNNNNNNNNNNNNN如表1可知,顶事件T及其下面的事件构成顶事件,即顶事件模块T,节点G1及其下层的事件可构成一个模块,即模块G1,节点G2及其下层的事件可构成一个模块,即模块G2,节点G3及其下面的事件可构成一个模块,即模块G3。根据前面所述的基于模块化分解的故障树分析方法,如图2可知,故障树最左底层模块的自底向上、从左至右的递归顺序为:模块G3模块G1模块G2顶事件模块T。根据前面所述的算法,先将最左底层模块转化为BDD结构,如图3(1)、(2)所示。根据基于DFLMS的BDD结构不交化割集算法,可得该最左底层模块的不交化割集为{X9,X10},{X9,-X10,X11},故模块G3的顶事件失效概率为图2实例故障树391091011(1)GXXXXXqqqqqq(1)然后用相同故障发生概率的基本事件G3(为便于理解
本文标题:基于模块化分解的故障树分析方法
链接地址:https://www.777doc.com/doc-2536725 .html