劉 釗 劉婷婷 汪惠芬
(南京理工大學機械工程學院,江蘇南京 210094)
數控機床設計知識庫是將機床設計過程中的設計經驗知識、理論和實驗方法、優化設計知識等重要的設計知識綜合起來建立的一個完整的知識庫,旨在幫助機床設計人員更好更快地完成機床的設計。
當前,歐美國家在研究知識庫系統方面取得了很大的成果,國外對知識庫系統的研究正向通用化、標準化、網絡化和高度智能化方向發展[1]。在國內,許多大學和科研機構對知識庫系統進行了研究與探索,但由于研究起步比較晚,仍有很多理論和應用問題需要去研究。在機械設計領域,知識庫系統的研究也逐漸起步,主要研究集中在計算機輔助設計領域,涉及到設計知識、協同設計、虛擬設計等方面。劉曉冰等人采用面向對象的建模技術和方法對產品設計知識庫建立方法開展了研究[2],王曉倩在碩士論文中探討了機械產品設計知識庫系統的研究,分析了機械產品設計知識的特點、類型及表示方法,并進行了推理機的設計[3]。但是針對數控機床設計知識庫方面的研究卻比較少。
我國現階段的數控機床設計水平較之國外先進水平仍有很大差距,存在自主開發能力薄弱,專業化的配套體系不完善,功能部件發展滯后,產品自動化水平低,可靠性、精度保持性差等落后狀況。各類機床廠設計的機床結構為確保設計的成功率,大多數利用以往的設計經驗,模仿國內外成熟產品采用類比設計,較少有創新和突破。同時,在機床設計行業,數控機床設計知識以及設計經驗的重用性和共享性差,機床設計知識庫的研究尚在起步階段,還有很長的路要走。
因此,在我國這樣一個數控機床產量巨大,而核心技術又比較落后的國家,開展數控機床設計知識庫方面的研究,建立完整準確的數控機床設計知識庫,才能快速、低成本地開發出高速、高精度、高效率的機床產品,提高市場競爭力。
本文分析了數控機床設計知識的特點并對其進行了歸納和分類,采用面向對象的表示方法來表示機床設計知識,運用層次知識庫結構思想劃分實例庫和規則庫,應用元知識的方法實現知識管理和利用。成功地實現了知識獲取、表示和維護,并運用SQL Server 2000和Visual Basic 6.0開發了數控機床設計知識管理系統,最后給出了應用實例。
數控機床設計知識的特點主要表現在以下幾個方面:
(1)廣泛性機床產品設計知識涉及范圍廣,與機床設計密切相關的知識主要包括工程技術、機械原理、機械設計、加工工藝、金屬材料、理論力學、材料力學、人機工程學、工程制圖和計算機輔助設計技術等,這些專業知識都是機床設計人員所要掌握的知識。
(2)隱含性機床產品設計知識有很大一部分是設計人員頭腦中的經驗、技藝和訣竅等,很難以顯性化的方式表達出來,需要采用一定的方法激勵設計人員以實現知識的共享。
(3)復雜多樣性 機床產品設計領域知識類型多、內容復雜且多種多樣,既有設計理論知識和專家設計經驗,還有實踐中不斷發展著的設計知識。

由此可見機床設計知識庫開發的難度很大程度上取決于對機床設計知識的歸納總結。依據理論學習和實際調研情況,可以將機床設計知識分為實例知識和規則知識,具體分類如圖1所示。
實例知識主要是設計成功的機床產品、相應的設計經驗以及機床動態特性分析知識等。機床設計實例具有可重用性,根據所要設計機床產品的功能、精度、性能等要求,分析查找先前設計成功的實例作為設計的重要參考,并依據設計經驗做出需要的修改,將適用的設計思想和設計方法運用于當前的設計中。
規則知識是指在數控機床設計領域的設計理論知識,設計標準知識以及設計人員寶貴的設計經驗等,將這些知識作為規則存儲到規則庫中,用于指導機床設計。這一部分相當關鍵,規則庫中知識量的多少將直接影響解決問題的能力,所以應該建立激勵機制,鼓勵設計人員貢獻出自己的知識,使隱性知識顯化。將這些寶貴的設計經驗知識放到知識庫中實現知識共享。
知識表示是把從知識源獲得的關于事實、判斷和推理的知識進行歸納概括并建立起各種關系,然后將知識表達成計算機易于表達和利用的符號[4]。知識表示的常用方法有一階謂詞邏輯、產生式規則表示法、語義網絡法、框架表示法和面向對象表示法等[5]。知識表示是實現知識存儲和建立知識庫的前提。根據上文中闡述的數控機床設計知識的特點,本文選用面向對象的知識表示方法,很好地實現了機床設計知識的表示。
面向對象的知識表示方法是以對象為中心,將對象的屬性、動態行為和特征、相關領域的知識和數據處理方法等有關知識封裝在表達對象的結構中,以便于數據的共享和再利用;而且面向對象方法的繼承性體現了概念分離抽象,在對象繼承結構上,下層對象繼承上層對象的特征(屬性和操作),因而便于知識的演化和增量式的擴充[6-7]。
依據圖1機床設計知識的分類,采用面向對象的知識表示方法,我們將機床設計知識抽象成兩大基本類:機床設計實例知識類和機床設計規則知識類,在此基礎上還可以再抽象出多個知識子類,例如實例知識類可以再分為機床系列實例類、關鍵零部件實例類、整機動態特性分析實例類和機床結合面特性實例類;設計規則知識類可以再抽象為總體設計方案規則類、部件設計規則類和零件設計規則類。根據實際情況還可以在子類的基礎上再抽象子類的子類,然后根據情況具體化為對象。
在抽象成類的同時定義每一個知識類的屬性和類與類之間的聯系。用戶在定義類的同時實現了知識類的屬性定義和屬性之間的關聯定義,從而實現了類之間的關系模型。
對象類的抽象結構定義形式:

在將機床產品設計知識抽象成類以后,可以采用樹形知識結構來對這些類進行管理。樹形結構非常適合表達層次知識模型,這樣就可以清晰地表達出類與類以及類與對象之間的層次關系。
在樹形結構中,每一個節點表示一個類,知識節點之間存在明顯的分支和層次關系。如圖1機床設計知識分類所示,上層知識是對下層知識的概括和歸納,下層知識是對上層知識的細化、詳述及擴展。樹形結構一般具有以下幾個特點:
(1)節點的層數可以是無限的;
(2)有1個或者幾個根節點;
(3)每個根節點有大于或者等于0個子節點;
(4)每個節點最多只有1個父節點,有大于或者等于0個子節點。
數控機床設計實例知識和規則知識運用面向對象的表示方法可以描述如下。
(1)實例知識的表示
在面向對象的知識庫中,可以描述如下:
實例知識:Object:<Object Name><Object ID><CLASS><ATTRIBUTE>。以導軌知識為例,Object<導軌LAH30EL><Guideway008><關鍵零部件><生產廠家:HWIN……>。
(2)規則知識的表示
在面向對象知識庫中,單條規則主題由 IFTHEN兩個部分組成。IF部分為一組前提或狀態,THEN部分為若干結論或動作。規則的表示形式為:IF(前提1)&(前提2)&… THEN(結論1)&(結論2)&…。例如:IF(載荷大)&(轉速低)THEN(選用滾子軸承)。
知識庫研究的重點之一是根據數控機床設計知識的特點及其表示方法來組織設計知識和經驗的存儲方法。為了有效地存儲數控機床設計過程中使用的各種設計知識、方法和實例,采用面向對象建模技術和方法構建知識表達模型,將面向對象模型映射到關系數據庫中[2],按照數據庫的組織策略組織實例庫和規則庫。
數控機床設計知識庫的層次結構如圖2所示。數控機床設計實例庫按照知識庫層次結構的分類特點,分為機床系列實例庫、關鍵零部件實例庫、整機動態特性分析實例庫和機床結合面特性實例庫等。規則庫則由總體設計方案規則庫、部件設計規則庫、零件設計規則庫和設計標準庫等組成。

數控機床設計知識的層次性結構特點決定了知識庫的層次結構。為了更好地管理這些設計知識,本文采用元知識的方法(元知識是關于知識的知識),建立元知識層(如圖2中第二層),這樣既可以方便地管理知識庫中的知識,也便于知識的查詢。
在人與計算機交互進行知識的處理時,必須有一個能對知識進行系統化的組織與管理,能存儲、查詢和檢索知識,以及能對知識進行增、減、刪、改的機制,這就是知識庫和知識庫的管理系統。知識庫管理系統是知識庫系統的核心部分,實現對知識庫的知識獲取、知識查詢、知識維護等功能。目前常用的知識庫管理的方式主要有文件管理方式、框架系統管理方式、借用數據庫管理系統方式以及專用知識庫管理系統。考慮到將設計知識存入數據庫中,使用數據庫管理系統實現對知識的管理是一種成熟且容易實現的方法,本文采用借用數據庫管理系統的方式來開發知識庫管理系統。
知識庫系統的原理簡圖如圖3所示,按照面向對象的方法,機床設計知識抽象成類,并定義每個類的屬性及類之間的關系,然后將其存儲到知識類的SQL數據庫中,用戶可以運用ADO技術通過程序接口調用數據庫。知識庫管理系統界面用來向用戶展示規則知識和實例知識的具體內容,實現知識獲取、知識維護和知識查詢等功能。知識獲取有兩種形式:一是由知識庫管理系統直接輸入知識庫,二是由規則推理生成中間知識輸入知識庫中。知識維護主要實現對知識的刪除與更新,及時清除冗余知識,更新知識庫,是非常有必要的。為了保證知識庫中輸入知識的質量,需要通過知識檢查技術對知識進行校驗。這里的知識檢查包括語法檢查、冗余性檢查和矛盾性檢查。知識查詢概括起來主要有兩種方式:精確查詢和模糊查詢。以設計流程知識查詢為例,既可以根據知識名稱進行精確查詢又可以根據關鍵詞、設計要求等進行模糊查詢。知識庫管理系統還實現了知識庫和推理系統的接口,這樣就很好地實現二者的分離,提高系統的性能。推理系統采用了先實例推理,再規則推理的集成機制[8-9]。

數控機床設計知識庫管理系統是在SQL Server 2000和Visual Basic 6.0環境下開發的,能夠實現知識添加、知識修改、知識刪除和知識查詢等管理功能。下面給出機床設計過程知識管理實例。
機床設計過程由總體方案設計、結構分析優化、部件及機構設計和零件設計組成。以主軸部件知識管理為例,用戶可以通過知識維護界面(如圖4所示)實現主軸部件設計知識的添加、修改和刪除功能,其中用戶可以上傳設計知識相關的文件或工程圖,存儲于知識庫中。設計人員可以通過知識查詢界面查找設計需要的知識,方便快捷。知識查詢界面如圖5所示,設計人員既可以選擇精確查詢,根據知識名稱、關鍵詞和知識范疇精確查詢所需要的設計知識,也可以使用模糊查詢功能,輸入所需要的內容進行匹配查詢。查詢結果會顯示在界面的表中,使用者可以打開相應的記錄查看,對更好更快地完成設計具有積極的意義。


本課題研究與開發的數控機床設計知識庫系統能夠應用于一些規模較大的機床生產企業。該知識庫以樹狀的知識結構清晰地組織了機床實例設計知識、關鍵零部件設計知識、動態特性分析知識、機床設計流程知識以及一些重要的設計規則知識和專家設計經驗,能夠方便地查看知識分類信息,進行全方位的知識檢索以及調用一些推理結果以輔助機床的設計。該知識庫系統依據機床企業設計人員的需求而設計,能夠快速地融入到企業的實際應用中,提高企業的經濟效益。
[1]徐潔馨,馬玉書,范明.知識庫系統導論[M].北京:科學出版社,2000.
[2]劉曉冰,楊春立,孫偉.產品設計知識庫建立方法研究[J].計算機集成制造系統 CIMS,2003,8(8):621 -625.
[3]王曉倩.機械產品設計知識庫系統研究[D].西安:西安建筑科技大學,2005.
[4]何新貴.知識處理與專家系統[M].北京:國防工業出版社,1990.
[5]TANIA CRISTINA.Knowledge engineering suite:a tool to create ontologies for automatic knowledge representation in Knowledge-based.sys-tems[M].Computers Science,2005.
[6]WALCZAK S.Knowledge acquisition and knowledge representation with class the object- oriented paradigm[J].Expert Systems with Applications,1998,15(3):235 -244.
[7]Yao Tsung Lin,S S Tseng,Chi- Feng Tsai.Design and implementation of new object- oriented rule base management system[J].Expert Systems with Applications,2003,25:369 -385.
[8]代榮,何玉林,楊顯剛.基于摩托車智能設計的實例推理應用研究[J].西南大學學報:自然科學版,2007,29(9):163 -168.
[9]Marling CR,Petol G J.Integrating case-based and rule-based reasoning too meet multiple design constraints[J].Computational Intelligence,1999,15(3).