本發(fā)明屬于故障診斷,具體涉及一種多故障場(chǎng)景下的故障定位診斷方法。
背景技術(shù):
1、基于模型的診斷(mbd)作為一種通用的方法,已經(jīng)成為硬件、軟件、網(wǎng)絡(luò)管理、編排web服務(wù)器和網(wǎng)絡(luò)配置等多種技術(shù)下故障檢測(cè)與定位的關(guān)鍵技術(shù)。該方法通過(guò)分析集成電路的模型并解釋集成電路中實(shí)際行為的觀察結(jié)果與預(yù)期行為之間的不一致來(lái)提供候選故障列表,從而識(shí)別故障組件。由于診斷算法求解出的診斷數(shù)量較多,因此需要定位系統(tǒng)中存在的故障是一件及其困難的事情。事實(shí)上,使用每一個(gè)診斷(極小基數(shù)診斷或極小子集診斷)對(duì)故障進(jìn)行排除是不可行的,尤其是在需要處理大量候選診斷的場(chǎng)景中,現(xiàn)有mbd技術(shù)在處理大規(guī)模和復(fù)雜系統(tǒng)時(shí)面臨著效率和準(zhǔn)確性的挑戰(zhàn)。
2、為解決故障診斷和定位,現(xiàn)有的技術(shù)手段通常有兩種方式。第一種方式是基于啟發(fā)式或近似方法的mbd研究,這些方法采用啟發(fā)式或近似方法來(lái)查找具有固定基數(shù)的的診斷,或根據(jù)某些偏好標(biāo)準(zhǔn)(例如故障概率或基數(shù))對(duì)診斷進(jìn)行排序。并探索如何增加獲得可能診斷和更早發(fā)現(xiàn)正確診斷的機(jī)會(huì)。但這些方法沒(méi)有充分利用足夠的觀察結(jié)果,從而導(dǎo)致故障定位不準(zhǔn)確。第二類方法是基于多觀測(cè)的mbd研究,該方法通過(guò)收集大量的故障系統(tǒng)的觀測(cè)值,并計(jì)算一個(gè)聚合診斷來(lái)解釋故障觀察與系統(tǒng)描述之間不一致的問(wèn)題。這種方法可以提高診斷的準(zhǔn)確性,但同時(shí)增加了計(jì)算診斷和多觀測(cè)值系統(tǒng)建模的成本。在多觀察的mbd研究方法中,隱式碰集二元化方法(hsd)通過(guò)收集有關(guān)故障系統(tǒng)的大量觀測(cè)值并計(jì)算聚合診斷來(lái)解釋故障觀測(cè)值與系統(tǒng)描述之間的不一致來(lái)獲得診斷,這提高了診斷準(zhǔn)確性,但反過(guò)來(lái)又增加了計(jì)算診斷和具有多個(gè)觀測(cè)值的系統(tǒng)建模的成本。除此之外,roni還提出了利用系統(tǒng)拓?fù)涞睦碚摚ㄟ^(guò)僅使用正常觀測(cè)的探針探測(cè)方法進(jìn)行診斷的框架,為查找故障組件提供了有用的部分系統(tǒng)模型,通過(guò)利用部分系統(tǒng)模型和系統(tǒng)正常時(shí)收集的觀測(cè)結(jié)果進(jìn)行診斷。
3、現(xiàn)有的故障診斷方法通常需要專家知識(shí)和經(jīng)驗(yàn)或者建立在產(chǎn)生大量測(cè)試向量的基礎(chǔ)上。雖然現(xiàn)有的mbd方法克服了上述缺點(diǎn),實(shí)現(xiàn)了基于模型的智能診斷,但是mbd方法產(chǎn)生的后選診斷解規(guī)模往往很龐大,且存在定位不準(zhǔn)確的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種多故障場(chǎng)景下的故障定位診斷方法,主要用于復(fù)雜系統(tǒng)如電路系統(tǒng)中的故障診斷和定位。該方法通過(guò)構(gòu)建系統(tǒng)的邏輯模型,利用故障模擬器模擬單故障和多故障情況下的系統(tǒng)輸出,進(jìn)而通過(guò)算法處理識(shí)別可能的故障組件。本發(fā)明的核心在于提出了一種創(chuàng)新的結(jié)合潛在故障位置識(shí)別的故障診斷方法,通過(guò)減少候選診斷組件的數(shù)量,提高故障定位的準(zhǔn)確性,降低計(jì)算診斷成本,實(shí)現(xiàn)故障診斷的高效性。通過(guò)iscas-85基準(zhǔn)測(cè)試用例的實(shí)驗(yàn)結(jié)果表明,本發(fā)明在診斷準(zhǔn)確性和效率方面均優(yōu)于現(xiàn)有技術(shù)。
2、本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案如下:
3、步驟1:故障模擬器實(shí)現(xiàn);
4、所述故障模擬器包括:(1)輸入模塊,用于接收故障模擬參數(shù);(2)邏輯處理單元,用于根據(jù)系統(tǒng)模型和故障參數(shù)生成邏輯輸出;(3)輸出生成器,用于產(chǎn)生模擬的系統(tǒng)輸出;
5、在輸入模塊中,將故障門g和有關(guān)故障系統(tǒng)的一階邏輯公式輸入;
6、在邏輯處理單元中,故障模擬器分析電路拓?fù)浣Y(jié)構(gòu)和一階邏輯公式并得到系統(tǒng)的輸出值;邏輯處理單元使用輸入模塊輸入的公式傳播故障門的邏輯值;
7、故障模擬器在獲得所有邏輯單元的故障模擬觀測(cè)后獲取電路最終輸出端的模擬觀測(cè)值;
8、步驟2:正常功能電路的模擬器實(shí)現(xiàn);
9、所述正常功能電路的模擬器包括:(1)輸入模塊,用于接收電路的形式化系統(tǒng)描述;(2)邏輯處理單元,用于根據(jù)系統(tǒng)模型和觀測(cè)生成邏輯輸出;(3)輸出生成器,用于產(chǎn)生模擬的系統(tǒng)輸出;
10、在輸入模塊中,將有關(guān)電路系統(tǒng)的一階邏輯公式輸入;
11、在邏輯處理單元中,正常功能電路的模擬器分析電路拓?fù)浣Y(jié)構(gòu)和一階邏輯公式并得到系統(tǒng)的正常輸出值,邏輯處理單元使用輸入模塊輸入的公式傳播電路中的邏輯值獲取電路的最終輸出,實(shí)現(xiàn)正常功能電路的模擬器;
12、步驟3:基于模擬器的潛在故障位置識(shí)別;
13、步驟3-1:構(gòu)建故障潛在位置識(shí)別系統(tǒng);
14、該系統(tǒng)的輸入是關(guān)于系統(tǒng)的三元組<actualouts、expectedouts、simuouts>;其中,actualouts表示利用故障模擬器實(shí)現(xiàn)的電路在故障狀態(tài)下的真實(shí)輸出觀測(cè),simuouts表示利用故障模擬器實(shí)現(xiàn)的單故障狀態(tài)下的電路的模擬輸出觀測(cè),expectedouts表示利用正常功能電路模擬器實(shí)現(xiàn)的電路的期望輸出觀測(cè);
15、步驟3-2:給定兩個(gè)具有outs1和outs2的系統(tǒng)輸出向量,如果outs1和outs2存在邏輯值相反的輸出,則定義outs1和outs2之間存在沖突位置,記為cl<1,2>;用cl<a,s>、cl<a,e>和cl<e,s>分別表示actualouts和simuouts之間的沖突位置、actualouts和expectedouts之間的沖突位置、expectedouts和simuouts之間的沖突位置;
16、將outs1和outs2之間的沖突向量,記為cv<1,2>,cv<1,2>是由所有cl<1,2>組成的集合;
17、步驟3-3:和沖突位置相關(guān)的沖突源表示為一組組件的子集,假設(shè)該組件的子集中的組件出現(xiàn)故障會(huì)導(dǎo)致cl<a,e>,則沖突位置cl<a,e>的沖突源,表示為cscl<a,e>;
18、步驟3-4:故障潛在位置識(shí)別系統(tǒng)識(shí)別基于模擬的單故障場(chǎng)景,如果模擬觀測(cè)值simuouts與實(shí)際觀測(cè)值actualouts不一致,則模擬的單一故障不被視為故障位置;
19、步驟4:結(jié)合潛在故障位置識(shí)別的故障診斷;
20、步驟4-1:構(gòu)建結(jié)合潛在故障位置識(shí)別的故障診斷系統(tǒng);
21、對(duì)于給定的多故障模擬場(chǎng)景,如果模擬觀察simuouts與預(yù)期觀察expectedouts不一致,則診斷計(jì)算沖突位置cl<e,s>以及所有沖突位置的沖突源,并且每個(gè)cscl<e,s>不被視為故障位置;隨后,診斷推斷出故障發(fā)生的位置和范圍;
22、步驟4-2:定義δ表示最終診斷結(jié)果,δ*表示無(wú)故障組件集,sd表示系統(tǒng)描述,參數(shù)m表示故障狀態(tài)以及故障系統(tǒng)是否出現(xiàn)多種故障;
23、步驟4-3:診斷器通過(guò)檢查actualouts和expectedouts之間的一致性來(lái)生成不一致的觀測(cè)結(jié)果;如果返回的觀測(cè)結(jié)果與提供的系統(tǒng)描述一致,則診斷器返回新的觀測(cè)結(jié)果;否則,診斷器將計(jì)算expectedouts和actualouts之間的沖突向量;
24、步驟4-4:利用兩種模擬器模擬多故障系統(tǒng),如果模擬觀測(cè)值simuouts與針對(duì)系統(tǒng)輸出的預(yù)期觀測(cè)值expectedouts不一致,則o為simuouts和actualouts的沖突位置,而模擬的故障邏輯單元為o的沖突源;如果o不是expectedouts和actualouts之間的沖突位置,則模擬的故障邏輯單元將被添加到非故障組件集中。
25、優(yōu)選地,所述基于模擬器的潛在故障位置識(shí)別的過(guò)程如下:
26、首先通過(guò)生成基于當(dāng)前系統(tǒng)狀態(tài)的觀測(cè)結(jié)果,然后比較實(shí)際輸出和預(yù)期輸出是否與系統(tǒng)描述一致;
27、如果發(fā)現(xiàn)不一致性,計(jì)算并識(shí)別組件間的沖突向量,確定哪些組件可能引起這些差異;
28、接下來(lái)通過(guò)循環(huán)模擬系統(tǒng)中每個(gè)組件的單故障情況;
29、在循環(huán)過(guò)程中,不斷更新故障和非故障組件的候選集合。
30、優(yōu)選地,所述結(jié)合潛在故障位置識(shí)別的故障診斷過(guò)程如下:
31、首先通過(guò)生成基于當(dāng)前系統(tǒng)狀態(tài)的觀測(cè)結(jié)果,然后比較實(shí)際輸出和預(yù)期輸出是否與系統(tǒng)描述一致;
32、如果發(fā)現(xiàn)不一致性,計(jì)算并識(shí)別組件間的沖突向量,確定哪些組件可能引起這些差異;
33、接下來(lái)通過(guò)循環(huán)模擬系統(tǒng)中每個(gè)組件的多故障情況;
34、在循環(huán)過(guò)程中,算法不斷更新故障和非故障組件的候選集合;
35、結(jié)合步驟3得到的潛在故障位置,診斷器通過(guò)排除法排除非故障組件集合中的組件,確定最終的故障組件集合。
36、本發(fā)明的有益效果如下:
37、本發(fā)明給出了多故障場(chǎng)景下的故障定位方法,提高了故障診斷的準(zhǔn)確性,尤其是在多故障情況下,優(yōu)化了診斷過(guò)程,減少了計(jì)算量,提高了診斷效率。具體來(lái)說(shuō),對(duì)于幾乎所有故障電路,隨著系統(tǒng)中的故障數(shù)量增加,故障定位的難度成指數(shù)級(jí)加大。在iscas-85實(shí)例上的結(jié)果表明,本發(fā)明提出的故障診斷方法可以解決幾乎所有電路系統(tǒng)的實(shí)例。對(duì)于單故障、雙故障和三故障系統(tǒng),該故障診斷方法均優(yōu)于傳統(tǒng)mbd方法。