APP下载

基于二叉树的某型船柴油机控制系统故障诊断专家系统

2009-04-12王学杰陈连树

中国舰船研究 2009年6期
关键词:二叉树链表知识库

王学杰 贺 国 陈连树

1海军工程大学船舶与动力学院,湖北武汉430033 2中国人民解放军海军海南地区装备修理监修室,海南 三亚572018

基于二叉树的某型船柴油机控制系统故障诊断专家系统

王学杰1贺 国1陈连树2

1海军工程大学船舶与动力学院,湖北武汉430033 2中国人民解放军海军海南地区装备修理监修室,海南 三亚572018

专家系统可以解决复杂系统的故障诊断,其中知识库和推理机是其核心内容。首先利用故障树表达某型舰柴油机控制系统各故障事件之间的逻辑关系,然后将故障树转化为二叉故障树,与专家系统相结合,完成专家系统知识库和推理机的设计。将该方法应用于某型船柴油机控制系统的故障诊断,结果表明,专家系统的知识库存储结构简单、易于维护,推理机的逻辑推理关系简单,易于实现。

船舶柴油机;控制系统;故障诊断;二叉故障树;专家系统

1 引言

某型船柴油机控制系统由18个电路模块、传感器和执行机构组成,其功能是实现柴油机的启动、调速、停车和状态监测。由于该系统结构复杂、工作条件恶劣,一旦某一设备部件出现故障,都可能造成整个控制系统工作失常,无法实现正确的自动控制功能。若在机旁操纵柴油机,既增加操作人员劳动强度,又无法实现完整的安全保护功能。由于没有相应的故障诊断设备,系统维修时只能采用人工操作、经验判别的方式,故障诊断效率较低,劳动强度大,不可避免地存在人为因素造成的误差,并带来安全隐患。故障树便于知识获取和分析,规则推理直观[1]。但是,传统的故障树分析法由于故障树模型结构复杂、主干不突出,不能正确反映故障原因和故障现象之间的联系,而且由于诊断的规则数目较多,当添加修改规则时,易出现规则之间的冲突和冗余,无法保证专家系统高效、正确地运行[2]。

本文利用故障树实现专家系统的知识获取,然后将其转化为二叉故障树模型,与专家系统相结合,实现系统的故障诊断。该方法可有效地克服传统故障树在计算机中不易存取和检索的缺点,使专家系统的知识库存储简单,便于规则的添加和删除,简化专家系统的逻辑推理过程。

2 故障树的建立

故障树分析法就是把研究系统中最不希望发生的故障状态或故障事件作为故障分析的目标和出发点(即故障树顶事件),然后在系统中寻找导致这一故障发生的原因,直到找出故障机理已知的基本故障因素(即故障树底事件)[3-6]。故障树的特点就是表达故障推理规则方便,能清晰地表示系统设备的故障事件与各子系统部件的故障事件之间的逻辑结构关系。采用故障树实现知识获取,各故障之间的逻辑关系明确,诊断规则直观。而且它还可以把故障模式的文字说明、检查方法及针对具体故障原因的补偿措施等描述性知识添加到树的相应节点处,并且这些最终都将是诊断知识库不可缺少的组成部分。

这里以某型船柴油机控制系统为例,对其故障树的构建,采取理论与实践相结合的方法,即在详细分析其工作原理的基础上,结合积累的人工诊断经验,构建合理的故障树。因为电路模块部分电路可自检,本文在建立该系统故障树时就以传感器及其传感介质为例进行说明。图1为控制系统启动异常故障树的主要部分。可见,故障树中各故障事件之间的逻辑关系清晰。

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

3 基于二叉树的专家系统知识库设计

3.1 二叉树的建立

传统的故障树不利于计算机的存储和检索,特别是系统比较复杂时,故障树的分支较多,采用常用的数组或链表式存储方式占用的存储空间多,检索过程复杂,无法正确快速地进行诊断推理,也不利于系统的维护。

与传统的故障树相比,二叉树的存储结构和检索过程比较简单,易于计算机表达和处理。任何树和二叉树之间都可以相互转换,而且可以将多组互相独立的故障树(即森林树)转化为一个整体的二叉树,这样就解决了复杂系统中传统故障树的存储结构和运算过程复杂的困难。

二叉树是树结构的一种,它与普通树形结构的区别是:1)每个结点最多有两棵子树;2)子树有左右之分,其次序不能任意颠倒[7]。将故障树转化成二叉故障树时,二叉故障树的左子树用来存放本故障节点的下一级故障现象;右子树用来存放本故障节点的同级故障现象。树和二叉树之间有严格的转换规则,根据转换规则,可将图1所示的故障树转化为二叉故障树,如图2所示。

图2 控制系统启动异常二叉故障树

3.2 基于二叉故障树的存储结构优化

二叉树的存储方法有顺序存储结构和链式存储结构,顺序存储结构仅适用于完全二叉树,而链式存储结构可以方便实现所有二叉树的存储。由二叉树的定义可知,二叉树的节点由一个数据域和分别指向其左、右子树的两个指针域构成。设计不同的节点结构可构成不同形式的链表式存储结构,如二叉链表式存储法和三叉链表式存储。采用三叉链表式存储,可以迅速确定二叉树模型中任意一个故障节点及其关联的子故障节点,针对本柴油机控制系统的特点,本故障诊断系统选择二叉链式存储方法。

为便于说明,对于图1所示的故障树,按照由上至下、由左至右分层编号的方法进行标号,如顶事件定义为101,下层事件由左至右分别为201、202,依此类推。可以看出,不同事件的子节点数目不一定相同,采用常用的链表式存储方法,图1的故障树可以表示成如下形式:

101:<201、202>

201:<301、302、303>

301:<401、402>

401:<>

在检索过程中,可以使用指针指向下一级事件,但是由于下一级事件的数目不一定相同,需要的下一级指针的数目也不相同。对于程序控制模块和推理模块来说,它没有识别不同节点具有不同指针数目的能力。当然,也可以在链表中定义一个变量告诉系统本级的下一级节点数目,如下面表示的形式:

101:<2、201、202>

201:<3、301、302、303>

301:<2、401、402>

401:<0>

可以看出,采用上述方法,每当添加一个分支时,所添加的不仅仅是指针,还要修改链表中的指针数目;而且,对于每一个事件节点而言,开始创建时已经为其分配好了存储空间,添加指针就要修改存储空间的大小,这样可能会破坏原有的数据结构,造成数据丢失。

基于二叉树的存储则可以克服以上不足,从图2中可以看出,当要添加一个分支时,要做的工作仅仅是在它的原上一级节点或原左节点后面添加一个指针,而且这个指针在开始定义节点时就已经创建。如果上一级节点没有子节点,则直接作为上一级节点的左子树添加;如果上一级节点有子节点,则添加到其兄弟节点的右子树。因此,采用基于二叉树的链表式存储法便于规则的插入、删除、修改和访问。若要改变各节点的位置,只需要修改指针,不需要移动数据,这样可以提高数据库维护的效率。可见,利用二叉故障树方便地实现了故障知识在计算机中的存储、修改和检索,将传统故障树转换为二叉故障树并实现知识存储,利于专家系统知识库的维护。

3.3 基于二叉故障树的诊断规则提取

基于二叉树故障诊断采用产生式的知识表达方式,该方式以规则的形式表示故障知识,规则的前件和后件分别为故障现象和故障原因。例如,其中一条诊断规则可表示为:

IF允许启动但不成功AND工作转速传感器没动作AND内循环冷却水系统正常

THEN工作转速传感器故障

基于二叉树的故障诊断推理逻辑关系为“是”或“否”,其故障流程图是单分支的,而单分支的逻辑关系大大简化了诊断规则,由图2所示的二叉故障树可得到相应的故障诊断流程,以“允许启动但不成功”故障为例,其诊断流程如图3所示。

图3 允许启动但不成功故障诊断流程

4 基于二叉树的专家系统推理机

推理机效率的高低直接影响到专家系统的性能,本故障诊断专家系统的推理过程采用基于二叉树单分支的推理逻辑,这样在推理过程中,在某个节点只需要判断下一步转入左子树还是右子树,诊断规则简洁、清晰。

基于二叉故障树的故障诊断推理过程实际上就是二叉树的遍历。由于二叉树是非线性结构,确定遍历的规律是决定遍历算法、也是保证推理机制高效诊断的关键所在。推理的方法有很多种,按照推理的方向可以分为正向推理、反向推理和正向—反向混合推理[8]。根据本文研究的控制系统和二叉树特点,采用推理比较直观的正向推理。图4为系统故障推理流程图,具体步骤如下:

1)根据故障信息,确定故障初始节点,并根据图2所示的二叉故障树判断初始节点是否为叶子节点(即故障树底事件)。是,则成功退出;否,则转到下一步。

图4 系统故障推理流程图

2)当故障节点有子节点时,对其进行正向推理,如果前一节点的故障事实为真,则转入其左子节点;若不为真,则转入其右子节点。假设转入节点为P。

3)当P为叶子节点时,推理过程完成,否则转到2)继续推理。

5 结束语

知识获取是利用专家系统进行故障诊断的“瓶颈”,为了有效解决这个问题[9],本文将二叉故障树分析法和专家系统结合起来,并将其应用于某型船柴油机控制系统的故障诊断。首先构建待诊断对象的故障树,然后将其转化为二叉故障树,可实现专家系统的知识获取。分析表明,与传统的故障树方法相比,基于二叉树的故障诊断专家系统知识库存储结构简单、易于维护。在此基础上,设计了专家系统的知识库。采用基于二叉树单分支的推理逻辑实现故障诊断专家系统的推理过程,可以简化推理规则,使诊断规则简洁、清晰,较好地解决了冗余和匹配冲突的问题。

[1]侯安华,秦红磊.基于故障树和规则的故障诊断专家系统[J].微计算机信息,2008,24(7):191-193.

[2]汪子皓,莫易敏.基于机车故障诊断专家系统的故障树优化设计[J].内燃机车,2008(4):17-20.

[3]韩兆福,王虹昙,董绪华,张文训.基于FTA的某型飞机火控系统故障诊断测试仪的设计与研究[J].青岛大学学报,2005,18(4):5-9.

[4]刘承相,程礼.故障树在专家系统中的应用[J].机械科学与技术,2003,22(11):8-15.

[5]吴今培,肖健华.智能故障诊断与专家系统[M].北京:科学出版社,1997.

[6]周汝胜,焦宗夏,王少萍,等.基于专家系统的导弹发射车液压系统故障诊断[J].航空学报,2008,29(1):197-203.

[7]严蔚敏,严伟民.数据结构[M].北京:清华大学出版社,1997.

[8] SUGUMARAN V,MURALIDHARAN V,RAMACHAN鄄DRAN K I.Feature selection using Decision Tree and classification through Proximal Support Vector Machine for fault diagnostics of roller bearing[J].Mechanical Systems and Signal Processing,2007,21(2):930-942

[9]关惠玲,韩捷.设备故障诊断专家系统原理及实践[M].北京:机械工业出版社,2000.

Fault Diagnosis Expert System for Diesel Control System on a Certain Ship Based on Binary Fault Tree

Wang Xue-Jie1He Guo1Chen Lian-Shu2
1 College of Naval Architecture and Power,Naval Univ of Engineering,Wuhan 430033,China 2 PLAN Equipment Maintenance Service,Hainan Eexcutive Office,Sanya 572018,China

Expert system has successfully resolved fault diagnosis of complicated system.Its core is knowledge base and inference machine.In this paper,fault tree was used to express the logical relations of faults in the diesel control systems on a certain ship.Then,it was translated into binary fault tree,which could design the knowledge base and inference machine of expert system,after being combined with the expert system.This method was used to diagnose the fault of diesel control system on a certain ship.The results show that the storage structure of expert system is simple and easy to maintain,and the logical inference process of inference machine is concise and easy to carry out.

marine diesel engine;control system;fault diagnosis;binary fault tree;expert system

TP182

A

1673-3185(2009)06-34-04

2009-04-20

王学杰(1983-),男,硕士研究生。研究方向:舰船动力装置科学管理、优化设计。E鄄mail:wangxuejie2000@126.com

贺 国(1966-),男,教授,博导。研究方向:舰船动力装置自动化及仿真技术

猜你喜欢

二叉树链表知识库
基于双向二叉树的多级菜单设计及实现
基于故障二叉树的雷达发射机故障诊断*
汉语近义词辨析知识库构建研究
二叉树创建方法
一种基于SVM 的多类文本二叉树分类算法∗
如何用链表实现一元多项式相加
跟麦咭学编程
基于MTF规则的非阻塞自组织链表
卫星状态智能诊断知识库设计方法
机构知识库建设的动力研究