1管式加热炉故障诊断专家系统知识库的设计顾新新周艳李庆领*(青岛科技大学机电工程学院,山东青岛266061)摘要基于规则的产生式表示方法,采用了关系型数据库模型,结合MicrosoftAccess2003数据库作为开发和管理工具,构建了管式加热炉故障诊断专家系统的知识库。该知识库可以有效地实现基于框架结构的产生式知识的系统表示方法,较好地保证了知识库与推理机的有效分离,使知识库的管理轻松快捷,实现规则的增加及重复规则的删除,成功的实现了系统的知识库。关键词管式加热炉故障诊断专家系统知识库中图分类号TH??文献标识码A文章编号1000-3932(2012)04-0000-00管式加热炉在石油化工生产中起着举足轻重的作用,它运行状况的好坏直接关系到整个生产装置能否安全、高效、稳定、长周期运行[1]。所以根据具体的设计要求,对管式加热炉实施运行状态的动态监测是非常有必要的。为了实现动态监控,国内许多大中型石化企业已引进了较先进的在线监测系统。但与国外先进企业存在着一定的差距,主要在于:对监测到的参数缺乏综合分析及利用,不能为装置优化及节能降耗改造服务。因此,这些监控系统是不全面的。开发一套加热炉运行状态诊断系统,对管式加热炉进行快速诊断并提出最优的解决问题的方案是非常必要的。专家系统是指具有智能化的计算机程序的系统,其实质就是把相关领域求解问题的知识方法有机地结合到程序中,以使程序具有像人类求解问题时一样学习、推理和解释的能力,其系统性能取决于它所拥有的知识的数量和质量以及它对知识的管理和利用能力。专家系统近几年来在工程研究的各个领域都得到了广泛的应用。1系统数据库模型的选择1.1数据库模型综述数据库中的数据是按某种数据模型来组织的,具有结构化的特点。当前流行的基本数据模型有关系模型、层次模型、网状模型三种。它们的区别在于数据之间的联系采用不同的表示方式。关系模型是用二维表来表示数据之间的联系;层次模型是用树状结构来表示数据之间的联系;网状模型是用图结构来表示数据之间的联系[2]。关系数据模型与非关系数据模型相比具有明显的优势,主要体现在关系模型具在严格的结构规则,其逻辑结构形式可以通过一张如表1所示的二维表来体现。该模型形式简单直观,系统易于实现,性能也比较好。表1关系型数据库的结构序号名称A名称B名称C名称D11A1B1C1D22A2B2C2D33A3B3C3D…………………………1.2数据库模型的选择为了选择合适的数据库模型,首先需要对专家系统的特点有进一步的了解。专家系统的基本特点:1)具有专家水平的专门知识;2)能进行有效的推理;3)具有灵活性、透明性、交互性。其中,灵活性就要求知识库与推理机能够相互独立,能够直观的反映出存在的问题和专家的意见。并且利于系统不断接纳新知识,调整有关控制信息和结构,确保推理机与知识库的协调,同时便于系统的修改和扩充。另外,还需要对管式加热炉的相关数据进行分析。现以加热炉燃烧故障诊断系统的部分知识为例就系统数据库模型的选择依据进行说明。我们将相关知识整理,将加热炉燃烧故障的知识汇集形成一个二维表格。节选常见的故障诊断的部分知识如表2所示。表2加热炉燃烧常见故障一览表(节选)故障序号故障现象专家意见1炉膛外壁温度过高停机检查内衬硅酸铝耐火纤维是否被破坏2炉膛温度过高调节油量;停机清垢,扫灰23火焰偏上调整上部风板连杆,使上风板开度减小4耗油量增加检查炉管,防止爆管如表2,数据可以整合并表示为产生式知识体系,即:Rule1:IF“炉膛外壁温度过高”,THEN“停机检查内衬硅酸铝耐火纤维是否被破坏”;Rule2:IF“炉膛温度过高”,THEN“调节油量,停机清垢,扫灰”;Rule3:IF“火焰偏上”,THEN“调整上部风板连杆,使上风板开度减小”;Rule4:IF“耗油量增加”,THEN“检查炉管,防止爆管”;表2中数据的组织形式符合关系模型的结构特点,具有严格的数学结构规则,而且可以实现数据的物理存储模式和数据操作模式的分离,即数据库具有良好的独立性,这些特性都符合专家系统结构的要求,能有效地确保系统知识库与推理机的分离,所以管式加热炉专家系统的知识库采用关系模型的数据库结构是合理的。本系统采用目前流行的桌面关系型数据库管理系统——MicrosoftAccess2003作为知识库的开发软件[3]。MicrosoftAccess2003具有强大的数据库管理性能和良好的工作环境,简化了数据库的管理和应用。数据库中大量地运用存储查询可以有效地提高数据的检索效率,所以选择它作为知识库的开发工具有较强的优势。2系统知识库的建立2.1面向对象的知识库结构模型面向对象表示法以知识对象的表示为基础,以知识对象之间的网络为框架,并以此来实现知识的存储与组织以及智能行为的工程模拟过程。面向对象表示法能简单直接的表示复杂事物,并且易于形成形式系统,易于知识的扩充和更新,能直观的表达人们解决问题的思路。采用面向对象的知识表示方法构造的知识库具有良好的层次体系结构,实现了数据抽象与信息的共享,避免了传统知识表示方法中知识库庞大,诊断效率低的缺点。同时面向对象知识表示方法支持知识的重用,易于维护,更适合于专家系统的开发。在本次设计中,我们采用面向对象方法设计了基于多层对象链表的专家系统模糊知识库。具体知识库的结构模型如下图1所示。图1知识库结构模型2.2知识库的建立首先,通过知识的获取方式将加热炉故障[4]诊断的知识整理为表3的形式。然后根据MicrosoftAccess2003的要求和推理机构的需要,将上表的知识分别改造成3个相关的二维表,即在Access中使用设计器依次创建3个表,输入相应的字段名,并根据每一个字段名性质设定各自的“数据类型”[5]。表3加热炉故障诊断表(节选)设备名称故障现象故障原因排除方法炉膛与炉衬炉膛发暗负压偏小,供风不足加大通风量燃烧器火焰回火负压挡板开度小调整负压挡板余热回收段烟囱冒黑烟雾化蒸汽压力突然下降调整空气进量,改善雾化条件燃烧器火焰颜色发红雾化蒸汽量小,或通风量不够开大雾化蒸汽和调节风量3首先是创建设备名称表,如图2所示,其中设置“设备代码”为“[设备名称:表]”的主关键字,其作用是作为表中所有存储的每一条记录的唯一标识,以便于提高数据库的查询和排序的速度,同时在数据表中查看数据时,Access会按照主关键字的顺序显示数据,利于检查记录是否有重复的数据,减少了知识的冗余,方便知识的检索与维护。图2[设备名称:表]的数据表示图接着创建故障现象表,如图3所示,表中以“故障代码”、“设备代码”、“故障现象”作为字段名称,并设置了“故障代码”为“[故障现象:表]”的主关键字。图3[故障现象:表]的数据表示图然后创建故障排除表,如图4所示,表中以“故障原因代码”、“故障代码”、“故障原因”和“排除方法”作为字段名称,表中设置了“故障原因代码”为“[故障排除:表]”的主关键字。图4[故障排除:表]的数据表示图最后在数据库中定义3个数据表的关联关系,如图5所示。其中“[设备名称:表]中的主关键字“设备代码”与“[故障现象:表]”中的主关键字“设备代码”之间建立的是一对多的联系,“[故障现象:表]”中的主关键字“故障代码”与“[故障排除:表]”中的主关键字“故障代码”也建立一对多的关系,通过表间关联关系的建立,实现了基于框架结构的产生知识表示法。如此就完成了加热炉故障诊断系统的知识库模块的建立,其它知识库模块的建造也是基本按照这个流程逐条逐步完成,至此完成了本系统的知识库初步建造。4图5“[设备名称:表]”、“[故障现象:表]”和“[故障排除:表]”的“[关系]”窗口3知识库的管理知识库初步建成以后,知识库的开发并不是就一劳永逸了。随着知识的不断增加,需要对知识库进行组织管理和维护。知识库的管理是指对知识库进行管理、控制,完成对知识库的各类操作,并向用户提供检索、查询手段,它包括知识的分类、知识的组织与存储、知识的增加、知识的删除、知识的修改以及知识的一致性、完整性、冗余性的检查等等。知识库的管理中,其中最重要的就是知识的查询与知识的添加。3.1知识的查询在知识库中寻找一个或多个“特定”的知识。其中包括正确性检验、多义性检验、冗余性检验[6,7]等。本文设计了以下步骤对知识库中的知识进行查询:a.初始化:i=1,置队列Que为空。b.若in,则搜索失败;否则转步骤cc.在第i级按组索引搜索,若第j组满足条件则转步骤d;否则转步骤fd.在第i级第j组搜索,若有存在满足条件的知识,则将所有满足条件的知识索引插入到队列Que中;否则转步骤fe.若队列Que非空,则从队列Que中取出一条知识索引并根据索引在知识库中找到对应的知识并激活,如果执行后得到满足要求的结果则成功退出,否则转步骤e。若队列Que为空则转步骤ff.i=i+1,转步骤b。为了保证知识库中不存在非法的规则,上述检验应在新规则加入时生效。这些检验程序的核心部分都由SQL语句实现。程序操作界面如图6所示。图6知识查询与添加例:故障现象的查询语句:Selectgh_table.gzhxfromgh_tablewheregzhx=text3.text如果存在,则将其显示在添加程序界面上,并且执行下一个查询语句故障原因的查询语句:Selectgh_table.gzhxfromgh_tablewheregzhx=text4.text3.2知识的一致性、完整性和无冗余性知识的一致性是指知识库中已有知识不允许相互矛盾。加入新知识和删改老知识时,要保持知识的一致性。知识的完整性指知识应该满足一些预先约定的完整性约束。知识的无冗余性,指一个知识5从某个知识集合中的删除,即不缩小也不扩大由该知识的集合采用任何方法所能衍生出来的知识的集合。3.3知识库的重组知识库运行较长一段时间后,由于知识的不断添加、删除和修改,使知识的物理组织变坏,从而影响了知识库的存储空间、运用效率和存取效率。为了改变这种状态,就需要对知识库重新组织,即修改知识表示模式并重新组织原始知识库的知识以适应新的结构和变化。这是很重要的一条维护功能。从概念上讲,知识库的管理是在知识的获取之后进行的完善性工作,但从实际工作上看,知识的获取与知识库的管理并没有严格的界限,二者之间其实是一个连续的过程,二者共同的目的是知识库的建设,只是工作上的侧重有所不同,知识的获取主要是解决如何将领域知识装入系统的知识库中,而知识库的管理的重点是对已经装入知识库里的知识进行统筹和完善。4结束语本次加热炉故障诊断专家系统知识库的开发采用了MicrosoftAccess2003作为数据库的开发软件,符合专家系统的特点,符合知识的表示方法,符合专家系统对知识库与推理机相互分离的要求,为系统的顺利开发打下了坚实的基础。知识库管理中最重要的工作是知识的增加、删除和修改,MicrosoftAccess2003为实现以上这些操作提供了极为便捷的方式,通过对故障排除表的数据视图的简单操作即可实现。但是在关系数据库中的数据联系是靠数据冗余实现的,它不能完全地满足专家系统对数据冗余地消除,这使得系统的空间效率和时间效率都会有所较低。参考文献[1]周艳,刘炳成,李庆领.管式加热炉节能优化及运行状态诊断专家系统[J].青岛化工学院学报,2001,22(4):333~335.[2]梁灿,赵艳铎.Access数据库应用基础教程[M].北京:清华大学出版社,2005.[3]月志刚,杜培军.关系数据库表示规则知识的理论与方法[J].计算机工程与应用,2006,(26):150~151.[4]任刚.炼油厂管式加热炉运行存在的主要问题及改进措施[J].石油化工设备技术,2004,25(3):12~16.[5]陈宁春.饲料工艺与设备专家系统知识库的实现[J].粮食与饲料工业,2010,(8):42~45.[6]张宇波,陈继瑞,任慧.改进的Prony算法在频谱估计中的应用[J].化工自动化及仪表,2010,(2):187~189.[7]刘嫣.基于非正交坐标系下的SVPWM改进算法研究[J],化工自动化及仪表,2010,37(1):63~65