燕繼明,石榮波
(中航工業成都飛機工業 (集團)有限責任公司,四川成都610092)
數控機床維修專家系統的建立,是為了解決機床故障的預警、準確診斷和快速排除,以提高數控機床維修效率,保障數控機床的正常運行。為此,將數控機床維修領域內多位專家的知識和經驗準確地表達出來,設計出高效的知識庫,是維修專家系統成為實用的專家級系統的重要基礎。
數控機床是機械、電子、計算機、光學、檢測等高新技術高度集成的自動化設備,涉及到如此多的技術領域,并且又高度集成,造成機床發生故障的表現多種多樣,并且即使表現相同,原因卻可能不同。無論從涉及的技術領域的多樣性,還是每種領域本身的復雜性,以及造成故障的不確定性,都使維修專家系統的知識表示異常困難。
有專家提出知識表示方法[1],基本概括了專家系統知識庫常用的知識表示法,共有11種,如圖1所示。這些方法各有優缺點,如謂詞邏輯表示法,能夠精確地表示人類的某些思維和推理,并適于計算機處理,但是對于具有歸納結構的知識、多層次的知識就顯得力不從心;又如產生式表示法,適合于表達具有因果關系的過程型知識,卻不能表示具有結構關系的事物之間的聯系等。在具體的應用中,由于領域的復雜性,選用單一的知識表示法往往不能準確地表示出該領域的知識,越是復雜的領域,所用的知識表示法越多樣。

圖1 常用的知識表示法
文中通過分析數控機床維修領域所涉及到的各種知識的特點,重點使用產生式知識表示法 (也稱為基于規則的知識表示法),并以特性表表示法和過程表示法作為補充,實現完整、準確、高效地表達數控機床維修領域內的知識。
對數控機床進行維修,首先要對維修對象有較深入的了解,如機床的結構、行程、各種幾何精度、控制系統型號、甚至于生產廠家等,這類信息的特點是一系列整齊的特征-值序列。
另外,還要了解正常使用機床時的各種工況信息以及對應的動態性能信息,這類信息的特點是每條信息都對應多元值。以上信息構成了對機床的基本特性的認識知識。
建立在對機床基本特性認識的基礎上,還要準確把握機床從正常到故障的各個狀態的特點和轉換關系,這是一個動態的過程。
進行數控機床的維修,最關鍵是對故障的準確診斷。每種故障都表現出一些現象,而現象的發生必定是有原因的。由于數控機床是由多種不同的部件構成,每種部件的組成也很復雜,因此,一種故障現象往往是由多種可能的原因造成,如何從眾多的可能原因中找到真正的原因,是故障診斷的實質。引起故障的原因和表現的現象之間是一種因果關系,現象和原因之間又是一種一對多的關系。某部件故障現象和原因關系結構如圖2所示。

圖2 某部件的故障現象和原因關系圖
以上所述為數控機床維修時所涉及的主要知識的特點,具體可分為機床整機特性信息、部件特性信息、元器件特性信息、故障特征信息、故障預警規則、故障診斷規則、故障排除方法等。其中,前3種為針對某對象的特征信息,都用以描述對象的一系列基本的靜態特性,可以使用特性表表示法來表示這類知識。后4種針對故障預警和診斷,用以描述故障的現象、原因及之間的關系、推理等,主要使用產生式表示法來表示這類知識,在推理的過程中也會使用過程表示法來提高效率。
所謂一個特性是一個序偶 (特征,值),如 (名稱,三坐標立式加工中心)、(制造商,某公司)等。關于某事物的一組特性可以組織成一張特性表,用這種方法可以方便、直觀地表示許多類型的知識。
一臺數控機床的基本信息可以表示成一個特性表。如表1所示為一臺三坐標立式加工中心的基本信息特性表。

表1 三坐標立式加工中心的特性表
有的特性并不是一個序偶,而是一個多元組,這時仍然可以用特性表來表示。對設備性能進行評價時用到的工況信息的特性表如表2所示。

表2 某設備工況信息特性表
關于特性表表示知識的推理,實際上就是基于關鍵字的一種檢索。
產生式表示法常用于表示因果關系的知識,其基本形式是

其中:P是產生式的前提,用于指出該產生式是否可用的條件;Q是產生式的結論或操作,亦可稱為后件,用于指出當前提P所指示的條件被滿足時,應該得出的結論或應該執行的操作。產生式的含義是:如果前提P被滿足,則可推出結論Q或執行Q所規定的操作。
用產生式表示的知識是一組產生式的有序集合,語法上可用BNF((Backus-Naur Form,巴科斯-諾爾范式)描述如下:

產生式知識中,諸產生式的次序是有意義的,因為-般推理程序都是從前往后順序地進行匹配,查找可被運用的產生式,因而放在前面的產生式就可能先得到匹配。從而執行其右部動作,或先推導出右部結論。
數控機床的故障呈現出一個現象、一種或多種原因的形式,并且,原因也是分層次的,各級原因又可看作為下一級原因表現出的現象,如表3所示為液壓系統故障與原因關系表。這種特點很適合用產生式規則表示法來表示相關的知識。

表3 液壓系統故障與原因關系表
在表3中,為了識別液壓系統的故障,可以根據這種故障現象的特征,表示如下:

由上述產生式知識表示法表示知識的規則可以看出,設計的基本思想是:首先把故障現象分為若干類,如“不工作”、“報警”等,根據“類”的識別特征建立若干條規則,如規則Rl~R8,然后對屬于各類的各個故障現象,根據其個性的識別特征建立各自相應的規則,如規則R16~R19。這樣至少有兩個好處:(1)當給出的己知事實不完全時,雖然不能得出最終結論,但可能會給出分類結果;(2)當需要增加對其他故障現象的識別要求時,規則庫中只需增加關于這些故障現象個性方面的知識,對于規則庫中已有的分類知識 (如R1~R8等)就可以直接使用。
過程即為一個子程序。所謂知識的過程表示就是把知識包含在若干過程之中,每個子程序完成特定的功能或利用知識解決特定問題。可以說過程表示是動態知識的表示模式。過程性知識表示強調知識的利用,即如何找出相關事實,如何去推理等等。一般來說,過程由兩部分組成:一部分是表示數據和知識的數據結構,另一部分是基于這些數據結構的推理或問題求解。前者是過程的說明部,后者是過程體。
一個過程精確地告訴先做什么,后做什么,并能決定在不同情況下分別做不同的工作。而且能表示在出現異常情況時如何處理等等。過程能調用子過程,甚至調用自身 (遞歸調用),因此,過程可以表示十分復雜的知識,可以把過程知識表示成層次嵌套結構。
使用過程表示法表示數控機床故障的預警過程。數控機床由各功能部件組成。故障在一定程度上有漸變性,即部件的故障是從無到有慢慢發展的,根據部件狀態的變化趨勢,可以對故障進行預警。如圖3所示為機床狀態變化。圖3為過程表示法表示的故障預警過程。在圖4中,將對機床部件的性能評估作為一個過程 (模塊),其輸入為機床工況信息及在該工況下部件的運行狀態信息,輸出為對該部件的性能評估結論。將機床的狀態變化評估作為一個過程 (模塊),利用該模塊對性能評估結論進行評價,實現分級預警。

圖3 機床狀態變化圖

圖4 故障預警過程圖
數控機床故障預警和診斷系統是一個數控機床維修專家系統。系統結構如圖5所示,由采集層、處理層、評估層和應用層構成。采集層獲取或采集機床的底層運行狀態數據并送往處理層;處理層分析和處理獲取的數據,得到對象的特征信息并送入評估層;評估層實質上是一個專家知識庫,主要分為機床基礎數據、狀態評估和性能評估3部分。應用層利用專家知識庫的知識進行推理,實現機床故障預警和診斷,并給出相應的解決辦法。

圖5 數控機床故障預警和診斷系統結構圖
該系統的核心是評估層,即專家知識庫。其中,“基礎數據”部分,主要涉及機床基本信息、機床資料和參數信息等,機床基本信息由一組序偶組成,機床資料和參數信息都是多元組,這些特點適合于利用“特性表表示法”。機床的控制系統及外圍部件的狀態變化表現出的現象以及產生的原因信息,具有典型的因果關系特征,使用“產生式表示法”表示這部分知識。在故障診斷和預警時發生的各種狀態變化以及相應的評價,是一系列動態的過程,將其中的狀態評測以及性能評價等作為過程,利用“過程表示法”實現評估。
專家知識庫的開發使用ORACLE9i數據庫技術,該數據庫技術所擁有的強大的管理能力和搜索能力,足以支持維修專家知識庫各種功能表設計及數據查詢,甚至該維修專家系統的許多推理功能都是依賴于這種強大的數據查詢能力實現的。也即維修專家知識庫所使用的各種知識表示法是非常便于使用ORACLE數據庫技術實現的。
該系統應用在一臺國產三坐標立式加工中心上,已成功對該設備液壓系統、換刀裝置、y向傳動系統發生的5次故障進行準確診斷,極大地提高了維修效率。因此,也證明文中所述的知識表示法是準確有效的。
綜合應用產生式表示法、過程表示法和特性表表示法于數控機床維修專家系統的知識表示,可以方便實現模塊化,也便于檢測出矛盾的知識和冗余的知識,同時便于實現高效率的推理功能,因此,可以有效地表示出數控機床故障現象、原因及排除方法等維修所需的知識。同時,結合現代數據庫技術,開發的專家知識庫,將很好地支持數控機床維修專家系統成為一個真正的專家級維修系統。
【1】鄭麗敏.人工智能與專家系統原理及其應用[M].北京:中國農業大學出版社,2004.
【2】尹朝慶,尹皓.人工智能與專家系統[M].北京:中國水利水電出版社,2001.
【3】程偉良.廣義專家系統[M].北京:北京理工大學出版社,2005.
【4】凌志浩.從神經元芯片到控制網絡[M].北京:北京航空航天大學出版社,2002.
【5】趙春元,張玉艷,韓希昌.基于神經網絡技術的故障診斷專家系統及其應用[J].沈陽化工學院學報,2005(2):116-119.