潘胤圭 劉仲博 郝 燁 章鵬飛 萬 政
(西安衛(wèi)星測控中心 西安 710043)
隨著現(xiàn)代雷達技術的迅猛發(fā)展,雷達各分系統(tǒng)迭代更新速度不斷加快,傳統(tǒng)故障診斷技術已難以滿足快速定位故障原因的現(xiàn)實需要。當前,航天發(fā)射測控任務越來越重,密度也越來越高,需要對雷達故障診斷技術開展更加深入的研究,確保航天發(fā)射測控任務取得圓滿成功[1~2]。
發(fā)射機分系統(tǒng)作為雷達重要分系統(tǒng)之一,主要將射頻激勵源所產(chǎn)生的小信號放大到所需要的功率電平。在雷達自動化運行過程中,由于線纜松動、雷擊導致發(fā)射機零部件損壞、電流過大導致保險絲燒壞等原因都可能會造成雷達發(fā)射機故障,常見的故障有發(fā)射機無法自動上高壓、無法遠程自動加水冷、末級輸出波形異常等[3]。
作為故障診斷方面的一個有效工具[4],故障樹已廣泛應用于雷達發(fā)射機故障診斷[5~8]。該方法將雷達發(fā)射機故障現(xiàn)象作為頂層,對造成故障的可能原因進行逐層分解剖析,得到樹狀結構圖,即故障樹[8]。當故障樹之間結構差異較大時,故障樹分析法既不利于計算機存儲和檢索各故障樹節(jié)點元素,也難以給出相對統(tǒng)一的診斷推理算法實現(xiàn)對每個故障樹的診斷推理[9]。
由于二叉樹結構統(tǒng)一并且樹都能夠等價轉化為二叉樹[10],故障二叉樹分析法在近年來多被用于解決故障診斷規(guī)則的有效存儲問題[11~12]。然而,在雷達發(fā)射機故障診斷方面,還缺少基于故障二叉樹的有效故障診斷方法。
針對這一問題,本文提出一種故障二叉樹節(jié)點編碼方法,并基于節(jié)點信息(節(jié)點編碼、節(jié)點事件和節(jié)點類型)建立雷達發(fā)射機故障二叉樹庫,再利用故障二叉樹診斷算法對雷達發(fā)射機故障進行故障定位,最后利用研制的基于故障二叉樹的故障診斷推理模塊檢驗了方法的應用效果。
根據(jù)故障樹與故障二叉樹的轉換規(guī)則,故障二叉樹的具體構造方法[9]如下:
1)將故障現(xiàn)象作為根節(jié)點;
2)將第一父節(jié)點作為根節(jié)點的唯一孩子,用于判斷故障原因;
3)對于每一個父節(jié)點,用左孩子存放父節(jié)點肯定回答的結果,即發(fā)生故障概率相對較大的情況;用右孩子存放父節(jié)點否定回答的結果,即發(fā)生故障概率相對較小的情況。
重復上述步驟不斷生成節(jié)點,直到所有情況都產(chǎn)生為止。
在對某型雷達發(fā)射機分系統(tǒng)工作原理進行詳細的了解后,以發(fā)射機末級輸出波形異常這一故障現(xiàn)象為例,按照上述構造方法得到如圖1所示的發(fā)射機末級輸出波形異常故障二叉樹實例,各節(jié)點所對應的節(jié)點事件詳見表1。
表1 圖1所示故障二叉樹各節(jié)點所對應節(jié)點事件
圖1 發(fā)射機末級輸出波形異常故障二叉樹實例
在用數(shù)組或鏈表等方式處理二叉樹集時,節(jié)點存儲方式較為復雜且檢索定位困難[8]。為有效解決該問題,不同于故障二叉樹節(jié)點左右值編碼方法[8],本文提出了一種全新的故障二叉樹節(jié)點編碼方法。
1)不考慮根節(jié)點,將第一父節(jié)點的編碼值設定為1;
2)對于子節(jié)點,若其為某個父節(jié)點的左孩子,則在其父節(jié)點編碼值后添加1作為其編碼值;若其為某個父節(jié)點的右孩子,則在其父節(jié)點編碼值后添加2作為其編碼值。
根據(jù)該故障二叉樹節(jié)點編碼方法,圖1所示的故障二叉樹的節(jié)點編碼如表2所示。
表2 圖1所示故障二叉樹節(jié)點編碼
由表2不難發(fā)現(xiàn),該故障二叉樹節(jié)點編碼方法使故障二叉樹各節(jié)點與其編碼值一一對應,既有利于故障信息存儲與節(jié)點定位,也有利于軟件編程設計實現(xiàn)。
在進行故障二叉樹診斷推理前,還需要將每個故障二叉樹的節(jié)點信息按照“節(jié)點編碼+節(jié)點事件+節(jié)點類型”的方式逐行寫入對應的故障二叉樹文檔。其中,節(jié)點編碼為采用上述故障二叉樹節(jié)點編碼方法所給出的節(jié)點編碼值,節(jié)點事件表示該節(jié)點在故障二叉樹中表示的具體事件,節(jié)點類型用于判斷是否為葉節(jié)點。以圖1的節(jié)點A1和X1為例,其節(jié)點信息表示分別為“1重新緊固線纜后檢查發(fā)射機末級輸出波形是否正常根節(jié)點”和“11線纜松動葉節(jié)點”。
所有的故障二叉樹文檔均統(tǒng)一存放在故障二叉樹庫中以便軟件模塊調用讀取。
根據(jù)故障二叉樹節(jié)點編碼方法的設計思想,故障二叉樹診斷算法具體實現(xiàn)過程如下:
Step 1根據(jù)用戶選擇的故障現(xiàn)象,讀取故障二叉樹庫中所對應的故障二叉樹文檔,并用數(shù)組分別存儲節(jié)點編碼、節(jié)點事件和節(jié)點類型;
Step 2在節(jié)點編碼數(shù)組中查找編碼值為1的節(jié)點,確定為第一父節(jié)點;
Step 3根據(jù)父節(jié)點提供的故障信息,對設備進行故障診斷處理,判斷該信息的真假。如果為真,則在父節(jié)點編碼值后添加1,并查找對應的子節(jié)點;否則,在父節(jié)點編碼值后添加2,并查找對應的子節(jié)點;
Step 4如果子節(jié)點類型是葉節(jié)點,則診斷推理過程結束;如果子節(jié)點類型不是葉節(jié)點,則轉入Step 3繼續(xù)診斷推理過程。
需要說明的是,在編寫故障二叉樹文檔時,一般規(guī)定將第一父節(jié)點的節(jié)點信息寫在第一行,以便提高軟件模塊運行效率。此外,在編寫故障二叉樹文檔前,還需仔細檢查核對所構造故障二叉樹的正確性,以保證故障二叉樹診斷算法能夠快速準確定位故障。
為提高雷達發(fā)射機故障診斷效率,采用C#語言編寫了基于故障二叉樹的故障診斷推理模塊,模塊界面如圖2所示。
圖2 基于二叉樹的故障診斷推理模塊界面
用戶在故障診斷推理模塊界面“故障選擇”后的下拉控件選擇所需診斷的故障現(xiàn)象,完畢后再點擊界面上的“運行”按鈕。模塊將在故障二叉樹庫中自動讀取對應的故障二叉樹文檔,并按照故障二叉樹診斷算法自動進行雷達發(fā)射機故障診斷,診斷過程將在人機交互過程中不斷進行。
診斷過程中,如果模塊彈出的判斷語句需要用戶做肯定確認,則點擊“是(Y)”按鈕,否則點擊“否(N)”按鈕,如圖3所示。
圖3 模塊推理過程界面
以圖1所示發(fā)射機末級輸出波形異常為例,當用戶選擇“發(fā)射機末級輸出波形異?!惫收犀F(xiàn)象后,點擊故障診斷推理模塊界面的“運行”按鈕后,系統(tǒng)將開始記錄每一步的診斷推理過程,如圖4所示。
圖4 故障推理診斷結果
經(jīng)過3步診斷推理后,模塊得出診斷結果:“電源模塊故障”。經(jīng)檢查確認為調制控制分機某型號電源模塊故障,更換同型號備份電源模塊后故障得到解決。
此外,將該軟件模塊應用于診斷雷達發(fā)射機其他故障仍能基于故障二叉樹文檔實現(xiàn)雷達發(fā)射機故障的快速定位。因此,本文所提出的基于故障二叉樹的雷達發(fā)射機故障診斷方法能夠有效定位發(fā)射機故障。
對于新增故障現(xiàn)象,需及時更新補充完善故障二叉樹庫。在構建新增故障現(xiàn)象的故障二叉樹后,采用故障二叉樹節(jié)點編碼方法對節(jié)點進行編碼,將故障信息(節(jié)點編碼、節(jié)點事件和節(jié)點類型)寫入故障二叉樹文檔,并存入故障二叉樹庫。當再次遇到相同故障現(xiàn)象時,該模塊將具備故障診斷推理能力。
為有效定位雷達發(fā)射機故障,本文提出了一種基于故障二叉樹的雷達發(fā)射機故障診斷方法。工程應用表明:該方法易于研制軟件,能快速定位故障原因,有效提高了雷達發(fā)射機故障診斷效率。
該方法可推廣應用到雷達其他分系統(tǒng)或者其他航天測控設備的故障診斷。后續(xù)可考慮按照“故障二叉樹庫-設備名稱-分系統(tǒng)-某故障二叉樹文檔”的方式對故障二叉樹文檔進行歸類存儲,由用戶選擇讀取對應文件夾下故障二叉樹文檔的方式進行故障診斷模塊頁面改進設計。
此外,該方法在故障診斷過程中仍需借助人機交互來完成。在如何充分利用故障二叉樹的結構特點實現(xiàn)故障診斷自動化和智能化方面,今后還值得更加深入的研究。