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

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

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