郭忠毅 龙飞 樊慧津 刘磊 王永骥
摘 要:针对智能无人飞艇的故障诊断问题,设计开发了一套基于CLIPS框架的故障诊断专家系统。首先,根据诊断专家的知识进行故障分类并建立故障树;其次,基于CLIPS工具设计了智能无人飞艇的故障事实库和规则库。然后采用静态链接的方式将CLIPS框架嵌入到C++中,并设计了"路由跳转"功能,实现了用户输入与CLIPS的数据交换接口,并利用MFC框架开发了相应人机交互界面。该智能无人飞艇故障诊断专家系统的开发,改善了现阶段人工故障诊断的不规范及效率低下等问题,为智能无人飞艇的故障诊断、分析和排除提供了平台和支持技术。
关键词:智能无人飞艇;CLIPS;故障诊断专家系统
中图分类号:TP319 文献标识码:A
Fault Diagnosis Expert System Development
for Intelligent Unmanned Airship Based on CLIPS
GUO Zhong-yi1,LONG Fei2,FAN Hui-jin1?覮,LIU Lei1,WANG Yong-ji1
(1. School of Automation,Huazhong University of Science and Technology,Wuhan,Hubei 430070,China;
2. China Special Vehicle Reach Institute,Jingmen,Hubei 448035,China)
Abstract:For the intelligent unmanned airships,a fault diagnosis expert system based on CLIPS is designed and developed. Firstly,based on the knowledge of the diagnostic expert,the faults are classified,and the fault tree has been established according to the causal relationship. Secondly,the fact base and rule base are respectively designed with the CLIPS framework,and a forward reasoning control strategy is employed. CLIPS is embedded in the C++ environment by static linking mode. In addition,the "route jump" function is designed to realize the data exchange interface between user input and CLIPS. Finally,the human-computer interaction interface is developed with the MFC framework. The development of the fault diagnosis expert system has improved the irregularity and inefficiency of manual fault diagnosis,and provides a platform and support technology for thefault diagnosis,analysis and elimination of intelligent unmanned airships.
Key words:intelligent unmanned airship;CLIPS;fault diagnosis expert system
智能無人飞艇属于浮空飞行器的一种,相较于飞机等其他航空器,其最大优势是能耗低、制造成本低廉,同时具有留空时间长,污染小,起降场地要求灵活方便等诸多优势,因此广泛应用于监测、运输、通讯、勘探等方面[1]。在智能无人飞艇实际飞行中,由于外界环境或电子、机械等内部原因的影响,某些部件元件或系统的运行特性或参数与其正常飞行的额定值出现了较大的偏差,或其软件控制系统可能出现一些不可预见性的故障,导致无人飞艇系统的性能严重低于正常水平,难以完成操作无人飞艇正常的控制任务[2]。例如一个较为突出的问题就是在飞艇低速飞行时,会产生气动力不足的现象,进而降低舵面的控制效果,导致舵面故障[3]。当类似舵面这种操纵机构故障时,会导致控制指令错误,从而影响飞艇的动态过程,造成严重后果,威胁人身安全。因此,必须在无人飞艇发生故障时,及时根据飞艇的运行参数和故障现象进行分析,快速准确的诊断出飞艇的故障原因和部位,为后续智能飞艇的容错控制提供准确信息,避免造成更加严重的后果。
近年来故障诊断的研究已经取得了一定的研究成果[4-6]。针对无人机及运载火箭等航空器故障,文献[4]以运七飞机起落架为实例,利用了面向对象的技术建立系统模型,分别针对飞机的发动机,液压系统等关键系统开发了故障诊断专家系统。然而,该系统所采用的面向对象方法不擅长逻辑推理,其规则比产生式规则更复杂。此外,无人飞艇在工作原理和外形结构特点上与上述航空器也存在较大差别,且针对无人飞艇的问题,目前研究较少。文献[5]针对无人飞艇的压力气囊故障进行了研究,利用故障树分析法对其故障原因进行了定性分析。该文所给出的故障树分析法可应用于本智能无人飞艇的知识整理和分析上,但由于缺少智能化的知识保存和积累功能,因此无法推广,具有一定的局限性。
现阶段无人飞艇的故障诊断主要依靠人工检验、简单仪器仪表测量等方式进行。而这些尝试性的故障诊断方式往往存在操作流程不规范,诊断效率低下等问题。同时,培养专业的无人飞艇故障诊断人员周期较长,需要长期的经验积累。因此,设计一个基于专家系统的无人飞艇故障诊断系统来帮助普通操作人员快速实现飞艇故障诊断是十分有必要的。
因此,在已有的研究基础上,依托体积约100立方米的小型飞艇作为研究对象,针对无人飞艇的软硬件组成结构,设计和开发了一种基于CLIPS的智能无人飞艇故障诊断专家系统。首先,借助故障树分析法以无人飞艇系统较常见的故障状态作为分析的出发点,找出能导致这一故障发生的全部因素即中间事件,按此层级查找的方式一直追溯到引起系统发生故障的底层原因。接着,基于故障分析树,利用CLIPS专家系统框架,设计了表征飞艇工作状况的事件库及专家知识表达的规则库,并采用正向推理控制。此外,为最大限度的方便用户使用故障诊断专家系统,本文通过静态链接的方式将CLIPS框架嵌入C++中,在此基础上利用Visual Studio中的MFC框架开发了人机界面。为了实现用户输入与CLIPS的数据交换,除借助CLIPS内置的EnvLoad函数加载规则库和事实库外,本文另外设计了“路由跳转”功能作为交换接口。最后,为本文专家知识库设计了维护和编辑界面,实现对新的故障知识的增加和删改,从而完成了故障诊断专家系统的开发,为智能无人飞艇的故障诊断、分析和排除提供了平台和支持技术。
1 需求分析
所研究的智能无人飞艇对象采用中舟100飞艇的单囊体布局形式,以囊体为主体,外露布置头锥、动力装置、尾翼及设备吊舱等,并采用“X”形布置的梯形尾翼,舵面偏转角度-30-30°;主要结构部件包括气囊、副气囊、吊舱、起落装置、尾翼、头锥等,智能无人飞艇的整体结构如图1所示。
图1 飞艇总体结构布局示意图
本系统设计的总体目标是实现对智能无人飞艇各个系统结构的设备故障进行诊断和定位。由于当前人工故障诊断存在操作流程不规范,诊断效率低下等问题,因此,需要设计一个基于专家系统的无人飞艇故障诊断系统,从而有效地帮助普通操作人员提高无人飞艇故障诊断的效率及准确度。为了实现该目标,并充分利用智能无人飞艇领域内专家现有的故障诊断知识和经验,需重点考虑如下两点:
(1)结合无人飞艇的飞行状态和故障现象并借助各个艇载设备检测方法,采用科学可行的故障诊断方式-故障专家系统,来实现智能无人飞艇的故障诊断和定位。
(2)在无人飞艇后续的实际飞行过程中,对于新的故障知识,可将新的专家经验添加到故障诊断专家系统中,从而有效的解决专业诊断人员缺乏,诊断效率低下等实际问题。
综上所述,为了实现智能无人飞艇的故障诊断,本系统应实现的主要功能主要包含两方面:一是具有故障诊断功能,能够结合专家知识经验通过规则推理快速定位故障点,并生成故障诊断结果报告;二是具有知识库管理和编辑功能,可实现对专家知识库进行增加、删除和修改等维护操作。
2 CLIPS专家系统框架简介
CLIPS即“C语言集成产生式系统(CLanguage Integrated Production System)”,它是美国航空航天局/约瀚逊太空中心(NASA/Johnson Space Center)用C语言设计的,是一种多范例编程语言[7]。该语言支持基于规则的、面向对象的和面向过程的编程,是一种高效的开发专家系统工具,为构建基于规则或对象的专家系统提供了完整的底层开发环境[8]。在语法方面,CLIPS规则与ART、ART-IM、Eclipse和Cognate语言的规则极为相似,而且更加简便、低成本和易于与外部系统集成[9]。
目前,国内外各研究机构和高校利用CLIPS框架进行专家系统设计已经取得了一定的研究成果,如文献[10]研究了专家系统在飞机燃油系统故障诊断中的应用,使用CB(C ++ Builder)和CLIPS开发了一套诊断专家系统,并实验验证了系统的准确性。故本文选择CLIPS专家系统框架作为智能无人飞艇故障诊断专家系统的开发工具是可行的。
3 故障诊断专家系统总体设计
通过对系统需求的分析,结合专家系统的基本原理,结合开发的方便性,本文所构建的基于CLIPS的无人飞艇故障诊断系统主要包含了:综合数据库模块、诊断信息获取模块、知识库管理模块、诊断咨询模块、管理模块、解释机模块和人机接口模块。系统的整体结构如图2所示。
综合数据库模块:主要用来存放无人飞艇正常飞行状态的状态数值信息的模板事实、当前飞行状态的初始事实数据、专家知识构成的逻辑规则以及推理过程中得到的中间结果等,该部分主要基于CLIPS编写规则和自定义模板来完成。
診断信息获取模块:是专家诊断人员与故障诊断系统信息交互的桥梁,将与无人飞艇故障诊断的相关的专家知识通过整理和归纳,编辑为CLIPS专家知识可接受的知识表示方式。
图2 故障诊断专家系统模块组成
知识库管理模块:本质上也是对无人飞艇的故障诊断知识的获取,通过对已有知识库的继续指导,实现对故障诊断知识的扩展,修改以及删除等管理与维护操作。
咨询诊断模块:主要供操作用户输入关于无人飞艇的初始故障事实信息,或在推理过程中增添新的辅助事实,该模块由Visual Studio开发。
管理模块:包含了专家系统的推理机的全部内容,决定了知识的选择和规则的触发顺序等。除了包含常用的通用控制规则外,还包含了冲突消解功能。整个管理模块里的规则控制策略均基于CLIPS完成。
解释机模块:主要负责将CLIPS推理的中间过程进行解释并显示到用户界面或将最后的诊断结果回传到Visual Studio中,该部分由Visual Studio完成。
人机接口模块:是与CLIPS進行交互的界面接口,利用Visual Studio中的MFC框架来完成专家对知识库的扩充和用户的手动输入故障现象的交互界面设计。
4 故障诊断专家系统构建与开发
4.1 故障树设计
故障树分析法在航空航天故障分析领域具有重要应用,故障树模型是描述诊断对象结构、功能和关系的一种定性因果模型,它体现了故障传播的层次性及因果关系[11]。故障树分析法以系统常见的故障状态作为分析的目标即顶层事件,反推出能导致这一故障发生的全部可能因素,即中间事件,按此方式一直追溯到引起系统发生故障的底层原因,也称底层事件,将系统的顶层事件与中间事件和底层事件之间的逻辑关系用逻辑门联结起来,形成故障树,以表示系统与产生原因之间的关系[12]。
故本系统首先根据无人飞艇的系统结构将不同类型的故障归类,然后针对每一大类系统及其附件进行故障追溯,即从最表层的故障现象追溯至中间故障征兆,根据因果关系,由上至下,层层细分,直至底层故障。从而把本无人飞艇的常见的专家系统零散的故障知识集合起来,构成一个具有逻辑关系的整体。故障树中罗列的底层事件就是无人飞艇具体零部件的损坏原因,而顶层事件与中间事件上下层故障之间的关系就是无人飞艇故障诊断专家系统知识库中的知识。下面以智能无人飞艇的姿态控制发动机系统故障层级为例,按照因果关系整理得到的故障树示例如图3所示。
其中,G(x)为顶层事件,代表最表层的飞艇的姿态控制发动机系统故障;B1,B2以及C1~C3均为中间事件,代表影响飞艇的姿态控制发动机的中间故障征兆;X1~X9为底层事件,表示追溯到最底层的不可细分的零部件故障。上下层事件间的逻辑关系仅含或门,所以该姿态控制发动机系统故障树中的任何一个底层事件均是一个最小分割集,底层事件中包含的故障均会对顶层事件产生影响。通过建立该种以因果关系为线索的无人飞艇故障树模型,既能方便使用专家系统工具CLIPS进行知识的表达,也能根据其层次结构设计推理控制策略。
(a)故障树图
(b)故障树节点实例
图3 飞艇故障树示例
4.2 事实库设计
为了描述飞艇的工作情况,本系统通过飞艇正常状态信息范围的知识模板和实际飞行状态模板加以描述,主要借助CLIPS中的自定义模板功能实现。
CLIPS自定义模板包括模板名和槽名,每个槽代表一种属性,可以设置允许的类型和值,其中槽值可以是单值也可以是多值的[12]。自定义模板被实例化后,即可表示无人飞艇不同结构部件的状态信息。其中本文用来描述飞艇正常状态信息范围的知识模板如下所示:
(deftemplate device-normal
(slot name (type STRING));飞艇结构部件
(slot index(type INTEGER));序号索引
(slot low-line (type INTEGER));最低阈值
(slot high-line(type INTEGER)));最高阈值
根据上述模板,用户可以对应插入飞艇的正常状态信息,如飞艇正常飞行时的主气囊结构的压力差最低阈值为350Pa,最高阈值为500Pa时,可向专家系统中插入如下初始事实:
(initial-fact)
(device-normal (name“主气囊压力差”)
(index 1)
(low-line 350)
(high-line 500))
针对无人飞艇的实际飞行状态模板,本系统考虑使用序号索引与前文中的正常状态信息范围的知识模板进行联系匹配,后续插入相同零部件的初始事实时,可依据序号索引进行标志匹配,故相应的设计了无人飞艇实际飞行状态的自定义模板如下:
(deftemplate device-status
(slot index) ;序号索引
(slot status)) ;飞行状态值
基于上述两个自定义模板,就可以根据飞艇的正常运行状态及实际飞行过程进行描述,按照槽所对应的数据类型和项目类别不断向故障诊断专家系统插入初始事实。
4.3 规则库设计
在5.1节中,已建立了无人飞艇各组成结构的故障树,为了将故障树中的故障知识提取出来构建专家系统知识库,需采用合理的知识表达方式构建规则库。且CLIPS专家系统框架支持基于规则或面向对象的表达方式,文献[4]中采用了面向对象方法,但是面向对象等方法不擅长逻辑推理,其规则比产生式规则更复杂,产生式规则表示法不仅结构简单,且广泛适用于经验和知识的关联过程,用以阐述事物间的因果关系,故本文采用CLIPS框架中的产生式规则知识表示方法来实现无人飞艇故障诊断专家系统规则库的设计。
CLIPS系统中的规则是专家知识的重要组成部分,分为RHS和LHS,即规则左件和规则右件。一条规则可看作为if和then的结合,规则可以有多个模式和行为,即可以有多个规则左件和规则右件[13]。CLIPS的规则一般格式如下所示:
(defrule<规则名>[<规则描述>]
(<故障模式>)
=>
[assert 下一级故障模式]/printout t (故障原因)(故障处理措施))
CLIPS专家系统内部通过规则的模式与综合数据库中的事实相匹配,如果规则匹配成功,则该条规则被激活放入议程中等待被执行,该过程中也可能会有规则后件的行为,向综合数据库中增添新的事实数据,从而不断的为故障诊断专家系统提供推理事实依据。
根据上述故障树知识,以上文中的B1中间故障征兆为例,对其下一级故障现象C2向用户询问的推理过程,利用CLIPS的产生式规则表示法,编写出上述故障树中的中间故障信息进行交互推理过程的规则如下:
上述规则表示当操作用户根据前一个问题对辅助征兆事实B1做出回答为No的反馈,并通过assert指令插入到综合数据库中,CLIPS将B1toC2规则前件与综合数据库中的事实进行匹配,逐步缩小故障范围并向用户提出新的中间辅助事件C2,即向用户询问气路导管是否通畅,并将该问题标记为C2,通过人机界面将问题输出并等待用户新的反馈回答。
与上述步骤类似,以无人飞艇的每一类系统结构作为顶层事件,然后利用CLIPS产生式规则方式将造成系统故障原因由上至下,逐级分解为中间事件,转化为CLIPS内部可识别的语法规则逐级推理,最终确定底层故障原因。
4.4 推理控制策略
对于推理方式的选择,故障诊断专家系统通常有两种方式:正向推理和反向推理[14]。正向推理是一种以事实数据为驱动的控制策略,它是按照由条件推出结论的方向进行的推理方式,它一般从已获取到的故障模式事实出发,将故障事实与动态数据库中的所有规则的前件进行匹配,通过匹配来提取更多的信息[14]。反向推理是一种目标作为驱动的控制策略,它的推理方式正好和正向推理相反,是通过某种方式先假设一个故障原因,然后由故障原因出发,将所有的专家知识的规则后件与故障原因匹配,然后验证导出的知识前件中的故障现象或故障模式是否与已有的故障事实一致[15]。针对飞艇故障诊断实例,用户最容易获取的是飞艇出现故障时的现象和状态数据信息,故障树模型中的各个子节点与其父节点构成了正向因果关系链,这种因果关系链与“if…then…”型故障诊断规则本质上具有一致性。此外,CLIPS是基于产生式的前向推理引擎,仅支持正向链规则,故系统选择正向推理思想进行控制,可以很好的展示推理的逻辑和过程,同时也方便理解。图4所示即为CLIPS专家系统中正向推理的流程图。
对于专家系统运行过程中,推理引擎将规则与当前声明为工作内存的所有事实进行匹配。CLIPS专家系统框架中主要采用Rete算法进行模式匹配,它用于根据数据存储及其事实确定系统的哪些规则应该触发[13],无需额外编写模式匹配算法。若在匹配过程中,有多个规则同时被激活,则可能造成规则的矛盾和冲突,影响下一步的正确推理,故需要设计冲突消解机制,在本无人飞艇中,通过CLIPS中的(declare salience)命令对不同规则设定优先级顺序实现规则的冲突消解。
4.5 接口及数据交换设计
CLIPS专家系统框架虽然对于专家系统底层知识库和推理机的构造上十分方便,但在故障诊断过程以及知识库的扩展时均需在CLIPS的IDE中进行文本代码编辑,缺乏良好的人机交互界面。为了设计人机交互界面,首先需考虑的问题就是将CLIPS专家系统底层框架嵌入到C++环境中,方便后续借助MFC框架设计交互界面。此外,还需考虑的问题就是嵌入完成后如何与C++进行数据交换。
图4 正向推理流程图
(1)CLIPS与C++的嵌入
为了运行集成例子,必须安装源代码,可通过运行CLIPS 6.30 Windows源代码安装器。通过在CLIPS官网上获取源码并借助Visual Studio编译生成相应的动态链接库文件和静态数据连接库文件,对于CLIPS的嵌入有两种解决办法:显式链接和隐式链接方案。本文所采用的方式为隐式链接的方案,其好处是在调用完成后,无需另外释放资源,具体实现步骤如下:
Step1:将上述生成的CLIPS.dll文件放置到工程目录;
Step2:设置项目属性——库目录为CLIPSStatic32.lib文件所在的路径;
Step3:将lib文件添加到项目属性——链接器——输入——附加依赖项
Step4:在项目的源文件中添加clipscpp.h头文件由于clipscpp.h为C语言编码,所以包含时添加extern“C”。通过上述步骤,便可调用普通函数、类、变量嵌入CLIPS专家系统框架。
(2)CLIPS与C++的数据交换
对于Clips从C++读取数据,可以直接通过使用CLIPS中内置的EnvLoad函数,通过C++加载外部clp文件,其中可以包含前面根据已有的专家故障诊断知识编写的clp知识库文件和根据事实模板定义的有关无人飞艇的各设备部件的正常数据信息的事实库clp文件。
对于Clips数据输出到C++,本文采用“打印跳转”功能实现,即更改CLIPS的内的printout函数的路由地址,改成软件需要的自定义函数,这样后面就可以在函数内部实现想要输出和数据交换的功能,具体步骤如下所示:
1)需要在项目的头文件内包含“clipscpp.h”文件,并在项目里包含CLIPSStatic32.lib库文件,
2)创建自定义的Router类,用来实现打印跳转功能,基于该类设计两个虚函数Query和Print。
3)對Query和Print函数具体实现,其中query是跳转时需要的判断函数,判断此次打印是否需要跳转。print是要跳转到的函数,在该自定义函数中,可以实现业务逻辑,数据输出等功能。
通過上述步骤,便可把CLIPS内的print函数路由到用户自定义的函数,从而可以直接在知识内将结论或中间推理信息直接print到MFC的文本框。
4.6 人机界面设计
为了最大限度的方便用户,使用户易于操作本系统在前文将CLIPS工具嵌入C++的基础上,借助visual studio中的MFC框架来开发人机界面,基于对话框应用程序,使用Tree Control等控件实现的主要功能界面包括故障诊断主界面和知识库编辑维护界面。
其中,故障诊断主界面如图5所示,可分为三个区域,左侧的故障征兆选择区域交互诊断区:用户可以点击左侧树控件选择故障部位和故障征兆添加到故障诊断专家系统的综合处理数据库中;右上方的数据录入诊断区:用户可通过数据录入按钮输入初始事实;右下方的推理过程解释区:该解释显示区可显示无人飞艇的故障诊断推理中间过程及诊断结果输出。
知识库编辑维护界面如图6所示,同样可分为三大区域,左侧的故障树选择查看和编辑区:操作用户可通过在左侧选择顶层故障事件,点击查看按钮之后,系统会加载对应知识库的规则,用户可以根据需要对其查看和编辑。同时,点击下方编辑按钮可对无人飞艇的整体故障树结构进行扩充,方便后续添加具体的专家知识。右上方的新增故障知识维护区:点击交互模式知识添加或数据模式知识添加按钮可对后续新的故障知识进行添加。右下方的故障知识解释显示区:该显示区用来显示具体的CLIPS规则知识。
图5 故障诊断专家系统推理界面
图6 故障诊断专家系统知识编辑主界面
6 结 论
通过对无人飞艇的组成结构和故障特点进行了分析,将专家知识和经验汇总整理为了故障树的形式。设计了智能无人飞艇故障诊断专家系统的总体模块和架构。借助CLIPS专家系统开发工具,构建了描述飞艇运行飞行状况的自定义模板。利用产生式规则表示方式将故障树中的故障知识提取出来构建专家系统知识库,使用正向推理编写控制规则与策略。基于底层CLIPS专家系统框架,在windows平台上利用visual studio设计了与CLIPS框架的嵌入和数据交换接口,开发了关于无人飞艇的故障诊断专家系统软件。该系统实现了根据故障现象快速诊断飞艇故障原因的功能,同时可对该系统中的专家知识进行编辑和维护,在一定程度上模拟专家思维过程进行故障诊断工作。
在后续实际飞行里,所建立系统期望通过经验的不断积累,不断的对专家知识库进行扩充和完善,从而更加准确和全面的对无人飞艇飞行过程中的故障进行诊断。此外,随着研究的不断深入,未来可考虑利用专家系统对智能无人飞艇的故障进行故障预测,提前预判飞艇可能发生的故障,并将专家系统和容错控制相结合,实现主动容错控制,提高无人飞艇飞行的安全性与可靠性。
参考文献
[1] 孙珺. 小型无人飞艇的建模与飞行控制系统的设计[D]. 南京:南京理工大学,2009.
[2] 贾瑞,吴梅. 舵面故障情况下推力矢量在飞艇中的应用研究[J]. 科学技术与工程,2013,13(8):2302—2306.
[3] 田钧. 典型故障情况下飞艇矢量飞行研究[J]. 科学与财富,2015(4):66—66.
[4] 石荣德,赵廷弟,屠庆慈,等. 故障诊断专家系统[J]. 北京航空航天大学学报,1995(4):7—12.
[5] 张博,王大华,余刃. 飞艇主气囊压力告警的故障诊断与维修决策[C]// 中国浮空器大会,2007.
[6] 王梓航,李磊,李建明. 三相开环Z源逆变器短路故障诊断研究[J]. 计算技术与自动化,2018(2):33—37.
[7] 温国谊,査光东,张翔. 基于CLIPS的某型飞机故障诊断专家系统的设计与实现[J]. 中南大学学报:自然科学版,2013(s1):157—161.
[8] TAN D ,LI P ,PAN X . Embedded fault diagnosis expert system based on CLIPS and ANN[J]. Journal of Vibration Engineering,2007,20(5):957—960.
[9] GELGELE H L,WANG K. An expert system for engine fault diagnosis:development and application[J]. Journal of Intelligent Manufacturing,1998,9(6):539—545.
[10] LONG H,WANG X. Aircraft fuel system diagnostic fault detection through expert system[C]// World Congress on Intelligent Control & Automation,2008.
[11] 刘治国,蔡增杰,穆志韬,等. 基于CLIPS的飞机液压系统故障诊断专家系统构建研究[J]. 海军航空工程学院学报,2011,26(1):45—48.
[12] 沈大伟,庄诚,王学雷. 基于CLIPS的故障诊断专家系统开发[J]. 化工自动化及仪表,2012,39(4):450—453.
[13] PENG Z . A new method of developing fault diagnosis expert system[J]. Microcomputth Applications,2000(3):76—79.
[14] DOU D,ZHAO Y. Fault diagnosis of rotating machinery using data mning and CLIPS-based expert system[C]// Isecs International Colloquium on Computing,Communication,Control,& Management,2008.
[15] SONG Z A. Fault diagnosis expert system of the electrical traction shearer type 3LS[C]// Wase International Conference on Information Engineering,2010.