周学伟(1983-)
男,硕士研究生。研究领域为工业过程故障诊断与监控。
基金项目: 辽宁省科学技术基金项目:集成在线鲁棒智能过程监控技术研究(编号: 2040196)
摘要:文章分析了构建锅炉故障诊断专家系统的重要性和必要性,阐述了数据库技术在专家系统中的重要应用。提出专家系统的设计、实现及工作过程。论述了基于关系数据库技术的知识库构建,推理机的设计,以及数据挖掘技术的应用等。相比之下,采用数据库技术可以很大程度的降低锅炉故障诊断专家系统开发的工作量。
关键词:故障诊断;专家系统;锅炉;数据库
l 引言
实用可靠高效的锅炉故障诊断专家系统的研究和开发,对于尽早发现锅炉故障苗头,减少或杜绝锅炉设备故障的发生具有重要意义。为此把锅炉诊断和维修领域的大量的实际诊断和维修经验直观明了地表示出来,然后进行汇总和提炼,建立诊断知识库,通过人机接口技术与用户交流询问的方式逐步进行深入诊断,最终得出诊断结果,为锅炉维修部门提供了强有力的技术支持。
基于数据库技术的专家系统将数据库技术与知识库技术结合起来,构造大规模的知识库系统。其知识量可以达到海量条规则与事实,而且向知识库中存取知识如同向数据库中存取数据一样迅速方便。充分利用关系型数据库管理系统功能,可以方便知识库管理,缩短系统开发周期,很容易的实现知识库的动态维护和动态扩充,同样利用数据库技术可以简化其它搜索策略的设计、实现对正向推理和逆向推理的简化,使推理快速、准确。因此采用数据库系统将是专家系统知识库的发展趋势。
2 专家系统的设计
系统由知识库、推理机、数据库、解释器、知识获取器,人机界面等部件组成结构,如图1 所示。
图1 专家系统结构图
知识库是专家系统的关键部件之一,知识库的设计就是对知识表现形式的设计。知识库中存放锅炉所有部件的故障案例集,案例集中包括教材、专家和维修人员的知识和经验,具体是利用关系数据库的一个记录表示一条案例。因此,对案例库的管理和维护完全可以由数据库管理系统来完成。
(2)推理机
推理机是专家系统的核心,其主要作用是根据用户的输入处理知识库中的数据,进行案例搜索和案例匹配,最后得到诊断结果和诊断解释。
(3)数据库
数据库用于存储知识库、中间推理结果和最终得出的结论,与推理机结合以提高推理效率。
(4)知识获取器
知识获取器实际上是一个知识获取子程序,是专家系统与领域专家的接口,其作用是新知识(案例)的录入,原有的知识(案例)的修改和扩充。
(5)解释器
解释器模拟专家在解决问题时对其推理过程和结论进行解释,这是专家系统透明特点的集中表现。这样做可以使用户更容易接受整个推理过程和所得出的结论,同时也为系统的维护和专家经验的传授提供了方便。
(6)人机界面
人机界面是实现系统与用户交互的模块, 一方面领域专家可以通过人机接口实现对知识库(案例库)的维护。另一方面用户直观地了解诊断情况,并将诊断结果存入诊断结论库中。
3 专家系统的构建
3.1 知识库的创建
知识库的存储是以关系数据库的形式实现的,关系数据库的显著特点是一个关系就是一张二维表,数据库由若干张二维表构成,数据库中的实体与联系等均按二维表的形式存放,二维表中的每一行为一条记录,它对应一个特定的实体,二维表中的每一列称为一个字段,它对应实体的某个属性。二维表之间通过相同的属性名进行关联。这样一条完整的信息便可同时由几张不同的二维表唯一地确定下来。在本专家系统中,知识库由案例库及诊断结论库组成,其中案例库存放规则,由案例征兆表及结果表组成。案例征兆表存放规则中的条件部分,结果表中存放结论部分,两表用“案例号”外键联系起来。如下为两表的数据结构:
表1 案例征兆表和结果表:
IF 系统名AND 部件名 AND 故障现象 THEN 故障原因 AND 处理措施 AND 可信度=概率
一条案例只存放一条规则关系,案例之间是相互独立的,但是一条案例的结论部分可以恰好是另一条案例的征兆部分,这样可以进行连锁诊断,直到找出最初的故障原因。
图2 案例显示界面
图3 案例编辑界面
3.2 推理机设计
推理机实际就是一段实现故障推理的程序,可以很方便地实现故障推理,具体可分为两种情况,一种是从故障现象入手,即当知道故障现象时,可根据现象的语言描述,提取关键字,利用数据库本身的文本查找,搜索匹配功能,对故障进行初步诊断,找出相似的案例集。接着按照正向推理的步骤,采用人机交互的方法,根据已知和提示信息进行精确的珍断,按照系统名称,部件名称,故障现象,故障原因的顺序依次进行简单的肯定或否定判断,最终实现故障诊断,主要的推理程序如下:
strSQL = "select 案例号 from 案例征兆表 where 故障现象 like'%" & txtXX.Text & "%'"
Rs.Open strSQL, gConn, adOpenStatic, adLockReadOnly
Dim i%
ReDim anliID(0)
For i = 0 To Rs.RecordCount - 1
anliID(i) = Rs.Fields(0).Value
ReDim Preserve anliID(i + 1)
Rs.MoveNext
Next i
Rs.Close
lvwZD.ListItems.Clear
Dim j%
For j = 0 To i
strSQL = "select 故障原因,处理措施,可信度 from 结果表 where 案例号='" & anliID(j) & "'"
Rs.Open strSQL, gConn, adOpenStatic, adLockReadOnly
Set LtItm = lvwZD.ListItems.ADD
LtItm.Text = Rs.Fields(0).Value
LtItm.SubItems(1) = Rs.Fields(1).Value
LtItm.SubItems(2) = Rs.Fields(2).Value
Rs.Close
Next j
图4 系统操作诊断界面
4 结束语
随着专家系统应用的日趋广泛,以及各类新技术的不断涌现,用户对智能故障诊断系统提出了更高的要求。利用关系数据库构造系统知识库,为知识库的建立、维护、扩充和完善提供了一种实用方法;在关系数据库基础上设计推理机,利用数据库本身的数据查询、搜索等功能方便地对知识库进行管理;利用数据库的数据挖掘功能对诊断结果数据进行数据挖掘,找出隐藏的规律,拓展了专家系统的统计分析功能,对故障诊断专家系统的建立和发展具有一定的指导意义,相信这一功能必将得到更广泛的应用。
参考文献:
[1] 蔡自兴. 约翰?德尔金,龚涛. 高级专家系统:原理,设计及应用[M].北京:科学出版社,2005.8.
[2] 劳佳锋,沈力学,盛颂恩. 基于数据库技术的远程故障诊断专家系统的研究[J] . 机电工程. 2003,20 (5): 79-81.
[3] 陈士昂,刘 谨,吴惠明. 数据库及其相关技术在故障诊断专家系统中的应用[J]. 机电工程. 2004, 2l (3): 13-16.
作者信息:
周学伟,于 洋, 陈 亮,杨 青(沈阳理工大学信息科学与工程学院,辽宁 沈阳 110168)