一、前言
MasterCAM是由美國CNC Software公司率先開發的CAD/CAM軟件系統,其豐富的三維曲面造型設計、數控加工編程的功能尤其適合航空航天、汽車、模具等行業。它的數控加工編程功能輕便快捷,特別適合車間級和小型公司的生產與發展,目前,在國內外得到了非常廣泛的應用。MasterCAM系統可提供2~5軸銑削、車削、變錐度線切割4軸加工等編程功能。目前三軸銑削在模具和其他行業的應用最為廣泛,隨著數控加工技術不斷朝高速、超高速、高精密、多軸聯動及工藝的復合化加工的方向發展,數控五軸銑削加工應用的范圍將不斷擴大。五軸銑削加工不再僅限于葉輪、葉片等復雜零件的加工,對于模具行業等涉及空間曲面的凸凹模、大型整體零件的結構特征應用范圍逐漸擴大,通過利用立銑刀的側刃和底刃,五軸銑削加工可以避免球頭刀的零速切削、零件的多次定位裝夾等缺陷,可在很大程度上提高產品的加工效率和質量。
由于五軸數控機床的配置多樣,有工作臺雙擺動、主軸雙擺動、工作臺旋轉與主軸擺動合成等多種形式,所以五軸銑削加工編程的難點在于后處理程序的二次開發上。MasterCAM提供了五軸后處理程序模板,用戶在此基礎進行修改即可滿足實際的需要。
二、MasterCAM數控編程后處理技術應用
1. MasterCAM數控編程后處理簡介
后置處理程序將CAM系統通過機床的CNC系統與機床數控加工緊密結合起來。后置處理最重要的是將CAM軟件生成的刀位軌跡轉化為適合數控系統加工的NC程序,通過讀取刀位文件,根據機床運動結構及控制指令格式,進行坐標運動變換和指令格式轉換。通用后置處理程序是在標準的刀位軌跡以及通用的CNC系統的運動配置及控制指令的基礎上進行處理的,它包含機床坐標運動變換、非線性運動誤差校驗、進給速度校驗、數控程序格式變換及數控程序輸出等方面的內容。只有采用正確的后置處理系統才能將刀位軌跡輸出為相應數控系統機床能正確進行加工的數控程序,因此編制正確的后置處理程序是五軸數控銑削編程與加工的前提條件之一。
后處理的主要任務是根據具體機床運動結構形式和控制指令格式,將前置計算的刀位軌跡數據變換為機床各軸的運動數據,并按其控制指令格式進行轉換,成為數控機床的加工程序。五軸加工后處理程序的難點是機床坐標運動變換。對刀位軌跡進行后處理轉換時,首先根據具體的機床運動結構來確定運動變換關系,由此將前置計算的刀位軌跡數據變換并分解到機床的各個運動軸上,獲得各坐標軸的運動分量。運動變換關系取決于具體機床的運動結構配置,機床坐標軸的配置不同,其變換關系也不相同。這里要考慮機床種類及機床配置、程序起始控制、程序塊及號碼、準備功能、輔助功能、快速運動控制、直線圓弧插補進給運動控制、暫停控制、主軸控制、冷卻控制、子程序調用、固定循環加工控制、刀具補償、程序輸出格式轉換、機床坐標系統變換及程序輸出等。格式轉換主要包括數據類型轉換與圓整、字符串處理、格式輸出等內容。算法處理主要包括坐標運動變換、跨象限處理、進給速度控制等內容。CAD/CAM軟件包提供的數控程序后處理模式一般流程如圖1所示。
圖1 數控編程后置處理流程
MasterCAM后處理程序采用的是純文本格式文件接口,該文本是以腳本文件和源代碼文件混合而構成的,要求數控人員具備軟件基礎開發的經驗和對數控系統的熟練掌握才能編制出正確的后處理程序模板。機床與數控系統接口文件(企業級數控系統接口文件),主要控制相應的數控機床格式及數控程序文件內容輸出,使其滿足數控機床的正確配置。它是正確配置程序輸出的重點,也是難度最大的,它的源代碼采用的是宏程序形式,采用條件判斷、循環、跳轉等邏輯方式,根據實際需要來編寫相關代碼,因此編寫時需要用到軟件開發的基本知識。MasterCAM提供的通用五軸銑削加工編程的后處理程序文件為MPGEN5X.PST。用戶可以通過修改該后處理程序文件,滿足相應數控系統的要求。
2. FIDIA KR214五軸后處理程序設置
FIDIA KR214為帶旋轉工作臺的六軸五聯動高速銑削加工中心,其機床類型如圖2a所示,其中C軸為主動軸、A軸為從動依附軸、旋轉工作臺為W軸。現有的CAM軟件大多不支持六軸聯動的數控程序后處理,且實際加工中,一般的五軸聯動足夠滿足生成的需要。針對該機床加工的特性,根據需要可編制三個線性軸X、Y、Z與A/C五軸聯動后處理程序以及包括三個線性軸與A/W的五軸后處理程序。這兩種后處理程序方案即可滿足工程需求。下面詳細說明在MPGEN5X.PST后處理程序的基礎上,修改適合KR214(或KR211)數控機床的后處理程序的過程。
a)
b)
圖2 多軸銑削機床運動配置示意圖
(1)圓弧輸出設置
用于對圓弧插補的輸出進行控制,如圓心的表達(R或IJK)、圓弧打斷、整圓輸出等。
#Arc output settings
breakarcs: 0 #Break arcs, 0 = no, 1 = quadrants, 2 = 180 arcs
arcoutput: 0 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
do_full_arc : 1 #Allow full circle output? 0=no, 1=yes
helix_arc: 1 #Support helix arc output, 0=no, 1=all planes, 2=XY plane only
arccheck : 1 #Check for small arcs, convert to linear
atol : .01#Angularity tolerance for arccheck = 2
(2)五軸機床構造及運動設置
用于對典型的五軸機床運動方式進行配置,可對工作臺雙擺動、主軸頭雙擺動、主軸擺動及工作臺擺動、工作臺復合擺動(回轉)、主軸復合擺動(回轉)等典型五軸機床進行設置。主軸回轉或擺動對應于相應機床,可處于主動軸或從動軸的形式。針對KR214機床的配置Mtype設為2。
#Machine rotary routine settings
mtype : 2 #Machine type (Define base and rotation plane below)
#0 = Table/Table
#1 = Tilt Head/Table
#2 = Head/Head
#3 = Nutator Table/Table
#4 = Nutator Tilt Head/Table
#5 = Nutator Head/Head
head_is_sec : 2 #Set with mtype 1 and 4 to indicate head is on secondary
(3)旋轉軸矢量平面設置
用于設置主動軸及從動旋轉軸矢量方向,設置主軸或工作臺復合擺動軸矢量方向。根據KR214(KR211)的C、A軸的運動配置,其C軸在XY平面內旋轉,A軸在YZ平面內擺動,因而設置如下:
#Primary planeXY XZ YZ
#Secondary or XZ XY XY
#Secondary YZ YZ XZ
rotaxis1 = vecy #Zero
rotdir1 = vecx #Direction
rotaxis2 = vecz #Zero
rotdir2 = vecy #Direction
p_nut_restore #Postblock, restores original axis settings
result = updgbl(rotaxis1, vecy) #Zero
result = updgbl(rotdir1, vecx) #Direction
result = updgbl(rotaxis2, vecz) #Zero
result = updgbl(rotdir2, vecx) #Direction
nut_ang_pri : -45
對于旋轉平面不在坐標平面的特殊主軸復合擺動或工作臺復合擺動的五軸機床,且Mtype設置為3~5的特殊類型時,如DMU125P和DMU50P的機床需要正確設置Nut_ang_pri參數。只有當Mtype設置為3~5時,該參數才起作用。
(4)旋轉軸中心、偏心設置及刀具軸輸出設置
根據KR214(或KR211)機床運動軸配置特點,其g7_tilt參數應設為2。
saxisx: 0 #The axis offset direction?
saxisy: 0 #The axis offset direction?
saxisz: 0 #The axis offset direction?
r_intersect : 1 #Rotary axis intersect on their center of ratations
g7_tilt : 2 #With mill_plus and nutating, select toolplane output
#0 = Post selects G7 rotation axis
#1 to 4, user selected G7 rotation axis
#1 = Primary C : X zero, Secondary B
#2 = Primary C : Y zero, Secondary A
#3 = Primary C : -X zero, Secondary B
#4 = Primary C : -Y zero, Secondary A
shift_90_s : 1 #Shift pos.=1, neg.=-1
(5)機床行程及轉角限位設置
坐標運動軸的行程及軟件限位設置的正確性,直接影響五軸機床數控程序輸出的正確性,下述分別為KR214的各坐標軸的行程及A/C軸的轉角行程設置。
1)X、Y、Z線性軸行程設置
adj2sec : 1
use_stck_typ : 2 #0=Off, 1=Stock def., 2=Limits
up_x_lin_lim : 1350#X axis limit in positive direction
up_y_lin_lim : 900#Y axis limit in positive direction
up_z_lin_lim : 1400#Z axis limit in positive direction
lw_x_lin_lim : -1350 #X axis limit in negative direction
lw_y_lin_lim : -200 #Y axis limit in negative direction
lw_z_lin_lim : 200#Z axis limit in negative direction
2)主動軸C和從動軸A的轉角設置
auto_set_lim : 1 #Set the type from the angle limit settings (ignore these)
pri_limtyp : 1
sec_limtyp : 1
#Set the absolute angles for axis travel on primary
pri_limlo: -200
pri_limhi: +200
#Set intermediate angle, in limits, for post to reposition machine
pri_intlo: -200
pri_inthi: +200
#Set the absolute angles for axis travel on secondary
sec_limlo: -115
sec_limhi: +90
#Set intermediate angle, in limits,for post to reposition machine
sec_intlo: -200
sec_inthi: +200
五坐標機床后處理程序的驗證可通過下面的測試進行。例如,我們根據KR214的需求進行了多種測試,如X/W軸聯動、固定A軸、變A軸、旋轉C軸、五軸底刃、五軸側刃等典型的五軸加工程序測試。其測試的刀具軌跡與部分程序代碼如圖3~圖5所示。
a)五軸底刃刀具軌跡及其模擬
b)五軸側刃刀具軌跡及其模擬
圖3 五軸銑削加工功能測試示意圖
圖5 五軸底刃銑削加工程序
3. MAHO1600w立臥轉換加工中心后置處理
德馬吉公司的MAHO1600w為帶旋轉工作臺的四軸立臥轉換加工中心,由于其立臥軸只能單獨加工,不像DMU125P或DMU50P等五軸立臥轉換加工中心,DMU125P為主軸復合擺動,DMU50P為工作臺復合擺動,刀具平面相對于XY平面可以傾斜,所以MAHO1600w后處理程序可分別對立軸和臥軸進行單獨處理。數控編程時根據主軸立臥的狀態,選擇相應的后處理程序即可滿足要求。其臥軸為標準的旋轉四軸配置,而立軸多數情況下工作臺只起分度作用。
下面以采用立軸加工某產品高精度同軸的內外圓弧段過程中,MAHO1600w所出現的旋轉工作臺中心與主軸中心的同軸度機床精度超差問題為例,給出以X(Y)、B軸聯動來避免XY兩軸聯動而出現的零件超差的作法,其刀具軌跡如下圖6所示。由于MasterCAM所自帶的MAHO系統的后處理程序均為三軸后處理,針對四軸的情況,用戶可以MPFAN.PST提供的四軸后處理程序文件為基礎進行改編,開發出MAHO1600w的立臥兩種狀態下的后處理程序。MAHO1600w機床臥式銑削加工時,其運動配置如圖2(b)所示。下面通過修改MPFAN.PST文件中的部分關鍵內容實現X(Y)、B、Z三軸聯動,來滿足上述產品的加工需要,用旋轉B軸替待Y軸來聯動插補加工。
設置機床類型為立軸加工、旋轉軸為繞Z軸逆時針方向,將其中的Vmc參數設置為1,Rot_On_X設置為3,實現工作臺立式繞Z軸旋轉的目的。同時,為了提高輸出曲線曲面的精度,將相關參數Atol、Vtol設為等精度。由于在MasterCAM環境下的觀測坐標系與Maho1600w的X方向相反,因此,加入Scalex參數進行反向。同時,在輸出格式上將旋轉軸輸出設置為B軸,并將Y和Z交換。在MasterCAM中以旋轉軸參與輪廓聯動加工時,其界面設置如下圖7所示。我們用這種方法加工出了合格的產品,其加工程序的部分代碼如圖8所示。實踐證明,在加工二維輪廓時,適當采用線性軸和旋轉軸進行聯動插補可以提高產品的精度。在實際加工中,為提高加工的表面光潔度,可適當降低加工的進給率。
vmc: 1 #0 = Horizontal Machine, 1 = Vertical Mill
rot_on_x : 3 #Default Rotary Axis Orientation, See ques. 164.
#0 = Off, 1 = About X, 2 = About Y, 3 = About Z
rot_ccw_pos : 1 #Axis signed dir, 0 = CW positive, 1 = CCW positive
scalex: -1.0 # Scaling of .NCI at input - x,y,z,i,j,k
scaley: 1.0 # Scaling of .NCI at input - x,y,z,i,j,k
scalez: 1.0 # Scaling of .NCI at input - x,y,z,i,j,k
atol : .005#Angularity tolerance for arccheck = 2
ltol : .001 #Length tolerance for arccheck = 1
vtol : .0001 #System tolerance
ltol_m: .002#Length tolerance for arccheck = 1, metric
vtol_m: .001 #System tolerance, metric
格式輸出
fmt X 2xabs #X position output
fmt Z 2yabs #Y position output
fmt Y 2zabs #Z position output
fmt X 3xinc #X position output
fmt Z 3yinc #Y position output
fmt Y 3zinc #Z position output
fmt B 11 cabs #C axis position
fmt B 14 cinc #C axis position
fmt B 4indx_out #Index position
fmt I 3i #Arc center description in X
fmt J 3j #Arc center description in Y
fmt K 3k #Arc center description in Z
fmt R 2arcrad#Arc Radius
fmt F 15 feed #Feedrate
fmt P 11 dwell #Dwell
fmt M 5cantext #Canned text
4. 常用的三軸數控銑削編程后置處理
在模具、航空航天等行業中,數控銑削加工中的三軸聯動切削應用最為廣泛。MasterCAM系統提供了如FANUC、MAHO、Heidenhane、Century6X等眾多數控系統的三軸銑削編程后處理程序,但是由于在程序起始控制、刀具說明、輸出格式、程序傳輸等方面各數控系統有所差異,且企業為實現其程序的可讀性、簡潔性、可復用性、易管理性、減少手工的修改量等方面的要求,必須對后處理程序進行二次開發。下面為針對典型的數控系統,如FANUC、Century6X等對象,在輸出格式、程序起始、刀具等方面介紹了如何修改其后處理程序,并以實例的形式進行了說明。
圖8 X、B軸聯動加工程序代碼
(1)字符輸出格式的控制
下面的內容主要用于單位輸出和精度等方面的控制,系統可以mm、μm為單位輸出,同時對小數點后的輸出精度、絕對值和增量值進行輸出控制。系統參數變量fs2存儲不同的數字1~15,實現其輸出格式的控制。
# Format statements - n=nonmodal, l=leading, t=trailing, i=inc, d=delta
#Default english/metric position format statements
fs2 10.7 0.6 #Decimal, absolute, 7 place, default for initialize (:)
fs2 20.4 0.3 #Decimal, absolute, 4/3 place
fs2 30.4 0.3d #Decimal, delta, 4/3 place
#Common format statements
fs2 41 0 1 0 #Integer, not leading
fs2 52 0 2 0l #Integer, force two leading
fs2 63 0 3 0l #Integer, force three leading
fs2 74 0 4 0l #Integer, force four leading
fs2 90.1 0.1 #Decimal, absolute, 1 place
(2)程序起始說明與控制
主要用于實現其程序起始在加工產品對象、坐標系定義等方面的規范控制。
# Start of File and Toolchange Setup
psof0 #Start of file for tool zero
……
"%", e
# *progno, e
"", sprogname, "", e
"(Product:)", e
pbld,"", *smetric, e
pbld,"", "", "", "", "", "", "", e
……
if stagetool >= zero, pbld,"", *t, "M6","(Tools:)", e
pindex
if mi1 > one, absinc = zero
pcan1, pbld,"", "G00 G17 G40 G49 G80 G54", *sgabsinc, pwcs, pfxout, pfyout,
"", *speed, *spindle, pgear, strcantext, e
pbld,"", "G43", *tlngno, pfzout, scoolant, next_tool, e
……
c_msng #Single tool subprogram call
(3)刀具交換與注釋說明
用于刀具交換及返回參考點等方面的控制功能。
ptlchg #Tool change
pcuttype
toolchng = one
if mi1 = one, #Work coordinate system
[
pfbld, "", *sg28ref, "", "Y200.", e
pfbld, "", "G92", *xh, *yh, *zh, e
]
pbld,"", "M01", e
pcom_moveb
c_mmlt #Multiple tool subprogram call
ptoolcomment
comment
pcan
pbld,"", *t, "M6","(Toolnotes:)", e
……
c_msng #Single tool subprogram call
(4)程序結束輸出控制
不同的數控系統在程序結束時有所不同,下述代碼為例。
pretract #End of tool path, toolchange
……
pcan
pbld,"", sccomp, psub_end_mny, e
pcan1, pbld,"", "", "G00 G49", "G30 Z250.M05", scoolant, strcantext, e
pbld,"", *sg28ref, "", "Y50.", "", e
pcan2
absinc = sav_absinc
coolant = sav_coolant
(5)數據傳輸與系統設置
下面的參數分別用于數控程序傳輸和系統參數的設置。例如,程序傳輸方面實現波特率為1200,數字位7位,2位停止位,偶校驗,ACSII碼輸出控制等。容許旋轉工作臺聯動,機床回原點和參考點為激活狀態,采用絕對坐標方式,G54為工作坐標系,以G28方式回參考點。
80. Communications port number for receive and transmit (1 or 2) ? 2
81. Data rate (600,1200,2400,4800,9600,14400,19200,38400)? 1200
82. Parity (E/O/N)? E
83. Data bits (7 or 8)? 7
84. Stop bits (1 or 2)? 2
85. Strip line feeds? N
86. Delay after end of line (seconds)? 0
87. Ascii, Eia, or Binary (A/E/B)? A
161. Enable Home Position button? y
162. Enable Reference Point button? y
163. Enable Misc. Values button? y
164. Enable Rotary Axis button? Y
301. Work Coordinates [0-1=G92, 2=G54’s] (mi1)? 2
302. Absolute or Incremental [0=ABS, 1=INC] (mi2)? 0
303. Reference Return [0=G28, 1=G30] (mi3)? 0
圖9為某零件的三軸數控銑削加工刀具軌跡示意圖,根據FANUC 6M和Century 6X數控系統的特點,分別修改其后處理程序,實現數控程序輸出的零手工修改,從而提高數控程序的編制及輸出的質量和效率。圖10和圖11分別是與相應數控系統匹配的程序代碼。
圖9 三軸銑削加工軌跡示意圖
圖10 FANUC 6M數控系統程序代碼
圖11 Century 6X數控系統程序代碼
四、結束語
本文以實例的形式簡略介紹了MasterCAM數控編程后處理關鍵技術,相關的內容還有很多,但限于篇幅在此不再過多介紹,讀者可參考其中,舉一反三。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF