设备故障智能诊断Word格式文档下载.docx
《设备故障智能诊断Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《设备故障智能诊断Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
Z11
Z12
Z13
G1
0.75
0.5
G2
0.25
G3
G4
G5
G6
G7
Z为参数集:
Z1为主冷却剂平均温度;
Z2为主冷却剂系统压力;
Z3为蒸汽发生器二次侧水位;
Z4为蒸汽发生器二次侧顶端温度;
Z5为蒸汽发生器给水量;
Z6为蒸汽发生器给水温度;
Z7为蒸汽发生器蒸汽量;
Z8为汽轮给水泵转速;
Z9为汽轮给水泵出口压力;
Z10为汽轮给水泵流量;
Z11为稳压器水位;
Z12为蒸汽发生器排污口放射性检测指标;
Z13为冷凝器排气口放射性检测指标。
0.5为正常运行值,1.0为上限关机值,0.0为下限关机值,0.75与0.25则是上下报警值对应的状态。
二、实验原理
由于模糊聚类、灰色系统理论与粗糙集理论的理论基础不同,它们在处理不确定型复杂系统时有很强的互补性,所以在本实验中,它们被结合起来,应用于设备故障诊断中。
在故障诊断过程中,首先利用模糊c均值聚类对样本的参数进行离散化处理,求得各类别的聚类中心,接着基于粗糙集理论对设备特征参数进行约简,去除冗余参数,定量确定各特征参数的重要程度,然后根据约简的特征参数和各参数的重要程度,利用灰色关联分析的方法确定各种标准故障状态与目前设备状态的关联度,从而找到设备的故障所在之处。
图1诊断过程图
三、实验步骤
1、根据学习样本集,对条件属性值进行无量纲化处理,通过模糊c均值聚类对条件属性值离散化处理,从而形成决策表。
学习样本集中的每个样本都由若干个属性组成,每个属性的量纲和数量级都不相同,如果直接对原始数据进行计算,就会可能导致某些数量级特别大的属性对结果产生举足轻重的影响,而降低甚至排斥某些数量级较小的属性的作用,导致一个属性只要改变一下单位,也会改变结果。
因此,必须对原始数据进行无量纲化处理,使每个属性值统一在某种共同的数据范围内。
常用的无量纲化处理有标准差规格化、极大值规格化、极差规格化、均值规格化等,考虑到在实现无量纲化的同时,还应保持原有各指标的分辨力,经分析发现,均值规格化是最好的方法。
设备故障诊断模型属于非时序模型,学习样本集的样本是若干个属性值排列的一组数,它们的量纲不同,无量纲化处理不能采用横向初始化或横向均值化,只能采用纵向初始化或纵向均值化。
在原始数据无量纲化后,根据学习样本中故障的种类数,采用模糊c均值聚类算法将样本分成相应的若干类,从而获得若干个聚类中心。
然后,对每个属性分别采用模糊c均值聚类算法离散化处理,输入的聚类数可以根据每个属性需要离散的粒度而定,取样本隶属度最大的类别作为该样本在该属性上的取值,这样原来连续的变量空间被映射到离散的特征空间。
模糊c均值聚类算法最初由Bezkek提出。
考虑一个样本集X={x1,x2,…,xn},其中xi={xi1,xi2,…,xik}为k维向量,将样本集X依据亲疏关系分成c个模糊子类,最后得到的分类结果是c个聚类中心pi(i=1,2,…,c)和一个隶属度矩阵U。
P=(p1,p2,…,pc)
U=[
]i=1,2,..,c;
j=1,2,…,n
为样本xj属于分类i的隶属度,满足以下规则。
(1-1)
(1-2)
FCM算法的目标函数为:
(1-3)
其中m
[1,
]
模糊c均值聚类算法是一个通过公式(1-4)和(1-5)不断迭代使目标函数最小的过程。
=
(1-4)
pi=
0<
i<
c(1-5)
在公式(1-4)中,dij=
,通过不断迭代,最终得到c个聚类和每个聚类的聚类中心pi。
学习样本条件属性值离散化处理具体过程的描述如下:
①设定聚类数c、指数权重m以及停止阀值
,初始化隶属度矩阵U(0),令变量l=0;
②通过U(l)和公式(1-5)计算模糊聚类中心pi(l)
③通过pi(l)和公式(1-4)计算新的隶属度矩阵U(l+1);
④计算
=||U(l+1)-U(l)||=
,如
〉
,则令l=l+1,则转至第②步,否则停止迭代,根据最后的隶属度矩阵,将样本分成c类。
2、利用粗糙集理论的约简能力,进行约简,形成最小条件属性集。
在学习样本集中,样本各属性的值被离散化后,可以很容易地构成一个决策系统,在决策系统中,有些条件属性可以从其它条件属性推导出来,相互之间存在着依赖关系,对于分类来说,这些条件属性是冗余的。
我们需要对条件属性进行约简,形成最小条件属性集。
定义1决策系统S={U,A},其中A=C∪D,且C∩D=
,C为条件属性集,D为决策属性集,U={x1,x2,…,xn},C={c1,c2,…,cm},D={d},可分辨矩阵是n×
n矩阵,其第i行第j列元素MD(i,j)为:
MD(i,j)=
(1-6)
定义2可分辨矩阵MD唯一地确定一个分辨函数F,分辨函数是一个布尔函数,如果区分对象x和y的所有属性集合c(x,y)={c1,c2,…,ck}≠
,指定一个布尔函数c1∨c2∨…∨ck,用
来表示,可分辨函数F定义为:
F=
(1-7)
很明显,可分辨函数的极小析取范式中的所有合取式是条件属性C的所有决策属性D的简化集。
条件属性约简的具体过程的描述如下:
对于由若干样本组成的学习集(即决策系统)的可分辨矩阵第i行第j列元素dij的值分为下面两种情况来确定。
若样本i和样本j的决策属性值相同,则dij的值为0,否则dij的值为所有能区分样本i和样本j的条件属性集,很明显,可分辨矩阵是对称方阵。
在求得可分辨矩阵后,运用公式(1-7)可以求解出可分辨矩阵的可分辨函数,可分辨函数的极小析取范式中的所有合取式就是最小条件属性集。
3、形成最小条件属性集后,需要判断各条件属性的重要性。
定义3属性子集P
A的信息熵H(P)为:
H(P)=
(1-8)
其中:
U/IND(P)={X1,X2,…,Xm},P(Xi)=
(i=1,2,…,m),|U|表示集合U的“势”,|Xi|表示集合Xi的“势”。
定义4信息系统S={U,A},属性a∈A的重要性定义为:
SA(a)=|H(A)-H(A-{a})|(1-9)
当SA(a)大于0时,属性a在A中是必要的,等于0时,是冗余的。
在形成最小条件属性集后,分别对最小条件属性集中的每个属性按照公式(1-8)和(1-9)来求得每个属性的重要性。
4、计算测试样本与各标准故障模式的关联度,从而判断故障原因。
首先,在按公式(1-8)和(1-9)确定了各属性的重要性后,可按下式确定在关联度计算中各属性的权重。
(1-10)
然后,按公式(1-10)计算测试样本与标准故障模式i的关于属性ak的关联系数
,在这里以各个聚类中心作为各标准故障模式的标准值。
这样,测试样本与标准故障模式i的关联度可按下式计算。
ri=
(1-11)
在计算了测试样本与所有标准故障模式的关联度后,可以根据测试样本与所有标准故障模式的关联度的大小来判断故障所在之处。
三、实验源程序
根据实验原理,采用VB语言编写程序如下:
PrivateSubCommand1_Click()
IfText1.Text="
"
OrText2.Text="
OrText3.Text="
OrText4.Text="
OrText5.Text="
OrText6.Text="
OrText7.Text="
OrText8.Text="
OrText9.Text="
OrText10.Text="
OrText11.Text="
OrText12.Text="
OrText13.Text="
Then
MsgBox"
请将信息输入完全!
vbInformation+vbOKOnly,"
提示"
ExitSub
EndIf
DimZ(12)AsVariant
Z(0)=Text1.Text
Z
(1)=Text2.Text
Z
(2)=Text3.Text
Z(3)=Text4.Text
Z(4)=Text5.Text
Z(5)=Text6.Text
Z(6)=Text7.Text
Z(7)=Text8.Text
Z(8)=Text9.Text
Z(9)=Text10.Text
Z(10)=Text11.Text
Z(11)=Text12.Text
Z(12)=Text13.Text
Fori=0Toi=12
IfZ(i)>
=0AndZ(i)<
=0.12Then
Z(i)=0
=0.13AndZ(i)<
=0.37Then
Z(i)=0.25
=0.38AndZ(i)<
=0.62Then
Z(i)=0.5
=0.63AndZ(i)<
=0.87Then
Z(i)=0.75
=0.88AndZ(i)<
=1Then
Z(i)=1
Nexti
DimG1AsVariant
DimG2AsVariant
DimG3AsVariant
DimG4AsVariant
DimG5AsVariant
DimG6AsVariant
DimG7AsVariant
G1=Array(0.75,0.5,0.5,0.75,0.5,0.5,0.75,0.5,0.5,0.5,0.5,0.5,0.5)
G2=Array(0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.5,0.5,0.5)
G3=Array(0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.25,0.5,0.5,0.5)
G4=Array(0.5,0.5,0.5,0.5,0.5,0.5,0.5,0,0.25,0,0.5,0.5,0.5)
G5=Array(0.5,0.5,0.5,0.5,0.5,0.25,0.5,0.5,0.5,0.25,0.5,0.5,0.5)
G6=Array(0.5,0.5,0.5,0.5,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5)
G7=Array(0.5,0.25,0.5,0.75,0.5,0.5,0.5,0.5,0.5,0.5,0.25,0.75,0.75)
DimG(1To7)AsInteger
Forj=1To7
G(j)=0
Nextj
Fori=0To12
IfZ(i)=G1(i)Then
G
(1)=G
(1)+1
IfZ(i)=G2(i)Then
G
(2)=G
(2)+1
IfZ(i)=G3(i)Then
G(3)=G(3)+1
IfZ(i)=G4(i)Then
G(4)=G(4)+1
IfZ(i)=G5(i)Then
G(5)=G(5)+1
IfZ(i)=G6(i)Then
G(6)=G(6)+1
IfZ(i)=G7(i)Then
G(7)=G(7)+1
DimaAsInteger
Fori=1To7
IfG(i)>
=G
(1)AndG(i)>
=G
(2)AndG(i)>
=G(3)AndG(i)>
=G(4)AndG(i)>
=G(5)AndG(i)>
=G(6)AndG(i)>
=G(7)Then
a=i
Ifa=1Then
Label3.Caption="
G1"
Label4.Caption="
蒸汽出口阀卡死"
Ifa=2Then
G2"
汽轮给水泵进汽调节阀故障"
Text14.Text="
Text15.Text="
Ifa=3Then
G3"
汽轮给水泵叶轮、口环等损坏"
Ifa=4Then
G4"
汽轮给水泵轴承烧毁"
Ifa=5Then
G5"
给水加热器泄漏"
Ifa=6Then
G6"
主给水调节阀自控失调"
Ifa=7Then
G7"
U型蒸汽发生器传热管破损"
EndSub
系统界面如下图所示:
四、实验结果。
在界面中输入检测数据,点击故障诊断按钮实验结果如下图所示:
所以,故障为G1为蒸汽出口阀卡死。
通过这次实验我认识到了人工智能的一个典型的应用,也让我在一定程度上了解了人工智能的发展。