基于數(shù)據(jù)驅(qū)動(dòng)方式的NC代碼自動(dòng)生成
時(shí)間:2011-07-16 08:34:29 來(lái)源:未知
摘要:提出了一種數(shù)據(jù)驅(qū)動(dòng)方式來(lái)代替?zhèn)鹘y(tǒng)的人機(jī)交互方式對(duì)制 造模型進(jìn)行處理,并自動(dòng)生成NC代碼。依次論述了數(shù)據(jù)驅(qū)動(dòng)文件原理、實(shí)現(xiàn)的前提、表達(dá)規(guī)則、生成方式以及運(yùn) 行并生成NC代碼。
在CAPP與CAM系統(tǒng)中,人機(jī)交互方式實(shí)現(xiàn)NC代碼的生成是最常用的方式。通常CAPP并不提供給CAM所需的機(jī)床設(shè)備、加工刀具、切削速度、進(jìn)給量等參數(shù)信息,CAM要取得這些信息,只有通過(guò)人機(jī)交互逐一輸入,最后得到NC代碼。這種方式不僅效率低,而且容易出錯(cuò),成為CIMS 的一個(gè)障礙。在利用Pro/Engineer 平臺(tái)進(jìn)行CAD/CAPP/CAM信息集成的研究過(guò)程中,探索出一種以數(shù)據(jù)驅(qū)動(dòng)方式實(shí)現(xiàn)信息在CAPP與CAM之間自動(dòng)傳輸,實(shí)現(xiàn)對(duì)加工模型參數(shù)的自動(dòng)配置來(lái)得到NC代碼。
一、數(shù)據(jù)驅(qū)動(dòng)文件的概念
- 數(shù)據(jù)驅(qū)動(dòng)方式的原理
- 實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的前提條件
- 加工特征處理過(guò)程的中性表達(dá)規(guī)則
- 模式化加工過(guò)程的建立
- 特征加工方法的確定
- 以一定的規(guī)則,對(duì)加工特征的處理過(guò)程進(jìn)行中性描述,形成模式化的特征加工過(guò)程,并以此為基礎(chǔ)組成數(shù)據(jù)文件。當(dāng)系統(tǒng)讀入該文件時(shí),它便會(huì)驅(qū)動(dòng)系統(tǒng)按照數(shù)據(jù)文件描述的特征處理過(guò)程自動(dòng)執(zhí)行。當(dāng)文件讀入完畢時(shí),也就完成了系統(tǒng)間的信息傳輸。這樣一種以數(shù)據(jù)描述表示人機(jī)交互操作,以數(shù)據(jù)文件的自動(dòng)讀入實(shí)現(xiàn)系統(tǒng)間信息傳遞的方式,作者稱其為數(shù)據(jù)驅(qū)動(dòng)方式。該方法的特點(diǎn)是用數(shù)據(jù)表達(dá)人機(jī)交互操作,文件的讀入過(guò)程就是信息的傳輸和處理過(guò)程。這種利用數(shù)據(jù)文件實(shí)現(xiàn)系統(tǒng)間信息的傳遞,是目前研究CAD/CAPP/ CAM集成的熱點(diǎn)。
- 特征加工過(guò)程的模式化 所謂特征加工過(guò)程的模式化,是指每一個(gè)需要加工的特征,無(wú)論是平面類特征還是孔類特征,它們都具有相似的加工處理過(guò)程。事實(shí)上,我們?cè)诶肞ro/Engineer對(duì)特征進(jìn)行加工處理時(shí),處理過(guò)程正是相似的。其模式化加工過(guò)程如下:
- 開(kāi)始一個(gè)NC SEQUENCE,即開(kāi)始一個(gè)加工特征的處理工作。
- 進(jìn)行加工特征類型選擇,確定加工特征是平面類、孔類還是其它類型。
- 加工刀具的選擇,根據(jù)零件的材料、特征的類型、特征的精度要求以及粗精加工狀態(tài)選擇從標(biāo)準(zhǔn)庫(kù)選擇合適的刀具。
- 機(jī)加工參數(shù)的選擇,根據(jù)現(xiàn)有的設(shè)備、選擇的刀具等因素綜合確定機(jī)加工參數(shù),并從機(jī)加工參數(shù)庫(kù)中選擇。
- 加工對(duì)象和退刀面的選擇:在Pro/Engineer中,零件的每一個(gè)特征或幾何要素都可以從菜單中選擇出。退刀面可通過(guò)在加工坐標(biāo)系的Z 軸方向設(shè)置一個(gè)合理的數(shù)值來(lái)得到。
- 刀軌生成和材料切削動(dòng)態(tài)演示:在完成上述工作后,就可以生成刀軌文件并動(dòng)態(tài)演示刀具的切削過(guò)程,以判定所生成的刀軌是否合理。
- 保存生成的NC SEQUENCE,至此,一個(gè)特征的完整加工處理過(guò)程便結(jié)束了。
- 刀具參數(shù)、機(jī)加工參數(shù)的標(biāo)準(zhǔn)化 刀具參數(shù)和機(jī)加工參數(shù)都以數(shù)據(jù)文件的形式按類存放在標(biāo)準(zhǔn)庫(kù)中,當(dāng)需要使用時(shí),通過(guò)調(diào)用文件名便可實(shí)現(xiàn)。為擴(kuò)大應(yīng)用范圍,該標(biāo)準(zhǔn)庫(kù)是開(kāi)放式的,用戶可以對(duì)這些參數(shù)根據(jù)需要進(jìn)行任意的增加、修改和刪除,這樣可以減少重復(fù)設(shè)置、節(jié)省時(shí)間、提高效率。
- 零件特征的菜單選擇 在用人機(jī)交互方式進(jìn)行加工特征處理時(shí),加工特征的選取往往是通過(guò)在屏幕上用鼠標(biāo)點(diǎn)取該特征來(lái)實(shí)現(xiàn)的。用數(shù)據(jù)驅(qū)動(dòng)方式進(jìn)行加工特征處理時(shí),由于可選點(diǎn)的坐標(biāo)范圍不易確定,使得通過(guò)菜單來(lái)選擇特征成為必要。在Pro/Engineer軟件中,每一個(gè)特征和每一個(gè)幾何要素都可通過(guò)選取菜單來(lái)得到。
- 為了使加工特征處理過(guò)程表達(dá)得合理、充分,有必要對(duì)加工特征處理過(guò)程的描述作出規(guī)定。結(jié)合系統(tǒng)軟件的特點(diǎn),對(duì)處理過(guò)程的操作表達(dá)作如下規(guī)定:
#p#分頁(yè)標(biāo)題#e#
- 注釋信息 要表達(dá)注釋信息時(shí),可在所要表達(dá)的信息前加“!”。例如:
- ! trail file version No. ###
- 用戶輸入 用戶輸入信息單獨(dú)占據(jù)一行,在該行中無(wú)其它信息。例如要輸入零件名Example 1,可表示為:
- Example 1
- 系統(tǒng)菜單選擇 在需要選擇的菜單前加“#”。例如,要選擇菜單DONE,則表示為:
- #DONE
- 鼠標(biāo)選擇 鼠標(biāo)的選擇點(diǎn)以x,y坐標(biāo)表示,在坐標(biāo)后加上所按的鍵。鼠標(biāo)有三個(gè)鍵,分別以L(left)、M(middle)、R(right)表示。例如以鼠標(biāo)左鍵點(diǎn)取點(diǎn)(2.00,3.00,則表示為:
- 2.00 3.00 L
- 默認(rèn)系統(tǒng)設(shè)置 通過(guò)讓在有系統(tǒng)默認(rèn)值提示的下面空一行,來(lái)實(shí)現(xiàn)接受系統(tǒng)默認(rèn)值。
- 二維對(duì)象選擇 以@ sel2d開(kāi)頭,后接對(duì)象名稱及其關(guān)鍵屬性和鼠標(biāo)點(diǎn)取方式。以對(duì)圓標(biāo)注尺寸為例,選取圓心為(0,4)的圓,尺寸標(biāo)注點(diǎn)在(1,1),則表示為:
- @ sel2d CIRCLE 0 4 1 1 M
- 三維對(duì)象選擇 以@ sel view 0作為第一行,下面接三維對(duì)象的數(shù)據(jù)結(jié)構(gòu)信息。
- 例如,對(duì)于平面,其數(shù)據(jù)結(jié)構(gòu)為:
- typedef struct p_plane
- {
- double e1 [3] : / * u向單位向量* /
- double e2 [3] : / * v向單位向量* /
- double e3 [3] : / * 平面的指向* /
- double origin[3 ] : / *平面的原始點(diǎn)* /
- }:
- 假設(shè)e1[3]={1,0,0}:e2[3]={0,1,0}:e3[3]={0,0,1}:origin[3]={0,0,0}
- 則表示為:
- @ sel view 0
- 1 0 0 0 1 0 0 0 1 0 0 0
- 根據(jù)以上分析可知,加工特征的處理過(guò)程是模式化的。通過(guò)分析Pro/Engineer軟件加工零件的人機(jī)交互過(guò)程,總結(jié)出箱體類零件常用加工方式的加工模式。箱體類零件主要是孔加工和面加工。在孔加工模式中有鉆孔加工模式、鏜孔加工模式、螺紋孔加工模式、鉸孔加工模式等:在平面加工模式中主要有銑削加工模式、磨削加工模式等。為具體說(shuō)明模式化加工過(guò)程的建立,下面以螺紋孔加工模式為例詳細(xì)介紹:
- #NC SEQUENCE / *開(kāi)始一個(gè)特征加工* /
- #New Sequence
- #HOLEMAKING / *確定加工特征類型* /
- #DONE
- #TAP / *確定孔特征類型* /
- #DONE
- #DONE
- #RETRIE_E
- #T5 / *確定刀具參數(shù)* /
- #DONE
- #RETRIE_E
- #T0001 / *確定機(jī)加工參數(shù)* /
- #DONE
- #BY TIP / *確定孔的屬性* /
- #DONE
- #SEL BY MENU
- #FIRST.PRT
- #SURFACE
- #TOPFACE
- #ENTER
- 6 / *孔深輸入* /
- #SEL BY MENU
- #AXISI / *孔軸選擇* /
- #DONE SEL
- #DONE / RETURN
- #DONE
- #DONE/RETURN
- #PLAY PATH / *刀具路徑生成* /
- #DONE CL
- #DONE
- #NC CHECK / *材料切削動(dòng)態(tài)演示* /
- #RUN
- #DONE / RETURN
- #CONFIRM
- #DONE / RETURN
- #DONE SEQ / *結(jié)束加工處理定義* /
- #CL DATA
- #NC SEQUENCE
- #16: Holemaking,Operation:POP
- 150
- #FILE
- TT0001 / *保存刀軌文件* /
- #DONE OUTPUT
- #DBMS
- #SAVE
- 在一定的制造環(huán)境下,特定的特征加工方法是有限的。以通孔特征為例,該特征可以通過(guò)鉆、擴(kuò)、粗鉸、精鉸、粗鏜、精鏜等加工方法的排列組合來(lái)實(shí)現(xiàn)。我們可以根據(jù)實(shí)際制造環(huán)境,按照系統(tǒng)的要求,定義適合給定特征的加工方法。在工藝決策過(guò)程中,系統(tǒng)通過(guò)推理根據(jù)特征類型和特征的工藝約束參數(shù)選擇具體加工方法。與特征加工方法庫(kù)的建立一樣,我們建立了標(biāo)準(zhǔn)刀具庫(kù)和機(jī)加工參數(shù)庫(kù)。在具體應(yīng)用時(shí),可根據(jù)實(shí)際情況對(duì)數(shù)據(jù)庫(kù)的內(nèi)容進(jìn)行增加、修改和刪除以滿足不同情況的需要。#p#分頁(yè)標(biāo)題#e#

圖1 數(shù)據(jù)驅(qū)動(dòng)文件生成圖
二、數(shù)據(jù)驅(qū)動(dòng)文件的生成
數(shù)據(jù)驅(qū)動(dòng)文件是由工藝決策模塊(CAPP 模塊)在工藝決策過(guò)程中伴隨工藝路線的產(chǎn)生而產(chǎn)生的。當(dāng)CAPP 進(jìn)行工藝決策時(shí),每確定一個(gè)加工對(duì)象的工藝和加工方法,同時(shí)選擇加工該特征的刀具、機(jī)床、進(jìn)給量、機(jī)床轉(zhuǎn)速等,并將它們都輸入一個(gè)文件,該文件就是數(shù)據(jù)驅(qū)動(dòng)文件。它可被Pro/Engineer識(shí)別并執(zhí)行。數(shù)據(jù)驅(qū)動(dòng)文件的生成過(guò)程如圖1所示。當(dāng)讀入文件時(shí),這樣就將生成NC代碼所需參數(shù)自動(dòng)傳輸給既定的加工模型:讀完文件后,系統(tǒng)就可進(jìn)行刀路演示,生成數(shù)控代碼。該數(shù)控代碼經(jīng)過(guò)后置處理后,就可用于機(jī)床加工。

圖2 數(shù)據(jù)驅(qū)動(dòng)文件的結(jié)構(gòu)示意圖
由于該數(shù)據(jù)驅(qū)動(dòng)文件的內(nèi)容是以單個(gè)特征的模式化加工過(guò)程構(gòu)成的,因此中性文件是基于特征的。一個(gè)特征在Pro/Engineer中的一次模式化加工被稱為一個(gè)NC Sequence,基于同一加工坐標(biāo)系的若干NC Sequence稱為一個(gè)Operation。數(shù)據(jù)驅(qū)動(dòng)文件可包含多個(gè)Operation,而每個(gè)Operation又可能包含多個(gè)NC Sequence。其內(nèi)容框架如圖2所示。
三、數(shù)據(jù)驅(qū)動(dòng)文件的自動(dòng)讀入和NC代碼的生成
有了數(shù)據(jù)驅(qū)動(dòng)文件后,便可利用它來(lái)實(shí)現(xiàn)NC代碼的生成。讀取數(shù)據(jù)驅(qū)動(dòng)文件是通過(guò)利用Pro/Develop的文件讀入函數(shù)所開(kāi)發(fā)的菜單來(lái)實(shí)現(xiàn)的。該菜單是MAIN菜單下MISC的子菜單TRAIL。當(dāng)進(jìn)入Pro/Engineer 界面后,按下菜單鍵TRAIL,再根據(jù)系統(tǒng)要求輸入數(shù)據(jù)驅(qū)動(dòng)文件名,該文件便會(huì)自動(dòng)讀入。該文件讀入函數(shù)如下:
#Include"prodevelop. h"
#Include"profiles. h"
int pro_read_file_to_pro (
wchar_t file_name, / *(in)The file name * /
Prohandle object_ptr, / *(in) The object * /
Int file_type, / *(in)The file type * /)
讀入數(shù)據(jù)驅(qū)動(dòng)文件的界面圖( 略) 。讀入文件完成后,可直接得到包含刀具軌跡的刀軌文件*. ncl。得到刀位文件后,經(jīng)過(guò)后處理器,就可將它轉(zhuǎn)換成相應(yīng)設(shè)備可識(shí)別的NC 代碼。
四、結(jié)論
本文討論的利用數(shù)據(jù)驅(qū)動(dòng)方式實(shí)現(xiàn)NC代碼的自動(dòng)生成,解決了NC編程中信息的輸入問(wèn)題。該方法避免了信息的重復(fù)輸入,最大限度地利用了系統(tǒng)的信息資源,保證了零件信息流傳遞的暢通,初步實(shí)現(xiàn)了CAD/CAPP/CAM 信息的集成。實(shí)踐表明,與傳統(tǒng)的NC代碼生成方法相比,該方法方便、快捷,可減少由于人機(jī)交互而發(fā)生的錯(cuò)誤,生成的數(shù)控代碼可應(yīng)用于實(shí)際加工。