企业简介

作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。

  • 公司类型:其他

联系方式
  • 控制网
  • 地址:北京市海淀区上地十街辉煌国际2号楼1504室
  • 邮编:100085
  • 电话:010-57116291 / 59813326
  • 传真:010-59813329
  • 网址:http://www.kongzhi.net
  • Email:mahongliang@kongzhi.net
  • 联系人:市场部
案例详细
标题专家系统在汽车故障诊断方面的应用
技术领域SCADA-RTU
行业
简介本系统从实用角度出发,根据发动机故障的复杂性,依据计算机数据结构原理,采用故障树的数据结构和关系数据库原理完成知识表示,建立了较完善的知识库,实现了确定性故障诊断所需的知识库和推理机。
内容

1. 引言:

    到目前为止,大多数计算机程序都是用来执行“通常意义上的任务,这些任务要么对任何人来说都不难完成,要么有严格的数学公式和精确的算法”,然而,还有大批有意义的任务要求具备许多专门经验知识,这些知识多数人并不具备,也很难建立起严格的数学模型。也就是说,这类任务要由积累了专门经验知识的专家来完成,如医疗诊断、天气预报、化学分析、市场预测等等。在汽车维修过程中同样存在这样一个问题:汽车维修对维修人员的个人经验要求较高,比如在分析一个汽车电子信号时,如果维修人员没有丰富的维修经验,往往也无法诊断出发动机故障的原因。本文提出采用专家系统来辅助判断发动机的故障。
 
    专家系统是一种计算机程序,它可以以人类专家的水平完成专门的、一般是困难的专业任务。研制专家系统的目的,就是要使计算机在特定领域中起到该领域人类专家应起的作用,设计专家系统的基本思想是使计算机的工作过程竭尽全力地来模拟人类专家解决实际问题的工作过程,也就是模拟人类专家如何运用他的知识与经验来解决所要解决的问题的方法与步骤。

    1.1专家系统的构成:
 
    目前大多数专家系统通常由知识库、推理子系统、解释子系统、知识获取子系统、综合数据库5个部分组成,如图1-1所示:

    知识库只用于存放不依赖于领域中具体问题的知识,如一些判断性知识和元知识,而与领域中具体问题有关的知识(如描述问题的数据等)则放在综合数据库中,解释子系统程序负责回答用户提出的各种问题,包括与系统运行有关的问题和与运行无关的关于系统本身的一些问题,解释子系统是实现系统透明性的主要部件。知识获取子系统负责管理知识库中的知识,包括根据需要修改、删除或添加知识及由此引起的一切必要的改动。
 



图1-1 专家系统的一般结构

2. 应用于设备故障诊断专家系统的设计:

    专家系统在故障诊断领域的应用是很广泛的。有旋转机械故障诊断专家系统,往复机械故障诊断专家系统,发电机组故障诊断专家系统等。设备故障诊断专家系统除了具备专家系统的一般结构外,还具有自己的特殊性,其结构框图如图2-1所示。

    (1)监测系统的数据管理方式:
    
    监测系统针对多机组多通道,每天24h连续监测。既有各变量信号,又具有黑匣子功能,数据测量,分类分级管理。

    (2)信号分析与数据处理系统的数据管理:
    
    信号分析与数据处理系统和故障诊断专家系统通常在同一工作站上,前者将分析结果以数据文件形式传递给后者,供故障诊断专家系统应用。

    (3)数据采集器数据的管理:

    采集器存放在网络服务器上的三类文件被专家系统所利用:黑匣子中的正常文件、异常文件及热文件(即当前最新采集的文件)。



图2-1 设备故障诊断专家系统结构简图

    2.1 发动机故障诊断参数的确定:
    
    诊断参数是指在进行汽车发动机诊断时,需要采用一些能够反映发动机技术状况的间接
指标。在选择诊断参数时应掌握以下原则:
    
    (1)灵敏性:诊断参数的灵敏性,是指诊断对象的技术状况在从正常状态到进入故障状态之前的整个使用期内,诊断参数相对于技术状况参数的变化率,亦称为诊断参数的灵敏。

    (2)具有单值性。在诊断范围内诊断参数的变化具有某种规律性(渐增型或渐减型),不会出现不规律的非单值变化的规律。

    (3)具有稳定性。在测试条件不变的情况下诊断参数的测量值应具有良好的重复性。

    (4)诊断成本低而工艺简单,便于测量。

    根据以上原则,发动机故障诊断参数可选择以下几个参数:气缸压力、进气歧管真空度、气缸相对漏气率、发动机各缸转速降、点火工作质量、废气分析、发动机功率、点火提前角、点火高压电路电压、发动机异响和震动的声级、声压、振幅及振动加速度、发动机温度。

3 汽车发动机故障树分析法:
 
    故障树分析法(FTA,Fault Tree Analysis)是一种图形演绎方法,是通过对可能造成系统故障的各种因素(包括硬件、软件、环境、人为因素等)进行分析,画出逻辑图(即故障树),再对系统中发生的故障事件,做出由总体至部分按树状逐级细化的分析,其目的是判明基本故障、确定故障原因、故障影响和发生概率等。
    
    故障树分析法的步骤根据分析对象、分析目的、精细程度等不同而异,但一般可按下述步骤进行,即:(1)建造故障树;(2)建立故障树的数学模型;(3)故障树的定性分析;(4)故障树的定量计算。
    
    先选定系统中不希望发生的故障事件为顶端事件,其后第一步是找出直接导致顶端事件发生的各种可能因素或因素组合,如硬件故障、软件故障、环境因素、人为因素等。第二步再找出第一步中各因素的直接原因。循此方法逐级向下演绎,一直追溯到引起系统发生故障的全部原因,即分析到不需要继续分析原因的底事件为止。然后把各级事件用相应的符号和适合于它们之间逻辑关系的逻辑门与顶端事件相连接,就建成了一棵以顶事件为根,中间事件为节,底事件为叶的多级倒置故障树。

    图3-1为发动机不能正常起动的故障树。通过分析,发动机不能发动首先可举出蓄电池没电。其次即使蓄电池有电,若电池接线不正常(如保险丝烧断),仍然不会发动。假如电气系统正常,如果燃料供给不正常,发动机也无法正常发动。最后即使燃料供给正常,如果点火火花不正常,发动机也不能正常发动。对于发动机来说,这三个事件任一个发生都无法发动发动机,因此顶事件和这三个事件用或门相连。然后再分别对这三个直接原因事件,用同样的方法进行分析,直到底事件为。最终得到发动机不能发动的故障树。



图3-1 发动机不能发动故障树

    3.1 故障树的数据结构分析:
 
    由以上分析可知道,发动机的故障是很符合故障树的特点的。要以故障树分析法作为故障分析方法,则必须弄清楚数的数据结构。树 (Tree) 属于非线性结构。它由 n(n )个结点组成,每一个结点 (Node)至多只有一个前件结点,结点之间具有明显的层次关系,而且第一层仅有一个结点。如图3-2所示: 



图3-2 树的示例

    可见,汽车发动机故障可以由故障树的结构来组织,但是直接对这种每个节点有多个子树的有序树进行分析比较困难,我们必须对其进行一定的转换。 



图3-3 二叉树形式的发动机故障树

    在数据结构当中有一种特殊树的抽象数据类型—二叉树。二又树是另一种树型结构,它的特点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树有一个重要的特点,即一棵有序树可以转换为二叉树的表示方式,这样,我们就可以用二叉链表来存储树。与多重链表相比,这既节省很多存储空间,又大大方便了树的操作。这样我们可以重点研究二叉树的性质,其他类型的树形结构则可以通过转换为二叉树来研究。 

    有序树转换为二叉树的规则如下:(1)有序树中的结点与二叉树中的结点一一对应。(2)有序树中的某个结点 N 的第一个孩子 (即最左边的孩子) N1,在二叉树中对应结点 N 的左孩子。(3)有序树中的某个结点 N 的第一个孩子 N1以后的其他孩子,在二叉树中被次链接成一串起始于 N1的右孩子。对图3-1的发动机故障树按照以上规则转换可得到如图3-3所示二叉树形式的发动机故障树,其中图中的符号 表示非门:

4 故障诊断专家系统实现:
    
    专家系统的核心是知识,故有时专家系统又被称职基于知识的系统。知识库中拥有知识的多少及知识的质量决定了一个专家系统所具有解决问题的能力。因此,建造一个专家系统首先便是要获取专业领域中的大量概念、事实、关系和方法,包括人类专家处理实际问题时的各种启发性知识,以构造一个内容丰富的知识库。本系统使用SQLServer2000数据库来存储知识库的知识。

    4.1 发动机故障知识的表示:

    在计算机中,我们通常采用链式存储结构来存储二叉树。因为二叉树中每一个结点最多有两个后件,所以在存储结点中,除数据域外,还设置了两个指针域,分别用来指向该结点的左孩子和右孩子。图4-1所示为二叉树存储结点的结构。其中:data是数据域,用来存放该结点的元素值;lchild称为左孩子指针域,用来存放该结点的左孩子的存储地址;rchild称为右孩子指针域,用来存放该结点的右孩子的存储地址。



4-1 二叉树的存储节点的数据结构

    知识的搜索是专家系统组织推理的关键问题。二叉树的遍历有3种:前序序列、中序序列和后序序列。以前序遍历为例,遍历的算法为:若二叉树为空,则结束操作。否则:(1)访问根结点 (D)。(2)前序遍历左子树 (L)。(3)前序遍历右子树 (R)。



图4-1 用户界面设计

    从故障树的顶事件至每一个底事件形成了故障分析支路。这样的支路在程序实现时均与一个链表结构对应。为了方便解释,在系统中采用了双向链表结构来表示这些支路,并用数据库的其数据库表结构如下表4-1:
ID FailDescribe LChild RChild FailKind

    故障标识码 故障描述 节点左孩子 节点右孩子 故障类型

    表4-1 故障树的数据库表结构

    ID为数据库表的主键,以保证数据库的参照完整性。FailDescribe为故障树节点的故障想象的描述。LChild表示节点的左孩子。RChild表示节点的右孩子。FailKind表示节点为故障现象还是故障原因。
 用户界面设计如图4-1所示:

4.结语:
    
    本课题根据发动机故障的复杂性,依据计算机数据结构原理,主要取得了以下几个方面的成果:
    
    (1)采用故障树的数据结构完成知识表示,建立了知识库。从故障树的顶事件至每一个底事件形成了故障分析支路。这样的支路在程序实现时均与一个链表结构对应。为了方便解释,在系统中采用了双向链表结构来表示这些支路,一个故障树对应多个双向链表。
    
    (2)确定性故障诊断推理机的基本思想是:首先用户选择故障现象,找到相应的故障入口,然后根据故障入口给出相应的提问,并在用户回答问题以后进行推理,如此反复,引导用户完成诊断,系统记录诊断过程。如果用户没有找到结果,给用户提示信息,允许用户重新诊断。

参考文献

[1]尹朝庆等,人工智能与专家系统,中国水利水电出版社,2002年,1-332页

[2]人工智能及其应用,清华大学出版社19%年

[3]肖云魁,汽车故障诊断学,北京理工大学出版社,2001年,1-278页

[4]严蔚敏,吴伟民,数据结构(C语言版),清华大学出版社,1997年,1-334页

[5]胡琳,汽车故障诊断专家系统诊断模型的研究,电子技术第12期,1997年

[6]李羽,汽车故障诊断专家系统中不确定知识的处理,计算机第15期,1997年