廖小燕,陸寧云
(南京航空航天大學(xué) 自動(dòng)化學(xué)院,南京 211106)
測(cè)試性是指產(chǎn)品能夠及時(shí)準(zhǔn)確地確定其狀態(tài)(可工作、不可工作或性能下降),且對(duì)內(nèi)部故障進(jìn)行有效隔離的一種設(shè)計(jì)特性[1-2]。在測(cè)試性設(shè)計(jì)中,診斷策略優(yōu)化設(shè)計(jì)是極其重要的內(nèi)容之一[3]。診斷策略是結(jié)合目標(biāo)、約束以及其他相關(guān)因素整體優(yōu)化來準(zhǔn)確對(duì)系統(tǒng)故障診斷的一種方法[4]。相比于傳統(tǒng)的故障診斷方法,其側(cè)重以故障診斷為目的的測(cè)試內(nèi)容選取和調(diào)度問題,用以提升裝備故障診斷的能力、提高診斷效率,進(jìn)而提高裝備使用度、降低裝備整個(gè)壽命周期的費(fèi)用[5-6]。
隨著高新裝備的發(fā)展,給裝備的測(cè)試性設(shè)計(jì)和故障檢測(cè)與診斷帶來了很多問題[7-9]。故障診斷策略優(yōu)化設(shè)計(jì)的主旨是以最小的測(cè)試代價(jià)生成最優(yōu)的測(cè)試序列為目標(biāo)的一種測(cè)試優(yōu)化方法,其對(duì)于提高設(shè)備或系統(tǒng)的壽命、增強(qiáng)維修性能等都具有重要的意義[10-11]。傳統(tǒng)的故障診斷策略設(shè)計(jì)方法屬于靜態(tài)的診斷方法,難以在復(fù)雜的裝備系統(tǒng)中得到應(yīng)用。主要問題表現(xiàn)于:維修人員只能按照固定測(cè)試步驟來開展故障診斷[12-13],而沒有考慮在設(shè)備工作的現(xiàn)場(chǎng)條件約束,如缺少現(xiàn)場(chǎng)測(cè)試資源導(dǎo)致某些測(cè)試不能使用的情況;或者某測(cè)試因?yàn)槠錅y(cè)試過程很簡(jiǎn)單導(dǎo)致其結(jié)果是直接可觀測(cè),用戶主動(dòng)選擇該測(cè)試;亦或是某兩個(gè)或者某幾個(gè)測(cè)試之間存在相互約束的關(guān)系,即某個(gè)測(cè)試必須在另一個(gè)測(cè)試執(zhí)行之后才能執(zhí)行。本文主要考慮上述的現(xiàn)場(chǎng)復(fù)雜工況的條件約束下,提出了一種動(dòng)態(tài)的故障診斷策略生成方法,該方法是以不可靠測(cè)試下的準(zhǔn)深度優(yōu)先搜索(Quasi-Depth First Search, QDFS)算法的故障診斷策略為基礎(chǔ),根據(jù)現(xiàn)場(chǎng)約束條件而確定下一步測(cè)試選擇,最終生成完整的動(dòng)態(tài)故障診斷策略。
診斷策略是具有一定順序的測(cè)試序列。當(dāng)考慮到測(cè)試不確定性問題中出現(xiàn)的虛警、漏檢的現(xiàn)象時(shí),為系統(tǒng)故障診斷生成測(cè)試序列的問題包括以下部分:
1)有限的系統(tǒng)狀態(tài)集合S={s1,s2,…,sm,sm+1},其中m為系統(tǒng)的狀態(tài)總數(shù),sm+1表示系統(tǒng)的無故障狀態(tài)。
2)與系統(tǒng)狀態(tài)集合S對(duì)應(yīng)的狀態(tài)先驗(yàn)概率集合P={p1,p2,…,pm,pm+1}。
3)有限的系統(tǒng)可用測(cè)試集合T={t1,t2,…,tn},其中n為可用測(cè)試的總數(shù)。
測(cè)試的代價(jià)集合C={c1,c2,…,cn}。
4)PT=[pdij,pfij]代表測(cè)試的不確定性,其中,pdij=P{O(tj)=1|fi=1},pfij=P{O(tj)=1|fi=0}分別表示測(cè)試的檢測(cè)率和虛警率。
5)系統(tǒng)的故障與測(cè)試相關(guān)性矩陣D=[dij],其中dij=0表示系統(tǒng)狀態(tài)si可以被測(cè)試tj檢測(cè)到,反之,dij=1則表示系統(tǒng)狀態(tài)si不能被測(cè)試tj檢測(cè)到。
通過特定的算法,根據(jù)系統(tǒng)的相關(guān)性矩陣得到一組測(cè)試序列,以檢測(cè)并隔離系統(tǒng)的各個(gè)故障狀態(tài),同時(shí)盡量減少預(yù)期的測(cè)試成本。估算測(cè)試費(fèi)用的計(jì)算公式如下:
(1)
式中,Pi表示隔離系統(tǒng)狀態(tài)si的測(cè)試序列,|Pi|表示這個(gè)序列中的測(cè)試數(shù)目。
在實(shí)際維修過程中,現(xiàn)場(chǎng)可能出現(xiàn)某些測(cè)試不可用,用戶需要主動(dòng)執(zhí)行某些測(cè)試,某些測(cè)試間存在順序相關(guān)性等問題。本文充分考慮了這些現(xiàn)場(chǎng)約束條件,根據(jù)約束條件得到一個(gè)臨時(shí)D矩陣,然后通過該矩陣,結(jié)合改進(jìn)的準(zhǔn)深度優(yōu)先搜索算法計(jì)算得到當(dāng)前被選測(cè)試,使得最終的診斷策略具有較高的實(shí)用性。
1)測(cè)試tj現(xiàn)場(chǎng)不可測(cè)的情況:
在現(xiàn)場(chǎng)工作環(huán)境中,也許會(huì)發(fā)生某些測(cè)試所對(duì)應(yīng)的傳感器短缺或故障等情況,從而導(dǎo)致需要的測(cè)試無法執(zhí)行,使所需測(cè)試tj變得不可測(cè)。
2)用戶主動(dòng)選擇測(cè)試tj的情況:
在現(xiàn)場(chǎng)工作環(huán)境中,維修人員也許會(huì)因?yàn)楝F(xiàn)場(chǎng)約束條件而主動(dòng)選取測(cè)試tj,比如某些測(cè)試的結(jié)果直接表現(xiàn)出故障現(xiàn)象。
3)測(cè)試ti與tj存在順序相關(guān)性:
在復(fù)雜的系統(tǒng)或者工況下,有些測(cè)試之間存在相互影響的情況,即存在某測(cè)試必須在另一測(cè)試執(zhí)行之后方可用。
為了描述上述存在的各種現(xiàn)場(chǎng)約束條件,給出以下幾個(gè)定義。
1)測(cè)試狀態(tài)集St:
測(cè)試狀態(tài)集St用來描述測(cè)試的可用或不可用的狀態(tài):
St={St1,St2,…,Stn}
(2)
其中:stj=0,1。當(dāng)stj=0時(shí)表示測(cè)試tj的狀態(tài)為測(cè)試不可用,stj=1時(shí)表示測(cè)試tj的狀態(tài)為可用。
根據(jù)第2節(jié)中的約束條件一,可以知道當(dāng)測(cè)試tj不可用時(shí),St={1,1,…,0,…1,1};
2)測(cè)試-測(cè)試相關(guān)性矩陣:
為了描述測(cè)試與測(cè)試之間的順序相關(guān)性,引出一種測(cè)試-測(cè)試相關(guān)性矩陣:
(3)
其中:ttij=0,1.當(dāng)ttij=0時(shí)表示測(cè)試ti與tj之間不存在測(cè)試順序相關(guān)性,當(dāng)ttij=1時(shí)表示測(cè)試ti必須在測(cè)試tj之前執(zhí)行,也就是說,如果需要執(zhí)行測(cè)試tj,那么必須先檢查測(cè)試ti的執(zhí)行情況。
如果在某案例中,已經(jīng)給定t1與t2存在順序相關(guān)性,則tt12=1。那么當(dāng)t1還未執(zhí)行時(shí),St2=0;當(dāng)t1執(zhí)行過后,St2=1。即
St2=(1-St1)·tt12
(4)
3)臨時(shí)D矩陣:
每需要選取下一步測(cè)試時(shí),都需要獲得當(dāng)前條件下的臨時(shí)D矩陣。
對(duì)于約束條件一,某測(cè)試tj不可用,即stj=0,則臨時(shí)D矩陣則是在上一步的D矩陣下刪除不能用測(cè)試tj;
對(duì)于約束條件二,主動(dòng)選擇某測(cè)試tj,那么根據(jù)該測(cè)試的結(jié)果獲得臨時(shí)D矩陣,如果tj測(cè)試結(jié)果為通過,則選取原D矩陣中測(cè)試tj所在列對(duì)應(yīng)的元素為0的所有的行為臨時(shí)D矩陣的行,原D矩陣的列中刪除tj的列為臨時(shí)D矩陣的列。
對(duì)于約束條件三,測(cè)試ti與測(cè)試tj存在測(cè)試順序相關(guān)性,則根據(jù)測(cè)試狀態(tài)集確定下一步的待選的所有測(cè)試可用或不可用狀態(tài),然后取原D矩陣中對(duì)應(yīng)的St中為1的測(cè)試和需要隔離的故障狀態(tài)組成臨時(shí)D矩陣。
準(zhǔn)深度優(yōu)先搜索算法是基于信息熵算法的單步向前回溯算法。該方法的基本思想是:使用信息熵算法分別構(gòu)造一個(gè)以每個(gè)候選測(cè)試為頂點(diǎn)的臨時(shí)診斷樹,然后使用啟發(fā)式函數(shù)k*計(jì)算并比較這些臨時(shí)診斷樹以獲得最佳診斷樹,而診斷樹的第一個(gè)測(cè)試是當(dāng)前的最佳測(cè)試。
1)初始化:
令系統(tǒng)的初始狀態(tài)x為系統(tǒng)的所以狀態(tài)集合S,初始測(cè)試集合t為系統(tǒng)所有的可用測(cè)試集合T。
2)信息量計(jì)算:
測(cè)試集合t中的每一個(gè)測(cè)試tj將狀態(tài)集合x分為k個(gè)子集,計(jì)算每個(gè)子集的概率為:
(5)
更新每個(gè)故障子集的概率:
(6)
利用信息熵算法計(jì)算每個(gè)故障子集的最優(yōu)故障診斷策略,并且以測(cè)試tj作為第一個(gè)測(cè)試生成臨時(shí)故障診斷樹Dj。
利用下面的啟發(fā)式函數(shù)k*計(jì)算每個(gè)臨時(shí)診斷樹Dj的單位信息量:
(7)
式(7)中,IG(x;Dj)表示臨時(shí)故障診斷樹Dj的信息量,COST(x;Dj)表示臨時(shí)故障診斷樹的平均測(cè)試代價(jià),Pr(tj)表示測(cè)試tj的故障檢測(cè)能力,R(tj)表示測(cè)試tj的可靠度。
(8)
(9)
(10)
(11)
3)測(cè)試選擇:
從集合t選擇單位測(cè)試代價(jià)具有信息量最大的測(cè)試:tq。
4)概率更新:
系統(tǒng)狀態(tài)集合x被測(cè)試tq劃分為2個(gè)集合,分別為xq0,xq1,更新每個(gè)子集的的故障概率。
5)重復(fù):
令測(cè)試集合t為除去測(cè)試tq的原測(cè)試集合,令狀態(tài)集合x為原狀態(tài)集合的各個(gè)故障子集。重復(fù)第2)~4)步,直到各故障狀態(tài)子集中的元素少于或等于1,或者測(cè)試集合t中元素少于1。
在診斷策略設(shè)計(jì)過程中,首先利用TEAMS軟件工具建立系統(tǒng)的多信號(hào)模型[14-16],得到被診斷對(duì)象的D矩陣,然后在實(shí)際診斷過程中隨外部控制條件,如癥狀、資源等變化獲取所有的測(cè)試狀態(tài)集合St,并根據(jù)原D矩陣獲取下一步的臨時(shí)D矩陣,在臨時(shí)D矩陣基礎(chǔ)上利用改進(jìn)的準(zhǔn)深度搜索算法產(chǎn)生下一步最佳的測(cè)試,再根據(jù)測(cè)試執(zhí)行情況調(diào)整測(cè)試狀態(tài)集合St,生成新的臨時(shí)D矩陣,然后利用改進(jìn)的準(zhǔn)深度搜索算法,直至得出最后的診斷結(jié)論。具體步驟如下:
1)根據(jù)系統(tǒng)的結(jié)構(gòu)原理,得到系統(tǒng)故障測(cè)試相關(guān)性矩陣D,故障狀態(tài)集S,各個(gè)狀態(tài)對(duì)應(yīng)的故障先驗(yàn)率P,可用測(cè)試集T,測(cè)試對(duì)于費(fèi)用集合C,各個(gè)測(cè)試對(duì)應(yīng)的檢測(cè)率和虛警率等。
2)初始化。令系統(tǒng)初始故障狀態(tài)集合x=S,初始測(cè)試集合為t=T,初始測(cè)試狀態(tài)集合St={0,0,…,0},從現(xiàn)場(chǎng)工作條件中獲得現(xiàn)場(chǎng)存在的初始條件約束。
3)根據(jù)當(dāng)前的條件約束更改測(cè)試狀態(tài)集合St。如果有某測(cè)試不可用,則令該測(cè)試對(duì)應(yīng)的stj=0;如果前面執(zhí)行算法的過程中有某測(cè)試不可用但當(dāng)前條件使某測(cè)試可用了,則令該測(cè)試的狀態(tài)stj由0變?yōu)?;如果某些測(cè)試存在順序相關(guān)性,則后面的測(cè)試對(duì)應(yīng)的狀態(tài)stk=(1-stl)ttlk。
4)根據(jù)當(dāng)前測(cè)試狀態(tài)集合確定可用測(cè)試集t。取測(cè)試狀態(tài)集合St中的為1的元素對(duì)應(yīng)的測(cè)試為可用測(cè)試集合t。
5)根據(jù)當(dāng)前的故障狀態(tài)集合x,測(cè)試集合為t,生成臨時(shí)D矩陣,用上一節(jié)的啟發(fā)式搜索函數(shù)(式(6))選擇下一步測(cè)試tq。
6)系統(tǒng)狀態(tài)集x被測(cè)試tq分為兩個(gè)子集,更新系統(tǒng)故障率。
7)令系統(tǒng)狀態(tài)集x為6)中的子集,將已執(zhí)行的測(cè)試對(duì)應(yīng)的狀態(tài)更改為0,并從現(xiàn)場(chǎng)工況重新獲得當(dāng)前的條件約束,重復(fù)3)~6)直到St中元素全為0或者所有x中元素?cái)?shù)不超過1。
由此形成的診斷策略就是動(dòng)態(tài)診斷策略生成過程,如圖1所示。
圖1 動(dòng)態(tài)診斷策略生成過程
為了驗(yàn)證在現(xiàn)場(chǎng)約束條件下所提出的方法能生成有效的測(cè)試序列問題,使用經(jīng)典的Apollo檢測(cè)系統(tǒng)[17-19]進(jìn)行案例研究。阿波羅探測(cè)系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng),其物理結(jié)構(gòu)和測(cè)試條件比較復(fù)雜。已知Apollo檢測(cè)系統(tǒng)的故障測(cè)試相關(guān)性矩陣D和故障概率的分布如表1所示。每種測(cè)試的檢測(cè)概率,虛警概率和成本如表2所示。
表1 Apollo系統(tǒng)的故障測(cè)試相關(guān)性矩陣
表2 Apollo系統(tǒng)的測(cè)試參數(shù)
在沒有現(xiàn)場(chǎng)約束條件的情況下,根據(jù)改進(jìn)的QDFS算法生成的不可靠測(cè)試條件下的靜態(tài)故障診斷策略如圖2所示,該診斷策略的總代價(jià)為132.85。
圖2 Apollo系統(tǒng)的靜態(tài)診斷策略
接下來考慮在現(xiàn)場(chǎng)約束條件下的診斷策略。
假設(shè)在某一次檢測(cè)中發(fā)現(xiàn)測(cè)t4出現(xiàn)故障現(xiàn)象,即t4測(cè)試結(jié)果直接可觀測(cè),并且t12對(duì)應(yīng)的傳感器出現(xiàn)故障,即t12不可測(cè),并且存在現(xiàn)場(chǎng)測(cè)試的順序相關(guān)性約束,t15必須在t1的后面執(zhí)行。
根據(jù)條件約束一和二,可以得到表3所示的臨時(shí)D矩陣。如果不考慮t15和t1的順序相關(guān)性,可以獲得的診斷樹如圖3所示,從圖中可以看出,因?yàn)楝F(xiàn)場(chǎng)約束條件的影響,測(cè)試可用的選擇數(shù)變少,需要隔離的故障數(shù)目更是大幅減少,所以故障診斷樹變得很簡(jiǎn)單,且只需要三步就能隔離出全部故障。由于測(cè)試t4的結(jié)果直接觀測(cè)得到,為此省略了一些故障隔離的步驟,所以得到的該故障診斷策略的代價(jià)也比正常的靜態(tài)的故障診斷樹的代價(jià)要低,為117.82。
表3 Apollo系統(tǒng)的臨時(shí)D矩陣
圖3 案例四的動(dòng)態(tài)診斷樹(1)
上述分析并沒有考慮約束條件三的影響,從上面結(jié)果可以看出,測(cè)試t1和測(cè)試t15都有被選擇,但是t1和t15約束條件三相違背。所以在進(jìn)行第二步隔離時(shí),希望選擇t1作為該步驟的測(cè)試,但是t15還沒執(zhí)行,所以t1也不能執(zhí)行。所以此時(shí)的臨時(shí)D矩陣是沒有t1作為備用測(cè)試的。根據(jù)第三章的所提的改進(jìn)的診斷策略生成算法,這一步對(duì)于隔離s1,s6,s7,s9所選的測(cè)試為t1,而隔離s5和s10所選的測(cè)試為t6.對(duì)于s1,s6,s7,s9執(zhí)行完t15之后,被分為s1和s6,s7,s9兩個(gè)子集,接下來對(duì)s6,s7,s9進(jìn)行診斷策略生成,而這時(shí)候因?yàn)閠15已結(jié)執(zhí)行完畢,測(cè)試t1變?yōu)榭捎脺y(cè)試,接下來直接將改進(jìn)的準(zhǔn)深度搜索算法應(yīng)用到此時(shí)的臨時(shí)D矩陣即可生成最終的故障診斷策略,如圖4所示。
圖4 案例四的動(dòng)態(tài)診斷樹(2)
由圖4所示的結(jié)果可以看出,診斷策略由于約束條件的影響,變得稍微復(fù)雜了一些,但正是由于約束條件的影響,得到的診斷策略更符合現(xiàn)場(chǎng)工況,所以當(dāng)前方法更適用于現(xiàn)場(chǎng)條件約束下的動(dòng)態(tài)故障診斷策略生成。
復(fù)雜的系統(tǒng)或現(xiàn)場(chǎng)工作環(huán)境使得設(shè)備具有許多測(cè)試點(diǎn)和復(fù)雜的故障模式,除了虛警和漏檢等測(cè)試的不確定性問題,現(xiàn)場(chǎng)條件約束更是故障診斷策略生成方法中不能忽略的問題。目的是在現(xiàn)場(chǎng)復(fù)雜工況的約束條件下,設(shè)計(jì)一種不可靠測(cè)試下的診斷策略生成方法,重點(diǎn)考慮了測(cè)試不可用,主動(dòng)選擇某測(cè)試和測(cè)試之間存在順序相關(guān)性的問題。結(jié)果在Apollo案例中進(jìn)行了驗(yàn)證,結(jié)果表明,在允許的時(shí)間范圍內(nèi),當(dāng)前算法都更加符合設(shè)備現(xiàn)場(chǎng)工作環(huán)境,增加了故障診斷策略的有效性和實(shí)用性。這對(duì)于復(fù)雜系統(tǒng)和現(xiàn)場(chǎng)條件約束下的故障診斷策略設(shè)計(jì)具有重要意義。