admin 管理员组文章数量: 1087652
2024年3月20日发(作者:python断言可变数据)
维普资讯
第21卷第1期
2 0 0 2年3月
大连轻工业学院学报
J0urnal of Dallan Institute of Light Industry
VoI.21,No 1
Mar 2 0 0 2
文章编号:1005.4014(2002)01.0044.06
基于Delphi5数据库的故障诊断专家系统
张建 ,金伟
116034)
(1.大连理工大学图书馆,豆宁大连 116024;
2大连轻工业学院信息工程系.辽宁大连
关键词:DelDh ;故障诊断;专家系统;Pa啦d味数据库:推理
摘要:在Delphi5语言平台上,以汽车故障诊断为例,开发专家系统。率文介绍该系统的知识库建
拘和推理形式。特别注意到系统的安全和维护。该软件应用在大连轻工业学院的汽车队中,运行
效果良好。
中图分类号:TP181 文献标识码:A
Expert system for fault diagnosis based on Delphi5 database
ZHANGdian1。jIN Weiz
(1 Library,Dallan Univ of Tech.,DaSan 116024.Chins
2 Dept.of Inf Eng,Dalian Inst.of L ht Ind,Dalian 116034.China)
Key words:Delphi5;fault diagnosis;expert system;Paradox;reasoning
Ahstraet:We develope an expert system for fault diagnosis based on Delphi5 database As an illustrative ex—
ample,the car fault diagnosis system is established The database structure,reasoning methods,and system
malntannece are detailed in this paper.Its validity has been verified in application in the motor transport
corps of Dahan Institute of Light Industry.
故障诊断专家系统(FDES)是根据对症状的
观察与分析,推断故障所在,并给出排除故障方案
的系统。其实也可以把它定义为一个在某领域
Delphi是Inpr ̄e公司的一种优秀的面向对
象、可视化软件开发工具。使用效果很好的Del—
phi5.0是基于32位的Windows98/NT环境下的
内,具有专家级水平的知识处理程序系统。在结
构上它由一个专门领域的知识库与一个能获取和
运用知识的机构组成。专家系统所处理的对象主
要是用符号表示的知识和信息,而不仅仅是数据。
其智能行为除了能简单逻辑推理,目标查询之外,
主要表现在启发性推理。专家系统得出结论时,
能自己解释“为什么要如此做”,“是如何做的”等
问题。这对判断它给出的结论是否合理或是否正
确很有帮助_1 J
优秀软件开发系统,被称为“第四代编程语言”,它
具有功能强大,运行速度快易于使用及开发迅速
等特点。兼有Visual C++的强大功能和Visual
Basic的易用性。被评为美国最优秀的软件之
一
2 J
。
特别是强大的数据库支持,使它成为一种
优秀的数据库编程软件,它采用的是独特的数据
库引擎BDE(Borland Database Engine)对数据库
进行操作,通过BDE与各种数据库的接口,可以
访问Oracle、S base、MS Access、dBase、Paradox和
传统的专家系统开发工具,如Lisp,Turbo
Interhase等数据库。BDE还可以与Borland的
SQL Link链接,访问各种网络数据库。它具有编
程简单,移植方便的特点E3]。
Prolog等,由于其运行速度慢,数值计算能力弱,
人机接口功能不完善,移植性差等问题,阻碍了专
家系统的实用和推广。
本文采用Delphi自带的Paradox数据库,开
发成功一个汽车故障诊断专家系统。
1数据库和专家系统
数据库是在DBMS(数据库管理系统)集中管
收甍日期 ̄2002.O1.18
作者简介:张建(1974 ̄),女.助理馆员
维普资讯
第1期 张 建等:基于Delphi5数据库的故障诊断专家系统45
理下,具有较高的数据独立性,较少的冗余,并且
相互间有联系的文件集合。它不仅能反映数据的
本身,而且能够反映数据之间的联系,在多个表的
数据之间进行操作。数据库还具有数据独立性,
Delphk5的Paradox数据库进行分级故障诊断专
家系统的设计,并开发成功了一个汽车故障诊断
系统实例。
2.1知识库建立
数据安全性,数据完整性,集中管理,控制冗余等
特点。并且,数据库系统的存储信息量大、运行的
速度快、查询方便、便于维护。利用数据库构建专
家系统的知识库,具有存储规则多,查询方便、快
捷,且便于维护。
本系统为二级故障诊断系统,它的一部分故
障征兆.原因结构如图2所示。
现象统一编号为1~13;故障分为两级,其中
上级故障(图2 A--c)按顺序编号:1~3;下级故
障(图2 a~h)必须按有同一个上级故障的下级故
障按顺序排在一起的原则编号:1~8。
专家系统由以下部分组成,知识获取、推理机、
知识库,知识,解释程序和用户接口等。通过接口,
系统与用户和专家建立联系,如图1所示 J。
用数据库建立知识库时,为把知识库的信息
以数据库表的记录的形式全部表示出来,数据库
的构建应包含:现象表(C ̄USe.db),既把系统中所
包括的所有的现象和它的当前状态记录在表中。
如:本汽车诊断系统中应按顺序把序号1~13的
现象录人该表。多级故障表(abort1 db.
aborm.db)。每级故障表记录着该级的所有故障
和故障的相关信息。多级故障表之间靠数据库表
的联系字段建立关系。每个表的结构如下面
所述:
图1 专家系统筒图 (1)现象表有:causeNo(现象序号),cause—
Name(现象名),eauseNow(现象状态)3个字段。
causeN0为整数型,causeName,causeNow为字符
型。causeNo为主索引。其中causeNow初始化
2系统的设计与开发
专家系统一般多为分级系统。本文基于
油l葙l I油路故障lI d汽油,I l摹问题l le汽油l I故Jf汽化釜l障l l故f g点足些l障l I故lh火花謇 障
油箱中
量正常
9.汽油泵
八口赴有
汽油
1出 0.汽油刮 I
汽口赴有l 『
油I l
l1 2.发动机
l运转不平稳
一
运火 l转转时 熄I 1』I l正—常— —一
C
或油3.不来油l l1.仪表l l 4.启动机l l 5.点火l l6.油箱中
不畅J f 盘亮I f转动 I l火花正常l l油量正常
其中:+表示否定
图2汽车故障系统故障一原因结构图
维普资讯
46 大连轻工业 学院 学报 第21卷
为“K”(既等待回答状态),当系统进行工作时,随
据库建立一个别名为brain的数据库,此数据库
着对问题的回答,被动态改写为“Y”(肯定回答) 包含3个表:cause.db(现象表),abort1.db(一级
或“N”(否定回答)。 故障表),abort2.db(二级故障表)。现象表结构
(2)多级故障表的每个表字段应为:abNo(故
不变,有13个现象(即征兆),依次添人本表,
障序号),abNanle(故障名) upTabName(上级故
cau∞Now初始化时为“K”。如表l。
障表名),upAbNo(推出此故障的上级故障序号),
表1故障现象表
eauseNol(引起故障的现象1),re.sukNol(此故障
中现象1的状态)…causeNon(引起故障的现象
n),resultNon(此故障中现象n的状态),
downTabName(由此引起的下级故障表名),
downAbH ̄tNo(在下级表中第一个可能由此引
起的故障序号),downAhlastNo(在下级表中虽后
根据本系统的特点,一级故障表依次定义字
个可能由此引起的故障序号)。abNo,upab.
段为:abNo.abNanle,gauseNo1.resultNo1.
一
No,causeNol-”causeNon,downAbFirstNo.down—
cau ̄eNo4 resultNo4,downAbFirstNo,doWt't.
Ab tNo为整数型+其余为字符型。abNo为主索
AblastNo十二个字段。添加记录如表2。
引。r ̄ultNo根据出现此故障的现象(causenNo)
表2中.对于不用的引起故障的现象和其状
的状态添写“Y”(肯定此现象)或“N”(否定此现
态字段用 0”添加,cauaeNol4的值和现象表中
象) 在建立数据库的知识库中,根据具体的实际
causeNo的值对应,而downAbFirstNo,down.
情况,故障表的字段数可作适当的减少。如 一级
AbhstNo的值和二级故障表中的ahNo的值
故障表可省去upTabName.upAbNo字段;虽低级
对应。
的故障表可省去downTabName.downAbFirstNo,
根据本系统的特点二级故障表依次定义字段
d0wnAblastNo字段。 为:abNo,abName,upAbNo,causeNol,result—
因本系统有二级故障,因此,应用Paradox数
Nol,cauaeNo2+rusultNo2。添加记录如表3:
表2上级故障表
表3下级故障表
表3中+upAbNo的值和一级故障表中的ab.
用上述两种方法对数据库表的记录进行添加,修
No的值相对应;causeNol、eauseNo2的值和现象 改和删除。本汽车故障诊断系统可同时采用上述
表中的causeNo的值相对应。对于不用的引起故
两种方法。与传统的知识库构建法比较, 表的
障的现象和其状态字段用“0”添加。到此.本汽车
形式进行操作简单、方便,并且可以存储大量的知
故障诊断专家系统的知识库已经以数据库形式构
识。而且推理也是完全脱离知识库的,所以改动
建完成。
数据库对整个专家系统程序没有影响。
2 2知识库的维护和安全性
用数据库建立知识库,安全性能高,并且数据
知识库的维护包括添加、修改和删除。以数
库的所有的表都加了密码,无论以那一种方式打
据库形式建立的知识库可以直接在数据库的表上
开表都需输入密码,防止无关或没有修改权限的
操作;也可以编程的方式对数据库进行操作。即
用户破坏了知识库系统。
维普资讯
第t搠
2.3推理机
张建等:基于Delphi5数据库的故障诊断专家系统
(1)正向推理
47
根据上述知识库的结构,即以数据库形式构建
从已知的事实出发,向结论方向推导,得到正
确的结论 。程序原理圉如图3。
知识库的汽车故障诊断专家系统,推理过程如下:
图3正商推理
程序开始时,要把cause.db初始化,即把现
象的状态写为“K”(待定状态)。每次推理上级、
时)有关的二级故障;否则把与此故障有关的所有
现象所对应的现象表中causeNow值为“K”的按
下级故障时总是先把当前故障包括的所有现象的
状态与cause.db中的现象状态进行匹配。所谓匹
顺序向用户提问。当用户对现象回答“Y”或“N”
后。都先把回答的值写人c ̄luse.db中的causeNow
字段中,然后再判断回答和故障表中现象的状态
是否相同。这样专家系统具有记忆(直到下一次
重新开始对再初始化现象表)和智能判断的功能,
在运行中先对故障进行判断,把和cause.db表给
的状态进行比较.可以把不符的故障跳过.也可把
完全匹配的故障直接给出。这样程序运算速度
快,省去不岿要的判断。
(2)反向推理
配就是把故障表中的现象的状态(resultNo的值)
与对应的现象表中的现象的状态(causeNow的
值)相比较,如两者相等(同时为“Y”或同时为“N”
时)或现象表中causeNow为“K”时,视为匹配;相
反为不匹配。如不匹配则直接到下一个故障.如
匹配则执行判断模块。程序中的两个判断模块的
功能是:当与此故障有关的所有现象在现象表中
的状态都不为“K”时,输出此故障(此故障为二级
故障时)或开始检索和此故障(此故障为一级故障 先从知识库中选中一种故障作为假设,然后
维普资讯
4g 大连轻 工业学 院 学报 第21卷
寻找支持这种假设的事实或证据来验证这种假设
的真假性。当用户提供的数据与系统所需要的证
到了证实,这种推理方式也叫作目标驱动方式。
与正向推理相比,反向推理有很强的目的性。程
据完全匹配成功时,则推理成功,所作的假设也得 序原理图如图4所示。
图4反向推理
它的判断模块的功能和正向推理的判断模块
速性,适用于对所研究领域比较熟悉的人们使用。
的功能相同。如正向推理一样,反向推理也有记
如:采用反向推理得出一级故障A,在二级故障中
忆和智能判断的功能。当一次假设不成立的时
与之有关的为a、b,则对a、b的推理采用正向推
候,在程序框图中,如选择继续则不初始化cause,
理。
dh,直接进人反向推理,使原先现象的状态保留。
此推理的正向部分和反向部分分别同正向推
使判断更迅速。
理和反向推理相类似,并且也有记忆和智能判断
(3)正向一反向推理
的功能。
用先给定的原始数据或证据(往往是不充分
2.4解释程序
的)做先前推理,得出可能成立的诊断结论 ,然
本程序的解释程序采用Delphi编程的动态
后以这些结论为假设,进行反向推理,以得出正确
解释程序,解释结果随着故障表中记录的多少.值
的诊断。程序原理图如图5。
的不同而不同。如:假设诊断结论为b。则马上调
此推理的反向部分同反向推理相类似,并且
用解释程序,检索二级故障表,找到故障为b的表
也有记忆和智能判断的功能。
记录,征兆为“7 ,“N”;上级故障为…1’;通过主索
(4)反向一正向推理
引为“1”,检索一级数据库,得出上级故障为“A”:
对于本例中的分级故障诊断系统,也可以采
通过征兆号“7”,检索征兆表主索引,得出征兆为
用这种新的反正结合推理方式,即在一级故障中
“电池接线正常”。然后在解释界面中输出:“由于
采用反向推理。先得出一级故障,为A,B或c,
您的汽车有:电池接线正常,否;且电池系统故障.
然后再得出和此一级故障有关的全部二级故障,
所以您的汽车故障为:电池接线故障。”如果推理
此二级故障采用正向推理。这种推理方式,即有
没有结果,则有相应的解释程序告知用户
正向推理的简单性,又有反向推理的目的性和快
维普资讯
第1期 张建等:基于Delphi5数据库的故障诊断专家系统
2.5用户接口
49
本程序采用Delph ̄5编写友好的、面向对象
l初始化C ̄U¥C dh表I
的用户界面,使得编程简单,功能强大,易于使用。
l
l哿 嚣舞 慧
3 结 论
本应用程序结合了Delphi5数据库的特点,
干程序根据输八的状志选出
可能出现的故障【】一n)
开发的故障诊断系统具有结构简单、运行速度快、
维护方便等特点。该软件应用在大连轻工业学院
的汽车队中,对汽车故障的及时发现及汽车的良
好运行起到了很好的作用。
l取出可能的故障1l
参考文献
[1]吴夸培,肖健华.智能故障诊断与专家系统[M]北
京:科学出版杜,1990 25—60
[2]赛万峰,张子瑜.Delphi5功能解析[M]北京:电子
工业出版社.2000.3—13.
[3]张子瑜,李新杜Delphi5基础与提高[M]北京;电
子工业出版杜,2000.2—15
[4]肖显军,勒中鑫C++与故障诊断专家系统[Jj信
息工程学院学报,I994 13(4)}122—126.
[5]何岭松,王峻峰基于Web数据库的诊断专家系统技
术[J].设备管理&维修,2000.20(7):23—26
[6]刘嵘,周鸣歧故障诊断专家系统综述[J 测控技
术,1994,13(2):31—37
固5正向一反向推理
科技论文的规范表达
引 言
论文的引言叉叫绪论,写引言的目的是向读者交代本项研究的来龙去脉,其作用在于唤
起读者的注意,使读者对论文先有一个总体的了解。
引言中要写的内容大致有如下几项:
1)研究的理由、目的和背景。包括问题的提出,研究对象及其基本特征,前人对这一问
题做了哪些工作,存在哪些不足;希望解决什么问题,该问题的解决有什么作用和意义;研究
工作的背景是什么。
如果要回答的问题比较多,则只能采取简述的方式,通常用一两句话即把某一个问题交
待清楚。
2)理论依据、实验基础和研究方法。如果是沿用已知的理论、原理和方法
只需提及一
,
》 笔,或注出有关的文献。如果要引出新的概念或术语,则应加以定义或阐明。
{
…~
3)预期的结果及其地位、作用和意义,要写得自然、概括、简洁和确切。
、 、 … 、 ……
版权声明:本文标题:基于Delphi5数据库的故障诊断专家系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710888775a578116.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论