劉斌斌,胡建旺
(軍械工程學(xué)院,河北 石家莊 050003)
指揮控制系統(tǒng)(communication,command,control and intelligence systems,C3I system)是軍隊(duì)指揮自動(dòng)化系統(tǒng)的核心,隨著科學(xué)技術(shù)的發(fā)展,指控系統(tǒng)的信息化程度不斷提高,其性能及結(jié)構(gòu)也更加完善和復(fù)雜,任何一個(gè)元器件的故障都可能導(dǎo)致系統(tǒng)部分功能失效或整個(gè)系統(tǒng)失靈,使得指揮控制系統(tǒng)的故障診斷成為一項(xiàng)復(fù)雜、困難的工作。目前研究的故障診斷中的單一診斷技術(shù)已無法滿足指控系統(tǒng)的測(cè)試診斷需求[1]。結(jié)合智能診斷的理論,設(shè)計(jì)一種以故障診斷專家系統(tǒng)為基礎(chǔ)、以二叉樹為推理機(jī)制的測(cè)試軟件并進(jìn)行驗(yàn)證。
故障樹分析法是一種將系統(tǒng)故障形成原因按樹枝逐步細(xì)化的圖形演繹方法,以系統(tǒng)最不希望發(fā)生的故障狀態(tài)作為故障樹的頂事件,然后尋找導(dǎo)致頂事件發(fā)生的直接原因,再由上而下逐級(jí)分解,一直分解到不能分解為止。這樣,就可以檢測(cè)出系統(tǒng)內(nèi)可能發(fā)生的硬件失效、軟件差錯(cuò)、環(huán)境影響等方面的原因?qū)е孪到y(tǒng)故障的邏輯關(guān)系,把所有事件結(jié)合起來形成完整的故障樹[2]。二叉樹是故障樹中一種特殊的樹形結(jié)構(gòu),其由結(jié)點(diǎn)的有限集合構(gòu)成,這個(gè)有限集合或者為空,或者是由一個(gè)根結(jié)點(diǎn)及兩顆互不相交的分別稱之為右子樹和左子樹的二叉樹組成[3]。
專家系統(tǒng)的診斷方法不依賴于系統(tǒng)的數(shù)學(xué)模型,而是根據(jù)人們長(zhǎng)期的實(shí)踐經(jīng)驗(yàn)和大量的故障信息知識(shí)設(shè)計(jì)出的一套智能計(jì)算機(jī)程序,以此來解決復(fù)雜系統(tǒng)的故障診斷問題[4]。專家系統(tǒng)一般由人機(jī)接口模塊、知識(shí)庫和數(shù)據(jù)庫管理模塊、診斷推理模塊、診斷信息獲取模塊、解釋機(jī)構(gòu)模塊和知識(shí)獲取及學(xué)習(xí)模塊等6個(gè)主要功能模塊組成,其結(jié)構(gòu)如圖1所示。
圖1 故障診斷專家系統(tǒng)結(jié)構(gòu)圖
人機(jī)接口模塊是整個(gè)系統(tǒng)的控制與協(xié)調(diào)機(jī)構(gòu);知識(shí)庫和數(shù)據(jù)庫管理模塊的功能是對(duì)診斷必需的知識(shí)和數(shù)據(jù)進(jìn)行建立、增加、刪除、修改、檢查等操作;診斷推理模塊是診斷系統(tǒng)的核心,負(fù)責(zé)運(yùn)用診斷信息和相關(guān)知識(shí)完成診斷任務(wù);診斷信息獲取模塊通過主、被動(dòng)和交互等方式獲取有價(jià)值的診斷信息;解釋機(jī)構(gòu)模塊的任務(wù)是向用戶提供診斷咨詢及診斷推理過程的中間結(jié)果,幫助用戶了解診斷對(duì)象及診斷過程;知識(shí)獲取和機(jī)器學(xué)習(xí)模塊用于完善系統(tǒng)的知識(shí)庫,以提高系統(tǒng)的診斷能力[5-6]。
基于故障樹技術(shù)的故障診斷專家系統(tǒng)的優(yōu)點(diǎn):
(1)邏輯性強(qiáng),不易遺漏故障原因,從故障樹頂事件開始,經(jīng)過邏輯嚴(yán)密的分析,凡能夠引起該故障的原因都能找到,并針對(duì)該原因提供相應(yīng)的專家意見。
(2)引起故障的原因一目了然,引起故障的各個(gè)因素都可以從故障樹上獲得,可避免檢測(cè)故障時(shí)的盲目性,提高診斷效率[7]。
(3)利用關(guān)系數(shù)據(jù)庫的特點(diǎn),可以快速地瀏覽及修改知識(shí)庫;將知識(shí)存儲(chǔ)在關(guān)系數(shù)據(jù)庫中,可以實(shí)現(xiàn)知識(shí)庫、推理機(jī)和應(yīng)用程序的分離,有助于維護(hù)整個(gè)專家系統(tǒng)[8]。
經(jīng)過對(duì)指控系統(tǒng)故障的整理分析,可以得出指控系統(tǒng)中每種故障現(xiàn)象存在至少一種一級(jí)故障原因與之相對(duì)應(yīng),而且每種一級(jí)原因又可能存在二級(jí)、三級(jí)原因,直至定位到單元板上的某個(gè)器件,基本符合數(shù)據(jù)結(jié)構(gòu)中樹的基本要素和特點(diǎn)[9]。所以在本系統(tǒng)中采用了故障樹這種數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式來完成專家系統(tǒng)中推理機(jī)的構(gòu)建。針對(duì)現(xiàn)有診斷任務(wù)的特點(diǎn),本文采用二叉樹的分析方法將診斷流程二叉樹化,設(shè)計(jì)二叉樹模式診斷推理機(jī)制,從而實(shí)現(xiàn)診斷任務(wù)的高效完成。
二叉樹是一種重要的樹形結(jié)構(gòu),其特點(diǎn)是每個(gè)節(jié)點(diǎn)最多有兩個(gè)子樹,它允許樹中結(jié)點(diǎn)的快速排序和用二分法快速找到樹中的最近節(jié)點(diǎn),并且結(jié)構(gòu)簡(jiǎn)單。結(jié)合指控裝備的故障特點(diǎn)和二叉樹的自身特性,將指控設(shè)備的故障診斷分解為多個(gè)相對(duì)獨(dú)立的二叉樹:將故障的頂現(xiàn)象作為二叉樹的根結(jié)點(diǎn),故障中間現(xiàn)象和中間原因作為子結(jié)點(diǎn),底原因作為葉子結(jié)點(diǎn),用二叉樹的左子樹表示某故障現(xiàn)象或原因的下一級(jí)故障中間原因或底原因,對(duì)應(yīng)右子樹表示同級(jí)的故障中間原因或底原因[10]。以頻率合成器的故障為例,其二叉樹結(jié)構(gòu)如圖2所示。
由頻率合成器診斷二叉樹流程可看出,基于二叉樹的診斷流程使得所有的故障的測(cè)試診斷流程都可以存儲(chǔ)于同一棵二叉樹中,從而簡(jiǎn)化了診斷過程,同時(shí)可以反映各級(jí)故障現(xiàn)象原因之間的聯(lián)系。
圖2 頻率合成器診斷二叉樹流程
診斷推理機(jī)構(gòu)是整個(gè)系統(tǒng)的核心,它利用計(jì)算機(jī)程序控制、協(xié)調(diào)整個(gè)專家系統(tǒng)的工作,并根據(jù)當(dāng)前的輸入數(shù)據(jù)或信息,利用知識(shí)庫中的知識(shí)按一定的推理策略去處理解決當(dāng)前存在的問題[11]。基于前面建立的二叉樹診斷流程模型,將二叉樹引入故障診斷推理機(jī)中,采用基于產(chǎn)生式規(guī)則和人機(jī)交互反饋結(jié)果的混合式模型,結(jié)合二叉樹診斷流程模型、測(cè)試數(shù)據(jù)和用戶經(jīng)驗(yàn)逐步查找故障原因,若當(dāng)前測(cè)試點(diǎn)的測(cè)試結(jié)果符合該點(diǎn)的正常范圍,則進(jìn)行“是”跳轉(zhuǎn)繼續(xù)查找故障原因,否則進(jìn)行“否”跳轉(zhuǎn),最終得到故障原因。
基于故障樹模型的專家診斷系統(tǒng)以二叉樹作為推理機(jī)制,具有高效的人機(jī)交換界面的自動(dòng)測(cè)試軟件,其結(jié)構(gòu)框圖如圖3所示。測(cè)試診斷程序根據(jù)用戶的診斷指令,讀取、解析信號(hào)描述文檔中的測(cè)試診斷用信號(hào),同時(shí)通過函數(shù)調(diào)用二叉樹診斷推理模型,可通過自動(dòng)或人機(jī)交互完成設(shè)備的診斷,得到診斷結(jié)果。為了方便用戶的使用,開發(fā)了“被測(cè)對(duì)象信號(hào)描述及適配器描述工具”和“測(cè)試診斷流程輸入工具”,用戶可通過這兩種工具方便地配置診斷用信號(hào)和建立二叉樹診斷流程模型。
圖3 系統(tǒng)故障診斷結(jié)構(gòu)圖
XML是一種標(biāo)記語言,具有格式簡(jiǎn)單、可擴(kuò)展性、可移植性和自描述性等特點(diǎn)。XML具有DTD和Schema兩種機(jī)制對(duì)所建立的文檔進(jìn)行建模和驗(yàn)證,對(duì)信息的結(jié)構(gòu)化描述具有良好格式,數(shù)據(jù)處理便捷,具有完善的解碼方式和面向?qū)ο蟮奶匦?,同時(shí)支持作為數(shù)據(jù)源可以被其他應(yīng)用程序訪問和處理,具備完善的技術(shù)體系且標(biāo)準(zhǔn)開放,可以方便地確保數(shù)據(jù)的一致性、完整性和可靠性,簡(jiǎn)化測(cè)試系統(tǒng)內(nèi)部以及測(cè)試系統(tǒng)之間數(shù)據(jù)交換的工作,并能與現(xiàn)存的系統(tǒng)和標(biāo)準(zhǔn)很好地兼容。因此在系統(tǒng)開發(fā)中,采用XML Schema機(jī)制完成對(duì)被測(cè)對(duì)象信號(hào)和故障樹的描述,從而為系統(tǒng)的可移植性打下基礎(chǔ)。
因?yàn)長(zhǎng)abWindows/CVI開發(fā)工具支持對(duì)組件的使用,并提供了對(duì)ActiveX控件的支持能力,可以在LabWindows/CVI開發(fā)環(huán)境中使用標(biāo)準(zhǔn)的ActiveX控件;另外,對(duì)XML文件解析也提供了cvixml.fp輔助工具包,所以本文選用LabWindows/CVI作為測(cè)試診斷軟件及兩種工具的開發(fā)環(huán)境。
傳統(tǒng)的測(cè)試診斷軟件在開發(fā)過程中將測(cè)試診斷用信號(hào)參數(shù)和結(jié)果固化在測(cè)試診斷程序中,當(dāng)測(cè)試診斷對(duì)象發(fā)生改變時(shí),需要對(duì)測(cè)試診斷程序進(jìn)行大量的修改,降低了軟件的開發(fā)效率。因此,采用基于數(shù)據(jù)庫的開發(fā)模型,開發(fā)被測(cè)對(duì)象信號(hào)描述及適配器描述工具,建立信號(hào)配置數(shù)據(jù)庫,使得診斷數(shù)據(jù)和診斷流程能夠分離,可以很好地解決軟件通用性、可擴(kuò)展性的問題。
被測(cè)對(duì)象信號(hào)描述及適配器描述工具輔助裝備工程師根據(jù)被測(cè)裝備的測(cè)試信息,完成被測(cè)對(duì)象信號(hào)描述;根據(jù)適配器硬件電路設(shè)計(jì),完成適配器信號(hào)的轉(zhuǎn)接、信號(hào)調(diào)理及控制信號(hào)信息的描述,并生成相應(yīng)的XML描述文檔。這將有助于幫助裝備工程師進(jìn)行測(cè)試流程文檔的規(guī)范編寫、檢查適配器內(nèi)信號(hào)轉(zhuǎn)接、信號(hào)調(diào)理及控制信號(hào)設(shè)計(jì)是否正確、完成測(cè)試程序的編程。配置界面如圖4所示。
圖4 被測(cè)對(duì)象信號(hào)描述配置界面
測(cè)試流程輸入工具的主要內(nèi)容是裝備工程師對(duì)測(cè)試流程的詳盡描述,根據(jù)輸入工具的指定格式描述測(cè)試流程信息的過程即完成建立XML文檔的過程。測(cè)試流程輸入工具主要基于測(cè)試流程描述,以輔助裝備工程師完成,根據(jù)被測(cè)裝備的測(cè)試過程信息,完成具體測(cè)試流程描述,并生成相應(yīng)的XML描述文檔,供測(cè)試診斷程序調(diào)用。
輸入工具配置主面板主要包括流程屬性、節(jié)點(diǎn)屬性、激勵(lì)信號(hào)、響應(yīng)信號(hào)、是跳轉(zhuǎn)屬性和否跳轉(zhuǎn)屬性等6項(xiàng)設(shè)置子面板。通過配置各子面板的信息,完成故障樹診斷流程的錄入工作,最后將診斷流程保存為XML格式的文件。當(dāng)測(cè)試程序需要調(diào)用診斷流程時(shí),通過測(cè)試程序中的相關(guān)函數(shù)選擇需要調(diào)用的診斷流程并進(jìn)行解析。
在故障診斷中有時(shí)待測(cè)試點(diǎn)在電路內(nèi)部,程序不能進(jìn)行檢測(cè),這就需要進(jìn)行人為地檢測(cè)。為了更好地進(jìn)行人際交互,在測(cè)試診斷流程輸入工具中,每個(gè)診斷點(diǎn)都會(huì)有提示圖片和提示信息,指示測(cè)試人員需要進(jìn)行的測(cè)試點(diǎn)和測(cè)試中的注意事項(xiàng)。
以通信指揮系統(tǒng)中的頻率合成器電路板故障診斷為例,驗(yàn)證本系統(tǒng)的可行性,說明系統(tǒng)故障診斷的實(shí)現(xiàn)過程。
運(yùn)行測(cè)試程序?qū)︻l率合成器進(jìn)行測(cè)試,假設(shè)檢測(cè)出該電路板發(fā)生故障,進(jìn)而轉(zhuǎn)入基于二叉樹的故障診斷流程,在對(duì)頻率合成器進(jìn)行分析的基礎(chǔ)上,運(yùn)用測(cè)試流程輸入工具建立故障診斷二叉樹。通過分析可以建立如圖2所示的故障樹診斷流程。
對(duì)頻率合成器的診斷信號(hào)需求如下:
(1)激勵(lì)信號(hào)
直流工作電壓:-2.7V、5V、-10V、12V;
模擬激勵(lì)信號(hào):1.5V、1 kHz的正弦波。
(2)響應(yīng)信號(hào)
G1晶振輸出3.2MHz射頻信號(hào);
R38靠近FPGA端輸出16kHz TTL方波信號(hào);
R39靠近FPGA端輸出25kHz TTL方波信號(hào);
D5中 3、6、10腳的電壓分別為:0V、5V、5V;
D5中 4、5、11腳的電壓分別為:0V、15V、0V。
按照上述的診斷信號(hào)需求,通過被測(cè)對(duì)象信號(hào)描述工具對(duì)所需信號(hào)進(jìn)行配置,在配置好診斷信號(hào)信息后,即可進(jìn)行裝備的測(cè)試診斷。運(yùn)行測(cè)試程序,在測(cè)試裝備種類、型號(hào)、適配器目錄下選擇測(cè)試項(xiàng)目“頻率合成器”,從而進(jìn)入程序界面,即可進(jìn)行測(cè)試診斷工作,選擇從第一步開始進(jìn)行單步或自動(dòng)測(cè)試診斷,系統(tǒng)會(huì)按照預(yù)定的測(cè)試流程單步或自動(dòng)進(jìn)行故障診斷,直至定位故障點(diǎn)“FPGA故障”,如圖5所示。
本文從推理機(jī)制的研究出發(fā),基于故障樹和專家系統(tǒng)的理論和方法,對(duì)指控系統(tǒng)的診斷專家系統(tǒng)推理機(jī)進(jìn)行了分級(jí),將故障樹分析法引入到推理機(jī)制中,形成了基于故障樹的專家系統(tǒng)故障診斷模型,并在CVI環(huán)境下設(shè)計(jì)兩種通用性的工具。利用該故障診斷系統(tǒng)模型可以及時(shí)、準(zhǔn)確地對(duì)指控裝備中各種故障狀態(tài)做出診斷,并定位到可更換的元器件,提高了指控系統(tǒng)的診斷效率,從而也提高指控裝備的保障能力,滿足現(xiàn)代化高技術(shù)戰(zhàn)爭(zhēng)的需要。
圖5 頻率合成器診斷結(jié)果
[1]蔡宗平,湯正平,王躍鋼,等.控制系統(tǒng)故障診斷淺析[J].電光與控制,2007,14(4):19-22.
[2]曲朝陽,高宇峰,聶欣.基于決策樹的網(wǎng)絡(luò)故障診斷專家系統(tǒng)模型[J].計(jì)算機(jī)工程,2008,23(22):215-217.
[3]朱大奇.電子設(shè)備故障診斷原理與實(shí)踐[M].北京:電子工業(yè)出版社,2004:52-67.
[4]譚勇,王偉.智能故障診斷技術(shù)及發(fā)展[J].飛航導(dǎo)彈,2009(7):35-38.
[5]Angeli C.Online expert systems for fault diagnosis in technical processes[J].Expert Systems,2008(3):115-132.
[6]吳明強(qiáng),李霽紅,曹愛東,等.故障診斷專家系統(tǒng)綜合智能推理技術(shù)研究[J].計(jì)算機(jī)測(cè)量與控制,2004,12(10):932-934.
[7]鄭雷雷,宋麗華,郭銳,等.故障樹分析法在信息安全風(fēng)險(xiǎn)評(píng)估中的應(yīng)用[J].計(jì)算機(jī)科學(xué),2011,10(38):106-108.
[8]倪紹徐,張?jiān)7?,易宏,?基于故障樹的智能故障診斷方法[J].上海交通大學(xué)學(xué)報(bào),2008,42(8):1372-1375.
[9]朱向明,周鳳岐,王繼紅.數(shù)據(jù)挖掘故障診斷專家系統(tǒng)[J].火力與指揮控制,2011,36(9):190-194.
[10]許麗婷.智能故障診斷專家系統(tǒng)體系結(jié)構(gòu)的研究[D].西安:西安建筑科技大學(xué),2006.
[11]高偉偉.基于故障樹技術(shù)的遠(yuǎn)程故障診斷專家系統(tǒng)的研究[D].西安:西北工業(yè)大學(xué),2007.