1压缩机故障诊断专家系统的设计魏传锋王佩广李运泽王浚(北京航空航天大学,北京100083)摘要:压缩机经常长时间、不间断的运行,因此对它进行实时故障诊断有非常重要的意义。根据压缩机故障的特点,提出了基于事例和基于规则相结合的的推理机制;并采用VB内嵌的数据库实现知识处理。结果表明,该专家系统具有较好的实用性。关键词:压缩机;故障诊断;专家系统;DesignonfaultdiagnosisexpertsystemofthecompressorWeiChuanfengWangPeiguangLiYunzeWangJun(BeijingUniversityofAeronauticsandAstronautics,Beijing,China100083)Abstract:Real-timefaultdiagnosisisveryimportantforacompressorwhichoftenrunscontinuouslyinaprolongedperiod.Inthispaper,areasoningenginebasedoncasesandruleswasputforward,andtheknowledgemanagementwasrealizedwithdatabaseinVB.Resultsofthesimulationshowedthattheexpertsystemwasconsiderablypractical.Keywords:compressor;faultdiagnosis;expertsystem;压缩机在机械、化工、动力等行业都有非常重要的作用。一般来说,压缩机经常长时间、不间断的工作,会引起各种疲劳破坏,而人类专家很难长时间的对它进行观察。因此有必要对它进行实时的故障诊断。长期以来,人们对压缩机故障诊断进行了深入研究,主要采用振动法、小波分析等方法进行故障诊断[1]。但却很少提及故障诊断专家系统的研究,这是很不合理的。因为专家系统能够不疲劳的联系工作,而且不受主观影响。一个优秀的专家系统完全能够取代一个人类专家的工作,而给出实时的、可靠的故障诊断。本文结合了压缩机故障的特点和人工智能的思想,提出了适合压缩机故障诊断的推理机和知识库的构造方法,并在此基础上建立了压缩机故障诊断专家系统。1基本结构本专家系统采取一种混合的故障诊断模式,共包括三层信息处理:状态检测层、故障模式探测层以及专家系统诊断层。状态检测是信号处理的第一层,在这一层里提取来自传感器的信号,并处理成各种特征要素;随后这些特征被传入更高的一层,即故障模式探测层,这一层中使用故障诊断模块,比如常用的小波变换的方法发现故障并进行相应的故障诊断。最后所有的信息进入专家系统诊断层,由预先给定的规则库进行分析、判断数据的特征要素。并给出相应的对策。这种混合故障诊断系统见图1。其中,专家系统诊断层是系统的核心部分,它主要是利用专家系统的手段,凝练人类专家的经验以及专业书籍的优秀成果,对故障模式探测层中获得的故障信息进行处理,得到了比较可行的建议。主要包括推理机和知识库两大部分。22推理机的设计推理机是专家系统的核心,它是模拟人类专家的求解问题的思维活动,按照一定的推理策略,有效地选择知识库中的知识,根据用户提供的问题进行推理,得到用户满意的结论,是专家系统通过知识推理而实现问题求解的执行机构。推理机工作效率的高低直接影响到专家系统的性能。因此必须构建一个能够真正反映人类专家水平的推理机。目前在故障诊断专家系统中广泛采用基于规则推理[2]的产生式专家系统。这种方法比较成熟,且简单易用,开发周期短,容易被用户理解。但是推理效率低,知识获取困难,自学习差。基于事例的推理[3]是上世纪末兴起的一种推理机制,它模拟人脑的直觉、形象或经验思维的过程,通过类比和联想来解决当前相似问题的求解策略。它具有快速推理、记忆及易于解释等优点。而且上次诊断的结果可以作为下次诊断的事例,这样解决了自学习的问题。人类专家在判断和解决已出现的压缩机故障的时候,有些经验很难规则化,而且即使形成规则后也容易引起冲突。同时,这些经验又是最宝贵的,因此必须加以充分利用。但是基于事例的推理毕竟是不够的,还需要大量的从实践中抽取的规则同时进行推理,才能有效的解决问题。所以本文提出了一种采取基于规则和基于事例的混合推理机制的专家系统。推理机制如图2所示,推理起始后,首先从实时监测来自各测点的特征要素,获取初始事实,把它写入上下文(黑板),然后进行基于事例的推理,看是否存在相似的事例;如果存在,根据一定的冲突消解策略(当相似事例多于一个时),给出故障信息。若不存在相似的事例,则转向基于规则的推理。用事实来匹配规则的左部(前提),来找到所有可用的规则,构成冲突集。按照一定的冲突消解策略,在冲突集中选取一条规则使用,从而产生新的事实。新的事实和原事实又引起规则库中新一轮的匹配,这样继续问题的求解,直到没有规则被激活。最后检查上下文是否有解,若有则输出所有的解(故障信息),否则输出无解。故障诊断故障特征提取数据采集故障决策图1压缩机故障诊断专家系统基本结构故障诊断模块状态检测层故障模式探测层专家系统诊断层3开始获取初始事实(故障特征要素)写入上下文基于事例的推理是否有相似的事例?匹配规则库生成冲突集冲突求解有规则可执行?生成新事实检查上下文是否有解?输出故障信息显示无解结束是否是否是否图2推理机流程框图3知识(规则)库的设计一个知识库的知识应该具有有效性、完备性和一致性。知识获取系统(KnowledgeAcquisitionSystem,以下简称KAS)应该具有友好的用户界面、良好的人机交互功能,可进行知识库的管理,包括知识库的建立、存储、维护(删除、修改、添加)、打印、显示以及查询等功能。功能如图3所示:KAS知识库建立知识库查询知识库打印、显示知识库维护知识库存储序号查询规则名查询插入修改删除图3知识库功能结构图可以使用VB内嵌的数据库来实现这些功能[4]。首先添加data控件,然后设置其DatabaseName属性和RecordSource属性。这样就把用数据库形式编写的知识库连接起来。而且可以方便的实现前述的各项功能。仅以知识查询为例,具体的代码如下:4Dimmy_number,my_idAsStringMy_number=InputBox$(请输入您所查询的规则号或者规则名,知识查询,)Ifmy_numberThenmy_id=id='&my_number&'Data1.Recordset.FindFirstmy_idEndIf4结论根据前述的设计思想,采用面向对象(OOP)的编程语言VB6.0,构建了一个压缩机故障诊断专家系统。经过测试发现,该专家系统能够方便的进行推理和对用户进行解释,具有较强的容错性,较好的反映了人类专家的推理过程。本文所提出的专家系统思想充分考虑了人类专家在原先压缩机诊断中形成的故障分析的经验,把他们的知识分为抽象的规则和具体的事例。而且充分吸取了专业的历史经验和专家知识,所以该专家系统较好的模拟了人类专家的推理思路,具有很强的实用价值。参考文献[1]刘树林,张嘉钟,黄文虎,时文刚。基于小波包与粗集的往复压缩机的故障诊断方法[J],压缩机技术,2002:2,1~3;[2]荣吉利,纪常伟,王日新,黄文虎,姜兴渭。航天器故障诊断专家系统技术的应用和发展[J]。强度与环境,1996(2),48~59[3]GuptaUG.Howcase-basedreasoningsolvesnewproblems[J].Interfaces,1994,24(6):110~119[4]CurtisSmith,MichaelAmundsen著,陈海标译。VisualBasic6.0数据库编程[M]。北京:清华大学出版社,1999.11作者简介:魏传锋(1976-),北京航空航天大学航空科学与工程学院在读博士生,专业:人机与环境工程;研究方向为环境模拟、航天器热控制与仿真、故障诊断。通讯地址:北京航空航天大学10-31信箱(100083)电话:010-82316654转6,80667614E-mail:chfwei@163.com,chfwei@sohu.com