潘胤圭 劉仲博 郝 燁 章鵬飛 萬 政
(西安衛星測控中心 西安 710043)
隨著現代雷達技術的迅猛發展,雷達各分系統迭代更新速度不斷加快,傳統故障診斷技術已難以滿足快速定位故障原因的現實需要。當前,航天發射測控任務越來越重,密度也越來越高,需要對雷達故障診斷技術開展更加深入的研究,確保航天發射測控任務取得圓滿成功[1~2]。
發射機分系統作為雷達重要分系統之一,主要將射頻激勵源所產生的小信號放大到所需要的功率電平。在雷達自動化運行過程中,由于線纜松動、雷擊導致發射機零部件損壞、電流過大導致保險絲燒壞等原因都可能會造成雷達發射機故障,常見的故障有發射機無法自動上高壓、無法遠程自動加水冷、末級輸出波形異常等[3]。
作為故障診斷方面的一個有效工具[4],故障樹已廣泛應用于雷達發射機故障診斷[5~8]。該方法將雷達發射機故障現象作為頂層,對造成故障的可能原因進行逐層分解剖析,得到樹狀結構圖,即故障樹[8]。當故障樹之間結構差異較大時,故障樹分析法既不利于計算機存儲和檢索各故障樹節點元素,也難以給出相對統一的診斷推理算法實現對每個故障樹的診斷推理[9]。
由于二叉樹結構統一并且樹都能夠等價轉化為二叉樹[10],故障二叉樹分析法在近年來多被用于解決故障診斷規則的有效存儲問題[11~12]。然而,在雷達發射機故障診斷方面,還缺少基于故障二叉樹的有效故障診斷方法。
針對這一問題,本文提出一種故障二叉樹節點編碼方法,并基于節點信息(節點編碼、節點事件和節點類型)建立雷達發射機故障二叉樹庫,再利用故障二叉樹診斷算法對雷達發射機故障進行故障定位,最后利用研制的基于故障二叉樹的故障診斷推理模塊檢驗了方法的應用效果。
根據故障樹與故障二叉樹的轉換規則,故障二叉樹的具體構造方法[9]如下:
1)將故障現象作為根節點;
2)將第一父節點作為根節點的唯一孩子,用于判斷故障原因;
3)對于每一個父節點,用左孩子存放父節點肯定回答的結果,即發生故障概率相對較大的情況;用右孩子存放父節點否定回答的結果,即發生故障概率相對較小的情況。
重復上述步驟不斷生成節點,直到所有情況都產生為止。
在對某型雷達發射機分系統工作原理進行詳細的了解后,以發射機末級輸出波形異常這一故障現象為例,按照上述構造方法得到如圖1所示的發射機末級輸出波形異常故障二叉樹實例,各節點所對應的節點事件詳見表1。

表1 圖1所示故障二叉樹各節點所對應節點事件

圖1 發射機末級輸出波形異常故障二叉樹實例
在用數組或鏈表等方式處理二叉樹集時,節點存儲方式較為復雜且檢索定位困難[8]。為有效解決該問題,不同于故障二叉樹節點左右值編碼方法[8],本文提出了一種全新的故障二叉樹節點編碼方法。
1)不考慮根節點,將第一父節點的編碼值設定為1;
2)對于子節點,若其為某個父節點的左孩子,則在其父節點編碼值后添加1作為其編碼值;若其為某個父節點的右孩子,則在其父節點編碼值后添加2作為其編碼值。
根據該故障二叉樹節點編碼方法,圖1所示的故障二叉樹的節點編碼如表2所示。

表2 圖1所示故障二叉樹節點編碼
由表2不難發現,該故障二叉樹節點編碼方法使故障二叉樹各節點與其編碼值一一對應,既有利于故障信息存儲與節點定位,也有利于軟件編程設計實現。
在進行故障二叉樹診斷推理前,還需要將每個故障二叉樹的節點信息按照“節點編碼+節點事件+節點類型”的方式逐行寫入對應的故障二叉樹文檔。其中,節點編碼為采用上述故障二叉樹節點編碼方法所給出的節點編碼值,節點事件表示該節點在故障二叉樹中表示的具體事件,節點類型用于判斷是否為葉節點。以圖1的節點A1和X1為例,其節點信息表示分別為“1重新緊固線纜后檢查發射機末級輸出波形是否正常根節點”和“11線纜松動葉節點”。
所有的故障二叉樹文檔均統一存放在故障二叉樹庫中以便軟件模塊調用讀取。
根據故障二叉樹節點編碼方法的設計思想,故障二叉樹診斷算法具體實現過程如下:
Step 1根據用戶選擇的故障現象,讀取故障二叉樹庫中所對應的故障二叉樹文檔,并用數組分別存儲節點編碼、節點事件和節點類型;
Step 2在節點編碼數組中查找編碼值為1的節點,確定為第一父節點;
Step 3根據父節點提供的故障信息,對設備進行故障診斷處理,判斷該信息的真假。如果為真,則在父節點編碼值后添加1,并查找對應的子節點;否則,在父節點編碼值后添加2,并查找對應的子節點;
Step 4如果子節點類型是葉節點,則診斷推理過程結束;如果子節點類型不是葉節點,則轉入Step 3繼續診斷推理過程。
需要說明的是,在編寫故障二叉樹文檔時,一般規定將第一父節點的節點信息寫在第一行,以便提高軟件模塊運行效率。此外,在編寫故障二叉樹文檔前,還需仔細檢查核對所構造故障二叉樹的正確性,以保證故障二叉樹診斷算法能夠快速準確定位故障。
為提高雷達發射機故障診斷效率,采用C#語言編寫了基于故障二叉樹的故障診斷推理模塊,模塊界面如圖2所示。

圖2 基于二叉樹的故障診斷推理模塊界面
用戶在故障診斷推理模塊界面“故障選擇”后的下拉控件選擇所需診斷的故障現象,完畢后再點擊界面上的“運行”按鈕。模塊將在故障二叉樹庫中自動讀取對應的故障二叉樹文檔,并按照故障二叉樹診斷算法自動進行雷達發射機故障診斷,診斷過程將在人機交互過程中不斷進行。
診斷過程中,如果模塊彈出的判斷語句需要用戶做肯定確認,則點擊“是(Y)”按鈕,否則點擊“否(N)”按鈕,如圖3所示。

圖3 模塊推理過程界面
以圖1所示發射機末級輸出波形異常為例,當用戶選擇“發射機末級輸出波形異常”故障現象后,點擊故障診斷推理模塊界面的“運行”按鈕后,系統將開始記錄每一步的診斷推理過程,如圖4所示。

圖4 故障推理診斷結果
經過3步診斷推理后,模塊得出診斷結果:“電源模塊故障”。經檢查確認為調制控制分機某型號電源模塊故障,更換同型號備份電源模塊后故障得到解決。
此外,將該軟件模塊應用于診斷雷達發射機其他故障仍能基于故障二叉樹文檔實現雷達發射機故障的快速定位。因此,本文所提出的基于故障二叉樹的雷達發射機故障診斷方法能夠有效定位發射機故障。
對于新增故障現象,需及時更新補充完善故障二叉樹庫。在構建新增故障現象的故障二叉樹后,采用故障二叉樹節點編碼方法對節點進行編碼,將故障信息(節點編碼、節點事件和節點類型)寫入故障二叉樹文檔,并存入故障二叉樹庫。當再次遇到相同故障現象時,該模塊將具備故障診斷推理能力。
為有效定位雷達發射機故障,本文提出了一種基于故障二叉樹的雷達發射機故障診斷方法。工程應用表明:該方法易于研制軟件,能快速定位故障原因,有效提高了雷達發射機故障診斷效率。
該方法可推廣應用到雷達其他分系統或者其他航天測控設備的故障診斷。后續可考慮按照“故障二叉樹庫-設備名稱-分系統-某故障二叉樹文檔”的方式對故障二叉樹文檔進行歸類存儲,由用戶選擇讀取對應文件夾下故障二叉樹文檔的方式進行故障診斷模塊頁面改進設計。
此外,該方法在故障診斷過程中仍需借助人機交互來完成。在如何充分利用故障二叉樹的結構特點實現故障診斷自動化和智能化方面,今后還值得更加深入的研究。