朱文博, 劉 莎, 甘 屹
(上海理工大學,上海 200093)
當前,企業為了在競爭中立于不敗之地,采用了各種先進高檔的制造設備,以最大限度地提高生產效率和產品質量。然而,設備日趨高速、精密、復雜,設備發生故障的潛在可能性則相應增加,并且故障特點更具復雜性、多樣性、隱蔽性,這對設備的狀態監控和故障診斷技術提出了更高的要求[1]。因此,故障診斷技術成為迅速發展起來的一門熱門技術[2]。
有充分的事實證明,經驗豐富的維修師總是比缺乏經驗的維修人員診斷得更快、更好,這是因為有經驗的維修師積累了大量成功或失敗的維修案例和方法。基于案例推理(Case Based Reasoning,CBR)利用已有的相似案例來解決問題[3],將CBR應用于故障診斷系統是非常適合的[4-5]。本文將重點討論CBR的故障診斷系統的軟件開發。
從目前的研究來看,普遍被接受的、典型的CBR模型是建立在Aamodt和Plaza[6]提出的“4R”循環基礎之上的,即將CBR過程劃分為4個主要階段:①實例檢索(Retrieve),根據問題的描述找到最相似的實例;②實例復用(Reuse),重用相似實例的建議解;③實例修正(Revise),如有必要,修正建議解以更好地適應新問題;④實例保存(Retain),將驗證后的新解連同問題存儲到實例庫中。
根據文獻[5],本文將典型的CBR模型描述為圖1所示。
圖1 典型的CBR模型
如圖1所示,該模型主要由實例庫和CBR的幾個重要環節組成:①實例庫。CBR首先需要建立一定規模的實例庫。實例庫相當于人的大腦,存儲了一些過去的相關經歷,這就是若干個實例。每一個實例至少包括問題和解答兩部分。②實例表示。這些實例必須通過一定的表示方式和組織方式存儲在實例庫中,以便在需要的時候能被及時取出。③實例檢索。當遇到新問題時,往往通過回憶類似情況來解決,回憶過程對應了CBR通過檢索算法,比較新問題和舊問題之間的相似度,從實例庫中找到一個或若干個相似實例。當然,新問題與舊問題都是通過統一的實例表示方法進行表示的,這樣便于比較相似度。④實例重用。新問題若非常接近甚至完全與舊問題一致,則將舊問題的解答直接作為新問題的解。實例重用后不需要將新實例存儲在實例庫中。⑤實例修改。新問題往往和舊問題有一定差異,這時需要對舊問題的解進行修改。因為修改的是舊解答,故若找到的相似實例不止一個的話,在實例修改前應該先判斷到底哪個相似實例的舊解答最容易修改,問題最相似,不等于解答最容易修改。修改后的解答是否符合新問題,還需要得到驗證,最終得到新解答。新問題和新解答構成新實例。⑥實例存儲。新實例是否應該存儲到實例庫中,需要一定的策略去判斷。如果存儲,則增加了實例的數量,實現了CBR的學習過程。
在故障診斷領域引入CBR是故障診斷系統軟件進一步發展的客觀要求。根據典型的CBR模型,建立CBR的故障診斷系統軟件功能模型,用功能建模 IDEF0(Integrated Computer—Aided Manufacturing DEFinition)方法表示,如圖2所示。該模型共由4部分組成,包括:故障案例表示、故障案例檢索、故障案例重用與修改、基礎數據管理。
案例表示是CBR運行的基礎。故障現象的描述及其所對應的故障解決方案采用一定表示方法、遵循一定的表示準則表示出來,并存儲到案例庫當中。一個故障現象可以對應一個合理的、實際采用的、成功的故障解決方案,也可以對應幾個故障解決方案,成功的或失敗的,均可以存儲到案例庫中。根據若干故障案例之間的邏輯關系,運用數學方法生成故障樹。案例表示的約束不僅來自表示方法和表示準則,而且來自于下游的推理。案例表示時要考慮是否利于檢索、修改、存儲。案例表示同時也接受著反饋信息,案例檢索、案例修改和案例存儲對表示的評價,以便案例表示模塊能夠時時彌補表示的不足。
圖2 CBR的故障診斷系統軟件功能模型
案例檢索是CBR實現的手段。將案例庫中已有故障現象和新故障(即需要進行故障診斷的,并且已經被案例表示模塊表示過的故障現象)進行比較,找出與新故障現象相似的一個或幾個舊故障現象(舊故障現象指的是案例庫中已有的故障描述)。在這一模塊中,要制定檢索方法和檢索準則,檢索的快慢和有效性直接決定了整個CBR的推理效率。除此之外,還要考慮是否利于案例修改,同時要接受案例修改模塊對案例檢索的評價。
案例重用與修改是CBR推理的目的。如果從案例庫中檢索到的舊故障現象和新故障現象完全一樣,則可照搬舊故障現象的解決方案,這就是案例重用的過程,簡單易行。但是這種情況非常少見,通常需要根據新故障現象來修改檢索出的相似舊故障解決方案。如果檢索到的相似故障現象不止一個,或相似故障現象只有一個但對應的故障解決方案不止一個,那么要根據修改故障解決方案的難易程度進行判斷,從中選擇一個方案來執行案例修改。案例修改需要考慮修改的方法和修改準則,必定要參考故障診斷相關的理論。同時還要考慮下游模塊是否利于存儲,并接受案例存儲模塊對案例修改的反饋評價。案例修改的結果是輸出新故障現象對應的故障解決方案,至此完成CBR的推理過程,得到問題的解答。
基礎數據管理是整個軟件系統運行的基礎,其中包括機床的基本信息、故障現象、故障部位、故障特征等的基本定義。基礎數據信息的增減保證了故障診斷的合理性和有效性。
根據圖2所示基于案例推理的故障診斷系統軟件功能模型構建軟件模塊,主要包括:故障案例的錄入、故障案例的查詢、故障案例的修改、基礎數據管理。
如圖3~5所示,故障案例的錄入包括案例號、案例名稱、故障現象及部位(故障現象、故障現象的級別和故障部位)、檢測對象(檢測對象、檢測對象特征和檢測對象特征值)、故障診斷結果(故障原因和排除方法)、備注、故障圖片、發生日期、操作人員、維修日期、維修人員等。故障案例的錄入包括故障現象的描述及其所對應的故障解決方案,較為全面地反映了故障診斷的方法與知識。通過錄入故障案例構建故障案例庫。
圖3 故障案例的錄入——故障現象及部位
圖4 故障案例的錄入——檢測對象
圖5 故障案例的錄入——故障診斷結果
故障案例的查詢包括兩個部分:按關鍵詞查詢和相似案例查詢。如圖6所示,當用戶輸入故障現象或故障部位(兩者可同時輸入,也可只輸入其中任一項)后,系統進行查詢,顯示查詢結果如圖7所示。如果通過關鍵詞查詢不到案例庫中已有案例,則可以進行相似案例查詢。如圖8所示,錄入新故障的相關信息,系統通過相似度檢索算法,從故障案例庫中檢索到相似案例(見圖9)供用戶參考。
圖6 按關鍵詞查詢條件輸入
圖7 按關鍵詞查詢結果
圖8 相似案例查詢條件輸入
圖9 相似案例查詢結果
如圖10所示,故障案例的修改允許高級別用戶修改故障案例庫或者刪除某一故障案例。對于檢索出的相似案例進行修改以適合新故障的求解,將新故障描述以及排除方法作為新的案例存儲到案例庫中,體現了CBR的自學習功能。
圖10 故障案例的修改和刪除
基礎數據管理包括故障現象、故障部位、故障原因、排除方法、檢測對象和檢測對象特征等信息的添加、修改和刪除。圖11所示故障現象的添加。為了實現故障知識的有序儲存與快速檢索,系統對所有的基礎數據進行了編碼。
圖11 基礎數據管理——故障現象的添加
本文將CBR應用于故障診斷領域,研究了故障診斷系統的軟件設計。構建了基于案例推理的故障診斷系統軟件功能模型,并闡述了軟件模塊。通過故障案例的表示和錄入將人的經驗知識存儲起來;通過案例的檢索和查詢,替代了人的回憶和判斷;通過案例的修改和重用,完成了故障診斷。本文的研究在基于案例推理的數控軋輥磨床故障診斷系統中得到了良好的應用,顯著提高了故障診斷的準確性和診斷效率。隨著故障案例庫的不斷擴充,該故障診斷軟件系統功能會得到進一步完善,系統會有更好的應用前景。
[1]張代勝,王 悅,陳朝陽.融合實例與規則推理的車輛故障診斷專家系統[J].機械工程學報,2002,38(7):91-95.
[2]杜海峰,王 娜,張進華,等.基于復雜網絡的故障診斷策略[J].機械工程學報,2010,46(3):90-96.
[3]Watson I.Case-based reasoning is a methodology not a technology[J].Knowledge-Based Systems,1999,12(5/6):303-308.
[4]韓西京,史鐵林,陳培林,等.故障診斷中事例推理的理論和方法[J].華中理工大學學報,1996,24(4):33-35.
[5]倪志偉,李建洋,李鋒剛,等.案例決策技術及案例決策支持系統研究綜述[J].計算機科學,2009,36(11):18-23,42.
[6]Aamodt A,Plaza E.Case-based reasoning:foundational issues,methodological variations,and system approaches[J].AI Communications,1994,7:39-59.