某型监控系统故障诊断专家系统知识获取和故障树推理分析*

2017-01-11 03:34潘兴隆刘海松
舰船电子工程 2016年12期
关键词:二叉树马尔可夫静态

徐 宣 贺 国 潘兴隆 刘海松

(1.海军工程大学动力工程学院 武汉 430033)(2.海军工程大学管理工程系 武汉 430033)(3.海军驻温州地区军事代表室 舟山 316000)

某型监控系统故障诊断专家系统知识获取和故障树推理分析*

徐 宣1贺 国2潘兴隆1刘海松3

(1.海军工程大学动力工程学院 武汉 430033)(2.海军工程大学管理工程系 武汉 430033)(3.海军驻温州地区军事代表室 舟山 316000)

基于故障树技术的专家系统适用于如某型船柴油机监控系统的复杂容错系统故障诊断。知识的获取和推理中的故障树分析是专家系统关键部分。首先将监控系统各故障事件间逻辑关系用故障树的形式联系起来,然后转化成二叉树的形式存储故障知识。对专家系统推理机中复杂故障树用线性搜索方法模块化并查找其静态子树和动态子树。静态子树用二元决策图进行分析,动态子树用马尔可夫模型进行分析。通过故障树分类分析,得到准确全面的推理结果。

专家系统;故障诊断;二叉树;二元决策图;马尔可夫链

(1. College of Power Engineering,Naval University of Engineering, Wuhan 430033)(2. Department of Management Science,Naval University of Engineering, Wuhan 430033)(3. Navy Representative Office in Wenzhou Area, Zhoushan 316000)

Class Number TP391

1 引言

某型船柴油机监控系统控制逻辑复杂,发生故障不易诊断和排除。专家系统是一种模拟专家决策分析的计算机系统,适用于该型监控系统的故障诊断。知识的获取和故障推理一直是专家系统研发和应用的难题[1]。针对某型柴油机监控系统特点采用二叉故障树的形式实现专家系统知识获取。专家系统推理机一般采用故障树分析法进行推理,传统的故障树分析法基于静态逻辑,不适用于含冗余、容错机制的故障系统[2]。而动态故障树在静态故障树基础上引入具有动态特性的新逻辑门类型如相关门、备件门等,引入新逻辑门的动态故障树可使某型柴油机监控系统的故障树分析更加全面,提高专家系统的效率和准确性。为此,采用基于动态故障树的模块化分析方法解决某型监控系统故障诊断专家系统推理中面临的结果不准确和运算量过大 引发“组合爆炸”的问题。

2 故障树的建立

故障树分析法将系统中可能发生的重要故障事件作为故障树顶事件,而后在故障树中按某种方法寻找导致该故障发生的原因,直到溯至某种基本故障事件[3~5]。以某型船柴油机监控系统启动异常为例,在详细分析其工作原理基础上,结和多年人工故障诊断经验,构建含有动态故障子树的系统故障树,如图1所示。

图1 监控系统启动异常故障树

3 基于二叉树的知识获取

二叉树是一种树形结构,与普通树形结构的区别为它的每个节点最多有两个子树且子树左右次序不能颠倒。故障树向二叉树转化的过程中,二叉树的左子树用于存放本级故障节点的下一级故障;右子树用于存放本级故障节点的同级故障[1]。根据转换规则可将图1转化为如图2的二叉故障树。

图2 监控系统启动异常二叉树

其中故障树电源故障逻辑较为复杂,暂作为一个整体故障事件G7进行存储。二叉树知识的存储采用链式存储方法,即用链表的形式表达节点之间的逻辑关系。链表中每个节点分别由三个域组成:数据域和左右指针域,左右指针分别给出该节点“左孩子”和“右孩子”所在链节点的存储地址。其节点结构如图3所示。

图3 二叉链表节点结构

利用二叉树实现知识获取时,可直接在原树的右子树添加某故障节点的同级故障从而使得故障树每级节点最多只有两个子树,解决了传统故障树节点子树个数范围不确定引起的计算机存储困难。

该型二叉链表存储结构在C语言下的编码形式为:

#define datatype char //定义二叉树节点数据类型为字符

typedef struct node //定义节点由数据域,左右指针域组成

{Datatype data;

struct node *lchild,*rchild;

}Bitree

4 推理中的故障树分析

4.1 故障树模块化

推理机是专家系统另一关键部分,它的准确度和效率直接影响专家系统整体性能。故障树分析法是推理机中常用的推理方法[6]。实际应用操作中,要分析的系统庞大,生成的故障树相应也非常复杂,故障树常用的分析法如定性分析和定量分析实现较为困难。故障树的模块化则是一种有效的故障树简化方法。

故障树模块化的主要工作是分辨和隔离出整个故障树中的独立子树。独立子树仅含静态逻辑门的称静态子树,独立子树包含动态逻辑门的称动态子树[3]。通常情况下故障树整体中只有很小一部分在本质上是动态的,所以动态子树数量通常较少。

采用一种线性搜索的方法来快速查找静态子树和动态子树。对故障树进行两次深度优先搜索,对第一次搜索中得到的故障树底事件及中间事件分别设置M1、M2、M3用于标识第一次、第二次和最后一次检测到某事件所用的步数。然后对故障树进行二次搜索,对每个中间事件,计算与其相连的所有下层事件的M3最大值和M1最小值,分别用Max和Min表示。当满足如下条件时,节点N是独立子树:与其相连的所有下层事件中,M3的最大值比节点N的M2值小;M1的最小值比节点N的M1值大[7~8]。对图1所示故障树进行第一次搜索可得表1。

表1 监控系统启动异常故障树搜索结果

对故障树各中间节点做第二次搜索,并比较标识值可得表2。

表2 动态故障树遍历结果

表中“Y/N”表示节点是否满足独立子树条件,“S/D”表示满足条件的独立子树为静态还是动态子树。由表可得G1、G3、G4、G5、G6为独立静态子树,G7为独立动态子树。

4.2 基于BDD的静态子树分析

二元决策图BDD(V,N)是一种特殊有根树,其中V为节点集,N为指标集。节点集包括两类节点[3]:

1) 有确定节点值value(v)∈{0,1}的叶节点;

2) 没有确定节点值,但有相应指标值index(v)∈N的非叶节点。

对任意的BDD,可设:

V={v1,v2,…,vm},N={1,2,…,n}

给定一组布尔变量x1,x2,…,xn,根据节点指标和布尔变量的对应关系,将节点与布尔变量对应,即若

index(vi)=j∈N,i∈{1,2,…,m}

则vi对应的布尔变量为xj。这样BDD就可与布尔函数f=f(x1,x2,…,xm)相对应。BDD中节点xi从本身向上回溯到根节点所经过的路径,称为

节点xi的回溯集,记作H(xi)。BDD是一种函数不交化的图形表示[3]。将故障树转化为BDD,即可得到系统所有故障即可得到系统所有故障模式和故障的传播途径。BDD的中间节点表示系统故障的底事件,根节点到叶节点间的每一条路径代表底事件发生与否的不交化组合,叶节点值为1的路径表示系统故障。每一条叶节点为1的路径中,所有发生的底事件的集合即为系统的割集,对这些割集进行最小化即得到系统的最小割集[8]。由函数的不交化性质可知,叶节点为1的所有回溯集发生概率之和即为静态子树顶事件的故障概率。对图1所示的故障树,静态子树G1,G3,G4,G5,G6对应的BDD如图4所示。

由图4可知,静态子树G1的割集为{G3},{E1},{G4};G3的割集为{E2},{E3};G4的割集为{E4},{E5};G5的割集为{E6},{E7};G6的割集为{E8},{E9}。

图4 G1、G3、G4、G5、G6对应的BDD

根据以往人工诊断经验数据各底事件故障概率[7]分别为:

P(E1)=0.02,P(E2)=0.015,P(E3)=0.02,

P(E4)=0.04,P(E5)=0.09,P(E6)=0.018,

P(E7)=0.03,P(E8)=0.05,P(E9)=0.045,

则由静态子树故障概率计算公式[2]可得各子树故障概率为:

P(G1)=P(G3)+P(E1)*[1-P(G3)]+P(G4)*[1-P(E1)]*[1-P(G4)]=0.1082

P(G3)=P(E2)+P(E3)*[1-P(E2)]=0.0347

P(G4)=P(E4)+P(E5)*[1-P(E4)]=0.1264

P(G5)=P(E6)+P(E7)*[1-P(E6)]=0.0475

P(G6)=P(E8)+P(E9)*[1-P(E8)]=0.0928

由此可得:静态子树中G1,G4具有较高出现故障的概率,故障排除过程中应着重检查。

4.3 基于马尔可夫模型的动态子树分析

基于马尔可夫模型的动态子树分析,首先需将独立动态子树转化为相应的马尔可夫链[9~11]。马尔可夫链是系统状态之间有可能转移的一种图形化表示,通过一种可视化工具来帮助理解马尔可夫模型。状态转移图可以将初始状态、系统状态、系统状态间的转移和相应的转移率图形化表示出来[8]。图1中动态子树G7含一个热备件门和一个功能相关门,热备件门是备件门的一种,表示系统中含有激活且随时准备切换到工作状态的备件,图1中电源模块A9作为A4的备件,保持27V电压可随时接入系统工作。当主电源模块A4故障时,通过电源切换继电器切换接入工作,A4和A9即构成了一个热备件门。系统中某个部件故障可能会导致与其相关的其他部件发生故障或无法进入工作状态的门称为功能相关门,图1中电源切换继电器和电源模块A4、A9即构成一组功能相关门。电源故障动态子树向马尔可夫链的转移如图5所示。

正常情况下,电源模块A4故障时自动接入A9模块继续维持监控系统工作,则马尔可夫链向下方向转移;而当电源切换继电器故障时,A4模块出现故障时无法自动切换备用电源,从而导致监控系统故障,马尔可夫链向上转移。圆内三位数字依次表示底事件电源切换继电器(E10)、电源模块A4(E11)、电源模块A9(E12)状态,0表示正常,1表示故障。

图5 G7状态转移图

P(E10)=0.05,P(E11)=0.03,P(E12)=0.03

则由动态子树故障概率计算公式[2]可得电源故障概率为:

=P(E10)*P(E11)+P(E11)*P(E12) =0.0024

对G7的分析可以看出电源故障概率较低,故障排除过程中应排在较后检查。

5 结语

采用二叉故障树的方法实现专家系统知识的获取。首先构建某型柴油机监控系统故障树,然后将其转化为二叉树的形式实现专家系统知识的获取和存储。分析表明,基于二叉树的专家系统知识获取结构简单,便于存储。创新性地将动态故障树分析方法引用到某型监控系统故障诊断专家系统推理分析过程中,首先对系统故障树进行模块化处理得到静态和动态子树,将二元决策图和马尔可夫模型方法分别用于不同子树的故障分析,在一定程度上降低了传统故障树分析方法求解的复杂度,提高了分析的准确性。

[1] 王学杰,贺国,陈连树. 基于二叉树的某型船柴油机控制系统故障诊断专家系统[J]. 中国舰船研究,2009,4(6):34-37.

[2] 季会媛. 动态故障树分析方法研究[D]. 长沙:国防科学技术大学,2002.

[3] 李堂经,王新阁,杨哲. 动态故障树的综合分析方法[J]. 装备制造技术,2009(8):22-24.

[4] 包勇,张德银,庄绪岩. 基于动态故障树技术的故障诊断专家系统[J]. 四川大学学报,2014,51(6):1211-1216.

[5] Anna Syberfeldt,Oscar Danielsson,Magnus Holm,et al. Dynamic Operator Instructions Based on Augmented Reality and Rule-based Expert Systems[J]. Procedia CIRP,2016,41(2):646-652.

[6] A.C.Cilliers. Expert Fault Detection and Diagnosis System on The Three Mile Island Accident Event Sequence[J]. Annals of Nuclear Energy,2013,62(4):326-334.

[7] 贺国,徐建卯,张文涛. 用故障树分析法排除柴油机监控系统故障[J]. 海军工程大学学报,2000(4):45-48.

[8] 刘文彬.基于模块化思想的动态故障树分析方法研究[D]. 南京:南京理工大学,2009.

[9] 郭伟伟.基于故障树技术的远程故障诊断专家系统的研究[D]. 西安:西北工业大学,2007.

[10] 殷海俊,黄惠宁. 舰船电子装备的状态监测与故障诊断[J]. 舰船电子工程,2015,36(1):144-146.

[11] O.Yevkin. An Efficient Approximate Markov Chain Method in Dynamic Fault Tree Analysis[J]. Qual.Reliab. Engng Int,2016,32(4):168-173.

Knowledge Acquisition and Reasoning Analysis of A Certain Type of Monitoring System Fault Diagnosis Expert System

XU Xuan1HE Guo2PAN Xinglong1LIU Haisong3

Fault diagnosis expert system(ES) based on fault tree technology is suitable for complex fault-tolerant system such as a certain type of ship monitoring system.Knowledge acquisition and fault tree analysis in inference engine are key parts in ES.Firstly, the logical relationship between types of ship monitoring system fault events with fault tree form in series are connected. Then in inference engine of the ES, a binary tree is used to store the fault knowledge. linear search method is used to find the static and dynamic sub-trees in a complex fault tree. Static sub-tree with binary decision diagrams and dynamic sub-tree are analyzed with Markov Model. accurate and comprehensive reasoning result are gotten by classified fault tree analysis.

expert system, fault diagnosis, binary tree, binary decision diagrams, Markov chain

2016年6月5日,

2016年7月17日

海军装备保障项目(编号:4255161523)资助。

徐宣,男,硕士研究生,研究方向:舰船动力装置自动化及其仿真技术。贺国,男,教授,博士生导师,研究方向:舰船动力装置技术保障。潘兴隆,男,博士,讲师,研究方向:机电一体化。刘海松,男,工程师,研究方向:装备技术保障。

TP391

10.3969/j.issn.1672-9730.2016.12.030

猜你喜欢
二叉树马尔可夫静态
基于双向二叉树的多级菜单设计及实现
基于故障二叉树的雷达发射机故障诊断*
最新进展!中老铁路开始静态验收
静态随机存储器在轨自检算法
二叉树创建方法
一种基于SVM 的多类文本二叉树分类算法∗
面向电力系统的继电保护故障建模研究
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究
基于马尔科夫算法对预测窗户状态模型的研究