剡昌鋒, 栗 宇, 王慧濱, 張 強, 艾科勇, 吳黎曉
(1. 蘭州理工大學 機電工程學院, 甘肅 蘭州 730050; 2. 漳州衛(wèi)生職業(yè)學院, 福建 漳州 363000; 3. 廣州電力機車有限公司, 廣東 廣州 510830)
汽輪發(fā)電機組的安全和高效運行對電力系統(tǒng)安全性和經濟性有重要影響[1].隨著發(fā)電裝備實現(xiàn)了百萬千瓦超臨界等級機組的歷史性跨越,汽輪發(fā)電機組內部結構越來越復雜.汽輪發(fā)電機組在高溫、高壓和高轉速的環(huán)境下工作,容易發(fā)生各種故障,其故障的復雜性和多樣性導致故障知識的表達成為汽輪發(fā)電機組故障診斷專家系統(tǒng)發(fā)展的“瓶頸”[2].專家系統(tǒng)的異構也會導致故障知識無法共享、重用和互操作,從而產生“知識孤島”現(xiàn)象,影響了汽輪發(fā)電機組故障診斷專家系統(tǒng)的擴展[3].故障診斷技術已發(fā)展成為集狀態(tài)檢測、信號處理、模式識別和智能決策等于一體的新型交叉學科[4].目前,針對機械設備故障知識表示的問題,國內外已有大量的專家學者進行了相關研究.Yan等[5]利用基于置信度的產生式方法表示汽輪發(fā)電機組故障知識,探究了故障知識表示與不確定性推理之間的因果關系.Wei等[6]提出了一種基于二維全息譜和貝葉斯決策理論的不確定性推理方法,研究了汽輪發(fā)電機組故障知識的不確定性問題.張強等[7]結合框架和規(guī)則的知識表示方法,開發(fā)了規(guī)則推理與案例推理集成的汽輪發(fā)電機組故障診斷專家系統(tǒng).高軍偉等[8]采用面向對象的知識表示方法,建立了水輪發(fā)電機組故障診斷模糊專家系統(tǒng).Orchard等[9]采用框架知識表達方法研究了渦輪發(fā)動機故障診斷與預測問題.朱大奇等[10]利用神經網絡的知識表示方法,提出了基于多層激勵函數(shù)的量子神經網絡信息融合算法,并在旋轉機械故障診斷中得到了應用.以往的研究在一定程度上都能夠實現(xiàn)故障診斷知識表示,但是存在一些不足:對非結構化的動態(tài)知識考慮不足,對復雜的故障診斷概念及其關系的表達缺乏一定的靈活性,而且都缺乏語義方面的支持,不能很好地表示故障案例知識.
近年來,本體作為語義基礎在語義檢索和提取、自然語言翻譯、知識工程和人工智能等領域得到了高度重視和廣泛應用[11-13].本體是源自哲學中的術語,指事物客觀存在的本質[14-15].在人工智能領域,本體被視為知識的“人工引擎”.Gruber[16]將本體定義為“概念模型規(guī)范化的描述”,Studer等[17]在Gruber基礎上將本體的概念擴展為“共享概念模型準確的形式化描述”,包含了共享、概念化、明確性和形式化等四層含義.本體作為語義網的核心不僅能夠明確地描述汽輪發(fā)電機組故障診斷知識,還具有豐富的概念間的關系和各種屬性約束,可以實現(xiàn)推理功能,并提供語義支持,方便知識挖掘、知識重用和知識共享,所以本文在汽輪發(fā)電機組故障診斷經典知識的基礎上,提出了適用于汽輪發(fā)電機組的本體建模方法和知識表示模型,利用Protégé_4.3構建了汽輪發(fā)電機組故障診斷本體,并詳細描述了構建的步驟.然后通過設計的一致性檢驗算法驗證了本體知識模型的可行性,最后采用SQI機械故障綜合模擬實驗臺模擬汽輪發(fā)電機組故障,采集故障信息得到實例,通過推理機FaCT++對汽輪發(fā)電機組故障診斷本體進行了實例推理,驗證了本體知識模型的有效性.
汽輪發(fā)電機組故障診斷系統(tǒng)是監(jiān)測汽輪發(fā)電機組局部和整體的運行情況,對其工作狀態(tài)和穩(wěn)定性進行評估,從而及時發(fā)現(xiàn)故障,并對故障產生的原因、故障的類型等進行判斷識別,結合汽輪發(fā)電機組當前的狀態(tài),給出相應的診斷和維修策略.
根據本體的定義,Gruber提出了五條本體構建原則:明確性、一致性、可擴展性、最小編碼偏差、最小本體承諾.按照這五條原則,汽輪發(fā)電機組故障診斷本體中的概念是在知識層次上進行定義,不依賴于具體的編碼,并提供必要的詞匯進行實例化.汽輪發(fā)電機組故障診斷本體可以有效、客觀地表達術語在汽輪發(fā)電機組故障診斷領域內的含義,并支持與其定義一致的推理.因此,汽輪發(fā)電機組故障診斷本體是對汽輪發(fā)電機組故障診斷領域知識的形式化描述,可以明確地定義汽輪發(fā)電機組故障診斷領域中的概念和關系.
根據汽輪發(fā)電機組的診斷過程,從知識工程方法學角度出發(fā),結合領域本體開發(fā)相關的實際經驗選擇自頂向下的方法,建立適用于汽輪發(fā)電機組故障診斷領域的本體知識模型,主要流程如圖1所示,包括以下7個步驟:
1) 分析汽輪發(fā)電機組的故障類型和特征;
2) 定義所要構建故障診斷本體的領域范圍;
3) 描述故障診斷本體的概念和元素;
4) 定義故障診斷本體中的類、關系、屬性、公理和實例;
5) 利用Protégé_4.3構建故障診斷本體;
6) 對構建的故障診斷本體進行評估驗證;
7) 輸出故障診斷網絡本體語言(ontology web language,OWL)文件.
分析汽輪發(fā)電機組故障診斷領域知識,考慮汽輪發(fā)電機組實際工作環(huán)境等因素,通過故障類型、故障特征、故障原因以及維修策略等方面描述汽輪發(fā)電機組故障診斷知識,從而得到故障診斷本體術語.
為了便于構建基于本體的汽輪發(fā)電機組故障診斷知識模型,根據汽輪發(fā)電機組故障診斷知識的特點,本文對汽輪發(fā)電機組故障診斷知識本體(Fault Diagnosis Ontology)進行形式化定義:
定義1(FDO)=〈C,AC,R,AR,I,X〉
其中,C是汽輪發(fā)電機組故障診斷知識本體中的類集(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).
根據本體術語和汽輪發(fā)電機組故障診斷領域的定義,汽輪發(fā)電機組故障診斷本體可以從類、屬性、關系、實例和公理等五個方面構建.
2.2.1汽輪發(fā)電機組故障診斷本體中的類
汽輪發(fā)電機組故障診斷的目的是通過模式匹配得到從故障特征(Fct:Fault_characteristic)到故障類型(Fty:Fault_type)之間的關系,進而發(fā)現(xiàn)產生故障的原因(Fsn:Fault_reason)以及提出維修策略(Mst:Maintenance_strategy).因此,將汽輪發(fā)電機組故障診斷本體類定義為:
定義4FDOClass=(Fty,Fct,Fsn,Mst)
其中,Fty指根據汽輪發(fā)電機組的內部結構,分析可能發(fā)生的故障和故障之間的層次結構確定的故障類型;Fct指通過傳感器數(shù)據采集和信號處理得到汽輪發(fā)電機組各部位故障特征;Fsn指導致汽輪發(fā)電機組發(fā)生故障時的單個或者多個原因;Mst指當確定了汽輪發(fā)電機組發(fā)生的故障原因后,建議采用相應的維修策略.
汽輪發(fā)電機組故障有很多類型,其中,常見的故障如轉子質量偏心、油膜渦動和軸裂紋等[18-21],其發(fā)生率占了95%以上.汽輪發(fā)電機組故障診斷本體類部分見表1,每個大類的下一級又有各自的子類.
表1 汽輪發(fā)電機組故障診斷領域本體類Tab.1 Classification of ontology in fault diagnosis field for turbine generator sets
2.2.2汽輪發(fā)電機組故障診斷本體中的關系
汽輪發(fā)電機組故障診斷本體中主要有四個基本語義關系:所屬關系(is_a)、部分-整體關系(is_part_of)、屬性關系(attribute_of)、實例關系(instance_of).可能還存在并(unionOf)、交(intersectionOf)、補(complementOf)、等價(equivalentTo)等關系.
2.2.3汽輪發(fā)電機組故障診斷本體中的屬性
汽輪發(fā)電機組故障診斷本體中的屬性是對故障類之間多對多關系的定義.其中,對象屬性代表類與類之間的關系,汽輪發(fā)電機組故障診斷本體中故障類之間的關系如圖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的縮寫.
數(shù)據屬性代表個體與它對應的基本數(shù)據類型之間的關系,例如,故障特征類中包含十種數(shù)據類型屬性:Harmonic_frequency(常伴頻率,integer型數(shù)據)、Vibration_with_frequency(振動隨轉速變化,boolean型數(shù)據)、Axis_orbit(軸心軌跡,string型數(shù)據)等.
注釋屬性是對汽輪發(fā)電機組故障診斷本體中特殊的類、個體和屬性的解釋,本文用以標注中文類名.
2.2.4汽輪發(fā)電機組故障診斷本體中的公理
汽輪發(fā)電機組故障診斷本體中的公理主要為屬性公理和類公理.屬性公理是對汽輪發(fā)電機組故障診斷本體中類的屬性和屬性之間關系的一種約束,包括屬性之間的傳遞、對稱、包含和等價關系等.類公理是對汽輪發(fā)電機組故障診斷本體中類與類之間關系的一種約束,包括類之間的等價、包含、不相交關系等.
汽輪發(fā)電機組故障診斷領域本體是實現(xiàn)故障診斷的基礎.通過分析故障知識,定義本體類、關系、屬性、實例及公理,結合本體構建原則,利用W3C推出的OWL和Stanford大學開發(fā)Protégé_4.3本體編輯器構建了汽輪發(fā)電機組故障診斷領域本體模型,用以存儲多個汽輪發(fā)電機組故障診斷的實例,擁有較強的描述能力,實現(xiàn)了不同領域用戶之間的知識共享.汽輪發(fā)電機組故障診斷領域的部分本體模型如圖3所示,顯示了基類(Thing)是每個故障類的父類,每個故障類都有自己的子類,相關的關系描述由相應的屬性定義,部分對象屬性和數(shù)據屬性如圖4所示.
汽輪發(fā)電機組故障診斷本體中有很多類,可能會出現(xiàn)類間關系不一致的現(xiàn)象,因此需要對本體知識進行類間關系沖突和循環(huán)繼承的一致性檢驗,如圖5所示.
由定義1、定義2和定義3可得一致性檢驗的推論:
推論1汽輪發(fā)電機組故障診斷本體中的任意類Ci,有is_a(Ci,Cj)或is_a(Cj,Ci);
推論2對于汽輪發(fā)電機組故障診斷本體中的任意兩個互不相同的類Ci和Cj,如果is_a(Ci,Cj)成立,則is_a(Cj,Ci)不成立;
推論3汽輪發(fā)電機組故障診斷本體中的任意類Ci、Cj和Ck,如果is_a(Ci,Cj)和is_a(Cj,Ck)成立,則有is_a(Ci,Ck);
推論4汽輪發(fā)電機組故障診斷本體中的任意類Ci、Cj、Ck和Cl,如果有is_a(Ci,Ck)和is_a(Cj,Cl),并且disjoint(Ck,Cl)成立,則有disjoint(Ci,Cj).
針對兩種不一致現(xiàn)象,在Tableau算法[22]基礎上,設計以下兩個算法進行檢查.
算法1本體的類間關系沖突檢驗算法
步驟如下:
1) 設汽輪發(fā)電機組故障診斷本體中n個互不相同的類C1,C2,C3,…,Cn,汽輪發(fā)電機組故障診斷本體中的所有類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≠φ,算法結束,汽輪發(fā)電機組故障診斷本體中存在關系沖突,否則進入下一步;
6)x=++x;
7) 若x≤n,重新返回步驟3);
8) 算法結束,證明汽輪發(fā)電機組故障診斷本體中不存在關系沖突.
算法2本體類的循環(huán)繼承檢驗算法
步驟如下:
1) 設汽輪發(fā)電機組故障診斷本體中n個互不相同的類C1,C2,C3,…,Cn,汽輪發(fā)電機組故障診斷本體中的所有類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≠?,算法結束,汽輪發(fā)電機組故障診斷本體中存在循環(huán)繼承,否則進入下一步;
6)x=++x;
7) 若x≤n,重新返回步驟3);
8) 算法結束,證明汽輪發(fā)電機組故障診斷本體中不存在循環(huán)繼承.
通過設計的算法1和算法2對汽輪發(fā)電機組故障診斷本體中的知識進行一致性檢驗,發(fā)現(xiàn)汽輪發(fā)電機組故障診斷本體的知識是一致的,沒有矛盾,因此本文構建的汽輪發(fā)電機組故障診斷本體可以進行知識推理和應用.
對汽輪發(fā)電機組的故障信息進行表示是故障診斷的前提,直接影響著故障診斷的其他流程和最終結果.因此需要通過實例推理測試,保證基于本體的汽輪發(fā)電機組知識模型的可行性和有效性.
本體推理機可以實現(xiàn)兩個基本推理功能,檢查本體的一致性和得到隱含的知識.本文利用基于描述邏輯的推理機FaCT++進行實例推理驗證,其支持OWL DL(Description Logic,描述邏輯)和OWL2標準,使用方便,效率較高.推理要解決的主要問題為:給定任意一個類,通過推理,可以找到它所屬的類,即它的父類.在OWL DL中,推理是基于事實作為開放世界假設的,即通過精確定義汽輪發(fā)電機組的故障測試類對構建的本體進行推理測試.汽輪發(fā)電機組故障診斷本體的推理是受所定義的公理約束的,由公理得到以下推理規(guī)則:
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).
汽輪機等旋轉機械的轉動部件稱為轉子,由于轉子的偏心質量而引起振動的現(xiàn)象是很普遍的[18-21],主要是由于轉子的制造、安裝過程中的誤差、材質不均勻等原因使轉子的質心位置偏離回轉中心線,在轉子旋轉時產生不平衡離心力,引起動不平衡,導致汽輪發(fā)電機組運行異常.
本文采用SQI機械故障模擬實驗臺模擬汽輪發(fā)電機組故障,通過采集不同故障類型的故障特征作為本體測試類的本體屬性,實現(xiàn)對汽輪發(fā)電機組故障診斷本體推理的驗證.如圖6所示,實驗臺由發(fā)動機、變速發(fā)動機的開關控制器、數(shù)據采集器和一臺筆記本電腦(信號分析軟件)等組成.SQI實驗臺能夠模擬汽輪發(fā)電機組的實際工況,因而能夠模擬轉子質量偏心、聯(lián)軸器偏差、油膜渦動等故障.
已知存在轉子質量偏心故障,通過信號采集設備得到轉速3 000 r/min(基頻振動頻率為50 Hz)時的實驗數(shù)據和相關圖譜,部分故障特征如圖7所示.
分析其征兆可得:實例中轉子的頻率主要集中在50 Hz,即頻域中能量集中于1X頻,峰值突出明顯,高次諧波分量較小,軸心軌跡為橢圓等.利用推理機對本文建立的模型進行推理測試.
利用傳感器采集到的振動數(shù)據和信息,可以通過對象屬性和數(shù)據屬性對故障測試類進行類之間關系的定義,例如定義故障測試類1的屬性為“特征頻率為1X,無常伴頻率,軸心軌跡為橢圓形等”,依據所定義的公理和推理規(guī)則實現(xiàn)對所構建的本體的推理測試.因為OWL_Viz不支持中文,所以在英文推理結果圖片中進行了對應的中文注釋,如圖8所示.在OWL_Viz的圖形中可以看出,推理前故障測試類1只是故障查詢測試類的子類;當給定故障測試類所有的屬性后,推理發(fā)現(xiàn)故障測試類1也屬于故障類型中的轉子質量偏心類的子類,即故障測試類1屬于故障查詢測試類和轉子質量偏心類共同的子類.
在汽輪發(fā)電機組故障診斷本體樹形結構中,推理前如圖9a所示.故障測試類1只出現(xiàn)在故障查詢測試類的下一級,即只是故障查詢測試類的子類.推理后發(fā)現(xiàn)故障測試類1也屬于轉子質量偏心類的子類,即在故障查詢測試類和轉子質量偏心類的下一級都出現(xiàn)了故障測試類1,如圖9b所示.因此,推理得出故障測試類1屬于轉子質量偏心故障,進而得到相應的故障原因和維修策略.
本文通過定義多組故障測試類對汽輪發(fā)電機組故障診斷本體知識推理進行了驗證,如圖9所示推理得出故障測試類2屬于聯(lián)軸器偏差故障和故障測試類3屬于油膜渦動故障的結論.經過實例推理,驗證了基于本體汽輪發(fā)電機組故障診斷知識模型是可行、有效的.
汽輪發(fā)電機組故障知識表示是故障診斷的基礎,本文將作為語義基礎的本體引入汽輪發(fā)電機組故障診斷領域,提出了一種適用于汽輪發(fā)電機組故障診斷領域的本體構建方法和知識表示模型.
1) 構建了汽輪發(fā)電機組故障診斷領域本體模型,定義了本體概念、屬性、關系、實例和公理等.
2) 設計了一致性檢驗算法,對汽輪發(fā)電機組故障診斷領域本體的類間關系不一致現(xiàn)象進行了檢查,發(fā)現(xiàn)本體知識是一致的,沒有矛盾.
3) 提出了汽輪發(fā)電機組故障診斷領域本體推理的問題,定義一個類及其屬性,經過推理得到其父類,并通過實例進行了驗證.