周 虎 盧 波 劉清竹
1.北京航天自動控制研究所,北京100854 2.宇航智能控制技術重點實驗室, 北京100854
導彈武器控制系統通常通過采用高性能軟硬件產品、設計合理的冗余與容錯方案等手段來保障系統整體可靠性。但作為一項復雜的系統工程,受元器件性能、環境條件以及其他未識別因素的影響,客觀上導彈武器控制系統依然會不可避免地出現工作異常的情況,影響裝備實戰化能力。因此,必須對導彈武器控制系統工作狀態進行測試監控,并及時響應和處理工作過程中可能出現的各類異常現象,即控制系統的故障診斷技術。
控制系統故障診斷技術特別是快速故障診斷能夠通過合理的測試流程,迅速獲得系統完整、準確的狀態信息,及時給出系統狀態良好、發射準備就緒的結論;當系統存在隱患時,能夠實現對故障的快速定位,因而對于導彈武器控制系統有著十分明顯的意義:在導彈武器發射準備階段,基于故障診斷技術能夠將控制系統故障快速定位于現場可更換單元,通過現場對故障產品進行及時更換或者維修處置,保證導彈武器發射可靠性,縮短發射準備時間[1],客觀上提高了導彈武器射前的生存能力;在真實飛行階段,通過故障診斷技術快速識別并定位故障,能夠在有限的處置時間內利用系統冗余設計、重構軟硬件等技術方案實施故障屏蔽,保障導彈武器飛行可靠并命中目標。
與之不相適應的是,盡管導彈武器控制系統測試覆蓋性通常可以滿足預定技術指標,但控制系統規模龐大,功能復雜,測試與故障定位僅基于預設串行固定流程,缺乏故障診斷流程優化理論指導,導致測試與排查故障的過程比較緩慢,耗費了大量人力物力資源和時間成本,難以滿足系統測試發射控制時間約束和對維修性、保障性的要求[2]。
針對上述問題,提出的基于測試信息熵的最優故障診斷路徑規劃方法能夠在對導彈武器控制系統進行測試性分析的基礎上,有效利用控制系統歷史故障統計數據和測試先驗信息,動態計算故障診斷最短測試路徑,大幅度提升控制系統故障隔離效率。
對控制系統進行全面的FMEA分析是測試性建模的前提和基礎。其目的在于通過跟蹤故障傳播關系,評估其對系統性能的影響。若以有向圖方式定義故障在設備間的傳播路徑,并增加對故障與系統測試間依賴關系的描述,即構成基于多信號模型[3]的測試性建模方法。
如圖1所示,多信號模型包含3類基本元素:模塊節點、測試節點和有向邊。其中模塊節點S1~S5是對一系列具備特定功能的硬件集合的抽象,模塊節點可能包含一個或者多個具體故障。測試節點TP1~TP5是系統對硬件集合實施測試的物理或者邏輯位置,一個測試節點包括一個或者多個具體測試。有向邊則反映了故障在不同模塊節點間的傳播關系,以及特定測試節點的測試覆蓋范圍。為充分描述硬件集合底層故障模式與傳遞路徑,任一組硬件集合本身還可以表達為若干子模塊節點、子測試節點以及有向邊的組合,即所謂的分層建模方式[4]。

圖1 基于多信號的測試性模型示意圖
為討論方便,設圖1中模塊節點S1~S5分別只包含一個可能的故障,測試節點TP1~TP5分別也只包含一項具體測試,并令對應的故障集、測試集分別為F={f1,f2,f3,f4,f5},T={t1,t2,t3,t4,t5}。通過分析控制系統設計原理圖,易獲得特定測試可直接覆蓋的模塊節點故障集合,如t4能夠直接測試故障f2和f5是否發生,但不能確認故障f1,f3和f4的發生情況;而可能故障f1則可由t2和t5直接進行測試確認,但不能由測試t1,t3和t4確認。將故障集F與測試集T的這類相關關系表達為依賴矩陣形式D0=[dij]m×n,i=1…m,j=1…n,m和n分別為故障與測試數量。其中:
(1)
由上式可得圖1對應的依賴矩陣滿足:
(2)
根據FMEA分析結論,除影響自身所在模塊節點功能外,故障還可能擴散至與之相鄰的其他模塊節點。同理,測試結果也間接反映了與之存在有向邊連接關系而非就近布置的其他模塊節點故障情況。因此,為完整地表達故障與測試間的依賴關系,還需要考慮故障與測試間的這種間接相關情況。
根據有向圖建模結果,定義故障直接傳播矩陣DA0=[alk]m×m,l,k=1,…,m,其中:
(3)
以及n維單位矩陣I,構造擴展矩陣K0:
(4)
基于圖論原理[5],通過Warshall算法[6]求解擴展矩陣K0的傳遞閉包K:
(5)
則子矩陣D即為反映了直接與間接依賴關系的故障-測試全階相關矩陣。式中,DA0和X分別為求解過程中相應的伴隨矩陣。由式(2)~(6)可得圖1對應的全階相關矩陣D如式(6)所示,矩陣行與測試對應,列與故障對應。

(6)
式(6)為0-1二值矩陣,矩陣中測試對應行元素反映了該測試對于系統中各可能故障模式的覆蓋情況,列值為1表示測試能夠覆蓋該列代表的測試,列值為0表示測試不能覆蓋該列代表的測試。
考慮到導彈武器高可靠性設計特性,控制系統通常在無故障模式下運行,為完整地描述系統工作狀態,將無故障模式視為一類虛擬的故障狀態,引入擴展全階相關矩陣D*:
(7)
式中,矩陣D*中1行n列的向量0對應控制系統無故障運行狀態與各測試間的相關關系。由于控制系統設置測試是基于檢測某類故障模式的目的,因此可以抽象地認為,各測試均不能“檢測”無故障狀態,故向量0的各列元素均取0值。則測試tj能夠檢測覆蓋的系統故障模式計數滿足:
(8)
測試tj不能夠檢測覆蓋的系統故障模式計數滿足:
(9)

(10)
可使得各運行狀態發生概率和為1。

(11)
將任意測試視為信息源,則測試對應的事件即輸出值僅包含2類:該測試能夠檢測覆蓋的和不能檢測覆蓋的故障。慮及故障狀態發生概率,測試對應的信息熵為:

(12)

Hj=-xjlog2xj-(1-xj)log2(1-xj) (13)
控制系統應優先選擇能夠提供盡可能多信息的測試,即對于測試集T={t1,t2,…,tn},tj被首先用于故障診斷的條件為其對應的信息熵Hj理論上應滿足以下約束條件:
Hj=max{H1,H2,…,Hn}
(14)
即有:

(15)
求解上式可得唯一極值點:
(16)
考慮到約束條件0 (17) 即Hj為定義域(0,1)內的凸函數,同時由式(13)可知,Hj為以xj=0.5為對稱軸的對稱函數。以上分析表明,若安排測試能夠使得其能夠檢測和不能檢測的故障模式發生概率盡可能相等,則該測試應為優先選擇的測試項目。 首先對所有測試的信息熵進行評估,并將信息熵最大的測試作為首選測試項。根據該測試是否能夠檢測覆蓋指定故障模式,將初始故障集分為2類子故障集。對子故障集繼續應用測試信息熵評估方法,不斷迭代優選,直至形成可用于故障定位的完整測試鏈。故障診斷測試路徑規劃具體執行過程如下所述: 1)定義控制系統擴展故障集F*={f0,f1,f2,…,fn},其中F={f1,f2,…,fn}為控制系統可能故障集,f0表示系統無故障狀態。將F*作為待診斷的控制系統頂層可能運行狀態集合Q; 2)以運行狀態集合Q作為對象開展分析:枚舉所有測試,對其測試信息熵Hj進行評估,搜索其中熵值最大的測試tk,即{tk|Hk=max(Hj)},并選擇tk作為故障診斷頂層測試; 3)應用測試tk后,根據是否能夠檢測相應故障模式,原有運行狀態集合Q被隔離為兩類運行狀態子集Q0與Q1。其中 (18) 令集合Q0與Q1中元素計數分別為m0和m1,則相應地,擴展全階相關矩陣D*被分割為m0行n列和m1行n列的2個子矩陣D0與D1,其中m=m0+m1; 4)以運行狀態子集Q0作為對象開展分析,判斷m0值:若m0=1,表示控制系統故障被精確隔離;子集Q0已完成故障診斷,則轉至步驟(6),否則若m0>1,則需要對子集Q0作進一步診斷,轉至步驟5); 5)對子集Q0作進一步診斷和隔離:枚舉所有測試,對其測試信息熵進行評估,搜索其中熵值最大的測試tk0,即{tk0|Hk0=max(Hj)},并選擇tk0作為當前優選測試,將子集Q0再次分割為Q00和Q01兩個更小的子集,其中j=0,1,…,m0。重新令Q0=Q00,Q1=Q01,重復步驟4); 6)以運行狀態子集Q1作為對象開展分析,判斷m1值:若m1=0,表示由于缺乏更多的系統測試信息,控制系統只能被隔離至當前得到最小故障模糊組;若m1=1,表示控制系統故障被精確隔離;出現上述兩類情況,說明子集Q1已完成故障診斷,則返回上一層運行狀態集合繼續診斷,否則若m0>1,則需要對子集Q1作進一步診斷,轉至步驟7); 7)對子集Q1作進一步診斷和隔離:枚舉所有測試,對其測試信息熵Hj進行評估,搜索其中熵值最大的測試tk1,即{tk1|Hk1=max(Hj)},并選擇tk1作為當前優選測試,將子集Q1再次分割為Q10和Q11兩個更小的子集,其中j=0,1,…,m1。重新令Q0=Q10,Q1=Q11,重復步驟4); 8)基于信息熵最大的原則,不斷重復步驟4)~7)描述的測試選擇過程,直至能夠將全部控制系統故障精確隔離或者隔離至最小模糊組。 由以上執行步驟可知,故障診斷測試路徑規劃實質上是將測試與系統故障間包含權值的相關性作為判據,構造完整故障隔離二叉樹的過程,而當二叉樹各左右分支對應權重相等或者接近時,代表著最優故障診斷路徑規劃。 設確定路徑規劃方案后,擴展故障集F*中元素fi經li次二分操作可被精確隔離或者隔離至最小模糊組,其中i=0,1,…,m。可定義故障診斷平均加權路徑: (19) 采用文獻[8]中的例子,為討論方便起見,仍做如下規定:各物理或者邏輯功能單元S1~S15僅存在一類可能的故障,各測試點TP1~TP16僅包含一項測試。即某控制系統測試集為T={t1,…,t16},擴展故障集為F*={f0,f1,…,f15},對應的歸一化運行概率為τ*={τ0,τ1,…,τ15}。采用有向圖方式對該系統進行測試性建模如圖2所示,對應的擴展全階相關矩陣如式(20)所示。 (20) 圖2 仿真系統測試性建模示意圖 考慮如下3類情況:1)依據新技術、新方法全新設計控制系統且無相關功能單元故障經驗數據,未經調試和試驗驗證,系統故障率較高;2)全新設計控制系統,但經過試驗驗證,系統故障率較低;3)繼承性設計控制系統,有相關功能單元故障率統計數據,系統未經調試和試驗驗證,系統故障率高。 對于第1)、2)類情況,當無先驗知識,無法確定各功能單元故障率時,可對故障率做平均分配,即: (21) 若(1)、(2)情況系統無故障運行概率分別為τ0=0.25和0.7,由式(20)可知,最終計算得到的各功能單元歸一化擴展故障率分別為0.05與0.02;對于情況(3),設τ*={0.01,0.1,0.05,0.06,0.12,0.05,0.08,0.05,0.09,0.13,0.05,0.1,0.02,0.03,0.04,0.02},若各測試項間均需串行執行,則基于信息熵的故障診斷路徑規劃結果以二叉樹方式表示分別,如圖3~5所示。 圖3 故障診斷路徑規劃仿真結果1 圖4 故障診斷路徑規劃仿真結果2 圖5 故障診斷路徑規劃仿真結果3 圖中大矩形表示系統可能運行狀態,小矩形內數字表示相應的運行概率,圓形表示對應選擇的測試。 1)擴展故障集F*共包含m個元素,則理論上經過m-1次二分操作即可將全部系統運行狀態精確隔離,即該方法實質上規定了故障診斷路徑規劃所需測試集元素數量的上限值。 圖2對應的擴展故障集F*包含16個元素,狀態精確隔離需要16-1=15次操作,而可用于路徑規劃的測試集為T中元素個數為16>15,故測試項目設置一定存在冗余。由圖3和5亦可看出,僅應用了t1~t15進行故障診斷,t16為冗余測試; 2)故障診斷路徑規劃不同步驟中二分操作可由同一測試實施完成,即全部系統運行狀態精確隔離所需的測試項目可進一步壓縮。由圖4可以看出,15次二分操作過程中,測試t2使用了2次,而t3和t16均為冗余測試。 可以進一步證明[9],若可以自由指定全階相關矩陣D中元素的值,則全部系統運行狀態精確隔離所需的測試數量n0滿足: n0=log2m (22) 上式中m為擴展故障集F*中包含的元素個數。即該方法同時在理論上規定了故障診斷路徑規劃所需測試集元素數量的下限值。但受具體電路設計方案限制,很難指定任意測試與任意可能故障間的相關性,故實際工程應用中,故障診斷路徑規劃通常都比n0大; 3)通過對比圖3~5可知,當電氣系統運行可靠性較高時,應優先選擇能夠判斷系統整體有無故障的測試項目,如圖4中的t15,而電氣系統自身運行故障率較高時,則首先對可能發生的故障模式進行隔離,這與電氣系統故障隔離流程設計的直觀認知一致; 圖6 順序測試診斷路徑 4)在3種情況下,分別計算系統故障診斷平均加權路徑。并與不采用路徑規劃方法,順序使用測試t1~t15的診斷方案得到的值進行對比,其中順序測試診斷路徑如圖6所示,計算結果如表1所示。 表1 3類規劃平均加權路徑L值 由表1可知,采用本方法進行路徑規劃后,與順序測試相比,平均加權路徑長度明顯被壓縮,從而證明了方法的有效性。 針對導彈武器對實戰化要求不斷提升這一客觀背景,控制系統故障診斷技術也逐步從單純追求測試覆蓋性等功能指標向適應快速測發、快速維修等性能指標發展。基于測試信息熵的故障診斷路徑規劃方法能夠通過分析控制系統測試性模型與裝備歷史先驗故障信息,自適應地規劃面向故障診斷的系統測試路徑,大幅度縮短了導彈武器系統臨射前的狀態確認時間、提升故障檢測與維修效率,具有非常顯著的意義。2.3 路徑規劃方法
2.4 路徑規劃效果評估

3 仿真分析
3.1 數據仿真




3.2 結果分析


4 結論