基于Petri网的机动车故障诊断专家系统设计*
2020-03-22李永勇张永进张燕军
李永勇,张永进,张燕军
(1.安徽工业大学 数理科学与工程学院,安徽 马鞍山 243032;2.扬州大学 机械工程学院,江苏 扬州 225127)
0 引言
随着道路交通的快速发展,机动车已成为人们日常工作生活中不可或缺的一部分,因此机动车的可靠性、故障维修以及如何快速有效地诊断出机动车的故障源越来越受到人们重视。传统的机动车故障诊断过程复杂、效率低且对维修人员的素质要求较高,因此设计一种能够快速诊断故障并能给出维修方案的专家系统具有重要的现实意义。
当前,已研究的机动车故障诊断专家系统模型主要有基于知识的[1]、规则的[2]、实例的[3]及其组合的[4],以及基于模糊逻辑的[5]和人工神经网络的[6]等。虽然传统的专家系统不需要精确的分析模型,但因缺乏知识自学习,难以获取知识和建立知识库,从而不能满足当前需求。FTA(故障树分析)虽然简单可靠,但传统的面向割集的FTA需要精确的分析模型和故障机理分析,且该方法计算复杂度高,不易用计算机实现。
为了避免上述诊断方法的缺陷,本文在FTA的基础上,设计一种基于Petri网求最小割集的机动车故障诊断专家系统。该系统采用结构模块化设计,利用知识库中的知识设计故障推理机,实现对机动车故障的快速定位并给出故障维修方案,且可利用自学习功能对专家知识库进行更新扩充。
1 故障诊断专家系统结构设计
1.1 Petri网基本模型
故障树是系统故障发生和传播的逻辑表示,它通过特定的事件、逻辑门和其他符号来描述系统中事件的因果关系。
由故障树底部的事件状态xi完全确定顶部事件状态Φ,xi只有1和0两种状态,故障树结构函数为Φ=Φ(x1,x2,…,xn)。对于大型复杂系统的故障树,采用下行法或上行法求解最小割集时将会显得十分繁琐,相比之下,Petri网是一种较为简洁有效的方法。Petri网是一种由节点和定向弧长组成的二元有向图,将故障树中的事件转换为Petri网中的库p,用圆圈表示,并将逻辑符号转换为变迁t,通过直线段或矩形表示,可直观地体现出故障的动态传输过程。
在Petri网中,若从库所p到转移t的输入函数是非负整数w,则标记I(p,t)=w,用p到t的有向弧和旁注w表示;若从转移t到库所p的输出函数是非负整数v,则标记为O(p,t)=v,用t到p的有向弧和旁注v表示。I和O是n·m非负整数矩阵。关联矩阵A是O 和I 之 间 的 差,即 A=O-I[7-8]。根 据 文献[9],可将故障树转化为Petri网,如图1所示。
图1 故障树逻辑门的Petri网表示
1.2 专家系统结构设计
机动车故障诊断专家系统主要由人机交互界面、故障特征信息库、专家知识库、推理机、解释机五部分组成,其结构框图如图2所示。
图2 机动车故障诊断专家系统结构框图
用户通过人机界面提供相应故障特征信息,系统利用专家知识库中存储的知识,按照相应的推理策略进行逐级匹配诊断后,由人机界面显示出推理结果。因为不同用户对机动车故障的描述会因其所掌握相关专业知识程度的不同而不同,所以需要对故障描述内容进行特征提取并统一表示,组成故障特征信息库。系统将机动车故障特征信息和专家知识等导入知识库中进行数据库操作,包括增删改等,即为知识获取过程,如图3所示。
图3 知识获取过程框图
专家知识库由故障树和规则库两部分组成。故障字典的形成过程也是故障树的建立过程,如果故障的原因不在知识库中,则会在故障字典中填写,并继续扩展知识库。规则库是专家知识通过“生产表示”来表达的,符合人的思维习惯,可以清晰表达专家知识,如最小割集为{X1,X2},那么产生式表示为IF X1AND X2THEN R1,其中R1表示相应导致的故障。
在整个专家系统的诊断过程中,解释机将推理机推理出的故障诊断结果和维修方案展示给用户。作为系统核心部分的推理机可从规则库中推断出故障模式,其过程是用“产生式规则”来表示,并按规则进行查找相关故障树的割集,这些割集与知识库中的规则是一一对应的。故障诊断推理的具体流程见图4。
2 机动车故障的最小割集排序
2.1 机动车故障树模型
常见的机动车故障主要由电控汽油喷射发动机常见故障、传动系常见故障、制动系常见故障和车身常见故障等故障分类组成。如果对传动系常见故障再进行细分的话,主要有离合器故障、手动变速器故障和自动变速器故障等。对上述故障部件进行故障树分析,可得相应由若干种故障的原因为底事件组成的子故障树,即为元件故障树。而基于元件故障树的系统数据库中的数据也就成为机动车故障诊断的依据。元件故障树的每个割集为一种故障模式,且与专家知识库中的规则相对应。
机动车故障树如图5所示,将机动车故障作为顶事件,常见的七类机动车故障作为第二层子节点,再下层为机动车七类故障对应的子故障树,此处以离合器故障为例,X1至X11为离合器故障的底事件。
图4 故障诊断推理流程
图5 机动车故障树
2.2 基于Petri网的最小割集排序方法
为了便捷地求出机动车故障树的所有最小割集,系统利用Petri网关联矩阵求最小割集。矩阵中,1表示由变迁指向库所的有向弧,-1表示由库所指向变迁的有向弧,0表示变迁与库所间无指向关系。可将故障诊断推理的过程有效地转化为矩阵数学运算求出最小割集[10],过程如下:
(1)在关联矩阵中,找只含有“0”和“1”的行对应为顶库所,按此行中的“1”列查找“-1”,此“-1”行表示的库是顶库的输入库,如果列包含多个“-1”,则意味着有多个输入库对应于同一转换,且为“与”的关系。
(2)根据步骤(1)中的“-1”行,寻找“1”,如果“1”指示库是中间库,继续通过步骤(1)循环查找“-1”,直到该行上没有“1”。若没有“1”,则表示为基库所。若该行中有多个“1”,则这些“1”所对应的库所之间是“或”关系。
(3)按步骤(1)和步骤(2)继续寻找,直到找到底库所为止。
(4)将底库所展开,根据布尔吸收律或质数法求出所有最小割集。
通过上述求最小割集过程可以看到,利用Petri网关联矩阵法可快速有效地求出故障树的最小割集,算法清晰,并且易于计算机实现。
机动车故障分析所建立起来的故障树十分庞大,如果在机动车发生故障后对每个最小割集的底事件进行依次检查,不仅工作量大,而且效率低下甚至不可行。因此在计算底事件概率的基础上进行最小割集的重要度分析,计算并排序每个最小割集的重要度,值越大的优先级越高,反之亦然。最小割集重要度是指它相对于顶事件发生的概率,而顶事件概率可以由底事件的故障概率来求解。
例如通过上述过程求出机动车故障树的n个最小割集Ci(i=1,2,…,n),可计算顶事件发生概率PT:
其中:P(C
i
C
j
)(1≤i<j≤n)为两个割集同时发生的概率(即两个最小割集发生概率之积);P(C
1
C
2
…C
n
)为n个最小割集同时发生的概率(n个最小割集发生概率之积)。
当最小割集可靠度较大时,顶事件发生概率收敛很快,可将顶事件发生概率PT近似解为PT≈,求出所有最小割集的重要度Ii为:
再根据Ii的大小来排序制定诊断优先级,并以此来快速诊断出机动车故障原因,从而降低诊断系统分析的难度和工作量,提高一次诊断故障原因的可靠性。最后,利用专家系统故障分析可找出机动车制造设计薄弱环节并计算出可靠度Rs=1-PT[11]。通 过 对 薄弱环节采取相对应的措施,如对易发生故障的部件进行改造升级,从而可减少故障的发生。
3 实例分析
由于机动车故障树较为复杂,所以本文只对某型机动车的离合器故障底事件进行故障树分析,表1给出了该机动车离合器故障树底事件。
表1 某型机动车离合器的故障树底事件
为了便于故障树转化Petri网,该离合器故障树只涉及了AND门和OR门,用多输入变迁代替AND门,用两个变迁代替OR门。图6和图7分别给出了离合器故障树和相应的Petri网。
图6 机动车离合器故障树
图7 离合器故障树对应的Petri网
由图6和图7可知,故障树的底事件与Petri网的库所的对应关系,如表2所示。
表2 故障树底事件与Petri网库所的对应关系
可以得出Petri网对应的关联矩阵A=O-I,具体如式(3)所示:
根据式(3)关联矩阵求故障树最小割集:
(1)搜索只有“1”和“0”没有“-1”的行,此例中为第16行,得到:
p16=p15+p14+p13+p12.
(2)对行15、14、13、12分别找为1的列,重复上述步骤,得到:
(3)将所有底库所求出后,将以上算式逐级代入,并整理后得:
(4)最后按照布尔吸收律或素数法得出离合器故障树的最小割集,最小割集与底事件的对应关系如表3所示。
由专家经验可得到某型机动车离合器各底事件概率,见表4。
表4 机动车某型号离合器底事件发生概率
用式(1)求离合器故障顶事件发生概率为:对所有最小割集进行式(2)中的重要度Ii计算,得到的最小割集重要度见表5。
表5 最小割集的重要度
根据最小割集Ii的大小确定优先级:
然后根据所求优先级排序对机动车离合器进行故障诊断,优先级高的底事件的发生更易导致故障发生,因此,在进行故障诊断维修时优先考虑会有更好的效果。
根据定性分析可知,C2、C4为机动车离合器发生故障的主要原因,对C2、C4中的底事件X3、X5中部件进行改进,降低其故障的发生概率为X3=0.005,X5=0.002,可计算出改造升级后的离合器故障发生率PT′=0.057和可靠度Rs=0.943。故障部件经过改造后,提高了机动车离合器的可靠性。
4 结论
针对传统的面向割集的故障树和专家系统的不足,提出并分析了基于Petri网的机动车故障诊断专家系统。
(1)该系统综合利用各种类型的故障特征,整合多渠道故障诊断信息,使诊断结果更加精确可靠,弥补了传统方法的很多不足,可快速精确地诊断典型故障并给出可行的解决方案。
(2)该系统的诊断推理引擎利用知识库中的知识进行推理,并利用故障树对应的Petri网快速地求出最小割集,实现对每个底事件重要性的分析,极大地简化了FTA的计算。
最后通过实例,对机动车离合器的故障诊断进行分析,并对其故障部件进行维修改善后,使得离合器的可靠性有所提高,证明了设计的故障诊断专家系统的实用性。