燕繼明,石榮波
(中航工業(yè)成都飛機(jī)工業(yè) (集團(tuán))有限責(zé)任公司,四川成都610092)
數(shù)控機(jī)床維修專家系統(tǒng)的建立,是為了解決機(jī)床故障的預(yù)警、準(zhǔn)確診斷和快速排除,以提高數(shù)控機(jī)床維修效率,保障數(shù)控機(jī)床的正常運行。為此,將數(shù)控機(jī)床維修領(lǐng)域內(nèi)多位專家的知識和經(jīng)驗準(zhǔn)確地表達(dá)出來,設(shè)計出高效的知識庫,是維修專家系統(tǒng)成為實用的專家級系統(tǒng)的重要基礎(chǔ)。
數(shù)控機(jī)床是機(jī)械、電子、計算機(jī)、光學(xué)、檢測等高新技術(shù)高度集成的自動化設(shè)備,涉及到如此多的技術(shù)領(lǐng)域,并且又高度集成,造成機(jī)床發(fā)生故障的表現(xiàn)多種多樣,并且即使表現(xiàn)相同,原因卻可能不同。無論從涉及的技術(shù)領(lǐng)域的多樣性,還是每種領(lǐng)域本身的復(fù)雜性,以及造成故障的不確定性,都使維修專家系統(tǒng)的知識表示異常困難。
有專家提出知識表示方法[1],基本概括了專家系統(tǒng)知識庫常用的知識表示法,共有11種,如圖1所示。這些方法各有優(yōu)缺點,如謂詞邏輯表示法,能夠精確地表示人類的某些思維和推理,并適于計算機(jī)處理,但是對于具有歸納結(jié)構(gòu)的知識、多層次的知識就顯得力不從心;又如產(chǎn)生式表示法,適合于表達(dá)具有因果關(guān)系的過程型知識,卻不能表示具有結(jié)構(gòu)關(guān)系的事物之間的聯(lián)系等。在具體的應(yīng)用中,由于領(lǐng)域的復(fù)雜性,選用單一的知識表示法往往不能準(zhǔn)確地表示出該領(lǐng)域的知識,越是復(fù)雜的領(lǐng)域,所用的知識表示法越多樣。
圖1 常用的知識表示法
文中通過分析數(shù)控機(jī)床維修領(lǐng)域所涉及到的各種知識的特點,重點使用產(chǎn)生式知識表示法 (也稱為基于規(guī)則的知識表示法),并以特性表表示法和過程表示法作為補充,實現(xiàn)完整、準(zhǔn)確、高效地表達(dá)數(shù)控機(jī)床維修領(lǐng)域內(nèi)的知識。
對數(shù)控機(jī)床進(jìn)行維修,首先要對維修對象有較深入的了解,如機(jī)床的結(jié)構(gòu)、行程、各種幾何精度、控制系統(tǒng)型號、甚至于生產(chǎn)廠家等,這類信息的特點是一系列整齊的特征-值序列。
另外,還要了解正常使用機(jī)床時的各種工況信息以及對應(yīng)的動態(tài)性能信息,這類信息的特點是每條信息都對應(yīng)多元值。以上信息構(gòu)成了對機(jī)床的基本特性的認(rèn)識知識。
建立在對機(jī)床基本特性認(rèn)識的基礎(chǔ)上,還要準(zhǔn)確把握機(jī)床從正常到故障的各個狀態(tài)的特點和轉(zhuǎn)換關(guān)系,這是一個動態(tài)的過程。
進(jìn)行數(shù)控機(jī)床的維修,最關(guān)鍵是對故障的準(zhǔn)確診斷。每種故障都表現(xiàn)出一些現(xiàn)象,而現(xiàn)象的發(fā)生必定是有原因的。由于數(shù)控機(jī)床是由多種不同的部件構(gòu)成,每種部件的組成也很復(fù)雜,因此,一種故障現(xiàn)象往往是由多種可能的原因造成,如何從眾多的可能原因中找到真正的原因,是故障診斷的實質(zhì)。引起故障的原因和表現(xiàn)的現(xiàn)象之間是一種因果關(guān)系,現(xiàn)象和原因之間又是一種一對多的關(guān)系。某部件故障現(xiàn)象和原因關(guān)系結(jié)構(gòu)如圖2所示。
圖2 某部件的故障現(xiàn)象和原因關(guān)系圖
以上所述為數(shù)控機(jī)床維修時所涉及的主要知識的特點,具體可分為機(jī)床整機(jī)特性信息、部件特性信息、元器件特性信息、故障特征信息、故障預(yù)警規(guī)則、故障診斷規(guī)則、故障排除方法等。其中,前3種為針對某對象的特征信息,都用以描述對象的一系列基本的靜態(tài)特性,可以使用特性表表示法來表示這類知識。后4種針對故障預(yù)警和診斷,用以描述故障的現(xiàn)象、原因及之間的關(guān)系、推理等,主要使用產(chǎn)生式表示法來表示這類知識,在推理的過程中也會使用過程表示法來提高效率。
所謂一個特性是一個序偶 (特征,值),如 (名稱,三坐標(biāo)立式加工中心)、(制造商,某公司)等。關(guān)于某事物的一組特性可以組織成一張?zhí)匦员恚眠@種方法可以方便、直觀地表示許多類型的知識。
一臺數(shù)控機(jī)床的基本信息可以表示成一個特性表。如表1所示為一臺三坐標(biāo)立式加工中心的基本信息特性表。
表1 三坐標(biāo)立式加工中心的特性表
有的特性并不是一個序偶,而是一個多元組,這時仍然可以用特性表來表示。對設(shè)備性能進(jìn)行評價時用到的工況信息的特性表如表2所示。
表2 某設(shè)備工況信息特性表
關(guān)于特性表表示知識的推理,實際上就是基于關(guān)鍵字的一種檢索。
產(chǎn)生式表示法常用于表示因果關(guān)系的知識,其基本形式是
其中:P是產(chǎn)生式的前提,用于指出該產(chǎn)生式是否可用的條件;Q是產(chǎn)生式的結(jié)論或操作,亦可稱為后件,用于指出當(dāng)前提P所指示的條件被滿足時,應(yīng)該得出的結(jié)論或應(yīng)該執(zhí)行的操作。產(chǎn)生式的含義是:如果前提P被滿足,則可推出結(jié)論Q或執(zhí)行Q所規(guī)定的操作。
用產(chǎn)生式表示的知識是一組產(chǎn)生式的有序集合,語法上可用BNF((Backus-Naur Form,巴科斯-諾爾范式)描述如下:
產(chǎn)生式知識中,諸產(chǎn)生式的次序是有意義的,因為-般推理程序都是從前往后順序地進(jìn)行匹配,查找可被運用的產(chǎn)生式,因而放在前面的產(chǎn)生式就可能先得到匹配。從而執(zhí)行其右部動作,或先推導(dǎo)出右部結(jié)論。
數(shù)控機(jī)床的故障呈現(xiàn)出一個現(xiàn)象、一種或多種原因的形式,并且,原因也是分層次的,各級原因又可看作為下一級原因表現(xiàn)出的現(xiàn)象,如表3所示為液壓系統(tǒng)故障與原因關(guān)系表。這種特點很適合用產(chǎn)生式規(guī)則表示法來表示相關(guān)的知識。
表3 液壓系統(tǒng)故障與原因關(guān)系表
在表3中,為了識別液壓系統(tǒng)的故障,可以根據(jù)這種故障現(xiàn)象的特征,表示如下:
由上述產(chǎn)生式知識表示法表示知識的規(guī)則可以看出,設(shè)計的基本思想是:首先把故障現(xiàn)象分為若干類,如“不工作”、“報警”等,根據(jù)“類”的識別特征建立若干條規(guī)則,如規(guī)則Rl~R8,然后對屬于各類的各個故障現(xiàn)象,根據(jù)其個性的識別特征建立各自相應(yīng)的規(guī)則,如規(guī)則R16~R19。這樣至少有兩個好處:(1)當(dāng)給出的己知事實不完全時,雖然不能得出最終結(jié)論,但可能會給出分類結(jié)果;(2)當(dāng)需要增加對其他故障現(xiàn)象的識別要求時,規(guī)則庫中只需增加關(guān)于這些故障現(xiàn)象個性方面的知識,對于規(guī)則庫中已有的分類知識 (如R1~R8等)就可以直接使用。
過程即為一個子程序。所謂知識的過程表示就是把知識包含在若干過程之中,每個子程序完成特定的功能或利用知識解決特定問題??梢哉f過程表示是動態(tài)知識的表示模式。過程性知識表示強(qiáng)調(diào)知識的利用,即如何找出相關(guān)事實,如何去推理等等。一般來說,過程由兩部分組成:一部分是表示數(shù)據(jù)和知識的數(shù)據(jù)結(jié)構(gòu),另一部分是基于這些數(shù)據(jù)結(jié)構(gòu)的推理或問題求解。前者是過程的說明部,后者是過程體。
一個過程精確地告訴先做什么,后做什么,并能決定在不同情況下分別做不同的工作。而且能表示在出現(xiàn)異常情況時如何處理等等。過程能調(diào)用子過程,甚至調(diào)用自身 (遞歸調(diào)用),因此,過程可以表示十分復(fù)雜的知識,可以把過程知識表示成層次嵌套結(jié)構(gòu)。
使用過程表示法表示數(shù)控機(jī)床故障的預(yù)警過程。數(shù)控機(jī)床由各功能部件組成。故障在一定程度上有漸變性,即部件的故障是從無到有慢慢發(fā)展的,根據(jù)部件狀態(tài)的變化趨勢,可以對故障進(jìn)行預(yù)警。如圖3所示為機(jī)床狀態(tài)變化。圖3為過程表示法表示的故障預(yù)警過程。在圖4中,將對機(jī)床部件的性能評估作為一個過程 (模塊),其輸入為機(jī)床工況信息及在該工況下部件的運行狀態(tài)信息,輸出為對該部件的性能評估結(jié)論。將機(jī)床的狀態(tài)變化評估作為一個過程 (模塊),利用該模塊對性能評估結(jié)論進(jìn)行評價,實現(xiàn)分級預(yù)警。
圖3 機(jī)床狀態(tài)變化圖
圖4 故障預(yù)警過程圖
數(shù)控機(jī)床故障預(yù)警和診斷系統(tǒng)是一個數(shù)控機(jī)床維修專家系統(tǒng)。系統(tǒng)結(jié)構(gòu)如圖5所示,由采集層、處理層、評估層和應(yīng)用層構(gòu)成。采集層獲取或采集機(jī)床的底層運行狀態(tài)數(shù)據(jù)并送往處理層;處理層分析和處理獲取的數(shù)據(jù),得到對象的特征信息并送入評估層;評估層實質(zhì)上是一個專家知識庫,主要分為機(jī)床基礎(chǔ)數(shù)據(jù)、狀態(tài)評估和性能評估3部分。應(yīng)用層利用專家知識庫的知識進(jìn)行推理,實現(xiàn)機(jī)床故障預(yù)警和診斷,并給出相應(yīng)的解決辦法。
圖5 數(shù)控機(jī)床故障預(yù)警和診斷系統(tǒng)結(jié)構(gòu)圖
該系統(tǒng)的核心是評估層,即專家知識庫。其中,“基礎(chǔ)數(shù)據(jù)”部分,主要涉及機(jī)床基本信息、機(jī)床資料和參數(shù)信息等,機(jī)床基本信息由一組序偶組成,機(jī)床資料和參數(shù)信息都是多元組,這些特點適合于利用“特性表表示法”。機(jī)床的控制系統(tǒng)及外圍部件的狀態(tài)變化表現(xiàn)出的現(xiàn)象以及產(chǎn)生的原因信息,具有典型的因果關(guān)系特征,使用“產(chǎn)生式表示法”表示這部分知識。在故障診斷和預(yù)警時發(fā)生的各種狀態(tài)變化以及相應(yīng)的評價,是一系列動態(tài)的過程,將其中的狀態(tài)評測以及性能評價等作為過程,利用“過程表示法”實現(xiàn)評估。
專家知識庫的開發(fā)使用ORACLE9i數(shù)據(jù)庫技術(shù),該數(shù)據(jù)庫技術(shù)所擁有的強(qiáng)大的管理能力和搜索能力,足以支持維修專家知識庫各種功能表設(shè)計及數(shù)據(jù)查詢,甚至該維修專家系統(tǒng)的許多推理功能都是依賴于這種強(qiáng)大的數(shù)據(jù)查詢能力實現(xiàn)的。也即維修專家知識庫所使用的各種知識表示法是非常便于使用ORACLE數(shù)據(jù)庫技術(shù)實現(xiàn)的。
該系統(tǒng)應(yīng)用在一臺國產(chǎn)三坐標(biāo)立式加工中心上,已成功對該設(shè)備液壓系統(tǒng)、換刀裝置、y向傳動系統(tǒng)發(fā)生的5次故障進(jìn)行準(zhǔn)確診斷,極大地提高了維修效率。因此,也證明文中所述的知識表示法是準(zhǔn)確有效的。
綜合應(yīng)用產(chǎn)生式表示法、過程表示法和特性表表示法于數(shù)控機(jī)床維修專家系統(tǒng)的知識表示,可以方便實現(xiàn)模塊化,也便于檢測出矛盾的知識和冗余的知識,同時便于實現(xiàn)高效率的推理功能,因此,可以有效地表示出數(shù)控機(jī)床故障現(xiàn)象、原因及排除方法等維修所需的知識。同時,結(jié)合現(xiàn)代數(shù)據(jù)庫技術(shù),開發(fā)的專家知識庫,將很好地支持?jǐn)?shù)控機(jī)床維修專家系統(tǒng)成為一個真正的專家級維修系統(tǒng)。
【1】鄭麗敏.人工智能與專家系統(tǒng)原理及其應(yīng)用[M].北京:中國農(nóng)業(yè)大學(xué)出版社,2004.
【2】尹朝慶,尹皓.人工智能與專家系統(tǒng)[M].北京:中國水利水電出版社,2001.
【3】程偉良.廣義專家系統(tǒng)[M].北京:北京理工大學(xué)出版社,2005.
【4】凌志浩.從神經(jīng)元芯片到控制網(wǎng)絡(luò)[M].北京:北京航空航天大學(xué)出版社,2002.
【5】趙春元,張玉艷,韓希昌.基于神經(jīng)網(wǎng)絡(luò)技術(shù)的故障診斷專家系統(tǒng)及其應(yīng)用[J].沈陽化工學(xué)院學(xué)報,2005(2):116-119.