《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 一種電子設(shè)備故障庫的設(shè)計(jì)
一種電子設(shè)備故障庫的設(shè)計(jì)
維庫
摘要: 故障診斷專家系統(tǒng)是診斷領(lǐng)域引人注目的發(fā)展方向之一, 也是研究最多、應(yīng)用最廣的一類智能診斷技術(shù),主要用于那些沒有精確數(shù)學(xué)模型或很難建立數(shù)學(xué)模型的復(fù)雜系統(tǒng)。大致經(jīng)歷了兩個發(fā)展階段, 即基于淺知識的第一代故障診斷專家系統(tǒng)和基于深知識的第二代故障診斷專家系統(tǒng)?;跍\知識( 人類專家的經(jīng)驗(yàn)知識)的故障診斷系統(tǒng)是以領(lǐng)域?qū)<液筒僮髡叩膯l(fā)性經(jīng)驗(yàn)知識為核心, 通過演繹推理或產(chǎn)生式推理來獲取診斷結(jié)果?;谏钪R( 診斷對象的模型知識) 的故障診斷系統(tǒng)要求診斷對象的每一個環(huán)節(jié)具有明確的輸入輸出表達(dá)關(guān)系, 診斷時首先通過診斷對象的實(shí)際輸出與期望輸出之間的不一致, 生成引起這種不一致的原因*, 然后根據(jù)診斷對象領(lǐng)域中的第一定律知識( 具有明確科學(xué)依據(jù)的知識) 及其內(nèi)部特定的約束關(guān)系, 采用一定的算法, 找出可能的故障源。在故障診斷專家系統(tǒng)中, 故障庫是專家系統(tǒng)的核心, 體現(xiàn)著專家系統(tǒng)水平的高低, 但故障庫的建造或故障知識的獲取也成為建立專家系統(tǒng)的瓶頸問題。
Abstract:
Key words :

     故障診斷專家系統(tǒng)是診斷領(lǐng)域引人注目的發(fā)展方向之一, 也是研究最多、應(yīng)用最廣的一類智能診斷技術(shù),主要用于那些沒有精確數(shù)學(xué)模型或很難建立數(shù)學(xué)模型的復(fù)雜系統(tǒng)。大致經(jīng)歷了兩個發(fā)展階段, 即基于淺知識的第一代故障診斷專家系統(tǒng)和基于深知識的第二代故障診斷專家系統(tǒng)?;跍\知識( 人類專家的經(jīng)驗(yàn)知識)的故障診斷系統(tǒng)是以領(lǐng)域?qū)<液筒僮髡叩膯l(fā)性經(jīng)驗(yàn)知識為核心, 通過演繹推理或產(chǎn)生式推理來獲取診斷結(jié)果?;谏钪R( 診斷對象的模型知識) 的故障診斷系統(tǒng)要求診斷對象的每一個環(huán)節(jié)具有明確的輸入輸出表達(dá)關(guān)系, 診斷時首先通過診斷對象的實(shí)際輸出與期望輸出之間的不一致, 生成引起這種不一致的原因*, 然后根據(jù)診斷對象領(lǐng)域中的第一定律知識( 具有明確科學(xué)依據(jù)的知識) 及其內(nèi)部特定的約束關(guān)系, 采用一定的算法, 找出可能的故障源。在故障診斷專家系統(tǒng)中, 故障庫是專家系統(tǒng)的核心, 體現(xiàn)著專家系統(tǒng)水平的高低, 但故障庫的建造或故障知識的獲取也成為建立專家系統(tǒng)的瓶頸問題。

  1   故障庫建造步驟

  故障庫的設(shè)計(jì)是建立專家系統(tǒng)最重要和最艱巨的任務(wù)。初始知識庫的設(shè)計(jì)包括問題知識化、知識概念化、概念形式化、形式規(guī)則化和規(guī)則合法化。問題知識化, 即辨別所研究問題的實(shí)質(zhì); 知識概念化, 即概括知識表示所需要的關(guān)鍵概念及其關(guān)系; 概念形式化, 即確定用來組織知識的數(shù)據(jù)結(jié)構(gòu)形式; 形式規(guī)則化, 即編制規(guī)則, 把形式化了的知識變換為由編程語言表示的可供計(jì)算機(jī)執(zhí)行的語句和程序; 規(guī)則合法化, 即確認(rèn)規(guī)則化了的知識的合理性, 檢驗(yàn)規(guī)則的有效性。

  故障庫的建立首先是通過知識工程師從測試設(shè)備領(lǐng)域?qū)<夷抢铽@得或者通過在診斷過程中從用戶那里獲得知識, 然后通過知識獲取模塊把知識送到知識庫。

  知識獲取的主要困難在于如何恰當(dāng)?shù)匕盐疹I(lǐng)域?qū)<宜褂玫母拍?、關(guān)系和問題的求解方法。根據(jù)專家提供的經(jīng)驗(yàn)知識和測試設(shè)備的特點(diǎn), 通過直接獲取方式、交互獲取方式獲取有價值的診斷信息。

  故障庫的建立是一個相當(dāng)復(fù)雜的過程, 所以必須要按照一定的方法和步驟。通常情況下按照如圖1 所示的步驟從現(xiàn)有的設(shè)計(jì)資料中提取有關(guān)原理的定性知識,并將這些知識歸納成規(guī)則形式。下面對圖1 所示的各步驟分別加以說明:

1.jpg
 

 圖1   故障庫的建立步驟

  ( 1) 功能, 結(jié)構(gòu)層次分解。由于現(xiàn)代的產(chǎn)品設(shè)計(jì)的模塊化設(shè)計(jì)思想, 所以電子產(chǎn)品在功能和結(jié)構(gòu)上具有明顯的層次性, 因此要提取電子設(shè)備的故障診斷知識, 對系統(tǒng)進(jìn)行分解是必要的。

  ( 2) 建立部件正常功能描述。對于每一個上面劃分的部件, 有必要對其正常工作邏輯進(jìn)行定性說明。

  ( 3) 確定各部件的測試點(diǎn)集。測點(diǎn)分為部件輸入測點(diǎn)和部件輸出測點(diǎn), 在對某個部件P 進(jìn)行診斷時, 只有其全部輸入信號都正常, 才可以根據(jù)輸出來判斷該部件是否故障。

  ( 4) 確定部件可能故障集。對以上劃分的單元分別進(jìn)行故障分析, 對于部件, 首先要確定其有可能出現(xiàn)的故障類型, 部件P 的可能故障集的確定可以根據(jù)經(jīng)驗(yàn)、FMEA 分析結(jié)果以及器件資料等多方面搜集。

  ( 5) 建立定性影響關(guān)系網(wǎng)絡(luò)。對于部件P , 先確定每一故障e 所帶來的輸出表征, 即輸出測點(diǎn)數(shù)據(jù)的一種組合。然后, 對部件P 的所有測點(diǎn)數(shù)據(jù)進(jìn)行分類, 一類表示部件自身故障所測試的數(shù)據(jù), 記為PSO; 非自身故障引起( 由輸入異常引起) 的故障歸到另一類, 記為PU O。當(dāng)測試數(shù)據(jù)W ∈ PSO 時, 故障診斷結(jié)果可以確定就是部件P; 當(dāng)測試數(shù)據(jù)W ∈ PUO 時, 需要對部件P的輸入進(jìn)行測試, 由于部件P 的輸入又是其他部件的輸出, 因此, 可以逐級推理, 直至將故障定位在某一個或幾個部件上。

  ( 6) 將故障影響關(guān)系網(wǎng)絡(luò)歸納成規(guī)則形式。將上面因果分析得到的結(jié)果轉(zhuǎn)化成兩種規(guī)則形式:

  IF  W∈PSO  T HEN   P 故障;

  IF  W∈PUO   TH EN 對P 的輸入進(jìn)行測試;

  ( 7) 將規(guī)則寫入故障庫, 通過一般知識庫編輯系統(tǒng)可以很容易將上面的規(guī)則寫入到故障知識庫中。

 

  2   故障庫的設(shè)計(jì)

  2. 1   數(shù)據(jù)采集與知識的獲取

  數(shù)據(jù)采集在故障診斷系統(tǒng)中占據(jù)重要角色。對于診斷系統(tǒng)而言, 采集的信息越多, 越容易對故障進(jìn)行定位和判斷, 為此系統(tǒng)將增加必要的硬件設(shè)計(jì), 同時為減小伺服系統(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)知識采用產(chǎn)生式( Pro duct iON Rules) *,又稱為規(guī)則*。產(chǎn)生式通常用于表示具有因果關(guān)系的知識, 其基本形式是P→Q, 或者IF P T HEN Q。其中, P 代表?xiàng)l件, 如前提、狀態(tài)、原因等; Q 代表結(jié)果,如結(jié)論、動作、后果等。其含義是: 如果P 前提被滿足,則可推出Q 結(jié)論或執(zhí)行所規(guī)定的動作。把一組產(chǎn)生式放在一起, 讓它們互相配合, 協(xié)同作用, 一個產(chǎn)生式生成的結(jié)論可以供另一個產(chǎn)生式作為前提使用, 以這種方式求得問題的解決, 這樣的系統(tǒng)就稱為產(chǎn)生式系統(tǒng), 也稱之為基于規(guī)則的系統(tǒng)。

  對于多因素故障, 采用故障樹來表示, 故障樹模型體現(xiàn)了故障傳播的層次和子、父節(jié)點(diǎn)間關(guān)系的因果性,故障樹上某一子節(jié)點(diǎn)是父節(jié)點(diǎn)的故障源, 因此利用故障樹的節(jié)點(diǎn)關(guān)系, 根據(jù)故障現(xiàn)象來確定故障原因。

  2. 2   數(shù)據(jù)表的設(shè)計(jì)

  為了使知識在計(jì)算機(jī)中發(fā)揮作用, 以產(chǎn)生問題求解的能力, 必須把經(jīng)形式化后的各種知識實(shí)體表示成計(jì)算機(jī)的內(nèi)部形式, 還要建立必要的解釋機(jī)制和良好的用戶界面。該系統(tǒng)采用Access 2003 數(shù)據(jù)庫來創(chuàng)建知識庫,利用A ccess 2003 構(gòu)建系統(tǒng)知識庫, 能使知識庫搜索更加高效, 管理更加方便。

  知識庫包括四個表, 它們分別是主故障模式表、事實(shí)表、測試點(diǎn)表和規(guī)則表。

  主故障模式表用來存放測試設(shè)備中主要的故障類型。表的結(jié)構(gòu)為Module ( FaultN AME, Child) , 其中,FaultName 為故障類型的名稱, Child 為此故障類型對應(yīng)的征兆表的名稱。如表1 所示。

表1   主故障模式表

 主故障模式表

  事實(shí)表包括征兆表和結(jié)論表, 兩表的結(jié)構(gòu)相同。表的結(jié)構(gòu)為Fact ( name, ID) , 其中, Name 為故障征兆( 結(jié)論) 的名稱, ID 為故障征兆( 結(jié)論) 的編碼。如表2所示。

表2   事實(shí)表

事實(shí)表

  測試點(diǎn)表用來存放測試通道中的測試點(diǎn)。表的結(jié)構(gòu)為T eST _ Point ( Po intName, PCBName, X , Y, ID,ToneName, Solution) , 其中, PointName 為測試點(diǎn)的名稱, PCBName 為測試通道的PCB 圖文件, X 為測試點(diǎn)的橫坐標(biāo), Y 為測試點(diǎn)的縱坐標(biāo), ID 為測試點(diǎn)的編碼,ToneName 為測試通道的名稱, Solut io n 為對故障采取的解決措施。如表3 所示。

表3   測試點(diǎn)表

測試點(diǎn)表

  規(guī)則表包括淺知識規(guī)則表和深知識規(guī)則表, 兩表的結(jié)構(gòu)相同。規(guī)則表用來存放規(guī)則前件和后件的編碼。

 

  推理機(jī)的內(nèi)部工作過程是利用事實(shí)編碼進(jìn)行前件的匹配, 利用綜合數(shù)據(jù)庫對推理過程中的前件和后件進(jìn)行記錄。在推理過程中的事實(shí)編碼和最終結(jié)果的編碼都可以在事實(shí)表中找到與之對應(yīng)的名稱。表的結(jié)構(gòu)為( ID,Co ndition_number, Conclut ion_number, sig1, sig2, !,sig10, con1, co n2, !, con10) , 其中, ID 為規(guī)則的編號,Co ndition_number 為規(guī)則前提條件的個數(shù), Co nclut ion_number 為規(guī)則結(jié)論的個數(shù), sig 1, sig2, !, sig10 用來存儲規(guī)則的前提, co n1, con2, !, co n10 用來存儲規(guī)則的結(jié)論。如表4 所示。

表4   規(guī)則表

 


  3   推理機(jī)的實(shí)現(xiàn)

  在測試設(shè)備故障診斷中最重要的是推理機(jī), 對于確定性的知識, 采用專家系統(tǒng)中正向推理的方式進(jìn)行推理。對于具有不確定的、模糊的信息, 利用模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行推理。推理機(jī)通過建立類EsReaso n 實(shí)現(xiàn), 以下是在該類中定義的主要指針、數(shù)組、變量及函數(shù), 此類結(jié)構(gòu)如下:

  Class EsReason

  {

  pr otected:

  Majo rTable * M ajor ;

  SigalTable  * Sig al;

  Co nclut ionTable * Conclutio n;

  Po int Table  * point;

  RuleTable * Rule ;

  BOOL Connectio nDb( ) ;

  BOOL   LoadT able ( CStr ing name) ;

  CStr ing Var iantToCStr ing ( co nst _ var iant_t & var) ;

  CStr ing Curr entConditio ns [ 100] ;

  CStr ing Curr entConclusio ns[ 100] ;

  CStr ing pr og ram;

  unsig ned int   To tal_Cur rentCo nditions;

  unsig ned int   To tal_Cur rentCo nclusio ns;

  BOOL   Reasoning( ) ;

  BOOL   NEWff( ) ;

  }

  其中, * Majo r, * Sigal, * Co nclut ion, * point 以及* Rule 定義指向主故障模式表、征兆表、結(jié)論表、測試點(diǎn)表及規(guī)則表的結(jié)構(gòu)指針, 便于對數(shù)據(jù)庫中各表數(shù)據(jù)的記錄及訪問。通過建立BOOL 型成員函數(shù)Connect io nDb 和Lo adTable 來實(shí)現(xiàn)數(shù)據(jù)庫的連接及加載。在加載數(shù)據(jù)庫時, 通過設(shè)置SQL 語言為打開各個數(shù)據(jù)表做準(zhǔn)備, 然后調(diào)用記錄集指針的成員函數(shù)Open 打開各個表中的各條記錄。通過記錄集指針的移動記錄各個表中記錄集的數(shù)目, 然后根據(jù)記錄集指針的移動把各表中的記錄存到申請的動態(tài)內(nèi)存中。

  綜合數(shù)據(jù)庫通過數(shù)組Cur rent Condit io ns[ 100] 和Cur rent Conclusio ns[ 100] 實(shí)現(xiàn), 綜合數(shù)據(jù)庫用來記錄推理過程中的初始條件、中間結(jié)果及最終結(jié)論的編碼,方便推理機(jī)通過綜合數(shù)據(jù)庫里的內(nèi)容進(jìn)行正向推理, 通過CStr ing 類型的變量prog ram 記錄推理過程中用到的規(guī)則, 以實(shí)現(xiàn)推理過程中的解釋功能。

  在類EsReason 中核心的函數(shù)是Reasoning 和NEWf f, Reasoning 函數(shù)的工作過程為: 把綜合數(shù)據(jù)庫中的事實(shí)作為初始條件, 與規(guī)則庫中的規(guī)則前件進(jìn)行匹配; 當(dāng)規(guī)則被激活, 通過這些激活的規(guī)則, 推理函數(shù)把結(jié)論放到綜合數(shù)據(jù)庫中繼續(xù)推理, 直到再沒有其他規(guī)則的前件能與綜合數(shù)據(jù)庫內(nèi)的事實(shí)相匹配為止。在推理過程中用到一個很重要的BOOL 型的成員變量Rule _Used 記錄用過的規(guī)則, 這樣可以避免在推理過程中出現(xiàn)死循環(huán)。NEWf f 函數(shù)的工作過程可選取合適的推理決策邏輯進(jìn)行推理來實(shí)現(xiàn)故障的自動化診斷。

  4   結(jié)  語

  由于現(xiàn)代電子設(shè)備的自身特性和環(huán)境因素等復(fù)雜條件的限制, 傳統(tǒng)的故障診斷方法難以滿足診斷要求?;诠收蠋斓闹悄芄收显\斷方法依靠對設(shè)備原理的定性分析, 充分利用現(xiàn)有的各種設(shè)計(jì)技術(shù)資料, 無需為了量化處理的需要而將實(shí)際問題過分簡化, 比依賴于基礎(chǔ)數(shù)據(jù)的定量分析方法更接近于工程實(shí)際情況。針對電子設(shè)備提出了一種電子設(shè)備故障庫的故障實(shí)現(xiàn)方案, 可以有效地進(jìn)行故障定位并提出維修指導(dǎo)意見, 有效地提高了普通維修人員的故障診斷能力和維修效率。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。