《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 面向?qū)ο蟮姆椒ㄔ跈C(jī)械故障診斷系統(tǒng)中的應(yīng)用

面向?qū)ο蟮姆椒ㄔ跈C(jī)械故障診斷系統(tǒng)中的應(yīng)用

2008-12-25
作者:(1)張苗苗 謝劍英 (2)方

  摘 要: 針對機(jī)械設(shè)備的故障診斷" title="故障診斷">故障診斷,應(yīng)用面向?qū)ο?/a>" title="面向?qū)ο?>面向?qū)ο?/a>的方法和技術(shù)、簡化了復(fù)雜系統(tǒng)的設(shè)計,提高了知識的表達(dá)能力和診斷效率。
  關(guān)鍵詞: 面向?qū)ο?建模 知識庫 消息傳遞 故障診斷


  面向?qū)ο蟮姆椒ㄗ鳛橐环N新的
程序設(shè)計" title="程序設(shè)計">程序設(shè)計思想和認(rèn)知方法學(xué)引起了人們廣泛的重視。其基本特征有:信息隱蔽(或封裝)、數(shù)據(jù)抽象、動態(tài)鏈接和繼承。面向?qū)ο蟮某绦蚓哂心K化、表達(dá)廣泛概念、默認(rèn)值表達(dá)和代碼復(fù)用等特點(diǎn)。面向?qū)ο缶幊淌瓜到y(tǒng)軟件結(jié)構(gòu)和空間中對問題的描述相一致,把對應(yīng)于客觀存在實(shí)體的數(shù)據(jù)和作用于實(shí)體的過程包含在一個“對象”之內(nèi),從而使對象成為比數(shù)據(jù)和過程具有更高結(jié)構(gòu)層次的計算實(shí)體[1]。
  診斷是在對某一研究對象的目前所處狀態(tài)及其有關(guān)參數(shù)作出判決后,得到有益的信息,進(jìn)而對所研究對象的運(yùn)行情況作出正確與否的結(jié)論。對于復(fù)雜系統(tǒng)的診斷問題,診斷過程復(fù)雜,診斷知識多樣。而采用面向?qū)ο蟮募夹g(shù)、則可以使故障診斷系統(tǒng)" title="故障診斷系統(tǒng)">故障診斷系統(tǒng)具有良好的可擴(kuò)充性和可重用性,便于從現(xiàn)實(shí)事物對象提取系統(tǒng)抽象模型,實(shí)現(xiàn)復(fù)雜系統(tǒng)的設(shè)計;并且有利于實(shí)現(xiàn)系統(tǒng)對故障知識進(jìn)行層次表示和混合表達(dá),提高系統(tǒng)故障診斷效率??梢哉f,面向?qū)ο蟮募夹g(shù)在故障診斷系統(tǒng)的設(shè)計及實(shí)現(xiàn)中得到了充分的體現(xiàn)。下面結(jié)合所研制的故障診斷系統(tǒng)對此作以描述。此系統(tǒng)由軟、硬件實(shí)現(xiàn),主要是有目的地采集相關(guān)信息,用適當(dāng)?shù)姆治龇椒ㄌ崛∮幸饬x的特征;并應(yīng)用診斷知識與合適的分析策略,分析出系統(tǒng)中故障的部位及原因,并加以定量描述;最后作出診斷決策和狀態(tài)預(yù)測,實(shí)現(xiàn)采用了面向?qū)ο蟮姆治龊途幊谭椒?。主要包括?shù)據(jù)采集、信號分析、診斷對象建模、神經(jīng)網(wǎng)絡(luò)建模、診斷等模塊。
1 面向?qū)ο蟮幕咎卣?SUP>[1][3][5][6]
1.1 層次性
  面向?qū)ο蠓椒▽W(xué)認(rèn)為對象都可由相對簡單的對象經(jīng)層層組合而成,因此復(fù)雜對象可按其結(jié)構(gòu)抽象分解關(guān)系組成層次結(jié)構(gòu),這樣可把復(fù)雜系統(tǒng)看成是一個由有限的結(jié)構(gòu)元素按一定規(guī)律聚合而成的系統(tǒng),系統(tǒng)的元素是子系統(tǒng),子系統(tǒng)的元素可以是更深層次的子系統(tǒng),如此類推,直至把元素表示為某一具體的物理零件?,F(xiàn)以CE6140型車床的結(jié)構(gòu)分解來說明這種層次結(jié)構(gòu),示意圖如圖1所示。同樣,復(fù)雜系統(tǒng)的故障也具有層次關(guān)系,這樣可深入到基本結(jié)構(gòu)元素,找到引起故障的最終原因,如圖2所示。因此,基于機(jī)床這一復(fù)雜診斷對象的層次特性,可對其進(jìn)行結(jié)構(gòu)分解和故障分解,以逐步細(xì)化縮小故障范圍,降低診斷問題求解的復(fù)雜性,提高診斷的準(zhǔn)確性和靈活性。


  由于機(jī)械設(shè)備機(jī)構(gòu)和故障的層次性與面向?qū)ο蠹夹g(shù)中的對象的繼承性和層次性相對應(yīng),因此設(shè)備診斷對象的構(gòu)成適合采用面向?qū)ο蟮姆椒?。在機(jī)械設(shè)備中,如果設(shè)備的元素或系統(tǒng)有故障,則所有包含這個元素的上級設(shè)備子系統(tǒng)直至設(shè)備本身也有故障。而當(dāng)上一級設(shè)備元素有故障,則此故障必源于下一級相應(yīng)的元素或聯(lián)系的故障[2]。
1.2 類和實(shí)例
  在面向?qū)ο蠓椒▽W(xué)中,所有對象都是類的實(shí)例。對象類是建立在對象概念基礎(chǔ)上,由類所描述的對象即稱為類的實(shí)例。類是實(shí)例的模板,也是數(shù)據(jù)的抽象;實(shí)例是類的一個個體。設(shè)備的基本元件有齒輪、軸、軸承等??煞謩e設(shè)計類,包含其屬性描述和功能描述。如齒輪類聲明如下:
TGearTool:public TBoxTool { //從TboxTool繼承
public:
  TGearTool():TBoxTool(″″);
  TGearTool(char* name):TBoxTool(name); //運(yùn)用多態(tài)性技術(shù)
  ~TGearTool(); //析構(gòu)函數(shù)
  virtual void DrawObject(TDC&); //畫齒輪
  bool operator ==(const TGearTool& other) const;
  GearParam gearparam; //齒輪屬性
protected:
  friend ostream& operator <<(ostream& os、 const TGearTool& tool); //運(yùn)用流類的輸入來保存永久對象
  friend istream& operator>>(istream&is、TGearTool& tool); //運(yùn)用流類的輸出打開永久對象
  ......
  };
  類與類之間的繼承關(guān)系也即子類-父類的關(guān)系。上面三個類分別從零部件類Component繼承特性,因?yàn)辇X輪、軸、軸承等可進(jìn)一步抽取其共性如型號、材料、特征故障頻率等,形成零部件類。齒輪類、軸類等也可進(jìn)一步派生其它類,如圖3所示。


  在軟件系統(tǒng)中,這種面向?qū)ο蟪绦蛟O(shè)計提供的繼承機(jī)制,可以避免對象的數(shù)據(jù)和操作的大量重復(fù),實(shí)現(xiàn)代碼重用,大大地減少了對象、對象類的創(chuàng)建工作量。這種繼承性使所建的軟件系統(tǒng)具有開放性,要建立的系統(tǒng)并非從空白開始,而是盡可能利用已建立的系統(tǒng)或已建立的類,以它們?yōu)榛A(chǔ)進(jìn)行擴(kuò)充,考慮向上或向下的接口方法[3]
1.3 消息傳遞
  對象間除了通過消息傳遞完成通信外,不再有任何其它的聯(lián)系。消息中可以包含運(yùn)算參數(shù),也可有對象名。向某對象發(fā)送消息就是要求它根據(jù)目前狀態(tài)和處理能力執(zhí)行某個操作。在消息傳遞過程中,消息發(fā)送者只是知道消息接受者具有某種功能,而不知道它的內(nèi)部結(jié)構(gòu)以及如何實(shí)現(xiàn)這種功能,從而支撐了數(shù)據(jù)的抽象和封裝。診斷系統(tǒng),主要由齒輪、軸、軸承等零部件對象通過一定的傳動關(guān)系有序組成,當(dāng)此傳動鏈上的某根軸接受到賦予其轉(zhuǎn)速的消息時,則根據(jù)對象內(nèi)所提供的操作計算出該軸的特征頻率,同時發(fā)送消息給此傳動鏈上相關(guān)對象。這些對象接受到消息后,分別在其內(nèi)部根據(jù)一定的傳動信息計算出對象的特征頻率。診斷過程也是用消息來觸發(fā),例如對于齒輪故障診斷,當(dāng)齒輪對象接受到其它對象所發(fā)出的診斷消息時,它會根據(jù)其當(dāng)時的狀態(tài)如故障特征頻率、故障特征頻率處的相對幅值比、歸一化值等信息,發(fā)送消息給相應(yīng)的模糊神經(jīng)網(wǎng)絡(luò)" title="模糊神經(jīng)網(wǎng)絡(luò)">模糊神經(jīng)網(wǎng)絡(luò)自動進(jìn)行推理、診斷,而不需要外部的干涉,并且其它對象也不知道它的內(nèi)部實(shí)現(xiàn)過程。對象間的發(fā)送消息實(shí)現(xiàn)了機(jī)械設(shè)備的診斷,如圖4所示,圖中FNN(Fuzzy Neural Network)表示模糊神經(jīng)網(wǎng)絡(luò)模型。


2 知識的面向?qū)ο蟊硎?/STRONG>
  復(fù)雜系統(tǒng)診斷問題求解中涉及到的診斷知識很多,不僅包括診斷對象的結(jié)構(gòu)與功能方面的知識,還包括各種因果知識、啟發(fā)性知識經(jīng)驗(yàn)等,因此需把各種知識有機(jī)地結(jié)合起來。面向?qū)ο蟮姆椒梢詫⒐收显\斷知識組成一種混合知識表達(dá)形式,即以對象為中心,將對象的屬性動態(tài)行為特征、相關(guān)領(lǐng)域知識庫和處理方法等有關(guān)知識封裝在表達(dá)對象的結(jié)構(gòu)中,使故障診斷知識庫或文檔具有良好的體系結(jié)構(gòu);通過對象類的知識表達(dá),實(shí)現(xiàn)數(shù)據(jù)抽象與信息共享。
2.1 機(jī)械設(shè)備的面向?qū)ο蟊硎?/STRONG>
  由前面敘述可知,診斷對象可分離出各個零部件對象,同時以對象的形式寫出其功能描述和行為描述。每個對象以知識的載體獨(dú)立于其它對象,每個子對象可寫出其功能和結(jié)構(gòu)接口描述,以便零部件對象出現(xiàn)在某一特定子對象中,建立與其它零部件對象的功能和接口聯(lián)系。診斷對象的知識庫可由這些零部件知識對象有機(jī)地“堆”在一起組成,我們所開發(fā)的面向?qū)ο蟮摹皺C(jī)械設(shè)備建模工具”把此特性提高到了新的高度。工程師可方便地根據(jù)機(jī)械設(shè)備的傳動關(guān)系,利用系統(tǒng)所提供的軸、軸承、齒輪、離合器等建模工具方便地作出設(shè)備的機(jī)械構(gòu)造示意圖,并可通過友好的人機(jī)接口賦予零部件對象一定的信息,如軸承滾動體的個數(shù)、接觸角、節(jié)徑等。此診斷對象可方便地修改、查詢,當(dāng)此傳動鏈上的任意一根軸被賦予一定的轉(zhuǎn)速后,診斷對象能根據(jù)對象間的消息傳遞自動搜索其傳動鏈關(guān)系并計算工作頻率等參數(shù),搜索后的信息保存在各零部件對象中。診斷設(shè)備的面向?qū)ο蟮闹R表示和建模方法增加了知識的可重用性和通用性,減輕了工作人員的計算任務(wù)。
2.2 診斷知識的面向?qū)ο蟊硎?/STRONG>
  不同零部件對象的故障模式對應(yīng)不同的故障文檔庫,為此可分別對軸、軸承、齒輪、離合器等建立故障文檔庫,文檔庫的知識應(yīng)可方便地修改、增加、刪除等。每個文檔庫包含的知識可分為兩部分,一部分為故障知識的模糊規(guī)則表示;另一部分為儲存模糊診斷知識的神經(jīng)網(wǎng)絡(luò)。之所以用神經(jīng)網(wǎng)絡(luò)來儲存模糊規(guī)則,是因?yàn)樯窠?jīng)網(wǎng)絡(luò)的學(xué)習(xí)機(jī)制可對原有規(guī)則進(jìn)行修改、加入新規(guī)則、對修改的規(guī)則和新加入的規(guī)則進(jìn)行檢查等,且可避免在模糊推理過程中增加模糊性的缺點(diǎn)。在具體實(shí)現(xiàn)中,可采用五層FNN保存診斷知識,用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)模糊推理[7];而模糊規(guī)則則用網(wǎng)絡(luò)的節(jié)點(diǎn)對象、連接權(quán)對象、連接結(jié)構(gòu)等來翻譯解釋。網(wǎng)絡(luò)對象可由開發(fā)的“神經(jīng)網(wǎng)絡(luò)建模工具”來實(shí)現(xiàn),根據(jù)不同的故障規(guī)則知識表示可建立不同的網(wǎng)絡(luò)對象。
  對于具體網(wǎng)絡(luò),可通過網(wǎng)絡(luò)對象所提供的初始化方法完成信息的搜尋,如:網(wǎng)絡(luò)的最大層數(shù),網(wǎng)絡(luò)的輸入節(jié)點(diǎn)、輸出節(jié)點(diǎn)及隱層節(jié)點(diǎn),每個節(jié)點(diǎn)對應(yīng)的網(wǎng)絡(luò)層號,與每個節(jié)點(diǎn)相連的前層所有的節(jié)點(diǎn)、連線,與每個節(jié)點(diǎn)相連的下一層所有的節(jié)點(diǎn)、連線,以及每個節(jié)點(diǎn)對象的所選函數(shù)、閾值等。所以網(wǎng)絡(luò)的節(jié)點(diǎn)對象和連線對象通過初始化根據(jù)不同的診斷知識保存了不同的信息。這符合面向?qū)ο蟮闹R表達(dá),即以對象為中心,包含與其相關(guān)的完成特定任務(wù)的所有知識。
3 面向?qū)ο蟮脑\斷推理
  面向?qū)ο蟮谋磉_(dá)機(jī)制在診斷推理中起著重要的作用,因?yàn)槊嫦驅(qū)ο蟊磉_(dá)的結(jié)構(gòu)特征有助于有效地組織和控制推理行為,同時其本身具有自動推理機(jī)制[2]。診斷推理過程以五層模糊神經(jīng)網(wǎng)絡(luò)為例。它能根據(jù)網(wǎng)絡(luò)中各個輸入節(jié)點(diǎn)對象的輸入值、閾值、輸入輸出函數(shù),連線對象的權(quán)值,隱層節(jié)點(diǎn)對象的輸入值、閾值、輸入輸出函數(shù)等一層層地前向推理,最終得到輸出節(jié)點(diǎn)對象所存儲的診斷值,如圖5所示。之所以能自動地前向推理,是因?yàn)槊繉拥墓?jié)點(diǎn)對象及連線對象不僅存儲了一定的故障規(guī)則知識,還存儲了對象間的接口連接信息。這種診斷推理算法迅速、可靠。它不僅僅適用于某一特定網(wǎng)絡(luò),而且適用于其它具體網(wǎng)絡(luò),網(wǎng)絡(luò)的層數(shù)及節(jié)點(diǎn)函數(shù)等網(wǎng)絡(luò)信息均未定死。前面提到的網(wǎng)絡(luò)對象的建模使它可對故障知識的更新適應(yīng)得非???,而故障知識的及時更新又保證了診斷的可靠、準(zhǔn)確。所以這種面向?qū)ο蟮脑\斷推理方法可用于動態(tài)變化的系統(tǒng),系統(tǒng)變化時,只要非常簡單地操作即可更新故障信息。因此,當(dāng)設(shè)備故障發(fā)生時,診斷網(wǎng)絡(luò)會用最新的信息去進(jìn)行診斷工作。


4 多態(tài)性及動態(tài)鏈接
  多態(tài)性指相同的操作(或函數(shù)、過程)為不同的對象所接受時,可導(dǎo)致不同的行為,即同一操作有不同的實(shí)現(xiàn)方法。主要表現(xiàn)在:運(yùn)算符重載、虛函數(shù)與動態(tài)鏈接。在圖3所示的零部件類中,有一個畫圖函數(shù) DrawObject()就應(yīng)用了多態(tài)性技術(shù),它能根據(jù)不同的對象執(zhí)行不同的動作。其聲明如下:
  class Parts{
  ......
  virtual void DrawObject(){}
  };
  齒輪類的聲名為:
  class Gear:public parts{
  ......
  virtual void DrawObject(){ DrawGear();}
  };
  可以看出零部件類的DrawObject()函數(shù)什么也沒有做,但是當(dāng)用齒輪來產(chǎn)生一個具體對象時,則調(diào)用零部件類的DrawObject()函數(shù),它能根據(jù)具體對象作出齒輪圖形。也就是當(dāng)這個基類Parts接受到圖形消息時,能根據(jù)不同的具體對象如齒輪、軸承等調(diào)用不同的方法作出合適的動作,畫出齒輪、軸承等不同的圖形。動態(tài)鏈接主要指調(diào)用操作的機(jī)制。由于面向?qū)ο蟮某绦蛟O(shè)計中所有操作都與某個對象有關(guān),因此可以在程序執(zhí)行時根據(jù)對象特性具體確定操作。采用動態(tài)鏈接使程序設(shè)計具有良好的靈活性,程序段的功能可進(jìn)行單純的功能增減,而不必修改原有的程序。
參考文獻(xiàn)
1 朱海濱.面向?qū)ο蠹夹g(shù)-原理與設(shè)計.國防科技大學(xué)出版社,1992
2 楊叔子.基于知識的診斷推理.北京:清華大學(xué)出版社,1992
3 殷人昆.實(shí)用面向?qū)ο筌浖こ探坛?北京:電子工業(yè)出版社,1998.6
4 周志國.Borland C++Object Windows程序設(shè)計.北京:北京航空航天大學(xué)出版社,1995
5 Grapham I. Object-Oriented Methods.Addison-Wesley Publishing Co,U.k.,1992
6 Alex ByKat. Intelligent Monitoring and Diagnosis Systems.Applied Artifical Intelligence ,1991.5
7 方 敏.基于模糊神經(jīng)網(wǎng)絡(luò)的機(jī)械故障診斷方法的研究.控制理論與應(yīng)用、1998(3)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。