劉亞兵, 劉海港, 張 波, 王 沖
航空工業(yè)沈陽飛機設(shè)計研究所,遼寧 沈陽 110030)
隨著現(xiàn)在科學(xué)技術(shù)的發(fā)展,特別是信息技術(shù)的迅速發(fā)展,航空、航天、通信、工業(yè)應(yīng)用等各個領(lǐng)域的工程系統(tǒng)日趨復(fù)雜,大量復(fù)雜系統(tǒng)的復(fù)雜性、綜合化、智能化程度不斷提高。伴隨著復(fù)雜系統(tǒng)的發(fā)展,其研制、生產(chǎn)尤其是維護和保障的成本越來越高[1-2]。同時,由于組成環(huán)節(jié)和影響因素的增加,發(fā)生故障和功能失效的概率逐漸加大。因此,復(fù)雜系統(tǒng)故障的診斷和維護逐漸成為人們關(guān)注的焦點[3-5]?;趯?fù)雜系統(tǒng)的可靠性、安全性、經(jīng)濟性的考慮,以故障預(yù)測為核心的故障預(yù)測與健康管理(Prognostics and Health Management,PHM)策略獲得越來越多的重視和應(yīng)用[6-7]。PHM主要是通過先進的傳感器采集信息,并借助各種算法和智能模型來監(jiān)控、預(yù)測和管理系統(tǒng)的狀態(tài)[8-9]。波音B787使用了綜合系統(tǒng)健康管理(Integrated System Health Management,ISHM)有助于快速隔離故障件,減少返工時間。與B767相比,對未發(fā)現(xiàn)故障件(Not Fault Found,NFF)的移除率降低了約58%[10-11]。PHM技術(shù)在航空領(lǐng)域的工程應(yīng)用面臨著故障隔離率低、可信度低等問題。
本文主要介紹了3種工程項目常用的故障綜合診斷推理方法。面向機載復(fù)雜系統(tǒng)對比分析了這3種方法的優(yōu)缺點及面臨的問題,并進行了綜合診斷推理機的設(shè)計與開發(fā)。
測試性模型又稱為多信號流圖模型,可對每一個監(jiān)測節(jié)點的信號流向以及每一組件影響的信號流向進行動態(tài)跟蹤,同時可以利用系統(tǒng)結(jié)構(gòu)模型對這些信號之間的依賴聯(lián)系進行準(zhǔn)確描述[12]。由于多信號流圖模型同時具備了基于依賴模型故障診斷方法(系統(tǒng)功能、關(guān)系明確)與基于結(jié)構(gòu)模型故障診斷方法(層級劃分明確)的優(yōu)勢[13],因此適合規(guī)模較大、結(jié)構(gòu)復(fù)雜的大型系統(tǒng)的故障診斷模型的建立。
基于多信號流圖模型的測試性建模,以系統(tǒng)結(jié)構(gòu)、功能和故障模式、影響與危害分析(Failure Mode Effects and Criticality Analysis,FMECA)為基礎(chǔ)[14]。按照子系統(tǒng)關(guān)系劃分交聯(lián)模塊;按照子系統(tǒng)功能劃分外場可更換單元(Line Replaceable Unit,LRU)歸屬;按照LRU的設(shè)備實際輸入、輸出端口,結(jié)合功能和故障建模的需要,設(shè)置LRU信號端口;按照FMECA分析結(jié)果,結(jié)合系統(tǒng)工作模式和工作階段,設(shè)置LRU故障模式和故障測試點,并根據(jù)系統(tǒng)工作原理,建立故障模式間的影響、傳遞關(guān)系。
以機載供電系統(tǒng)為例,故障模型自頂向下可分為分系統(tǒng)、子系統(tǒng)、LRU、故障模式4個層級。其中,分系統(tǒng)指飛機供電系統(tǒng);子系統(tǒng)指交流電源系統(tǒng)、直流電源系統(tǒng)、配電系統(tǒng);LRU為現(xiàn)場可更換單元,指飛機外場維護更換單元,例如交流發(fā)電機、交流控制裝置、直流配電裝置等;故障模式指LRU的故障類型。對于結(jié)構(gòu)簡單、部件較少的LRU,可按其主要功能部件建立故障模式,對于結(jié)構(gòu)復(fù)雜、部件多、交聯(lián)關(guān)系不易理清的LRU,按其對外主要功能建立故障模式。
機載復(fù)雜系統(tǒng)故障診斷可采用基于CLIPS(C Language Integrated Production System)的故障診斷專家系統(tǒng)加以實現(xiàn)。專家系統(tǒng)程序的總體框圖如圖1所示。
圖1 專家系統(tǒng)程序的總體框圖
① 狀態(tài)參量列表。它是在專家系統(tǒng)內(nèi)部開辟的一段連續(xù)存儲空間,用于存儲狀態(tài)監(jiān)測點的參數(shù)信息,由外部系統(tǒng)程序負(fù)責(zé)實時刷新。
② 狀態(tài)監(jiān)測程序。該程序用于完成對狀態(tài)參量列表中各狀態(tài)監(jiān)測點參量的數(shù)據(jù)處理,判斷監(jiān)測點狀態(tài)是否發(fā)生變化,為事實更新提供依據(jù);同時判斷發(fā)生狀態(tài)變化的事實所屬子系統(tǒng),為推理機選擇子系統(tǒng)提供依據(jù)。
③ 事實更新控制。它用于根據(jù)狀態(tài)監(jiān)測程序的監(jiān)測結(jié)果,將需要更新的事實信息更新到事實庫。
④ 子系統(tǒng)選擇控制。它用于根據(jù)狀態(tài)監(jiān)測程序的監(jiān)測結(jié)果,控制推理機選擇被更新事實所在的子系統(tǒng)。
⑤ 診斷結(jié)論輸出接口單元。它用于接收推理機輸出的診斷結(jié)論,經(jīng)過格式轉(zhuǎn)換后按照系統(tǒng)程序要求輸出診斷結(jié)論。
⑥ 故障歷史數(shù)據(jù)記錄單元。它用于對系統(tǒng)運行過程中所得出的故障案例進行記錄,包括診斷時刻、故障事實、診斷結(jié)論、故障子系統(tǒng)等信息,以二進制數(shù)據(jù)形式保存在文本中。
⑦ 控制命令輸入接口和系統(tǒng)總體控制。控制命令輸入接口單元接收系統(tǒng)程序控制命令,解析后由系統(tǒng)總體控制模塊對狀態(tài)監(jiān)測程序及推理機發(fā)出相應(yīng)控制操作。用于完成系統(tǒng)程序?qū)<蚁到y(tǒng)組件的控制,主要包括5種操作,即啟動診斷、執(zhí)行周期診斷任務(wù)、執(zhí)行突發(fā)事件診斷任務(wù)、停止周期診斷和系統(tǒng)復(fù)位。
⑧ 事實庫。以事實結(jié)構(gòu)的形式存放被診斷對象狀態(tài)信息以及推理過程中產(chǎn)生的中間事實,供推理機調(diào)用。
⑨ 規(guī)則庫。它用于存放應(yīng)用于被診斷對象的診斷規(guī)則知識。規(guī)則庫中的規(guī)則和事實庫中的事實按照子系統(tǒng)形式管理。
⑩ 推理機。它用于對規(guī)則庫中的診斷規(guī)則和事實庫中的事實進行模式匹配,推理得出診斷結(jié)論;對推理過程進行執(zhí)行控制、子系統(tǒng)間的切換、規(guī)則間的沖突消解和規(guī)則右部的執(zhí)行。
專家系統(tǒng)推理機的核心算法采用Rete算法,提高了推理效率[14]。同時,存儲不斷循環(huán)中匹配過程的狀態(tài),并在循環(huán)中重新計算在事實表達(dá)中發(fā)生的變化、又反映到本次狀態(tài)中的變化,避免大量不必要的計算,大幅提升了匹配速度。
圖2展示了Rete算法是如何利用時間冗余性來提高推理效率的,其中陰影部分為改變的事實。
圖2 采用Rete算法時的搜索和匹配
基于BP神經(jīng)網(wǎng)絡(luò)的故障綜合診斷推理故障模式識別過程包括故障信號獲取、信號預(yù)處理、故障識別和診斷結(jié)果等基本環(huán)節(jié)。首先,提取最能反映系統(tǒng)狀態(tài)的特征量,利用分類工具對故障的類別、位置和程度進行診斷;然后對診斷結(jié)果進行故障評估,從而為故障處理提供依據(jù)[15]。診斷過程分為兩步:首先,基于一定數(shù)量的訓(xùn)練樣本集對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,得到期望的診斷網(wǎng)絡(luò);其次,根據(jù)當(dāng)前診斷輸入對系統(tǒng)進行診斷,診斷的過程即為利用神經(jīng)網(wǎng)絡(luò)進行前向計算的過程。在學(xué)習(xí)和診斷之前,需要對診斷原始數(shù)據(jù)和訓(xùn)練樣本數(shù)據(jù)進行適當(dāng)處理,包括預(yù)處理和特征選取/提取等,目的是為診斷網(wǎng)絡(luò)提供合適的診斷輸入和訓(xùn)練樣本。
本文介紹了3種常用的綜合診斷推理方法,對3種方法進行分析:基于BP神經(jīng)網(wǎng)絡(luò)的故障綜合診斷推理從訓(xùn)練樣本中獲取樣本分布特征的統(tǒng)計規(guī)律,訓(xùn)練和診斷過程都是“黑箱”操作,克服了傳統(tǒng)診斷推理方法中知識獲取的瓶頸,應(yīng)用面較廣,但缺點是訓(xùn)練時間較長、過程不可見?;趯<蚁到y(tǒng)的故障綜合診斷推理得到了基于規(guī)則的推理,可以直觀地得到規(guī)則。用戶可以通過這些規(guī)則掌握問題本身的規(guī)律,但是由于機載復(fù)雜系統(tǒng)問題的多樣性,規(guī)則獲取難以實現(xiàn),同時受訓(xùn)練樣本集影響,訓(xùn)練樣本不全面可能會導(dǎo)致獲取規(guī)則的不全面,這是導(dǎo)致綜合診斷不準(zhǔn)確的直接原因。基于測試性模型的故障綜合診斷推理以測試性模型為基礎(chǔ),將復(fù)雜系統(tǒng)內(nèi)部多信號流關(guān)系進行了模型化設(shè)計,同時添加可靠性指標(biāo),實現(xiàn)分層診斷推理,將故障定位到分系統(tǒng)/子系統(tǒng)級LRU,適合規(guī)模較大、結(jié)構(gòu)復(fù)雜的大型系統(tǒng)的故障診斷模型的建立。
測試性模型使用TEAMS-Designer或TesLab-Designer等工具,按照成員級、區(qū)域級進行建模,進行測試性分析,生成D矩陣,作為綜合診斷推理機的輸入信息。下面將對基于測試性模型的綜合診斷推理機進行設(shè)計。
機載復(fù)雜系統(tǒng)進行診斷推理之前,需要構(gòu)建測試性模型。測試性模型是否準(zhǔn)確、完善,與機上狀態(tài)是否一致,直接影響到診斷推理結(jié)果的準(zhǔn)確性。通過系統(tǒng)設(shè)計與測試性分析反復(fù)迭代的方式進行測試性設(shè)計,以降低對設(shè)計人員和工具的要求[16]。
參照“三段設(shè)計法”的基本設(shè)計流程[17-18],測試性建模、分析和改進工作流程如圖3所示,主要步驟包括測試性信息收集、測試性要求分析與指標(biāo)分配、建模設(shè)計、指標(biāo)分析評估與測試性優(yōu)化改進與驗證等[19]。完成測試性模型的建立后,需導(dǎo)出D矩陣,為系統(tǒng)綜合診斷推理提供依據(jù)。
圖3 測試性建模開發(fā)流程
故障診斷推理算法的實現(xiàn)以測試性模型為基礎(chǔ),物理接口監(jiān)測數(shù)據(jù)為輸入條件,經(jīng)過推理運算得出故障診斷結(jié)果。整體的故障診斷推理機算法結(jié)構(gòu)如圖4所示。它展示了整個推理機算法的過程,包括輸入、推理和輸出。其中以D矩陣為基礎(chǔ),輸入數(shù)據(jù)經(jīng)過故障診斷推理機算法推理運算得到Good、Bad、Suspect、Unknow共4種故障模式集合。
圖4 故障診斷推理機算法結(jié)構(gòu)圖
推理機算法處理邏輯圖如圖5所示。其中,模型加載、解析和結(jié)果組包等接口通信功能的實現(xiàn)屬于服務(wù)核心算法的外部結(jié)構(gòu),依據(jù)測試數(shù)據(jù)監(jiān)測結(jié)果(正?;蚴?對關(guān)聯(lián)故障模式進行分析識別的推理過程是算法核心。
圖5 推理機算法處理邏輯圖
算法過程如下。
(1) 初始化集合。
設(shè)U=A,B=?,S=?,G=?,F=?。
(2) 處理測試正常項。
① 求通過的測試的并集,并計算正常模塊的集合UtjpassedTsj。
② 計算正常模塊與上次的差值,分別表示添加的和減少的ΔG=[UtjpassedTsj-G]+,此處僅表示增加的模塊,不考慮減少的模塊。
③ 更新由正常測試的變化導(dǎo)致的集合變化G=UtjpassedTsj∪G,S=S-ΔG,U=U-ΔG。
(3) 處理測試異常項。
① 定義3個異常測試集合:這次上報的異常測試集合Tk;與正常集合相沖突的故障模塊相關(guān)的歷史失效測試,即若δB=B∩G≠?,令TB={tl|tl?Tk,Tsl∩δB≠?,tl保留值為失效,包含F(xiàn)之外的測試};歷史已有但不沖突的失效測試集,即TJ={Tj|tj?Tk,Tsl∩δB=?,tj∈F,tj保留值為失效}。
② 更新未知和懷疑故障模式集合,即S=S∪{fk},U=U-{fk},其中tk∈Tk∪TB。
(4) 更新上次的測試子特征,更新失效模塊組。
① 更新上次的測試子特征:F={fj}←{Tsj-G},此處tj∈TJ。
② 更新故障模塊:若|fj|=1,則將其子特征設(shè)為故障。
根據(jù)表1給出的測試性模型與表2中提供的測試結(jié)果數(shù)據(jù),診斷出真正發(fā)生的是故障模式1,雖然根據(jù)測試異常數(shù)據(jù)可以發(fā)現(xiàn)故障模式2和故障模式3也可能發(fā)生故障,但根據(jù)通過的測試數(shù)據(jù)的故障模式相關(guān)性可以確定故障模式2~故障模式5都是正常狀態(tài),所以可以確定發(fā)生故障的即是故障模式1,再根據(jù)這個故障模式1查詢與它關(guān)聯(lián)的部件,就可定位當(dāng)前發(fā)生的故障模式。表1為測試項模型D矩陣,表2為測試項輸入和診斷結(jié)果顯示。
表1 測試性模型D矩陣
表2 測試項數(shù)據(jù)輸入和診斷結(jié)果
為方便仿真驗證,進行如下假設(shè)。
① 故障可復(fù)現(xiàn);
② 故障具有確定性,定義故障為1,正常為0。
以機電系統(tǒng)(包含供電分系統(tǒng)、燃油分系統(tǒng)、液壓分系統(tǒng)、環(huán)控分系統(tǒng)等)為例,根據(jù)FMECA分析,建立測試性模型。模型測試點73個,故障模式498個。模型測試分析結(jié)果如表3所示,據(jù)此可生成D矩陣。
表3 模型測試分析結(jié)果
將測試性模型導(dǎo)出的D矩陣和開發(fā)的綜合診斷推理機嵌入到仿真目標(biāo)機中,上位機按照測試用例實現(xiàn)故障信息注入或使用真實機載飛行參數(shù)信息作為綜合診斷推理機的輸入信息。機載復(fù)雜系統(tǒng)綜合診斷推理機仿真驗證平臺如圖6所示[20]。
圖6 機載復(fù)雜系統(tǒng)綜合診斷推理機仿真驗證平臺
綜合診斷推理機具備分層診斷推理能力,能夠?qū)崿F(xiàn)系統(tǒng)、分系統(tǒng)、子系統(tǒng)級的診斷推理,并將故障定位到LRU。綜合診斷推理機在接收到上位機發(fā)送的參數(shù)信息時,首先剔除測試性模型中不相關(guān)數(shù)據(jù),然后對參數(shù)數(shù)據(jù)按照系統(tǒng)、分系統(tǒng)、子系統(tǒng)進行分類標(biāo)識。根據(jù)要診斷的目標(biāo)系統(tǒng)對識別的參數(shù)數(shù)據(jù)和測試性模型進行匹配,實現(xiàn)綜合診斷推理機的高效運行。
綜合診斷推理機對識別的參數(shù)數(shù)據(jù)進行異常判斷,根據(jù)異常判斷規(guī)則轉(zhuǎn)換為綜合診斷推理算法能夠識別的0和1代碼。綜合診斷推理機判斷當(dāng)前飛機飛行狀態(tài),診斷推理出所發(fā)生的故障模式、故障模式的名稱、故障部件名稱、所屬的子系統(tǒng)及系統(tǒng)名稱、故障代碼、故障等級以及提示是否上報飛行員等。診斷推理結(jié)果包括Good、Bad、Suspect、Unknow共4種故障模式集合。根據(jù)FMECA分析表,依次完成故障注入1000次,故障綜合診斷推理仿真結(jié)果如表4所示。
表4 故障綜合診斷推理仿真結(jié)果
仿真驗證結(jié)果表明,基于測試性模型的故障綜合診斷推理能夠?qū)崿F(xiàn)機載復(fù)雜系統(tǒng)的故障診斷推理。將故障隔離定位到LRU的概率為84.2%,故障檢測率為95.1%,略低于模型測試分析結(jié)果中故障隔離率88.78%、故障檢測率95.38%的指標(biāo)。原因為綜合診斷推理機在故障診斷推理過程中,算法對D矩陣的處理存在一定誤差,綜合診斷推理機有待進一步優(yōu)化。
同時,優(yōu)化和增加測試性模型測試點能夠進一步提升綜合診斷推理仿真結(jié)果的故障隔離率等指標(biāo)。
本文介紹了3種綜合診斷推理方法,并對3種方法進行了對比分析?;贐P神經(jīng)網(wǎng)絡(luò)的故障綜合診斷推理,克服了傳統(tǒng)診斷推理方法知識獲取的瓶頸,應(yīng)用面較廣,但訓(xùn)練時間較長、過程不可見;基于專家系統(tǒng)的故障綜合診斷推理可以直觀地得到規(guī)則,但是由于復(fù)雜系統(tǒng)問題的多樣性,規(guī)則獲取難以實現(xiàn);基于測試性模型的故障綜合診斷推理以測試性模型為基礎(chǔ),將復(fù)雜系統(tǒng)內(nèi)部多信號流關(guān)系進行模型化設(shè)計,實現(xiàn)分層診斷推理,特別適合規(guī)模較大、結(jié)構(gòu)復(fù)雜的機載系統(tǒng)。本文重點對基于測試性模型的綜合診斷推理方法進行了設(shè)計,開發(fā)了綜合診斷推理機。仿真驗證結(jié)果表明,基于測試性模型的故障綜合診斷推理方法具有一定的實際工程應(yīng)用價值。