基于知識petri網(wǎng)的船用電站故障診斷方法
【專利摘要】本發(fā)明公開了基于知識petri網(wǎng)的船用電站故障診斷方法,包括:1根據(jù)船用電站故障Petri網(wǎng)模型獲取并篩選船用電站各單元的故障征兆集合;2利用改進的Apriori算法對上述故障征兆集合和故障單元進行強關聯(lián)規(guī)則挖掘;3通過人機對話,用戶輸入故障征兆特征量和置信度,系統(tǒng)使用上述強關聯(lián)規(guī)則通過模糊推理進行故障征兆識別以確定故障單元;4以故障單元為根庫所從故障Petri網(wǎng)模型中抽取出子故障Petri網(wǎng)使用正向運行和逆向推理的方法進行故障原因診斷,并根據(jù)診斷結果給出故障原因、故障路徑圖和相應的故障維修方法。本發(fā)明能避免故障原因漏判,同時生成故障傳播路徑,提高了船用電站故障診斷的準確性和高效性。
【專利說明】基于知識petr i網(wǎng)的船用電站故障診斷方法
【技術領域】
[0001]本發(fā)明涉及船用電站故障診斷【技術領域】,具體地指一種基于知識的petri (Petri 網(wǎng)是對離散并行系統(tǒng)的數(shù)學表示)網(wǎng)的船用電站故障診斷方法。
【背景技術】
[0002]船用電站設備多,涉及的技術復雜,其維修保障工作十分繁重。雖然通過長期的資 料積累和維修人員維修經(jīng)驗的不斷增長,電站故障診斷的效率在不斷地提高,但是故障資 料多是以紙張形式保存,沒有形成故障知識,同時維修人員的經(jīng)驗水平的參差不齊也影響 了故障診斷的效率。
[0003]目前的計算機故障診斷技術主要采用小波變換、最小二乘法、專家系統(tǒng)、故障樹和 Petri網(wǎng)等方法。
[0004] 1.基于小波變換:小波變換故障診斷方法先對信號進行多級小波分解,得到各子 帶數(shù)據(jù)。通過對小波變換系數(shù)模極大值的檢測來實現(xiàn)對信號奇異性的檢測,從而確定故障 發(fā)生的時間,并推導出故障發(fā)生的地點。這種方法實時性好,但不能很好的處理潛在故障。
[0005] 2.基于最小二乘法的方法:根據(jù)模型參數(shù)及相應的物理參數(shù)的歷史數(shù)據(jù)對參數(shù) 進行估計形成一次估計值序列并用該序列進行估值診斷。該方法故障檢測快而準,診斷的 實時性強;但由于不易辨識非線性與時變系統(tǒng)的參數(shù),應用受到限制。
[0006] 3·基于專家系統(tǒng)的方法:專家系統(tǒng)是典型的基于知識的方法,它通過獲取大量的 專家診斷知識,利用專家的推理方法,解決故障診斷領域的問題。缺點是知識獲取困難、知 識庫更新能力差、領域知識之間的矛盾難于處理、邏輯表達和處理能力局限性大。
[0007] 4.基于故障樹的方法:故障樹分析法通過對可能造成系統(tǒng)失效的各種因素進行 分析,從而確定系統(tǒng)失效原因的各種可能組合方式或其發(fā)生概率,將系統(tǒng)故障形成原因按 樹枝狀逐級細化,將其邏輯關系用與、或等邏輯符號表示出來,自上而下逐級分解,直到不 能分解的底事件,形成故障樹。故障樹診斷方法直觀、形象,能夠實現(xiàn)快速的診斷。缺點是 不能診斷不可預知的故障;診斷結果嚴重依賴于故障樹信息的正確性和完整性。
[0008] 5.基于Petri網(wǎng)的方法:Petri網(wǎng)是一種可用圖形表示并可使用數(shù)學方法進行描 述的組合模型,可以很好地表示系統(tǒng)狀態(tài)和行為的變化關系,準確地描述系統(tǒng)的產(chǎn)生和傳 播特性。Petri網(wǎng)的缺點是其節(jié)點數(shù)量隨著系統(tǒng)復雜度的提高而不斷增多,使模型分析帶來 困難,容易造成狀態(tài)空間爆炸。對于大型復雜裝備故障診斷而言,系統(tǒng)的信息量非常大,而 且具有較大的冗余性,這在一定程度上會影響Petri網(wǎng)建模的準確性和高效性。
[0009] 參考文獻:張煒·故障Petri網(wǎng)的狀態(tài)方程研究·蘭州工業(yè)高等專科學校學報, 2007, 17(2)。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明的目的就是要提供一種基于知識petri網(wǎng)的船用電站故障診斷方法,該方 法能實現(xiàn)故障部位的快速準確定位,并能利用船用電站故障Petri網(wǎng)模型實現(xiàn)故障診斷, 區(qū)分主次故障原因,盡量避免故障原因漏判,提高船用電站故障診斷的準確性和高效性。
[0011] 為實現(xiàn)此目的,本發(fā)明所設計的基于知識petri網(wǎng)的船用電站故障診斷方法,其 特征在于,它包括如下步驟:
[0012] 步驟1 :在現(xiàn)有的船用電站故障Petri網(wǎng)模型Σ中獲取船用電站各單元的實際故 障與所對應的故障征兆的集合;
[0013] 步驟2 :對上述船用電站各單元的實際故障與所對應的故障征兆的集合通過以下 步驟201?步驟205所述的改進的Apriori算法,進行強關聯(lián)規(guī)則挖掘,即將船用電站各單 元的故障征兆和實際故障間的強關聯(lián)規(guī)則挖掘出來;
[0014] 步驟201 :設船用電站各單元的實際故障與所對應的故障征兆的集合為I = Up i2,…,,設船用電站故障Petri網(wǎng)模型Σ中所有實際故障集合為IF,設船用電站故 障卩的1^網(wǎng)模型2中所有實際故障的故障征兆集合為1 1^,且有4乃備=0、1 = 11<+:^,然 后按照故障征兆不同的類型,將上述故障征兆集合IN分為若干項故障征兆子集的組合,即 設故障征兆類型共有m類,則有:
[0015] :=義jVi + ',V2 + · - + ('辱 1.1麗;=::幺 _/ 壚,玄稱)
[0016] 其中,INj和IN1指的是ΙΝ中的第j及第1類故障征兆子集,m為故障征兆類型的數(shù) 目,也就是故障征兆子集的數(shù)目;
[0017] 另外,設從船用電站故障Petri網(wǎng)模型Σ中獲取的船用電站各單元的實際故障與 所對應的故障征兆的所有對應記錄為集合D,這些實際故障和故障征兆稱為集合D的項,集 合D內(nèi)的每一個元素 R都是一條故障征兆與實際故障的對應記錄,元素 R是一個同時包含 若千個故障征兆和一個對應的實際故障的集合,并且這些若干個故障征兆是分別屬于不同 類的故障征兆子集的;上述船用電站各單元的實際故障與所對應的故障征兆的集合I為所 述集合D的所有項的集合,集合D內(nèi)的每一個元素 R都是集合D的一個項集;
[0018] 對于集合D中的元素 R而言,由R中的若干元素組成的項集稱為R的子項集,這些 子項集也是D的項集;對于屬于集合D的任意一個項集V有:
[0019] V = {ie, if,----, ig, ij (ie, if,----, ig g IN, ih e IF)
[0020] 如果屬于集合D的任意一個項集V有k個元素,那么稱項集V為k項集(k多1); 規(guī)定項集V必須滿足的條件為:項集V的前k-1個元素 ie,if,. . . .,ig分別屬于k-Ι個不同 類的故障征兆子集,第k個元素 ih是一個實際故障;
[0021] 項集V在集合D中的支持度是指項集V在集合D中出現(xiàn)的概率,即集合D中的元 素包含項集V的概率,也就是說集合D中包含項集V的元素數(shù)量與集合D的元素數(shù)量的比 值,即:
[0022] Support (V) = P (V)
[0023] 其中,Support(V)為項集V的支持度,P(V)為項集V在集合D中出現(xiàn)的概率,如果 項集V滿足:
[0024] Support (V) > min-sup
[0025] 其中min_sup為設定的最小支持度閾值;那么項集V是一個頻繁項集,稱為頻繁k 項集;
[0026] 由項集V的所有元素組成的蘊含式Ue,if,. · . ·,ig} - {ih}稱為一條關聯(lián)規(guī)則,即 如果存在項集V的前k-Ι個元素 {ie,if,··.·,%},那么也存在第k個元素 Uh};顯然集合 I =化々,….,·^}(義矣0)和集合F = {4KF式0)是項集V的子項集,也是集合D 的項集;關聯(lián)規(guī)則X - Y的支持度是指集合D中的記錄同時包含X和Y的概率,也就是項集 V的支持度,即:
[0027] Support (X - Y) = Support (V)
[0028] 關聯(lián)規(guī)則X - Y的置信度為集合D中的記錄如果包含所述集合X那么也包含所述 集合Y的概率,也就是集合D中同時包含集合X和集合Y的元素數(shù)量與包含集合X的元素 數(shù)量的比值,即:
[0029] Confidence (X - Y) = P (Y/X)
[0030] 其中Confidence (X - Y)是指關聯(lián)規(guī)則的置信度,P (Y/X)是指Y關于X的條件概 率;
[0031] 如果所述關聯(lián)規(guī)則X - Y滿足:
[0032]
【權利要求】
1. 一種基于知識petri網(wǎng)的船用電站故障診斷方法,其特征在于,它包括如下步驟: 步驟1 :在現(xiàn)有的船用電站故障Petri網(wǎng)模型I:中獲取船用電站各單元的實際故障與 所對應的故障征兆的集合; 步驟2 :對上述船用電站各單元的實際故障與所對應的故障征兆的集合通過以下步驟 201?步驟205所述的改進的Apriori算法,進行強關聯(lián)規(guī)則挖掘,即將船用電站各單元的 故障征兆和實際故障間的強關聯(lián)規(guī)則挖掘出來; 步驟201 :設船用電站各單元的實際故障與所對應的故障征兆的集合為I=U1, ",… ,in},設船用電站故障Petri網(wǎng)模型I:中所有實際故障集合為If,設船用電站故障Petri網(wǎng) 模型I:中所有實際故障的故障征兆集合為In,且有/#n/F=0、I=iN+iF,然后按照故障 征兆不同的類型,將上述故障征兆集合In分為若干項故障征兆子集的組合,即設故障征兆 類型共有m類,則有:
其中,h和Im指的是In中的第j及第1類故障征兆子集,m為故障征兆類型的數(shù)目, 也就是故障征兆子集的數(shù)目; 另外,設從船用電站故障Petri網(wǎng)模型I:中獲取的船用電站各單元的實際故障與所對 應的故障征兆的所有對應記錄為集合D,這些實際故障和故障征兆稱為集合D的項,集合D 內(nèi)的每一個兀素R都是一條故障征兆與實際故障的對應記錄,兀素R是一個同時包含若干 個故障征兆和一個對應的實際故障的集合,并且這些若干個故障征兆是分別屬于不同類的 故障征兆子集的;上述船用電站各單元的實際故障與所對應的故障征兆的集合I為所述集 合D的所有項的集合,集合D內(nèi)的每一個元素R都是集合D的一個項集; 對于集合D中的元素R而言,由R中的若干元素組成的項集稱為R的子項集,這些子項 集也是D的項集;對于屬于集合D的任意一個項集V有: V {ie? if,? ? ? ?,ig? ih-^ (ie,if,? ? ? ?,ig ^ In,ih ^ If) 如果屬于集合D的任意一個項集V有k個元素,那么稱項集V為k項集(k>I);規(guī)定 項集V必須滿足的條件為:項集V的前k-1個元素Uif,. . . .,ig分別屬于k-1個不同類的 故障征兆子集,第k個元素ih是一個實際故障; 項集V在集合D中的支持度是指項集V在集合D中出現(xiàn)的概率,即集合D中的元素包含 項集V的概率,也就是說集合D中包含項集V的元素數(shù)量與集合D的元素數(shù)量的比值,即: Support(V) =P(V) 其中,Support(V)為項集V的支持度,P(V)為項集V在集合D中出現(xiàn)的概率,如果項集V滿足: Support(V) ^min_sup 其中min_sup為設定的最小支持度閾值;那么項集V是一個頻繁項集,稱為頻繁k項 集; 由項集V的所有元素組成的蘊含式{ie,if,....,ig} -U1J稱為一條關聯(lián)規(guī)則,SP如 果存在項集¥的前1^-1個元素{^,、,....,18},那么也存在第1^個元素{4};顯然集合 X= 矣0)和集合F=PJU矣0)是項集V的子項集,也是集合D 的項集;關聯(lián)規(guī)則X-Y的支持度是指集合D中的記錄同時包含X和Y的概率,也就是項集V的支持度,即: Support (X - Y) = Support (V) 關聯(lián)規(guī)則X-Y的置信度為集合D中的記錄如果包含所述集合X那么也包含所述集合Y的概率,也就是集合D中同時包含集合X和集合Y的元素數(shù)量與包含集合X的元素數(shù)量的 比值,即: Confidence (X - Y) = P (Y/X) 其中Confidence (X-Y)是指關聯(lián)規(guī)則的置信度,P (Y/X)是指Y關于X的條件概率; 如果所述關聯(lián)規(guī)則X-Y滿足:
其中min_conf為設定的最小置信度閾值;那么稱關聯(lián)規(guī)則X-Y是強關聯(lián)規(guī)則; 設集合L是集合D的所有頻繁項集的集合;集合Lk是集合D的所有頻繁k項集的集合; 步驟202 :由集合D獲取集合L1的候選集合C1,其中,集合L1為頻繁1項集的集合,候 選集合C1是集合D所有頻繁1項集的集合;按照步驟201中頻繁項集的定義篩選集合C1中 的元素,即對C1中的任意一個元素r,如果滿足Support(r)彡min_sup,就把r存入L1,如 果集合L1為空集,即4=0,結束運行,否則設計數(shù)器k= 1 ; 步驟203:使用連接步獲取集合Lk+1的候選集合Ck+1,連接步是指由Lk的元素進行自連 接,自連接的規(guī)則是將集合Lk中具有相同前k-2項的元素兩兩組合,每一個組合在去除相 同項后得到一個k+1項集,如果這個k+1項集是集合D的一個k+1項集而且沒有在集合Ck+1 出現(xiàn)過,就把這個k+1項集存入集合Ck+1,集合Ck+1的元素必須都不相同并且是集合D的k+1 項集; 步驟204:使用剪枝步篩選集合Ck+1中的元素,剪枝步的規(guī)則是集合Ck+1保留的元素必 須是步驟201中所定義的頻繁項集,由集合Ck+1中的所有保留的元素組成集合Lk+1,將1^+1力口 入到集合L中,SP L = L U Lk+1 ; 步驟205 :如果集合Lk+1不是空集,即則令計數(shù)器自增1,即k=k+1, 返回步驟203繼續(xù)執(zhí)行,否則對于集合L中的每一個元素按照步驟201中關聯(lián)規(guī)則 的定義產(chǎn)生關聯(lián)規(guī)則,即對于集合L的任意一個元素V,假設V= {ia,ib,. . . .,i。,id} (ia,ib, ?…,icGIN,idGIF),那么關聯(lián)規(guī)則就是{ia,ib, ?…,ic} - {id},并使用步 驟201中的強關聯(lián)規(guī)則的定義對關聯(lián)規(guī)則{ia,ib,....,i。} - {id}進行篩選,S卩如果
那么ua,ib,....,U-ud}是一個強關 聯(lián)規(guī)則,保留該關聯(lián)規(guī)則,所有強關聯(lián)規(guī)則組成強關聯(lián)規(guī)則集合; 步驟3 :通過人機對話,用戶輸入故障征兆特征量和置信度,系統(tǒng)根據(jù)上述強關聯(lián)規(guī)則 集合使用模糊推理進行故障征兆識別以確定實際故障; 步驟4:以故障征兆識別確定的實際故障為根庫所從船用電站故障Petri網(wǎng)模型I:中 抽取出子故障Petri網(wǎng),使用故障Petri網(wǎng)正向運行和逆向推理的方法進行故障原因診斷, 并根據(jù)診斷結果給出故障原因、故障路徑圖和相應的故障維修方法。
2.根據(jù)權利要求1所述的基于知識petri網(wǎng)的船用電站故障診斷方法,其特征在于: 所述步驟4中,以故障征兆識別確定的實際故障為根庫所從船用電站故障Petri網(wǎng)模型I: 中抽取出子故障Petri網(wǎng)通過以下步驟401?步驟408,使用故障Petri網(wǎng)正向運行和逆向 推理的方法進行故障原因診斷,并根據(jù)診斷結果給出故障原因、故障路徑圖和相應的故障 維修方法; 步驟401 :船用電站故障Petri網(wǎng)模型I:是一個自下而上的分層的Petri網(wǎng),對于船 用電站故障Petri網(wǎng)模型I:中的庫Kpa,規(guī)定如果庫Kpa是葉子庫所,則庫所pa包含了對 應部件的累積故障時間函數(shù)fa(T)和失效閾值Xa;如果在T時刻,fa(T)彡Xa則表示 船用電站的部件在T時刻發(fā)生了故障,庫所Pa產(chǎn)生一個托肯; 步驟402 :以步驟3中故障征兆識別所確定的實際故障所對應的庫所Ptl為根庫所從船 用電站故障Petri網(wǎng)模型2中抽取出子故障Petri網(wǎng)Ssub作為本次診斷用的故障Petri 網(wǎng),設故障發(fā)生的時間點為 步驟403 :計算子故障Petri網(wǎng)I:sub的初始狀態(tài)標識M。,根據(jù)故障發(fā)送的時間點tQ和 葉子庫所的累積故障分布函數(shù),計算Ssub中所有葉子庫所的托肯數(shù)目,其它非葉子庫所的 托肯數(shù)為0,令計數(shù)器k= 0; 步驟404 :判斷子故障Petri網(wǎng)I:sub的當前狀態(tài)標識Mk中根庫所Ptl的托肯數(shù),如果為 1則表示故障已經(jīng)傳播到根庫所Ptl,故障原因找到,更新狀態(tài)標識Mk中所有托肯數(shù)為1的 葉子庫所的累積故障分布函數(shù),本系統(tǒng)設定如果上一次對該葉子庫所進行累積故障分布函 數(shù)更新時該葉子庫所對應的實際故障共發(fā)生了X次,那么當該實際故障總共發(fā)生次數(shù)達到 X的1. 2倍時再次對累積故障分布函數(shù)進行更新,更新方法是使用統(tǒng)計學知識人工調(diào)整,轉 到步驟407 ;如果托肯數(shù)為0則表示故障原因未找到,根據(jù)當前狀態(tài)標識Mk求點火序列Uk, 進入步驟405 ; 步驟405 :如果根據(jù)當前狀態(tài)標識求的點火序列Uk存在則計算子故障Petri網(wǎng)Ssub下 一個標識Mk+1,計算公式為現(xiàn)有的故障Petri網(wǎng)狀態(tài)方程Mm =(34+07*)?^,其中C是 關聯(lián)矩陣,運算符⑩的運算規(guī)則是:對于兩個mXn的矩陣E和矩陣F,有I=G,Gij =max(Eij,Fij) (1彡i彡m,1彡j彡n),即G中的元素是矩陣E和矩陣F中相同位置的元素中 的較大者;計數(shù)器k自增1 ;轉到步驟404繼續(xù)運行;如果根據(jù)當前狀態(tài)標識求的點火序列 Uk不存在,則需要根據(jù)可信度進行逆向推理,進入步驟406 ; 步驟406:根據(jù)可信度進行逆向推理查找故障原因,對于子故障Petri網(wǎng)Ssub中的庫 所Pb和其下一層庫所中的某個庫所P。,規(guī)定可信度wb。指的是庫所Pb對應的實際故障發(fā)生 是由庫所P。對應的實際故障發(fā)生所引起的概率; 托肯數(shù)為1的葉子庫所表示對應的實際故障發(fā)生,按照步驟404中的更新方法進行累 積故障分布函數(shù)更新; 將根庫所Po的托肯數(shù)設為1,從根庫所Po開始自上向下遞歸處理子故障Petri網(wǎng)的每 一層庫所; 假設正在處理的庫所為Pd,判斷正在處理的庫所Pd的托肯數(shù)目,如果正在處理的庫所Pd的托肯數(shù)目為〇表示對應故障沒有發(fā)生,正在處理的庫所Pd處理完畢;如果正在處理的 庫所Pd的托肯數(shù)目為1則表示對應實際故障發(fā)生,如果Pd是葉子庫所則按照步驟404中的 更新方法進行累積故障分布函數(shù)更新;如果不是葉子庫所則判斷正在處理的庫所Pd與正在 處理的庫所Pd下一層庫所集合Zd之間的變遷t的類型; 如果t是與變遷,那么集合Zd中托肯數(shù)目為1的庫所表示故障已經(jīng)傳遞到該庫所,無 需對其進行遞歸處理;將為O的庫所的托肯數(shù)目設為1 ; 如果t是或變遷,則找出集合Zd中可信度最高值對應的庫所Pq,將其托肯數(shù)目設為1, 將正在處理的庫所Pd到可信度最高值對應的庫所Ptl的可信度值Wdq加0. 1,即wdq =wd(1+0. 1, 對集合Zd中所有庫所的可信度歸一化處理,設集合Zd有n個庫所,則歸一化公式為:
其中Wtu是原始的可信度值,w'M是歸一化后新的可信度值,w' dq是歸一化后正在處 n? 1 理的庫所Pd到可信度最高值對應的庫所Ptl的可信度值,I是除了w'dq之外的n-l / 項新可信度值的和; 正在處理的庫所Pd處理完畢,如果正在處理的庫所Pd不是葉子庫所,那么判斷正在處 理的庫所Pd與其下一層庫所集合Zd之間的變遷t的類型,如果該變遷t是與變遷,就對集 合Zd中原來托肯值為0的庫所按照正在處理的庫所Pd的處理方式進行遞歸處理;如果變遷 t是或變遷,就把集合Zd中原來可信度最高值對應的庫所Pq按照正在處理的庫所Pd的處理 方式進行遞歸處理; 對子故障Petri網(wǎng)Ssub的所有庫所遞歸處理完畢后,逆向推理結束; 步驟407 :故障原因已經(jīng)找到,進行主要故障原因和次要故障原因判斷,根據(jù)子故障Petri網(wǎng)Ssub當前標識Mk從根庫所開始自上而下遞歸拆分Petri網(wǎng),假設正在處理的庫所 為Pd,判斷正在處理的庫所Pd的托肯數(shù)目,如果正在處理的庫所Pd的托肯數(shù)目為〇表示對 應故障沒有發(fā)生,移除以正在處理的庫所Pd為根庫所的子故障Petri網(wǎng);如果正在處理的 庫所Pd的托肯數(shù)目為1表示故障發(fā)生,判斷正在處理的庫所Pd是否為葉子庫所,如果不是, 則按照正在處理的庫所Pd的處理方法依次遞歸處理正在處理的庫所Pd的下一層庫所集合 中的所有庫所,正在處理的庫所Pd處理結束; 子故障Petri網(wǎng)Ssub所有庫所均處理完畢后,遞歸拆分Petri網(wǎng)完成,子故障Petri網(wǎng)Ssub被拆分后的剩余部分結構就是本次故障的故障傳播路徑,剩余部分結構中的庫所如果 在子故障Petri網(wǎng)Ssub中是葉子庫所,那它就是本次故障的主要故障原因,被移除部分中 的托肯數(shù)目為1的庫所如果在子故障Petri網(wǎng)Ssub中是葉子庫所,那它就是本次故障的次 要故障原因; 步驟408 :根據(jù)診斷結果給出故障路徑傳播圖、主要故障原因、次要故障原因和故障維 修專家指南,本次故障診斷結束。
【文檔編號】G01R31/08GK104268375SQ201410457480
【公開日】2015年1月7日 申請日期:2014年9月10日 優(yōu)先權日:2014年9月10日
【發(fā)明者】馬良荔, 王燕平, 孫煜飛, 蘇凱, 覃基偉 申請人:中國人民解放軍海軍工程大學