一種電子設(shè)備故障庫(kù)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:故障庫(kù)是專家系統(tǒng)的核心,體現(xiàn)著專家系統(tǒng)水平的高低。從故障庫(kù)技術(shù)結(jié)構(gòu),構(gòu)建方法出發(fā),對(duì)電子設(shè)備多故障診斷信息進(jìn)行歸納、總結(jié),針對(duì)某電子設(shè)備構(gòu)建了一種故障庫(kù)并對(duì)其推理過(guò)程進(jìn)行設(shè)計(jì)。該方法為電子裝備故障診斷快速性和準(zhǔn)確性上提供了一條有效途徑。
關(guān)鍵詞:專家系統(tǒng);故障庫(kù);診斷信息;推理機(jī)
0 引言
故障診斷專家系統(tǒng)是診斷領(lǐng)域引人注目的發(fā)展方向之一,也是研究最多、應(yīng)用最廣的一類智能診斷技術(shù),主要用于那些沒有精確數(shù)學(xué)模型或很難建立數(shù)學(xué)模型的復(fù)雜系統(tǒng)。大致經(jīng)歷了兩個(gè)發(fā)展階段,即基于淺知識(shí)的第一代故障診斷專家系統(tǒng)和基于深知識(shí)的第二代故障診斷專家系統(tǒng)?;跍\知識(shí)(人類專家的經(jīng)驗(yàn)知識(shí))的故障診斷系統(tǒng)是以領(lǐng)域?qū)<液筒僮髡叩膯l(fā)性經(jīng)驗(yàn)知識(shí)為核心,通過(guò)演繹推理或產(chǎn)生式推理來(lái)獲取診斷結(jié)果?;谏钪R(shí)(診斷對(duì)象的模型知識(shí))的故障診斷系統(tǒng)要求診斷對(duì)象的每一個(gè)環(huán)節(jié)具有明確的輸入輸出表達(dá)關(guān)系,診斷時(shí)首先通過(guò)診斷對(duì)象的實(shí)際輸出與期望輸出之間的不一致,生成引起這種不一致的原因集合,然后根據(jù)診斷對(duì)象領(lǐng)域中的第一定律知識(shí)(具有明確科學(xué)依據(jù)的知識(shí))及其內(nèi)部特定的約束關(guān)系,采用一定的算法,找出可能的故障源。在故障診斷專家系統(tǒng)中,故障庫(kù)是專家系統(tǒng)的核心,體現(xiàn)著專家系統(tǒng)水平的高低,但故障庫(kù)的建造或故障知識(shí)的獲取也成為建立專家系統(tǒng)的瓶頸問(wèn)題。
1 故障庫(kù)建造步驟
故障庫(kù)的設(shè)計(jì)是建立專家系統(tǒng)最重要和最艱巨的任務(wù)。初始知識(shí)庫(kù)的設(shè)計(jì)包括問(wèn)題知識(shí)化、知識(shí)概念化、概念形式化、形式規(guī)則化和規(guī)則合法化。問(wèn)題知識(shí)化,即辨別所研究問(wèn)題的實(shí)質(zhì);知識(shí)概念化,即概括知識(shí)表示所需要的關(guān)鍵概念及其關(guān)系;概念形式化,即確定用來(lái)組織知識(shí)的數(shù)據(jù)結(jié)構(gòu)形式;形式規(guī)則化,即編制規(guī)則,把形式化了的知識(shí)變換為由編程語(yǔ)言表示的可供計(jì)算機(jī)執(zhí)行的語(yǔ)句和程序;規(guī)則合法化,即確認(rèn)規(guī)則化了的知識(shí)的合理性,檢驗(yàn)規(guī)則的有效性。
故障庫(kù)的建立首先是通過(guò)知識(shí)工程師從測(cè)試設(shè)備領(lǐng)域?qū)<夷抢铽@得或者通過(guò)在診斷過(guò)程中從用戶那里獲得知識(shí),然后通過(guò)知識(shí)獲取模塊把知識(shí)送到知識(shí)庫(kù)。知識(shí)獲取的主要困難在于如何恰當(dāng)?shù)匕盐疹I(lǐng)域?qū)<宜褂玫母拍?、關(guān)系和問(wèn)題的求解方法。根據(jù)專家提供的經(jīng)驗(yàn)知識(shí)和測(cè)試設(shè)備的特點(diǎn),通過(guò)直接獲取方式、交互獲取方式獲取有價(jià)值的診斷信息。
故障庫(kù)的建立是一個(gè)相當(dāng)復(fù)雜的過(guò)程,所以必須要按照一定的方法和步驟。通常情況下按照如圖1所示的步驟從現(xiàn)有的設(shè)計(jì)資料中提取有關(guān)原理的定性知識(shí),并將這些知識(shí)歸納成規(guī)則形式。下面對(duì)圖1所示的各步驟分別加以說(shuō)明:
(1)功能,結(jié)構(gòu)層次分解。由于現(xiàn)代的產(chǎn)品設(shè)計(jì)的模塊化設(shè)計(jì)思想,所以電子產(chǎn)品在功能和結(jié)構(gòu)上具有明顯的層次性,因此要提取電子設(shè)備的故障診斷知識(shí),對(duì)系統(tǒng)進(jìn)行分解是必要的。
(2)建立部件正常功能描述。對(duì)于每一個(gè)上面劃分的部件,有必要對(duì)其正常工作邏輯進(jìn)行定性說(shuō)明。
(3)確定各部件的測(cè)試點(diǎn)集。測(cè)點(diǎn)分為部件輸入測(cè)點(diǎn)和部件輸出測(cè)點(diǎn),在對(duì)某個(gè)部件P進(jìn)行診斷時(shí),只有其全部輸入信號(hào)都正常,才可以根據(jù)輸出來(lái)判斷該部件是否故障。
(4)確定部件可能故障集。對(duì)以上劃分的單元分別進(jìn)行故障分析,對(duì)于部件,首先要確定其有可能出現(xiàn)的故障類型,部件P的可能故障集的確定可以根據(jù)經(jīng)驗(yàn)、FMEA分析結(jié)果以及器件資料等多方面搜集。
(5)建立定性影響關(guān)系網(wǎng)絡(luò)。對(duì)于部件P,先確定每一故障e所帶來(lái)的輸出表征,即輸出測(cè)點(diǎn)數(shù)據(jù)的一種組合。然后,對(duì)部件P的所有測(cè)點(diǎn)數(shù)據(jù)進(jìn)行分類,一類表示部件自身故障所測(cè)試的數(shù)據(jù),記為PSO;非自身故障引起(由輸入異常引起)的故障歸到另一類,記為PUO。當(dāng)測(cè)試數(shù)據(jù)W∈PSO時(shí),故障診斷結(jié)果可以確定就是部件P;當(dāng)測(cè)試數(shù)據(jù)W∈PUO時(shí),需要對(duì)部件P的輸入進(jìn)行測(cè)試,由于部件P的輸入又是其他部件的輸出,因此,可以逐級(jí)推理,直至將故障定位在某一個(gè)或幾個(gè)部件上。
(6)將故障影響關(guān)系網(wǎng)絡(luò)歸納成規(guī)則形式。將上面因果分析得到的結(jié)果轉(zhuǎn)化成兩種規(guī)則形式:
IF W∈PSO THEN P 故障;
IF W∈PUO THEN 對(duì) P 的輸入進(jìn)行測(cè)試;
(7)將規(guī)則寫入故障庫(kù),通過(guò)一般知識(shí)庫(kù)編輯系統(tǒng)可以很容易將上面的規(guī)則寫入到故障知識(shí)庫(kù)中。
2 故障庫(kù)的設(shè)計(jì)
2.1 數(shù)據(jù)采集與知識(shí)的獲取
數(shù)據(jù)采集在故障診斷系統(tǒng)中占據(jù)重要角色。對(duì)于診斷系統(tǒng)而言,采集的信息越多,越容易對(duì)故障進(jìn)行定位和判斷,為此系統(tǒng)將增加必要的硬件設(shè)計(jì),同時(shí)為減小伺服系統(tǒng)硬件設(shè)計(jì)的復(fù)雜程度,根據(jù)伺服系統(tǒng)的特點(diǎn)和專家的經(jīng)驗(yàn)總結(jié),利用伺服系統(tǒng)自身必需的硬件連接,增加少量硬件設(shè)計(jì),可以組成診斷系統(tǒng)的數(shù)據(jù)采集。
系統(tǒng)知識(shí)采用產(chǎn)生式(Production Rules)表示法,又稱為規(guī)則表示法。產(chǎn)生式通常用于表示具有因果關(guān)系的知識(shí),其基本形式是P→Q,或者IF P THEN Q。其中,P代表?xiàng)l件,如前提、狀態(tài)、原因等;Q代表結(jié)果,如結(jié)論、動(dòng)作、后果等。其含義是:如果P前提被滿足,則可推出Q結(jié)論或執(zhí)行所規(guī)定的動(dòng)作。把一組產(chǎn)生式放在一起,讓它們互相配合,協(xié)同作用,一個(gè)產(chǎn)生式生成的結(jié)論可以供另一個(gè)產(chǎn)生式作為前提使用,以這種方式求得問(wèn)題的解決,這樣的系統(tǒng)就稱為產(chǎn)生式系統(tǒng),也稱之為基于規(guī)則的系統(tǒng)。
對(duì)于多因素故障,采用故障樹來(lái)表示,故障樹模型體現(xiàn)了故障傳播的層次和子、父節(jié)點(diǎn)間關(guān)系的因果性,故障樹上某一子節(jié)點(diǎn)是父節(jié)點(diǎn)的故障源,因此利用故障樹的節(jié)點(diǎn)關(guān)系,根據(jù)故障現(xiàn)象來(lái)確定故障原因。
2.2 數(shù)據(jù)表的設(shè)計(jì)
為了使知識(shí)在計(jì)算機(jī)中發(fā)揮作用,以產(chǎn)生問(wèn)題求解的能力,必須把經(jīng)形式化后的各種知識(shí)實(shí)體表示成計(jì)算機(jī)的內(nèi)部形式,還要建立必要的解釋機(jī)制和良好的用戶界面。該系統(tǒng)采用Access 2003數(shù)據(jù)庫(kù)來(lái)創(chuàng)建知識(shí)庫(kù),利用Access 2003構(gòu)建系統(tǒng)知識(shí)庫(kù),能使知識(shí)庫(kù)搜索更加高效,管理更加方便。
知識(shí)庫(kù)包括四個(gè)表,它們分別是主故障模式表、事實(shí)表、測(cè)試點(diǎn)表和規(guī)則表。
主故障模式表用來(lái)存放測(cè)試設(shè)備中主要的故障類型。表的結(jié)構(gòu)為Module(FaultName,Child),其中,F(xiàn)aultName為故障類型的名稱,Chi-ld為此故障類型對(duì)應(yīng)的征兆表的名稱。如表1所示。
事實(shí)表包括征兆表和結(jié)論表,兩表的結(jié)構(gòu)相同。表的結(jié)構(gòu)為Fact(Name,ID),其中,Name為故障征兆(結(jié)論)的名稱,ID為故障征兆(結(jié)論)的編碼。如表2所示。
測(cè)試點(diǎn)表用來(lái)存放測(cè)試通道中的測(cè)試點(diǎn)。表的結(jié)構(gòu)為Test_Point(PointName,PCBName,X,Y,ID,ToneName,Solution),其中,Point Name為測(cè)試點(diǎn)的名稱,PCBName為測(cè)試通道的PCB圖文件,X為測(cè)試點(diǎn)的橫坐標(biāo),Y為測(cè)試點(diǎn)的縱坐標(biāo),ID為測(cè)試點(diǎn)的編碼,ToneName為測(cè)試通道的名稱,Solution為對(duì)故障采取的解決措施。如表3所示。
規(guī)則表包括淺知識(shí)規(guī)則表和深知識(shí)規(guī)則表,兩表的結(jié)構(gòu)相同。規(guī)則表用來(lái)存放規(guī)則前件和后件的編碼。推理機(jī)的內(nèi)部工作過(guò)程是利用事實(shí)編碼進(jìn)行前件的匹配,利用綜合數(shù)據(jù)庫(kù)對(duì)推理過(guò)程中的前件和后件進(jìn)行記錄。在推理過(guò)程中的事實(shí)編碼和最終結(jié)果的編碼都可以在事實(shí)表中找到與之對(duì)應(yīng)的名稱。表的結(jié)構(gòu)為(ID,Condition_number,Conclution_number,sig1,sig2,…,sig10,con1,con2,…,con10),其中,ID為規(guī)則的編號(hào),Condition_number為規(guī)則前提條件的個(gè)數(shù),Conclution_number為規(guī)則結(jié)論的個(gè)數(shù),sig1,sig2,…,sig10用來(lái)存儲(chǔ)規(guī)則的前提,con1,con2,…,con10用來(lái)存儲(chǔ)規(guī)則的結(jié)論。如表4所示。
3 推理機(jī)的實(shí)現(xiàn)
在測(cè)試設(shè)備故障診斷中最重要的是推理機(jī),對(duì)于確定性的知識(shí),采用專家系統(tǒng)中正向推理的方式進(jìn)行推理。對(duì)于具有不確定的、模糊的信息,利用模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行推理。推理機(jī)通過(guò)建立類EsReason實(shí)現(xiàn),以下是在該類中定義的主要指針、數(shù)組、變量及函數(shù),此類結(jié)構(gòu)如下:
其中,* Major,* Siga1,* Conctution,* point以及* Rule定義指向主故障模式表、征兆表、結(jié)論表、測(cè)試點(diǎn)表及規(guī)則表的結(jié)構(gòu)指針,便于對(duì)數(shù)據(jù)庫(kù)中各表數(shù)據(jù)的記錄及訪問(wèn)。通過(guò)建立BOOL型成員函數(shù)ConnectionDb和LoadTable來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接及加載。在加載數(shù)據(jù)庫(kù)時(shí),通過(guò)設(shè)置SQL語(yǔ)言為打開各個(gè)數(shù)據(jù)表做準(zhǔn)備,然后調(diào)用記錄集指針的成員函數(shù)Open打開各個(gè)表中的各條記錄。通過(guò)記錄集指針的移動(dòng)記錄各個(gè)表中記錄集的數(shù)目,然后根據(jù)記錄集指針的移動(dòng)把各表中的記錄存到申請(qǐng)的動(dòng)態(tài)內(nèi)存中。
綜合數(shù)據(jù)庫(kù)通過(guò)數(shù)組Current Conditions[100]和Current Conclusions[100]實(shí)現(xiàn),綜合數(shù)據(jù)庫(kù)用來(lái)記錄推理過(guò)程中的初始條件、中間結(jié)果及最終結(jié)論的編碼,方便推理機(jī)通過(guò)綜合數(shù)據(jù)庫(kù)里的內(nèi)容進(jìn)行正向推理,通過(guò)CString類型的變量program記錄推理過(guò)程中用到的規(guī)則,以實(shí)現(xiàn)推理過(guò)程中的解釋功能。
在類EsReason中核心的函數(shù)是Reasoning和NEWff,Reasoning函數(shù)的工作過(guò)程為:把綜合數(shù)據(jù)庫(kù)中的事實(shí)作為初始條件,與規(guī)則庫(kù)中的規(guī)則前件進(jìn)行匹配;當(dāng)規(guī)則被激活,通過(guò)這些激活的規(guī)則,推理函數(shù)把結(jié)論放到綜合數(shù)據(jù)庫(kù)中繼續(xù)推理,直到再?zèng)]有其他規(guī)則的前件能與綜合數(shù)據(jù)庫(kù)內(nèi)的事實(shí)相匹配為止。在推理過(guò)程中用到一個(gè)很重要的BOOL型的成員變量Rule_Used記錄用過(guò)的規(guī)則,這樣可以避免在推理過(guò)程中出
現(xiàn)死循環(huán)。NEWff函數(shù)的工作過(guò)程可選取合適的推理決策邏輯進(jìn)行推理來(lái)實(shí)現(xiàn)故障的自動(dòng)化診斷。
4 結(jié)語(yǔ)
由于現(xiàn)代電子設(shè)備的自身特性和環(huán)境因素等復(fù)雜條件的限制,傳統(tǒng)的故障診斷方法難以滿足診斷要求。基于故障庫(kù)的智能故障診斷方法依靠對(duì)設(shè)備原理的定性分析,充分利用現(xiàn)有的各種設(shè)計(jì)技術(shù)資料,無(wú)需為了量化處理的需要而將實(shí)際問(wèn)題過(guò)分簡(jiǎn)化,比依賴于基礎(chǔ)數(shù)據(jù)的定量分析方法更接近于工程實(shí)際情況。針對(duì)電子設(shè)備提出了一種電子設(shè)備故障庫(kù)的故障實(shí)現(xiàn)方案,可以有效地進(jìn)行故障定位并提出維修指導(dǎo)意見,有效地提高了普通維修人員的故障診斷能力和維修效率。