山西国际商务职业学院毕业设计
此系统的实际目的是为了教学。日本丰田中央研究所开发了发动机故障诊断专家系统ATERX,它根据司机日常注意到现象,推断引起发动机故障的原因及维修方法,该系统是一个产生式系统,知识结构中约120条规则,采用正向推理,把可能的故障原因全部输出。
国内在基于知识的发动机故障诊断系统方面的研究较晚。1988年天津工程 学院的PC机上用DBASE语言开发,以TURBE-PROLOG语言改写的发动机故障诊断专家系统,该系统以老解放汽油车为主要研究对象。南京大学的1998年开发的发动机故障维修专家系统的基础ABDES,运用基于CASE的推理模式,采用可视化编程手段,提供了一个可视化的知识获取工具,可以完成基本的发动机故障诊断。这些系统普遍存在的问题是实用性差,知识库不完善,推理效率低。
目前,国内外对农用柴油机故障诊断系统的研究还较少,特别是对中小型拖拉机的故障诊断的研究更加缺少。本课题的研究可填充此空白,对广大农机用户有较强的实用价值。
1.3 研究内容及研究方法
鉴于以上现状,笔者决定在这方面作些尝试。根据柴油发动机的常见故障,应用人工智能专家系统原理和面向对象的设计方法,建立知识库和相应知识表达推理机制,利用编程工具——面向对象的可视化编程软件MicrosoftVisualFoxPro[29],设计并组建拖拉机发动机的常见故障诊断专家系统,实现的功能包括:发动机故障诊断功能;故障模糊查询功能;用户诊断数据库浏览、打印、保存功能;知识库维护修改和可扩充的功能。另配有大量的发动机构造图和维修图片,以便用户学习掌握[30]。以缓解故障诊断专家供不应求的矛盾,提高发动机常见故障诊断的效率和准确率。
研究方法分以下几步:收集整理发动机故障现象及排除方法;针对发动机的故障,依据计算机数据结构原理,采用故障树的数据结构和关系数据库原理完成知识表示,建立了知识库,实现了故障诊断所需的知识库和推理机,构建发动机故障诊断系统的诊断流程;在此基础上利用编程工具MicrosoftVisualFoxPro,分别设计各种工作界面,实现上述功能;最后对软件反复进行测试,以进一步完善软件的功能。
2
2 故障诊断专家系统分析及开发简介
2 故障诊断专家系统分析及开发简介
2.1 农用柴油机故障类型
经过分析,我们把专业领域的专家知识即发动机常见故障归纳为十大类[2]:①发动机起动困难或无法启动;②功率不足;③排气不正常;④柴油机运转不稳;⑤柴油机运转中有不正常响声;⑥柴油机过热;⑦柴油机突然自行熄火;⑧飞车;⑨窜烧机油;⑩机油压力不足。
2.2 专业领域知识库的生成及知识表示
用合适的形式表示领域专家的知识是构造知识库的重要环节。近年来,面向对象的编程技术得到了迅速发展,在此基础上发展起来的面向对象的知识表示方法为解决专家系统中的知识获取、知识表示、知识库的组织、知识推理等方面提供了非常有效的途径。
表2.1毕业生对薪酬期望频度分布
学校 山西大学 太原理工 山西师范 大同大学 中北大学 晋中学院
1000以下
2 1 3 9 7 11
1000-1500
10 4 16 14 11 9
1500-2000
18 14 24 12 11 7
2000-2500
20 22 21 7 3 1
2500以上
9 11 5 1 0 0
为此,知识库的建立重点采用了面向对象的程序设计语言。针对发动机的故障,依据计算机数据结构原理,采用故障树的数据结构和关系数据库原理完成知识表示,建立了知识库,实现了故障诊断所需的知识库和推理机。[1]用面向对象程序设计语言MicrosoftVisual FoxPro(简称VFP)开发工具开发了发动机故障诊断专家系统。该系统主要实现的功能包括:发动机故障诊断功能,故障模糊查询功能,用户诊断数据库浏览、打印、保存功能,知识库维护修改和可扩充的功能,另配有大量的发动机构造图和维修图片,便于用户学习掌握。
2.3 开发工具简介
本系统采用VFP开发工具及结构化查询语言(SQL) ,其简介如下[5,4]: Visual FoxPro是目前微机上优秀的数据库管理系统之一,被人们誉为“大众数据
3
山西国际商务职业学院毕业设计
库”。正如其名称中冠之的Visual一样,它采用了可视化的面向对象的程序设计方法,VFP采用的是关系数据库模型,数据库系统以其开发成本低、简单易学、方便用户等优点得到迅速推广。
关系型数据库使用的标准语言是结构化查询语言(Structured Query Language,SQL),它是操纵和管理数据库的系统软件。Visual FoxPro属于一种关系型数据库管理系统,是以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。具有最小的冗余度,具有数据独立性、实现数据共享、安全可靠、保密性能好等特点。
4
3 故障诊断专家系统的基本原理
3 故障诊断专家系统的基本原理
3.1 发动机故障形成原因
发动机故障形成原因主要有:
(1)本身存在着易损零件。发动机设计中不可能做到所有的零件都具有同等寿命,发动机本身有些零件为易损件,如空气滤清器、机油滤清器等使用寿命较短,均需定期更换,如没有及时更换或提前损坏发动机就会发生故障。
(2)零件本身质量差异。发动机零件是由不同厂家大批量生产的,不可避免地存在质量差异。原厂配件使用中会出现问题,协作厂和不合格的配件装到发动机上更会出现问题,因此各厂家都在努力提高配件质量,消除零件本身质量缺陷。
(3)发动机消耗品质量差异。发动机上的消耗品主要有燃油和润滑油等,其质量好坏会严重影响发动机的使用性能和使用寿命。而这些用品的添加往往很难由用户来保证,稍不注意就会加入劣质燃油和润滑油,对发动机的危害极大,可能用户还没在意,发动机就出问题了。
(4)发动机使用环境影响。农用机械的使用环境大多较为恶劣,道路不平,严重颠簸,长期大负荷工作,工作场所尘土较大等,发动机容易发生故障,或引起突发性损坏。
(5)用户使用方法的影响。使用方法正确与否对发动机故障影响很大。发动机使用管理不当,不能按规定进行走合和定期维护,野蛮启动等都会使发动机早期损坏和出现故障。
(6)发动机故障诊断技术和维修技术的影响。发动机在使用过程中要定期维修,出了故障要做出准确的诊断,才能修好。在发动机使用、维护、故障诊断和维修作业中都需要有技术,不会修不能乱修,不懂不能乱动,以免旧病未除,新毛病又出现。
发动机故障广泛地存在于发动机的制造、使用、维护和修理工作的全过程,对于每一个环节都应十分注意,特别是在使用中要注意发动机的故障,有故障要及时发现、及时排除,才能使发动机在使用过程中减少出现事故。[2]
3.2 发动机故障诊断方法
发动机使用过程中,不可避免的要发生各种故障。农用车辆在行车途中,要由驾驶员当场检查、当场诊断、当场排除故障,才能使车辆行驶;有些故障比较大或比较复杂,驾驶员较难自己解决,要由修理工来检查、诊断和排除。发动机故障千变万化,千奇百怪,种类繁多,但是故障诊断的方法和步骤都是一定的,只要基本方法正确,思路清晰,
5
山西国际商务职业学院毕业设计
方法得当,故障诊断也是容易做出的。
应用这些方法,要有理论做指导,充分了解发动机的使用和维修情况,充分了解故障的发生情况。对于发动机上出现的比较简单的故障,只凭经验和感官即可找到原因和所发部位;对于疑难故障,只能凭仪器和应用专门的故障诊断设备才能找到,有了仪器和设备,也要会使用,使用中还要结合维修经验,灵活的运用这些故障诊断方法,对故障做出综合评价。在诊断中不断实践,不断总结和积累经验,就会应用自如。
3.3 故障诊断的故障树依据原理
结合发动机故障诊断专家系统要实现的功能,经过对发动机故障的分析则可知,对于发动机故障的每一种存在的现象都有多种一级原因与之相对应,且每一种一级原因有可能会分为多种二级原因,甚至三级原因。以此种思想结构可知,数据与数据元素之间的关系,正好符合计算机数据结构中树的基本特点,则对于发动机故障来说,可采用此种数据的表现形式来完成。[2] 3.3.1 数据结构基本原理及基本概念
数据结构是指相互之间存在一种或多种特定的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是在他们之间存在着某种关系,这种数据元素相互之间的关系称为结构。
在数据结构4种基本结构之上加载的一组操作称为抽象数据类型。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要他的数学特性不变,都不影响其外部的使用。另一方面,抽象数据类型的范畴更广,它不再局限于各处理器中一定一并实现的数据类型,还包括用户在设计软件系统时自己定义的数据类型。为了提高软件的复用率,在近代程序设计方法学中指出,一个软件系统的框架应建立在数据之上,而不是建立在操作之上。即在构成软件系统的每个相对独立的模块上,定义一组数据和施于这些数据上的一组操作,并在模块的内部给出这些数据的表示及其操作的细节,而在模块外部使用的只是抽象的数据和抽象的操作,显然所定义数据类型的抽象层次越高,含有该数据类型的软件模块的复用程度就越高,所以发动机故障诊断专家系统后台的数据库要经过仔细严密的思考,以提高软件的复用程度。 3.3.2 树状结构介绍
树状结构是一类重要的非线性数据结构。直观的看来是以分支关系定义的层次结构。树结构在客观世界中广泛存在,同时在计算机领域中也得到了广泛应用,尤其在数据库系统中,树形结构也是信息的重要组织形式之一。
6