引言
數(shù)控編程一直是我國(guó)數(shù)控機(jī)床應(yīng)用的瓶頸:一般進(jìn)口數(shù)控機(jī)床中附帶的輔助編程,功能過(guò)于單一,很難滿足用戶的高層次要求;進(jìn)口的CAD/CAM軟件則價(jià)格昂貴,硬件環(huán)境要求高(一般均要求在工作站以上),需要進(jìn)行充分地二次開(kāi)發(fā),且這類軟件對(duì)員工素質(zhì)要求高,在我國(guó)很難普遍推廣應(yīng)用。本文面向一般數(shù)控機(jī)床用戶,針對(duì)機(jī)械零件中占90%以上的普通零件,以銑削加工為背景,在Windows98環(huán)境下設(shè)計(jì)了一個(gè)自動(dòng)編程軟件,以提高NC編程的效率與質(zhì)量,改善NC加工環(huán)境。
1 需求分析與設(shè)計(jì)目標(biāo)
本軟件主要是為了減少制造過(guò)程中人的參與,進(jìn)一步提高自動(dòng)化程度。軟件須具有良好的用戶界面,操作簡(jiǎn)單、方便,需要編程員輸入的參數(shù)應(yīng)盡可能少,降低數(shù)控編程對(duì)編程員需要有較高機(jī)加工專業(yè)知識(shí)與經(jīng)驗(yàn)和計(jì)算機(jī)編程能力的要求,簡(jiǎn)化數(shù)控編程;另一方面,它需要有強(qiáng)大的計(jì)算能力,以滿足高精度加工要求;而且,應(yīng)易實(shí)現(xiàn)功能擴(kuò)充,能對(duì)加工過(guò)程(NC程序的執(zhí)行)進(jìn)行直觀模擬,以便調(diào)試。
2 總體設(shè)計(jì)
我們?cè)O(shè)計(jì)的此自動(dòng)編程軟件主要由以下5部分組成:用于加工策略確定的機(jī)加工專家系統(tǒng),以實(shí)現(xiàn)根據(jù)編程員輸入的有關(guān)參數(shù)與指標(biāo),確定各工步及加工參數(shù),即決定工步及M、F、S、T及某些G指令的參數(shù);圖形編輯和坐標(biāo)計(jì)算部分實(shí)現(xiàn)由編程員輸入刀具軌跡,軟件系統(tǒng)自動(dòng)計(jì)算全部節(jié)點(diǎn)坐標(biāo),以形成G00、G01、G02、G03、G8X等指令參數(shù);仿真模擬部分實(shí)現(xiàn)對(duì)給定NC程序執(zhí)行過(guò)程的模擬,為了簡(jiǎn)化軟件系統(tǒng)的設(shè)計(jì),不考慮零件無(wú)關(guān)細(xì)節(jié),由編程員給出與相應(yīng)NC程序相關(guān)的零件外形與尺寸,以單步/自動(dòng)方式仿真模擬加工過(guò)程;NC程序編輯部分,實(shí)質(zhì)是一個(gè)普通文本編輯器,允許編程員對(duì)NC程序直接進(jìn)行必要的調(diào)整、打印輸出等操作;通訊部分則允許通過(guò)RS-232接口,把程序直接傳送給數(shù)控機(jī)床,而不必通過(guò)磁盤轉(zhuǎn)存或人工輸入機(jī)床。
3 具體設(shè)計(jì)中的若干主要問(wèn)題
3.1 編程語(yǔ)言的選擇
由于面向?qū)ο蠓椒橄笮?、封裝性、繼承性、多態(tài)性于一體,具有顯著的可復(fù)用、易修改、易擴(kuò)充等特性,很容易實(shí)現(xiàn)軟件功能的修改與擴(kuò)充,而面向?qū)ο蟮恼Z(yǔ)言中,C++功能強(qiáng)而且發(fā)展較成熟,同時(shí)考慮到Microsoft公司的Windows系統(tǒng)為應(yīng)用系統(tǒng)提供了統(tǒng)一的用戶界面,很受大家歡迎,本軟件采用Microsoft的Visual C++編程語(yǔ)言。但是,它不能合適而有效地表示知識(shí)和進(jìn)行推理,對(duì)于本軟件的智能部分(機(jī)加工專家系統(tǒng))宜選擇面向任務(wù)和知識(shí)、以知識(shí)表示和邏輯推理為目標(biāo)的人工智能和智能控制用編程語(yǔ)言。由于Prolog語(yǔ)言通過(guò)合一、置換、消解、回朔、匹配機(jī)制來(lái)求解問(wèn)題,本身就是一個(gè)演繹推理機(jī),從而可以極大地簡(jiǎn)化智能軟件的設(shè)計(jì),本軟件的智能部分選用Prolog語(yǔ)言實(shí)現(xiàn)。
3.2 加工策略確定部分的設(shè)計(jì)
刀具管理功能同時(shí)管理刀具數(shù)據(jù)庫(kù)和刀庫(kù)數(shù)據(jù)庫(kù),刀具數(shù)據(jù)庫(kù)存該機(jī)床所配全部刀具各種參數(shù),刀庫(kù)數(shù)據(jù)庫(kù)存刀庫(kù)中刀具的信息。專家系統(tǒng)根據(jù)編程員輸入的材料加工精度要求等,以及刀庫(kù)數(shù)據(jù)庫(kù)刀具信息,在專家知識(shí)水平級(jí)上確定出合理的加工參數(shù),如選擇合適的刀具、適當(dāng)?shù)倪M(jìn)給率、切削速度、主軸轉(zhuǎn)速、及合理的工步流程,需要時(shí),提出調(diào)整刀庫(kù)。由于Prolog語(yǔ)言本身就是一個(gè)推理機(jī),這里的主要工作就是建立專家知識(shí)庫(kù),知識(shí)庫(kù)的組織。
3.3 刀具軌跡輸入與坐標(biāo)計(jì)算
本軟件設(shè)計(jì)中一改傳統(tǒng)的由點(diǎn)、線、圓等基本圖元輸入,必要時(shí)遞歸計(jì)算坐標(biāo)的方法,而以在實(shí)踐中總結(jié)出的大量常用圖形模式,成組輸入圖元,尤其針對(duì)一些計(jì)算較復(fù)雜的情況。常規(guī)輸入時(shí),需人工確定圓1、圓2計(jì)算出P1、P2、P3、P4坐標(biāo),逐個(gè)輸入圖元;而在本軟件中,僅需選定相應(yīng)圖形模式,只給出兩個(gè)圓心即可,P1、P2、P3、P4坐標(biāo)計(jì)算由軟件自動(dòng)完成,不需人工參與。同時(shí),由于是選定模式輸入,此時(shí)坐標(biāo)計(jì)算可直接調(diào)用既定公式,這樣,就極大地簡(jiǎn)化了輸入且提高了計(jì)算效率及精度。
3.4 加工過(guò)程模擬