基于本体的汽轮发电机组故障诊断知识建模

2020-11-05 10:09剡昌锋王慧滨艾科勇吴黎晓
兰州理工大学学报 2020年5期
关键词:发电机组实例本体

剡昌锋, 栗 宇, 王慧滨, 张 强, 艾科勇, 吴黎晓

(1. 兰州理工大学 机电工程学院, 甘肃 兰州 730050; 2. 漳州卫生职业学院, 福建 漳州 363000; 3. 广州电力机车有限公司, 广东 广州 510830)

汽轮发电机组的安全和高效运行对电力系统安全性和经济性有重要影响[1].随着发电装备实现了百万千瓦超临界等级机组的历史性跨越,汽轮发电机组内部结构越来越复杂.汽轮发电机组在高温、高压和高转速的环境下工作,容易发生各种故障,其故障的复杂性和多样性导致故障知识的表达成为汽轮发电机组故障诊断专家系统发展的“瓶颈”[2].专家系统的异构也会导致故障知识无法共享、重用和互操作,从而产生“知识孤岛”现象,影响了汽轮发电机组故障诊断专家系统的扩展[3].故障诊断技术已发展成为集状态检测、信号处理、模式识别和智能决策等于一体的新型交叉学科[4].目前,针对机械设备故障知识表示的问题,国内外已有大量的专家学者进行了相关研究.Yan等[5]利用基于置信度的产生式方法表示汽轮发电机组故障知识,探究了故障知识表示与不确定性推理之间的因果关系.Wei等[6]提出了一种基于二维全息谱和贝叶斯决策理论的不确定性推理方法,研究了汽轮发电机组故障知识的不确定性问题.张强等[7]结合框架和规则的知识表示方法,开发了规则推理与案例推理集成的汽轮发电机组故障诊断专家系统.高军伟等[8]采用面向对象的知识表示方法,建立了水轮发电机组故障诊断模糊专家系统.Orchard等[9]采用框架知识表达方法研究了涡轮发动机故障诊断与预测问题.朱大奇等[10]利用神经网络的知识表示方法,提出了基于多层激励函数的量子神经网络信息融合算法,并在旋转机械故障诊断中得到了应用.以往的研究在一定程度上都能够实现故障诊断知识表示,但是存在一些不足:对非结构化的动态知识考虑不足,对复杂的故障诊断概念及其关系的表达缺乏一定的灵活性,而且都缺乏语义方面的支持,不能很好地表示故障案例知识.

近年来,本体作为语义基础在语义检索和提取、自然语言翻译、知识工程和人工智能等领域得到了高度重视和广泛应用[11-13].本体是源自哲学中的术语,指事物客观存在的本质[14-15].在人工智能领域,本体被视为知识的“人工引擎”.Gruber[16]将本体定义为“概念模型规范化的描述”,Studer等[17]在Gruber基础上将本体的概念扩展为“共享概念模型准确的形式化描述”,包含了共享、概念化、明确性和形式化等四层含义.本体作为语义网的核心不仅能够明确地描述汽轮发电机组故障诊断知识,还具有丰富的概念间的关系和各种属性约束,可以实现推理功能,并提供语义支持,方便知识挖掘、知识重用和知识共享,所以本文在汽轮发电机组故障诊断经典知识的基础上,提出了适用于汽轮发电机组的本体建模方法和知识表示模型,利用Protégé_4.3构建了汽轮发电机组故障诊断本体,并详细描述了构建的步骤.然后通过设计的一致性检验算法验证了本体知识模型的可行性,最后采用SQI机械故障综合模拟实验台模拟汽轮发电机组故障,采集故障信息得到实例,通过推理机FaCT++对汽轮发电机组故障诊断本体进行了实例推理,验证了本体知识模型的有效性.

1 汽轮发电机组故障诊断本体的构建原则和步骤

汽轮发电机组故障诊断系统是监测汽轮发电机组局部和整体的运行情况,对其工作状态和稳定性进行评估,从而及时发现故障,并对故障产生的原因、故障的类型等进行判断识别,结合汽轮发电机组当前的状态,给出相应的诊断和维修策略.

1.1 故障诊断本体构建原则

根据本体的定义,Gruber提出了五条本体构建原则:明确性、一致性、可扩展性、最小编码偏差、最小本体承诺.按照这五条原则,汽轮发电机组故障诊断本体中的概念是在知识层次上进行定义,不依赖于具体的编码,并提供必要的词汇进行实例化.汽轮发电机组故障诊断本体可以有效、客观地表达术语在汽轮发电机组故障诊断领域内的含义,并支持与其定义一致的推理.因此,汽轮发电机组故障诊断本体是对汽轮发电机组故障诊断领域知识的形式化描述,可以明确地定义汽轮发电机组故障诊断领域中的概念和关系.

1.2 故障诊断本体构建步骤

根据汽轮发电机组的诊断过程,从知识工程方法学角度出发,结合领域本体开发相关的实际经验选择自顶向下的方法,建立适用于汽轮发电机组故障诊断领域的本体知识模型,主要流程如图1所示,包括以下7个步骤:

1) 分析汽轮发电机组的故障类型和特征;

2) 定义所要构建故障诊断本体的领域范围;

3) 描述故障诊断本体的概念和元素;

4) 定义故障诊断本体中的类、关系、属性、公理和实例;

5) 利用Protégé_4.3构建故障诊断本体;

6) 对构建的故障诊断本体进行评估验证;

7) 输出故障诊断网络本体语言(ontology web language,OWL)文件.

2 汽轮发电机组故障诊断本体建模

分析汽轮发电机组故障诊断领域知识,考虑汽轮发电机组实际工作环境等因素,通过故障类型、故障特征、故障原因以及维修策略等方面描述汽轮发电机组故障诊断知识,从而得到故障诊断本体术语.

2.1 汽轮发电机组故障诊断本体的定义

为了便于构建基于本体的汽轮发电机组故障诊断知识模型,根据汽轮发电机组故障诊断知识的特点,本文对汽轮发电机组故障诊断知识本体(Fault Diagnosis Ontology)进行形式化定义:

定义1(FDO)=〈C,AC,R,AR,I,X〉

其中,C是汽轮发电机组故障诊断知识本体中的类集(class);AC是类的概念属性集(attributes of classes);R是类集C间的关系集合(relationships);AR是类与类之间关系的属性集(attributes of relationships);I是本体的实例集(instances);X是对类的属性、关系以及类与类之间关系进行严格约束的公理集(axioms).

定义2任意两个类Ci和Cj,如果Ci是父类,Cj是Ci的子类,则称两者是继承关系,即Cj继承于Ci,记为is_a(Ci,Cj).

定义3任意两个类Ci和Cj,如果Ci和Cj不存在相同的实例,则称Ci和Cj是相离的(disjoint),记为disjoint(Ci,Cj).

2.2 汽轮发电机组故障诊断本体的构建

根据本体术语和汽轮发电机组故障诊断领域的定义,汽轮发电机组故障诊断本体可以从类、属性、关系、实例和公理等五个方面构建.

2.2.1汽轮发电机组故障诊断本体中的类

汽轮发电机组故障诊断的目的是通过模式匹配得到从故障特征(Fct:Fault_characteristic)到故障类型(Fty:Fault_type)之间的关系,进而发现产生故障的原因(Fsn:Fault_reason)以及提出维修策略(Mst:Maintenance_strategy).因此,将汽轮发电机组故障诊断本体类定义为:

定义4FDOClass=(Fty,Fct,Fsn,Mst)

其中,Fty指根据汽轮发电机组的内部结构,分析可能发生的故障和故障之间的层次结构确定的故障类型;Fct指通过传感器数据采集和信号处理得到汽轮发电机组各部位故障特征;Fsn指导致汽轮发电机组发生故障时的单个或者多个原因;Mst指当确定了汽轮发电机组发生的故障原因后,建议采用相应的维修策略.

汽轮发电机组故障有很多类型,其中,常见的故障如转子质量偏心、油膜涡动和轴裂纹等[18-21],其发生率占了95%以上.汽轮发电机组故障诊断本体类部分见表1,每个大类的下一级又有各自的子类.

表1 汽轮发电机组故障诊断领域本体类Tab.1 Classification of ontology in fault diagnosis field for turbine generator sets

2.2.2汽轮发电机组故障诊断本体中的关系

汽轮发电机组故障诊断本体中主要有四个基本语义关系:所属关系(is_a)、部分-整体关系(is_part_of)、属性关系(attribute_of)、实例关系(instance_of).可能还存在并(unionOf)、交(intersectionOf)、补(complementOf)、等价(equivalentTo)等关系.

2.2.3汽轮发电机组故障诊断本体中的属性

汽轮发电机组故障诊断本体中的属性是对故障类之间多对多关系的定义.其中,对象属性代表类与类之间的关系,汽轮发电机组故障诊断本体中故障类之间的关系如图2所示.本文定义了六种对象属性:{hasCharacter,isCharacterOf,hasReason,isReasonOf,hasMeasure,isMeasureOf},例如,属性hasCharacter代表“…有故障特征…”,前面定义域(Domains)是故障类型,后面值域(Ranges)是故障特征,用来描述故障类型类和故障特征类之间的关系,属性isCharacterOf代表“…故障特征属于…”,其定义域和值域则与属性hasCharacter相反,属性也可以有子属性,例如,hasCharacter有子属性{hasAO,hasCF,hasHF,hasPC,hasVD,hasVS,hasVWL,hasVWP,hasVWS,hasVWT},其中AO是轴心轨迹Axis Orbit的缩写.

数据属性代表个体与它对应的基本数据类型之间的关系,例如,故障特征类中包含十种数据类型属性:Harmonic_frequency(常伴频率,integer型数据)、Vibration_with_frequency(振动随转速变化,boolean型数据)、Axis_orbit(轴心轨迹,string型数据)等.

注释属性是对汽轮发电机组故障诊断本体中特殊的类、个体和属性的解释,本文用以标注中文类名.

2.2.4汽轮发电机组故障诊断本体中的公理

汽轮发电机组故障诊断本体中的公理主要为属性公理和类公理.属性公理是对汽轮发电机组故障诊断本体中类的属性和属性之间关系的一种约束,包括属性之间的传递、对称、包含和等价关系等.类公理是对汽轮发电机组故障诊断本体中类与类之间关系的一种约束,包括类之间的等价、包含、不相交关系等.

2.3 汽轮发电机组故障诊断知识建模

汽轮发电机组故障诊断领域本体是实现故障诊断的基础.通过分析故障知识,定义本体类、关系、属性、实例及公理,结合本体构建原则,利用W3C推出的OWL和Stanford大学开发Protégé_4.3本体编辑器构建了汽轮发电机组故障诊断领域本体模型,用以存储多个汽轮发电机组故障诊断的实例,拥有较强的描述能力,实现了不同领域用户之间的知识共享.汽轮发电机组故障诊断领域的部分本体模型如图3所示,显示了基类(Thing)是每个故障类的父类,每个故障类都有自己的子类,相关的关系描述由相应的属性定义,部分对象属性和数据属性如图4所示.

3 汽轮发电机组故障诊断本体的一致性检验

3.1 故障诊断本体类间关系不一致现象

汽轮发电机组故障诊断本体中有很多类,可能会出现类间关系不一致的现象,因此需要对本体知识进行类间关系冲突和循环继承的一致性检验,如图5所示.

3.2 一致性检验算法步骤

由定义1、定义2和定义3可得一致性检验的推论:

推论1汽轮发电机组故障诊断本体中的任意类Ci,有is_a(Ci,Cj)或is_a(Cj,Ci);

推论2对于汽轮发电机组故障诊断本体中的任意两个互不相同的类Ci和Cj,如果is_a(Ci,Cj)成立,则is_a(Cj,Ci)不成立;

推论3汽轮发电机组故障诊断本体中的任意类Ci、Cj和Ck,如果is_a(Ci,Cj)和is_a(Cj,Ck)成立,则有is_a(Ci,Ck);

推论4汽轮发电机组故障诊断本体中的任意类Ci、Cj、Ck和Cl,如果有is_a(Ci,Ck)和is_a(Cj,Cl),并且disjoint(Ck,Cl)成立,则有disjoint(Ci,Cj).

针对两种不一致现象,在Tableau算法[22]基础上,设计以下两个算法进行检查.

算法1本体的类间关系冲突检验算法

步骤如下:

1) 设汽轮发电机组故障诊断本体中n个互不相同的类C1,C2,C3,…,Cn,汽轮发电机组故障诊断本体中的所有类C*;

2)x=1;

3)S1=φ,S2=φ;

4) 若is_a(Cx,C*)或者is_a(C*,Cx),则S1=(S1∪{C*}){Cx},若disjoint(Cx,C*),则S2=(S2∪{C*}){Cx};

5) 若S1∩S2≠φ,算法结束,汽轮发电机组故障诊断本体中存在关系冲突,否则进入下一步;

6)x=++x;

7) 若x≤n,重新返回步骤3);

8) 算法结束,证明汽轮发电机组故障诊断本体中不存在关系冲突.

算法2本体类的循环继承检验算法

步骤如下:

1) 设汽轮发电机组故障诊断本体中n个互不相同的类C1,C2,C3,…,Cn,汽轮发电机组故障诊断本体中的所有类C*;

2)x=1;

3)S1=∅,S2=∅;

4) 若is_a(Cx,C*),则S1=(S1∪{C*}){Cx};若is_a(C*,Cx),则S2=(S2∪{C*}){Cx};

5) 若S1∩S2≠∅,算法结束,汽轮发电机组故障诊断本体中存在循环继承,否则进入下一步;

6)x=++x;

7) 若x≤n,重新返回步骤3);

8) 算法结束,证明汽轮发电机组故障诊断本体中不存在循环继承.

通过设计的算法1和算法2对汽轮发电机组故障诊断本体中的知识进行一致性检验,发现汽轮发电机组故障诊断本体的知识是一致的,没有矛盾,因此本文构建的汽轮发电机组故障诊断本体可以进行知识推理和应用.

4 实例推理验证

对汽轮发电机组的故障信息进行表示是故障诊断的前提,直接影响着故障诊断的其他流程和最终结果.因此需要通过实例推理测试,保证基于本体的汽轮发电机组知识模型的可行性和有效性.

4.1 故障诊断本体推理

本体推理机可以实现两个基本推理功能,检查本体的一致性和得到隐含的知识.本文利用基于描述逻辑的推理机FaCT++进行实例推理验证,其支持OWL DL(Description Logic,描述逻辑)和OWL2标准,使用方便,效率较高.推理要解决的主要问题为:给定任意一个类,通过推理,可以找到它所属的类,即它的父类.在OWL DL中,推理是基于事实作为开放世界假设的,即通过精确定义汽轮发电机组的故障测试类对构建的本体进行推理测试.汽轮发电机组故障诊断本体的推理是受所定义的公理约束的,由公理得到以下推理规则:

1) 若X继承于Y,Y继承于Z,则X继承于Z;

2)X继承于X∪Y,Y继承于X∪Y;

3)X∩Y继承于X,X∩Y继承于Y;

4) (X∪Y)∪Z=X∪(Y∪Z);

5) (X∩Y)∩Z=X∩(Y∩Z).

4.2 实例验证

汽轮机等旋转机械的转动部件称为转子,由于转子的偏心质量而引起振动的现象是很普遍的[18-21],主要是由于转子的制造、安装过程中的误差、材质不均匀等原因使转子的质心位置偏离回转中心线,在转子旋转时产生不平衡离心力,引起动不平衡,导致汽轮发电机组运行异常.

本文采用SQI机械故障模拟实验台模拟汽轮发电机组故障,通过采集不同故障类型的故障特征作为本体测试类的本体属性,实现对汽轮发电机组故障诊断本体推理的验证.如图6所示,实验台由发动机、变速发动机的开关控制器、数据采集器和一台笔记本电脑(信号分析软件)等组成.SQI实验台能够模拟汽轮发电机组的实际工况,因而能够模拟转子质量偏心、联轴器偏差、油膜涡动等故障.

已知存在转子质量偏心故障,通过信号采集设备得到转速3 000 r/min(基频振动频率为50 Hz)时的实验数据和相关图谱,部分故障特征如图7所示.

分析其征兆可得:实例中转子的频率主要集中在50 Hz,即频域中能量集中于1X频,峰值突出明显,高次谐波分量较小,轴心轨迹为椭圆等.利用推理机对本文建立的模型进行推理测试.

利用传感器采集到的振动数据和信息,可以通过对象属性和数据属性对故障测试类进行类之间关系的定义,例如定义故障测试类1的属性为“特征频率为1X,无常伴频率,轴心轨迹为椭圆形等”,依据所定义的公理和推理规则实现对所构建的本体的推理测试.因为OWL_Viz不支持中文,所以在英文推理结果图片中进行了对应的中文注释,如图8所示.在OWL_Viz的图形中可以看出,推理前故障测试类1只是故障查询测试类的子类;当给定故障测试类所有的属性后,推理发现故障测试类1也属于故障类型中的转子质量偏心类的子类,即故障测试类1属于故障查询测试类和转子质量偏心类共同的子类.

在汽轮发电机组故障诊断本体树形结构中,推理前如图9a所示.故障测试类1只出现在故障查询测试类的下一级,即只是故障查询测试类的子类.推理后发现故障测试类1也属于转子质量偏心类的子类,即在故障查询测试类和转子质量偏心类的下一级都出现了故障测试类1,如图9b所示.因此,推理得出故障测试类1属于转子质量偏心故障,进而得到相应的故障原因和维修策略.

本文通过定义多组故障测试类对汽轮发电机组故障诊断本体知识推理进行了验证,如图9所示推理得出故障测试类2属于联轴器偏差故障和故障测试类3属于油膜涡动故障的结论.经过实例推理,验证了基于本体汽轮发电机组故障诊断知识模型是可行、有效的.

5 结论

汽轮发电机组故障知识表示是故障诊断的基础,本文将作为语义基础的本体引入汽轮发电机组故障诊断领域,提出了一种适用于汽轮发电机组故障诊断领域的本体构建方法和知识表示模型.

1) 构建了汽轮发电机组故障诊断领域本体模型,定义了本体概念、属性、关系、实例和公理等.

2) 设计了一致性检验算法,对汽轮发电机组故障诊断领域本体的类间关系不一致现象进行了检查,发现本体知识是一致的,没有矛盾.

3) 提出了汽轮发电机组故障诊断领域本体推理的问题,定义一个类及其属性,经过推理得到其父类,并通过实例进行了验证.

猜你喜欢
发电机组实例本体
风力发电机组齿轮箱轴承故障诊断分析
基于MFI4OR标准的本体融合模型研究
大型核电汽轮发电机组自主化成果介绍
眼睛是“本体”
660MW发电机组氢气泄漏原因与处理
基于Bladed与Matlab的风力发电机组控制器设计
完形填空Ⅱ
完形填空Ⅰ
专题
Care about the virtue moral education