基于Mastercam的MAHO加工中心后置处置程序的优化设置
# J9 U+ |% k9 \' a8 P9 G 一前言/ @7 g7 I$ L3 r# S( E$ S. K1 p! n, N0 y
Mastercam是一套普遍应用于具有复杂外形零件的建模和CAM加工的软件,它可以根据已建模型产生精确可靠的刀具途径,然后经由所选的不同控制系统的后置处置程序输出不同机床用的NC加工程序。该软件提供了许多品种的后置处置程序,几乎涵盖了一切主流的数控机床(或控制系统)。由于数控机床的控制系统版本很多,直接应用软件所提供的后置处置程序产生的NC程序普通都要经过简单的改动后才干投入消费中去,固然每次改动的工作量不大,但久而久之显得很繁琐且容易出错。经过笔者的研讨发现,可以经过更改后置处置程序一劳永益的处理问题,这样还可以使产生的NC程序契合本人的编程习气。2 y! [8 O* e8 T. i6 `8 ?- S
二MAHO加工中心与Mastercam软件坐标系统的转换
3 ~9 r: [& y2 {9 P 某型号MAHO加工中心为五坐标立卧转换式,默以为卧式,坐标系统如图一所示:
- i6 N0 Y2 s9 F, p 当运用卧式加工时主轴与Z轴方向平行,当运用立式加工时主轴与Y轴方向平行。Mastercam运用MPMAHOXY.pst后置处置G17平面下的NC程序,用MPMAHOXZ.pst后置处置G18平面平面下的NC程序,而Mastercam系统中3维加工视图的刀路平面默许是TOP面,与图一中的G17卧式加工坐标系统相吻合,所以应用MPMAHOXY.pst作为后置处置程序产生的G17下的卧式NC加工程序的坐标系统没有变化,程序相对正确,几乎不用修正。而运用MPMAHOXZ.pst作为后置处置程序产生的G18下的立式NC加工程序的坐标系统发作了变化,不能直接用于消费,需求经过一些修正才行。. \8 M! }. X7 g2 D7 ?5 u, U
经过研讨发现,MPMAHOXZ.pst在处置NC程序过程中仍然运用的是G17平面状态下的模型以及刀具途径,只是在生成NC程序时坐标轴的设定做了变动,变化过程如图二所示。第一步:将整个坐标系及工件绕X轴旋转-90度;第二步:将Y、Z坐标值互换,X坐标值改动方向(这样做的数控程序完好契合笛卡尔坐标系)。此时大家可以看到如今的坐标系的方向与G18立式加工平面的X、Z坐标方向相反,所以不能直接用于消费。在不修正后置处置程序的情况下,有两种方法可改动NC程序停止加工:方法一是给程序中参加坐标系旋转指令G93B4=180,就是将整个坐标系绕如今的Y轴旋转180度;方法二是运用镜像加工指令G73X-1Z-1,就是分别将NC程序中的X、Z坐标值变向。固然这样做可以到达加工的目的,但操作者反响不直观,由于指令中的走刀方向与理论的走刀方向是相反的,给操作者带来了视觉误差。所以很有必要对立式加工的后置处置程序做以修正。
" g4 F1 v! j4 ]! Q: Z! R 三MPMAHOXZ.pst后置处置程序中坐标变换的修正
$ i/ Z* }; L# Y- ?& N) H z9 c X 根据以上分析,我们可以经过修正后置处置程序MPMAHOXZ.pst中的局部语句到达我们的目的,为了满足由卧铣G17模型变立铣后的坐标系统的统一,我们也可经过两步完成,第一步:将整个坐标系及工件绕X轴旋转-90度(与图二中第一步相同);第二步:将Z变为Y,Y变为Z的负方向,X坐标值不变(见图一中立式G18平面)。
O7 B) c3 s i" l 原程序坐标系变化的局部程序段如下(后面方括号内的中文为解释语句,修正程序时无需参加):
1 K$ r# v% N: _1 N0 a9 B #--------------------------------------------------------------------------+ b/ ] \2 c& l- j V8 O% X3 o: ]" R1 t! W
#Axisoutputformats–Linear[坐标轴输出格式—线性]
1 b3 ]& R9 S' [ g" s #--------------------------------------------------------------------------; _! _4 d- \9 r: r0 y6 M% J( p
fmtX1x#XAxisPos[X轴称号不变]
( i Q5 K1 k+ ?$ M0 b fmtZ1y#YAxisPos[Z轴变为Y轴]. b4 R& e: ~" N7 W
fmtY1z#ZAxisPos[Y轴变为Z轴]
. J; w) O( A" n8 y #--------------------------------------------------------------------------
1 l" _( z; ^) _4 ?$ Z( }4 u8 I #Axisoutputformats–Circular[坐标轴输出格式—圆形]7 y: v3 b. A2 ?' S+ W
#--------------------------------------------------------------------------
" S$ V+ E& |: l. G# _. B8 b4 l fmtI1xc#ArcCenterX[圆心X坐标为I]
d+ e# u3 f6 C+ u% E* f* ` fmtK1yc#ArcCenterY[圆心Y坐标变为K]$ [: k! T# J9 ~- k' H' _9 A
fmtJ1zc#ArcCenterZ[圆心Z坐标变为J]
4 g0 k: S( w' w5 m0 w, @, q #--------------------------------------------------------------------------( p: k6 z; ~+ Y2 ?$ n/ j, x w) u
#Formulas-Use':'insteadof'='toinitializevariables[坐标值的比例]
: `" ^4 \' m9 d0 J #--------------------------------------------------------------------------# r r3 I- T2 o: k- c
scalex:-1.0#Scalingof.NCIatinput-x,y,z,i,j,k[X坐标取负]5 }) C. s4 _5 C. n- ]. G
scaley:1.0#Scalingof.NCIatinput-x,y,z,i,j,k[Y符号不变]! ~/ w* t; X0 t. v) T! d, G
scalez:1.0#Scalingof.NCIatinput-x,y,z,i,j,k[Z符号不变], G* D: p. |3 N @9 ?- e) @8 x
#--------------------------------------------------------------------------* e0 T1 O# Y8 M- m
如今仅需求修正坐标值的比例局部就可以使后置出来的程序坐标系统无需另外更改了,以下为矫正后的内容: c' @& i$ i: P# x% q- H" o/ h
#--------------------------------------------------------------------------' J- W4 S. u% a! D9 }" i
scalex:1.0#Scalingof.NCIatinput-x,y,z,i,j,k[X坐标不变]. C; [% H8 q5 V! n
scaley:-1.0#Scalingof.NCIatinput-x,y,z,i,j,k[Y坐标取负], v& M. _6 B2 K9 _5 ]
scalez:1.0#Scalingof.NCIatinput-x,y,z,i,j,k[Z符号不变]
8 G# } ~, d+ C+ ~ #--------------------------------------------------------------------------. m2 D. x# i' b" x
(由于Y轴后来变为了Z轴的负方向,所以这里给Y坐标取了负号)* T3 X! {' f. v% |+ L+ F
四后置处置程序中程序头尾的完善- `1 Y- Y8 Q, w2 W" t& ~1 T* {
以MPMAHOXZ.pst程序为例,说明完善的过程。
. `8 k. t4 ?% G1 ]/ w 因MAHO加工中心也具有加工图形模拟显现功用,所以在数控加工程序前要参加MAHO用的工件毛坯尺寸,而工件的毛坯尺寸要调用Mastercam中的毛坯尺寸的某些值,这些值的定义和计算的程序段要参加到定义参数项的行后,程序段如下:
/ _8 j- o& f: e# x fmt9stck_x[定义Mastercam中毛坯中心点X坐标]$ Z l4 R3 O _, e' ?& d
fmt9stck_y[定义Mastercam中毛坯中心点Y坐标]( o2 F3 V& y, z: p* g5 ~
fmt9stck_z[定义Mastercam中毛坯中心点Z坐标]
1 R; Y. ^% g& E$ u) ?" A fmt9stck_ht[定义Mastercam中毛坯长度]
0 D4 E* i+ Q; ?1 l8 ] fmt9stck_wdth[定义Mastercam中毛坯宽度]
+ u9 i9 V, k% I% c8 H7 P3 G( O& s fmt9stck_thck[定义Mastercam中毛坯高度]
: z' U h: H* M! w fmt9blk_xmin[定义MAHO立式状态下毛坯起点X坐标]
8 k% a; c7 O' a( Q3 U fmt9blk_ymin[定义MAHO立式状态下毛坯起点Y坐标]
- e, K" J' Q5 r" r fmt9blk_zmin[定义MAHO立式状态下毛坯起点Z坐标]: ?9 F( y0 j/ T. e8 R0 T3 V- U
fmt9blk_hztwd[定义MAHO立式状态下毛坯高度增量]# F U! K. o1 J
blk_xmin=stck_x-stck_ht/2[计算MAHO立式状态下毛坯起点X坐标值]
6 k y1 t6 E2 {% H2 M7 |. _: \ blk_zmin=-(stck_y-stck_wdth/2)[计算MAHO立式状态下毛坯起点Z坐标值]- |8 N; Y P8 P0 P, H
blk_ymin=stck_z-stck_thck[计算MAHO立式状态下毛坯起点Y坐标值]9 n- `! Q$ g) Y
blk_hztwd=-stck_wdth[计算MAHO立式状态下毛坯高度方向的增量]
! e- J3 a# o, O2 o 设定出毛坯尺寸后就可以改动输出局部的程序了,经过改动后的局部程序如下:
" @" i s5 r: s3 p9 \$ p! V/ Z pheader. z# m& E7 ]) V
%PM
" q8 z8 {* a) M+ k- F progno
. ^# f5 K* h3 ]0 p% z1 m' B+ M1 M n,M54[参加立铣头回位指令]) ]9 j# q& O( `
n,G18[参加G18平面指令]
! n6 j: s! U ?. S n,G54[由G52改为G54,G52只是参考点的暂存值,很容易被误修正]8 }4 y7 W4 V3 v( Z5 L
n,G98,X,blk_xmin,Y,blk_ymin,Z,blk_zmin,I,stck_ht,J,stck_thck,K,blk_hztwd[参加切削模拟范围指令]
6 V: ^( f/ G0 k# | n,G99,X,blk_xmin,Y,blk_ymin,Z,blk_zmin,I,stck_ht,J,stck_thck,K,blk_hztwd[参加毛坯范围指令]
, i: h. M0 ]+ n n,G90[参加绝对坐标指令]2 D/ ]3 W: y9 }8 M, @
psof0#Startoffilefortoolzero
, \ C' G/ m Y2 ?, N5 f | pinit/ ~( B! K; w+ n
n,G0A0B0M13[参加A、B坐标回零指令]
% D5 k( u; K8 ]( K n,pcoolon
9 }9 Z8 n( c2 `2 Q, B; A6 R psof#Startoffilefornon-zerotoolnumber
# I; H1 r+ q: Y" T0 f# \ G pinit
/ V- L0 Q. _% ~0 J% \ Z n,ss,t,M6,(D,tldia,)[参加刀具直径辅助说明]( v1 B& G( x+ }, i+ |- A9 c
n,G0A0B0M13[换刀后A、B坐标再次回零,防止操作者换刀后检测工件后误动作A、B坐标,确保在下一刀时参考点回位]; _, W Z$ x( m2 E! ]8 u) r6 a
……
' L7 x8 n& p% Z! u) i n,G53[撤消G54参考点]& w3 `3 R9 V4 L4 t) a: K# X% I
n,G0X780Y450Z450[机床回到检测工件位置]
5 [- W6 W5 Y0 J2 [ n,G0A0B0[在机床坐标系统下回零]* u7 p+ C, n9 T$ ]$ Z+ O- w
n,M30
D9 Q* P% n" @ 同理,MPMAHOXY.pst也可以参考上面的程序停止完善。
3 x! ?& u' o- T$ B! {' i) H 五结论 s9 y- T$ g. z% ]. h
Mastercam的后置处置程序很全面,但在对特定的数控系统运用时还需求停止一些小的改动。另外在改动过程中一定要做好原程序的备份,还要反复比拟改动后输出的NC程序能否正确,努力使修正正的NC程序契合本人的编程习气。7 {. m- X$ F2 |2 q$ `2 K
* o' s# O6 r; a1 Y( S 4 t. M2 ?$ [, G" Q) |, f9 _. m
/ @8 Y# n6 o' T8 S. a! D5 F
|