王學杰 賀 國 陳連樹
1海軍工程大學船舶與動力學院,湖北武漢430033 2中國人民解放軍海軍海南地區裝備修理監修室,海南 三亞572018
基于二叉樹的某型船柴油機控制系統故障診斷專家系統
王學杰1賀 國1陳連樹2
1海軍工程大學船舶與動力學院,湖北武漢430033 2中國人民解放軍海軍海南地區裝備修理監修室,海南 三亞572018
專家系統可以解決復雜系統的故障診斷,其中知識庫和推理機是其核心內容。首先利用故障樹表達某型艦柴油機控制系統各故障事件之間的邏輯關系,然后將故障樹轉化為二叉故障樹,與專家系統相結合,完成專家系統知識庫和推理機的設計。將該方法應用于某型船柴油機控制系統的故障診斷,結果表明,專家系統的知識庫存儲結構簡單、易于維護,推理機的邏輯推理關系簡單,易于實現。
船舶柴油機;控制系統;故障診斷;二叉故障樹;專家系統
某型船柴油機控制系統由18個電路模塊、傳感器和執行機構組成,其功能是實現柴油機的啟動、調速、停車和狀態監測。由于該系統結構復雜、工作條件惡劣,一旦某一設備部件出現故障,都可能造成整個控制系統工作失常,無法實現正確的自動控制功能。若在機旁操縱柴油機,既增加操作人員勞動強度,又無法實現完整的安全保護功能。由于沒有相應的故障診斷設備,系統維修時只能采用人工操作、經驗判別的方式,故障診斷效率較低,勞動強度大,不可避免地存在人為因素造成的誤差,并帶來安全隱患。故障樹便于知識獲取和分析,規則推理直觀[1]。但是,傳統的故障樹分析法由于故障樹模型結構復雜、主干不突出,不能正確反映故障原因和故障現象之間的聯系,而且由于診斷的規則數目較多,當添加修改規則時,易出現規則之間的沖突和冗余,無法保證專家系統高效、正確地運行[2]。
本文利用故障樹實現專家系統的知識獲取,然后將其轉化為二叉故障樹模型,與專家系統相結合,實現系統的故障診斷。該方法可有效地克服傳統故障樹在計算機中不易存取和檢索的缺點,使專家系統的知識庫存儲簡單,便于規則的添加和刪除,簡化專家系統的邏輯推理過程。
故障樹分析法就是把研究系統中最不希望發生的故障狀態或故障事件作為故障分析的目標和出發點(即故障樹頂事件),然后在系統中尋找導致這一故障發生的原因,直到找出故障機理已知的基本故障因素(即故障樹底事件)[3-6]。故障樹的特點就是表達故障推理規則方便,能清晰地表示系統設備的故障事件與各子系統部件的故障事件之間的邏輯結構關系。采用故障樹實現知識獲取,各故障之間的邏輯關系明確,診斷規則直觀。而且它還可以把故障模式的文字說明、檢查方法及針對具體故障原因的補償措施等描述性知識添加到樹的相應節點處,并且這些最終都將是診斷知識庫不可缺少的組成部分。
這里以某型船柴油機控制系統為例,對其故障樹的構建,采取理論與實踐相結合的方法,即在詳細分析其工作原理的基礎上,結合積累的人工診斷經驗,構建合理的故障樹。因為電路模塊部分電路可自檢,本文在建立該系統故障樹時就以傳感器及其傳感介質為例進行說明。圖1為控制系統啟動異常故障樹的主要部分。可見,故障樹中各故障事件之間的邏輯關系清晰。

圖1 控制系統啟動異常故障樹
3.1 二叉樹的建立
傳統的故障樹不利于計算機的存儲和檢索,特別是系統比較復雜時,故障樹的分支較多,采用常用的數組或鏈表式存儲方式占用的存儲空間多,檢索過程復雜,無法正確快速地進行診斷推理,也不利于系統的維護。
與傳統的故障樹相比,二叉樹的存儲結構和檢索過程比較簡單,易于計算機表達和處理。任何樹和二叉樹之間都可以相互轉換,而且可以將多組互相獨立的故障樹(即森林樹)轉化為一個整體的二叉樹,這樣就解決了復雜系統中傳統故障樹的存儲結構和運算過程復雜的困難。
二叉樹是樹結構的一種,它與普通樹形結構的區別是:1)每個結點最多有兩棵子樹;2)子樹有左右之分,其次序不能任意顛倒[7]。將故障樹轉化成二叉故障樹時,二叉故障樹的左子樹用來存放本故障節點的下一級故障現象;右子樹用來存放本故障節點的同級故障現象。樹和二叉樹之間有嚴格的轉換規則,根據轉換規則,可將圖1所示的故障樹轉化為二叉故障樹,如圖2所示。

圖2 控制系統啟動異常二叉故障樹
3.2 基于二叉故障樹的存儲結構優化
二叉樹的存儲方法有順序存儲結構和鏈式存儲結構,順序存儲結構僅適用于完全二叉樹,而鏈式存儲結構可以方便實現所有二叉樹的存儲。由二叉樹的定義可知,二叉樹的節點由一個數據域和分別指向其左、右子樹的兩個指針域構成。設計不同的節點結構可構成不同形式的鏈表式存儲結構,如二叉鏈表式存儲法和三叉鏈表式存儲。采用三叉鏈表式存儲,可以迅速確定二叉樹模型中任意一個故障節點及其關聯的子故障節點,針對本柴油機控制系統的特點,本故障診斷系統選擇二叉鏈式存儲方法。
為便于說明,對于圖1所示的故障樹,按照由上至下、由左至右分層編號的方法進行標號,如頂事件定義為101,下層事件由左至右分別為201、202,依此類推。可以看出,不同事件的子節點數目不一定相同,采用常用的鏈表式存儲方法,圖1的故障樹可以表示成如下形式:
101:<201、202>
201:<301、302、303>
301:<401、402>
401:<>
在檢索過程中,可以使用指針指向下一級事件,但是由于下一級事件的數目不一定相同,需要的下一級指針的數目也不相同。對于程序控制模塊和推理模塊來說,它沒有識別不同節點具有不同指針數目的能力。當然,也可以在鏈表中定義一個變量告訴系統本級的下一級節點數目,如下面表示的形式:
101:<2、201、202>
201:<3、301、302、303>
301:<2、401、402>
401:<0>
可以看出,采用上述方法,每當添加一個分支時,所添加的不僅僅是指針,還要修改鏈表中的指針數目;而且,對于每一個事件節點而言,開始創建時已經為其分配好了存儲空間,添加指針就要修改存儲空間的大小,這樣可能會破壞原有的數據結構,造成數據丟失。
基于二叉樹的存儲則可以克服以上不足,從圖2中可以看出,當要添加一個分支時,要做的工作僅僅是在它的原上一級節點或原左節點后面添加一個指針,而且這個指針在開始定義節點時就已經創建。如果上一級節點沒有子節點,則直接作為上一級節點的左子樹添加;如果上一級節點有子節點,則添加到其兄弟節點的右子樹。因此,采用基于二叉樹的鏈表式存儲法便于規則的插入、刪除、修改和訪問。若要改變各節點的位置,只需要修改指針,不需要移動數據,這樣可以提高數據庫維護的效率。可見,利用二叉故障樹方便地實現了故障知識在計算機中的存儲、修改和檢索,將傳統故障樹轉換為二叉故障樹并實現知識存儲,利于專家系統知識庫的維護。
3.3 基于二叉故障樹的診斷規則提取
基于二叉樹故障診斷采用產生式的知識表達方式,該方式以規則的形式表示故障知識,規則的前件和后件分別為故障現象和故障原因。例如,其中一條診斷規則可表示為:
IF允許啟動但不成功AND工作轉速傳感器沒動作AND內循環冷卻水系統正常
THEN工作轉速傳感器故障
基于二叉樹的故障診斷推理邏輯關系為“是”或“否”,其故障流程圖是單分支的,而單分支的邏輯關系大大簡化了診斷規則,由圖2所示的二叉故障樹可得到相應的故障診斷流程,以“允許啟動但不成功”故障為例,其診斷流程如圖3所示。

圖3 允許啟動但不成功故障診斷流程
推理機效率的高低直接影響到專家系統的性能,本故障診斷專家系統的推理過程采用基于二叉樹單分支的推理邏輯,這樣在推理過程中,在某個節點只需要判斷下一步轉入左子樹還是右子樹,診斷規則簡潔、清晰。
基于二叉故障樹的故障診斷推理過程實際上就是二叉樹的遍歷。由于二叉樹是非線性結構,確定遍歷的規律是決定遍歷算法、也是保證推理機制高效診斷的關鍵所在。推理的方法有很多種,按照推理的方向可以分為正向推理、反向推理和正向—反向混合推理[8]。根據本文研究的控制系統和二叉樹特點,采用推理比較直觀的正向推理。圖4為系統故障推理流程圖,具體步驟如下:
1)根據故障信息,確定故障初始節點,并根據圖2所示的二叉故障樹判斷初始節點是否為葉子節點(即故障樹底事件)。是,則成功退出;否,則轉到下一步。

圖4 系統故障推理流程圖
2)當故障節點有子節點時,對其進行正向推理,如果前一節點的故障事實為真,則轉入其左子節點;若不為真,則轉入其右子節點。假設轉入節點為P。
3)當P為葉子節點時,推理過程完成,否則轉到2)繼續推理。
知識獲取是利用專家系統進行故障診斷的“瓶頸”,為了有效解決這個問題[9],本文將二叉故障樹分析法和專家系統結合起來,并將其應用于某型船柴油機控制系統的故障診斷。首先構建待診斷對象的故障樹,然后將其轉化為二叉故障樹,可實現專家系統的知識獲取。分析表明,與傳統的故障樹方法相比,基于二叉樹的故障診斷專家系統知識庫存儲結構簡單、易于維護。在此基礎上,設計了專家系統的知識庫。采用基于二叉樹單分支的推理邏輯實現故障診斷專家系統的推理過程,可以簡化推理規則,使診斷規則簡潔、清晰,較好地解決了冗余和匹配沖突的問題。
[1]侯安華,秦紅磊.基于故障樹和規則的故障診斷專家系統[J].微計算機信息,2008,24(7):191-193.
[2]汪子皓,莫易敏.基于機車故障診斷專家系統的故障樹優化設計[J].內燃機車,2008(4):17-20.
[3]韓兆福,王虹曇,董緒華,張文訓.基于FTA的某型飛機火控系統故障診斷測試儀的設計與研究[J].青島大學學報,2005,18(4):5-9.
[4]劉承相,程禮.故障樹在專家系統中的應用[J].機械科學與技術,2003,22(11):8-15.
[5]吳今培,肖健華.智能故障診斷與專家系統[M].北京:科學出版社,1997.
[6]周汝勝,焦宗夏,王少萍,等.基于專家系統的導彈發射車液壓系統故障診斷[J].航空學報,2008,29(1):197-203.
[7]嚴蔚敏,嚴偉民.數據結構[M].北京:清華大學出版社,1997.
[8] SUGUMARAN V,MURALIDHARAN V,RAMACHAN鄄DRAN K I.Feature selection using Decision Tree and classification through Proximal Support Vector Machine for fault diagnostics of roller bearing[J].Mechanical Systems and Signal Processing,2007,21(2):930-942
[9]關惠玲,韓捷.設備故障診斷專家系統原理及實踐[M].北京:機械工業出版社,2000.
Fault Diagnosis Expert System for Diesel Control System on a Certain Ship Based on Binary Fault Tree
Wang Xue-Jie1He Guo1Chen Lian-Shu2
1 College of Naval Architecture and Power,Naval Univ of Engineering,Wuhan 430033,China 2 PLAN Equipment Maintenance Service,Hainan Eexcutive Office,Sanya 572018,China
Expert system has successfully resolved fault diagnosis of complicated system.Its core is knowledge base and inference machine.In this paper,fault tree was used to express the logical relations of faults in the diesel control systems on a certain ship.Then,it was translated into binary fault tree,which could design the knowledge base and inference machine of expert system,after being combined with the expert system.This method was used to diagnose the fault of diesel control system on a certain ship.The results show that the storage structure of expert system is simple and easy to maintain,and the logical inference process of inference machine is concise and easy to carry out.
marine diesel engine;control system;fault diagnosis;binary fault tree;expert system
TP182
A
1673-3185(2009)06-34-04
2009-04-20
王學杰(1983-),男,碩士研究生。研究方向:艦船動力裝置科學管理、優化設計。E鄄mail:wangxuejie2000@126.com
賀 國(1966-),男,教授,博導。研究方向:艦船動力裝置自動化及仿真技術