航天测控 http://www.casic-amc.com
智能故障诊断专家系统开发平台
史慧,王伟,高戈
北京航天测控技术开发公司 故障诊断技术部 北京 阜成路 8 号 100037
e-mail:faultdep@casic-amc.com
摘要: 针对故障诊断专家系统实用性与通用性的矛盾,在简要分析专家系统工作原理的基础上,
提出了一种以用户为中心的通用性故障诊断专家系统设计方案。将规则推理﹑模糊决策﹑多传感
器信息融合算法融为一体,形成一阶梯式故障推理机制;对不同的诊断对象,只要设置好必要知
识模块,就可自行生成一专用故障诊断系统,并能自动输出诊断结果。
关键词:专家系统,故障树,规则推理,模糊决策,信息融合,故障诊断。
The General Fault Diagnosis Expert System Development Platform
Shi Hui, Wang Wei and Gao Ge
Fault Diagnosis Technology Department, Beijing Aerospace Measurement & Control Technology
Company, Beijing China, 100830. e-mail:faultdep@casic-amc.com
Abstract: In order to overcome contradiction of practicality and generality for fault diagnosis expert
System, the design of general fault diagnosis expert system based on user is presented after the expert
system is introduced concisely. Rule reasoning﹑fuzzy decision and information fusion algorithm are
merged, and the step fault diagnosis method is accomplished; For different object, when necessary
knowledge is given, a special fault diagnosis system will be automatically produced, and the diagnosis
result will be given.
Keywords: Expert system, Fault tree, Rule reasoning, Fuzzy decision,
Information fusion, Fault diagnosis
引言
自从 Standford 大学于 1968 年开发出第一个专家系统 DENDRAL 以来,专家系统由于其广泛
的应用范围和能产生巨大的经济效益而得到快速发展,现已成为人工智能的研究前沿之一。故障
诊断专家系统作为专家系统中的一个分支,其研究得到了学术界和工程界的高度重视,并相继在
各行各业中得到成功应用[1-4]。不过在这些已报道的故障诊断专家系统中,大多数都是针对某一具
体设备的专用专家系统,虽然其对具体设备故障诊断比较实用,但其缺陷是通用性不强,因为不
同问题领域,设备种类不同,其专家知识及推理机制也不相同;即使同一问题领域,也有各种功
能不同的设备,这样一来给专用故障诊断专家系统的设计开发增加了较多的困难。本文针对航天
设备,提出了一种以用户为中心的通用性故障诊断专家系统设计方案。研制通用性故障诊断专家
系统开发平台,将规则推理﹑模糊决策﹑多传感器信息融合算法融为一体,形成一阶梯式故障推
理机制;对不同的诊断对象,只要设置好必要知识模块,就可自行生成一专用故障诊断专家系统。
1.故障诊断专家系统简介
故障诊断专家系统,是指计算机在采集被诊断对象的信息后,综合运用各种规则(专家经验),
进行一系列的推理,必要时还可以随时调用各种应用程序,运行过程中向用户索取必要的信息后,
可快速地找到最终故障或最有可能的故障,再由用户来证实。专家系统故障诊断方法可用图 1 的结
构来说明:它由数据库,知识库,人机接口,推理机等组成。其各部分的功能为:
*总装备部国防预研基金(413170203)
1
航天测控 http://www.casic-amc.com
被诊断对象
知识库
结果
人机接口
数据库
推理机
图 1 故障诊断专家系统结构图
数据库:数据库通常由动态数据库和静态数据库两部分构成。静态数据库是相对稳定的参数,如
设备的设计参数﹑固有频率等;动态数据库是设备运行中所检测到的状态参数,如工作转
速﹑介质流量﹑电压或电流等。
知识库:存放的知识可以是系统的工作环境,系统知识(反映系统的工作机理及系统的结构知识);
设备故障特征值,故障诊断算法,推理规则等,反映系统的因果关系,用来进行故障推理。
知识库是专家领域知识的集合。
人机接口:人与专家系统打交道的桥梁和窗口,是人机信息的交接点。
推理机:根据获取的信息综合运用各种规则,进行故障诊断,输出诊断结果。是专家系统的组织
控制机构。
以上介绍的是专用故障诊断专家系统,本文介绍的故障诊断专家系统是一个通用性开发平台,
所有知识获取﹑被诊断对象模型及故障判定阈值均由用户专家在开发平台上设置产生。它主要由
被诊断对象建模模块;算法库模块;知识获取模块;推理机模块等组成。
2.被诊断对象建模
2.1 故障树模型
系统利用故障树模型对具体被诊断对象进行建模。故障树(FT)模型是一个基于研究对象结
构,功能特征的行为模型,是一种定性的因果模型,以系统最不希望事件为顶事件,以可能导致
顶事件发生的其它事件为中间事件和底事件,并用逻辑门表示事件之间联系的一种倒树状结构[5]。
设计时由设备专家根据各个被诊断对象的构造及功能的逻辑关系,构造出一系列的逻辑故障树,
存放于模型数据库中,供开发专用故障诊断专家系统使用。图 2 为一简单 2 级故障树结构示意图。
对复杂的对象可用多层故障树来表达。图 2(a) 为与门结构故障树,当全部底事件(下一级子结点
xx
,
1
)故障时,顶事件(上一级父结点 T)才有故障;图 2(b) 为或门结构故障树,只要
2
,
,
⋅⋅⋅
nx
下级某个子结点故障,则上级父结点 T 一定故障。
顶事件T
顶事件T
&
1≥
X1
X2
•••
Xn
X1
X2
•••
Xn
(a)与门 (b)或门
图 2 不同结构故障树
2.2 故障搜寻
针对同一故障树,其故障搜寻方法有两种:对某一待诊断的子结点,其本身关键输出信号参
2
航天测控 http://www.casic-amc.com
数(故障征兆)在故障时将有一特征数值,因此可直接测试子结点的关键参数,将其与自身的故
障特征值比较,判断是否故障,此种诊断方法简单直观,易于理解,对故障搜寻来说,它是一种
遍历式盲目搜索方式,计算量较大。
另一种方式是考虑到任何子结点故障都会对上一级父结点的关键参数的输出产生影响,而且
不同的子结点故障对上一级父结点参数的影响是不同的,换句话说,不同子结点故障时,表现在
上一级父结点输出参数的故障特征值是不一样的,由此可以根据上一级父结点的关键信号参数的
测试,直接搜寻下一级故障子结点,不必计算所有下级子结点的输出;而针对故障子结点的关键
参数测试,同样的原理可以定位故障孙结点,这是一种启发式故障搜索策略,和前者相比大大提
高故障搜寻效率。本故障诊断专家系统采用第二种故障搜寻策略。
3.算法库模块
算法库主要存放各种故障诊断算法,是对结点数据的处理方式。
3.1 模糊算法
本故障诊断专家系统中模糊算法处理模块主要包括:正态分布,三角分布,梯形分布,升半
正态分布,降半正态分布,柯西分布及矩形分布七种。图 3(a)为正态故障隶属度分布曲线,其表
达式如式(1),其中 0>k
为分布参数, a 为正态分布的故障特征值;图 3(b)为三角型故障隶属
度分布曲线,其表达式如式(2),其中 a 为某故障模式的特征值,b 和 c 为参数的极限偏差。
)(xµ
0.1
)(xµ
0.1
0
a
x
0
b
a
c
x
(a)正态分布 (b)三角型分布
图 3 故障隶属度的分布曲线
xµ
)(
=
exp[
−
axk
(
−
)]
k
>
0
(1)
=
x
)(µ
bx
−
ba
−
0
c
x
−
ac
−
3.2 信息融合算法
b
≤≤
x
a
b
≥≥
x
c
a
≤≤
x
c
(2)
系统中多传感器信息融合算法处理模块主要包括:模糊信息融合算法,基于 DS 证据理论的
信息融合算法及神经网络信息融合算法三种。前两种算法在文献[6]中有详细的介绍。神经网络信
息融合算法主要是应用模糊集与 BP 网络相结合,构成一模糊神经网络分类器,它是将模糊的概
念结合于神经网络的各层中,其输入输出都是具有语义性质的隶属度值。故障诊断时,利用各传
感器参数得到各子结点的故障隶属度值作为 BP 网的输入,而输出为多传感器参数融合后各待诊
3
断子结点属于故障的隶属度值,再根据一定的判定规则进行故障元件的判定。 如以上节图 2(b)
的或门故障树模型为例,设上级父结点 T 有两个关键参数可以测试(参数 1,参数 2),则双传感
器信息融合算法结构如图 4 所示。其中各部分内容为:
航天测控 http://www.casic-amc.com
参数1
参数2
①隶属度函数
µµ
1
x
1
),
(
1
µµ
2
x
1
),
(
2
(
x
2
)
⋅⋅⋅⋅⋅⋅
µ
1
(
nx
)
(
x
2
)
⋅⋅⋅⋅⋅⋅
µ
2
(
nx
)
BP神经
网络融
合算法
(
µµ
),
(
x
1
x
2
)
⋅⋅⋅⋅⋅⋅
(
µ
nx
)
故障决策
图 4 信息融合故障诊断算法
2
nx
,
,
⋅⋅⋅
xx
,
1
隶属度函数主要是反应待诊断子结点属于故障的程度,由传感器本身的工作特性及被测参数
故障时,表现在上一级父结点输
的故障特征值而定,正如上节介绍的,不同子结点
出参数的故障特征值是不一样的,由此可以根据上一级父结点的关键信号参数的测试,直接计算
下一级各子结点的故障隶属度值, 具体计算时诊断专家根据实际子结点情况,在以上七种模糊
算法中选择一种即可得到所要的子结点隶属度数值。当上级父结点利用多传感器检测时,将有多
个 参 数 , 每 个 参 数 对 下 一 级 各 子 结 点 均 有 一 组 故 障 隶 属 度 数 值 。 图 4 中 的
x
x
),
(
),
,
(
⋅⋅⋅⋅⋅⋅
µµ
表 示 由 上 级 父 结 点 T 的 参 数 1 计 算 得 到 的 下 一 级 各 子 结 点
2
1
1
1
x
nx
xx
),
(
,
,
,
µ
⋅⋅⋅⋅⋅⋅
属于故障的隶属度数值;而
表示由上级父结点 T 的
1
2
1
2
xx
,
属 于 故 障 的 隶 属 度 数 值 ; 而
参 数 2 计 算 得 到 的 下 一 级 各 子 结 点
1
2
(
µµ
则为 BP 神经网络融合后各子结点属于故障的隶属度数值。
),
,
⋅⋅⋅⋅⋅⋅
nx
x
µ
2
2
,
,
⋅⋅⋅⋅⋅⋅
,
),
⋅⋅⋅⋅⋅⋅
µ
2
(
µ
µ
1
nx
nx
),
x
)
(
)
(
(
(
x
1
2
nx
)
②神经网络模型
BP 神经网络是一种被广泛应用的神经网络。它是由输入层﹑输出层和隐含层组成的前向连接
模型,同层各神经元互不相连,相邻层的神经元通过权连接。最典型的 BP 网络是三层前馈网络,
即输入层,隐含层和输出层,如图 5 所示,其中输入层对应于故障现象,输出层对应于原因(即
故障树的下级子结点),设输入层有 m 个神经元,输出层有 n 个神经元,隐含层的神经元数目为 u。
隐含层中的神经元输出函数为:
b
r
=
f
(
m
∑
i
1
=
+
T
r
)
i
(r=1,…,u) (3)
aW
⋅
ir
LB
LA LC
输入(m)
. . . 输出(n)
. . .
. Wir . Vrj .
图 5 三层 BP 神经网络结构
输出层中神经元的输出函数为
c
j
=
f
(
u
∑
r
1
=
bV
⋅
r
rj
+
θ (j=1,…,n) (4)
)
j
上式中 f 采用 S 型函数即
xf
)(
=
1(
xe
−−
1)
−
,Wir 为输入层 ai 到隐含层 br 间的连接权,Vrj 为隐含
4
航天测控 http://www.casic-amc.com
层 br 到输出层 cj 间的连接权,Tr 为隐含层的阈值,θj 为输出层单元的阈值。
利用 BP 网络进行信息融合前,必须用样本对网络进行学习训练,其样本是由专家根据实际诊
断经验得到。神经网络的学习过程为:把神经网络学习时输出层出现的与事实不符的误差,归结
为连接层中各神经元的连接权及阈值的过错,通过把输出层神经元的误差逐层向输入层逆向传播,
以分给各连接神经元,从而可算出各连接点的参考误差,并根据此对各连接权进行相应的调整,
使网络达到适合要求的输出,实现训练模式对 A(k)→C(j)的映射,(k=1,…,m; j=1,…,n)。
在故障诊断专家系统中,采用的网络模型有 ns ∗ 个输入神经元,分别代表结点 T 的 s 个传感
器对下级 n 个子结点属于故障的隶属度值;输出层为 n 个神经元,分别代表融合后下级 n 个子结
点属于故障的隶属度值;隐含层为一层,根据经验公式[7],隐含层神经元个数
u
=
2ns
∗
。
③目标模式判定规则
对网络融合后输出的各子结点属于故障的隶属度值,在故障目标决策时,采用基于规则的方
法,其基本原则有:
(1)判定的目标子结点应具有最大的隶属度值。
(2)判定的目标子结点的隶属度值要大于某一阈值。一般来说此值至少要大于 1/n(n 为待诊断
子结点个数),阈值越大故障判断的准确性越高,只是取得过大时测试得到的故障隶属度值无法满
足要求,使该诊断算法失效。因此必须针对实际被诊断故障树,选择一大于 1/n 的适当数值。
本诊断系统除去上面介绍的诊断算法外,还包括一些常用数据处理算法。如 FFT,小波分析,
归一化算法,数字滤波算法等。
4.知识获取模块
知识获取模块是针对具体故障树模型,在选择具体诊断算法及故障推理策略时,要求获得的
数据,它由专家在故障诊断平台上输入完成。一般包括两个方面,一是各结点的故障特征参数,
它主要是指专家在生成具体诊断系统时,不同诊断对象的故障特征数值;二是故障推理规则,它包
括精确推理规则,模糊决策的推理规则,信息融合的故障判定规则。此处以模糊故障推理为例进行
分析。
4.1 各模糊算法特征参数获取
在进入模糊故障推理知识获取界面后,使用专家打开具体诊断对象的故障树模型后,激活故
障树某一结点,选择某一模糊算法,如对正态分布故障隶属度,此时系统要求输入正态分布参数 k
的数值,以及下级各子结点的故障特征值 a ;对三角型分布, 系统要求输入三角型分布时下级各
子结点的故障特征值 a,各参数的极限偏差 b 和 c。设置好这些参数后,下一步就要设置各子结点
的模糊推理规则。
4.2 模糊推理规则知识获取
模糊推理规则是根据上一级父结点的关键信号参数的测试,推测计算下一级各子结点的故障
隶属度数值。它完全由使用专家根据自身经验设置,不同的对象有不同的模糊推理规则,不同的
专家由于各自的经验不同,得到的故障诊断专家系统也不相同。设置相关知识后,保存到知识库
中供实际诊断推理时调用。其具体处理过程如下:
设 A 为故障诊断系统可能决策的集合,如各故障子结点的集合;B 为父结点关键测试参数(即
传感器测试数据,下同)的集合。A 和 B 的关系矩阵 R 中的元素μji 表示由父结点的参数 j 推断决
策为 i(第 i 个子结点故障)的可能性,X 表示父结点各测试参数的可信度,经过模糊变换得到的
Y 是综合后各子结点故障的可能性。具体来说,假设有 m 个传感器对父结点进行测试(即有 m 个
关键测试参数),而子结点有 n 个,那么:
A={y1/子结点 1,y2/子结点 2,…,yn/子结点 n} (5)
B={x1/参数 1,x2/参数 2,…,xm/参数 m} (6)
5
航天测控 http://www.casic-amc.com
传感器参数对各个可能决策的判断用定义在 A 上的隶属度函数表示,设父结点参数 j 对各子
结点的判断结果为:
[μj1/子结点 1,μj2/子结点 2,…,μjn/子结点 n] 其中 0≤μji≤1 (7)
即认为结果为子结点 i 故障的可能性为μji,记为向量(μj1,μj2,…,μjn),m 个参数构成 A
×B 的关系矩阵:
R
=
,
,
11
21
,
,
µ
⋅⋅⋅⋅⋅⋅
n
1
,
,
µ
⋅⋅⋅⋅⋅⋅
2
µµ
12
µµ
22
⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
µµ
m
,
,
⋅⋅⋅⋅⋅⋅
µ
mn
,
m
1
n
2
(8)
将各参数判断的可信度用 B 上的隶属度 X={x1/参数 1,x2/参数 2,…,xm/参数 m}表示,那么
由
Y
=
RX
•
进行模糊变换,就可得到综合后的诊断结果
Y
=
综合后的各子结点故障可能性的集合。
({
(
µµ
),
x
1
x
2
,
),
⋅⋅⋅⋅⋅⋅
(
µ
nx
)}
,也即
对最后的故障判定,推理方法与前面介绍的神经网络信息融合算法的目标模式判定规则相同。
在此处的知识获取模块中,专家除必须设置好各模糊算法特征值外,还要设置好关系矩阵 R 和各
参数的判断可信度 X,并保存到知识数据库中,供诊断推理使用。
5.推理机制
推理机是专家系统的组织控制机构。本故障诊断专家系统开发平台,将规则推理﹑模糊决策
﹑多传感器信息融合算法融为一体,形成一阶梯式故障推理机制;其推理诊断过程如图 6 所示。
开始
击活某对象模
型故障树结点
打开已有的测
试数据库
设置故障判定
阈值
Y
Y
Y
规则匹配成功?
N
模糊决策成功?
N
信息融合成功?
N
设置新模式
结果输出
图 6 诊断推理流程
针对某一具体诊断对象,用户打开故障树模型,调出数据库相应数据后,推理机首先进行规
则匹配,此处规则推理是精确推理,一般说来,如匹配成功将得到准确的故障子结点,接着再按
故障树结构搜寻故障孙结点,一直到最终的底事件。
但实际情况中,这种精确推理的规则数目总是有限的,不是所有故障情形都能匹配成功,一
旦无规则可匹配,则进行模糊决策。此时调用事先设置好的模糊隶属度算法和知识库中相应知识
(特征值,关系矩阵等),并调用知识库中模糊故障推理规则,计算故障树下一级各子结点故障隶
6
航天测控 http://www.casic-amc.com
属度数值;然后利用上节介绍的故障目标模式判定规则判定实际故障结点。
当模糊决策产生的各子结点的故障隶属度数值,无法满足故障判定阈值时,则进行多参数信
息融合故障判定,利用多维信息诊断故障子结点。同样调用事先设置好的信息融合故障诊断算法
和知识库中相应知识(特征值等),计算故障树下一级各子结点故障隶属度数值;利用故障目标模
式判定规则判定实际故障结点。在信息融合三种诊断算法中,BP 算法在样本齐全时,故障识别率
较高,但在有些情况下,故障样本难以获取,无法使用 BP 融合故障诊断算法;此时可应用模糊
融合或基于 DS 证据理论的信息融合故障诊断算法,它们不需要故障样本,模糊融合算法简单,
计算量小,DS 融合算法相对复杂,但诊断准确率要高[6],可以根据不同情况进行选择。
在用信息融合诊断算法仍无法判定故障结点时,说明专家系统对此故障模式识别失效。需要
在诊断系统中设置新的故障模式。
6.软件实现
本故障诊断专家系统开发平台采用可视化技术及 COM 插件技术来实现。专家系统开发平台
分为模型配置平台和诊断执行平台。
模型配置平台:用户可以可视的建立故障诊断模型(建立故障树、录入诊断知识、设置算法
等)。模型配置平台用户界面如图 7 所示。
图 7 模型配置平台用户界面
诊断执行平台:运行用户所建立的故障诊断模型,根据用户所设置的专家知识和被测设备的
测试数据,对设备进行故障定位。诊断执行平台用户界面如图 8 所示。
7
航天测控 http://www.casic-amc.com
图 8 执行平台用户界面
在模型配置平台中,故障树模型建立采用可视化技术实现。一个模型元素图标代表故障树中
一个结点。这样用户就可以通过对模型元素图标的拖拽、连线和一些简单信息的录入完成对故障
模型的建立。简化了用户的操作并且使得故障树模型简洁、直观、一目了然。
模型配置平台和诊断执行平台中推理机的实现采用 COM 插件技术。每一个推理机封装成一
个 COM 组件,并且所有的推理机 COM 暴露统一的接口。这样方便框架程序的调用以及推理机组
件的更新和扩充。在故障诊断专家系统开发平台启动时,系统首先自动查找所具备的推理机 COM
组件,对其进行注册和加载。运行时系统显示可用的推理机 COM,用户在录入诊断知识或设置算
法时,系统就能调用相应的推理机组件供用户使用。
故障诊断专家系统开发平台结构示意图如图 9 所示。
8