青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 6604|回复: 4

[经典资料] CNC机械工程师详解Mastercam后置处理-PDF

[复制链接]
发表于 2014-4-28 19:32 | 显示全部楼层 |阅读模式
CNC机械工程师详解Mastercam后置处理
! d! I! o$ J, b, D% b9 H赵存璞( 工程师)4 B1 h; n. v0 M+ K0 w; V% ~' q, b4 ?
Mastercam系统是全球装机量最多的造型加工软件,应用十分广泛,不过, H3 p! E4 z! V
很多人对MASTERCAM的后处理部分还是很不了解,下面让我给大家讲一下' N" u, `. D" q- c, b9 R9 G
MASTERCAM后处理POST文件内的主要内容,从而方便更多的MASTERCAM
5 @; x; P- X9 q9 T. W( i0 t0 r6 ?爱好者了解后处理,如果还有什么不清楚的请登陆网址:6 n! A) y/ q. A
http://user.qzone.qq.com/727825947
7 v/ j5 n. K% E5 K电子邮箱:mailto:zhao-1381045@163.com QQ727825947联系谢谢!!4 N/ x% S& R# v: _8 I; R: q4 J" ?
Mastercam系统后置处理文件的扩展名为PST,称为PST文件,它定义了切削
, O  H( `- r/ ?5 i加工参数、NC程序格式、辅助工艺指令,设置了接口功能参数等,其结构由八
8 E3 t; O2 M, d个部分组成:; @& {5 V4 G4 r: j: J8 `% t+ H
1. 注解
8 {1 A& o/ i5 G程序每一列前有“#”符号表示该列为不影响程序执行的文字注解。如:5 c  f1 V9 G/ B5 l
#mi2-Absolute,orIncrementalpositioning5 }7 I$ ~. e# B0 X( d" u6 L
0=absolute
1 E5 Q( R4 n* e# _1=incremental! J- c* L$ g. A- q4 G- o; p8 j
表示mi2定义编程时数值给定方式,若mi=0为绝对值编程,mi=1为增量值编
8 {; p5 \+ N: c程。7 t4 A& v9 r6 x& E5 U  c
在这一部分里,定义了数控系统编程的所有准备功能G代码格式和辅助功能M
6 v9 T9 c, m6 Q: g# |3 R! q! Z, _代码格式。. a+ u  @8 T& Z% M
2. 程序纠错
# O5 C% T: s. F3 V) Y程序中可以插入文字提示来帮助纠错,并显示在屏幕上。如:
5 V5 I1 _3 h! w' A% r. E$ m# |#Errormessages(错误信息)
  x6 j( _2 f7 B6 c) npsuberror#Arcoutputnotallowed  h% \" k) y  l4 p3 j' N
"ERROR-WRONGAXISUSEDINAXISSUBSTITUTION",e
( k' ^7 h9 o# Y% s0 W. C- y5 ]# c  w如果展开图形卷成旋转轴时,轴替换出错,则在程序中会出现上面引号中的错3 r; o0 b  B8 u, m: k! _
误提示。1 Y# x3 @% Q% H  L/ n! r
3. 定义变量的数据类型、使用格式和常量赋值
* s3 o! M) O+ P6 |+ T如规定G代码和M代码是不带小数点的两位整数,多轴加工中心的旋转轴的
+ P; g2 }. U4 l, L地址代码是A、B和C,圆弧长度允许误差为0.002,系统允许误差为0.00005,# J& ^% r' u/ B4 W
进给速度最大值为10m/min等。
0 r# p' t8 {( Q" h- e' a/ H6 Q! a4. 定义问题
! E" n1 I7 f5 x. o- l: h可以根据机床加工需要,插入一个问题给后置处理程序执行。
7 ?9 x$ D7 G9 L* ^( U如定义NC程序的目录,定义启动和退出后置处理程序时的C-Hook程序名。  }4 o; _, _  s0 f9 t: n% V
5. 字符串列表6 f# v; h$ F. t% X9 y# e
字符串起始字母为s,可以依照数值选取字符串,字符串可以由两个或更多的字
# U) s, Y6 s/ R. g0 Q符来组成。
/ V# M/ C  v  B; O, J) H字符串sg17,表示指定XY加工平面,NC程序中出现的是G17,scc1表示刀具
9 B# K6 ]6 Y# S- p+ e半径左补偿,NC程序中出现的是G41,字符串sccomp代表刀具半径补偿建立
+ {. `; K4 ]; N& `. @" f0 x# C, \& G或取消。- H& P! E" L# u* q9 R3 j1 }
6. 自定义单节
4 o. `6 v7 u* h可以让使用者将一个或多个NC码作有组织的排列。* Z: @/ |! r2 z+ d6 K* N0 a  k
自定义单可以是公式、变量、特殊字符串等:
. e5 Q+ Q! c* b8 t8 Y: Tpwcs#G54+coordinatesettingattoolchange
0 C/ P8 x: t; K6 W8 Pif mil>1,pwcs_g54* q% k$ N. Z6 u
表示用pwcs单节指代#G54+在换刀时坐标设定值,mil定义为工件坐标系  f) y; a6 r5 l0 |4 A
(G54~G59)6 y/ z4 w8 a+ t
7. 预先定义的单节
9 g% l' V, E5 ^" w使用者可按照数控程序规定的格式将一个或多个NC代码作有组织的排列,编1 P. `+ u- j5 v, u, p
排成一条程序段。
7 f, [& c& i( y( e+ n8. 系统问答" N2 _+ @' |5 T
后置处理软件提出了五组问题,供使用者回答,可按照注解文字、赋值变量、
% ]6 |) C# y7 ~) _0 D1 t. D字符串等内容,根据使用的机床、数控系统进行回答。
' |  _0 F- P! w) H设计后置处理文件,一般是按照NC程序的结构模块来进行。根据NC程序的( j  }6 ^5 c8 \) I: S8 l5 X; i
功能,后置处理文件分成六个模块如下:
; J) r7 G/ c1 C4 {" s1. 文件头
! {' j( Z  t# g9 d+ b* G3 h文件头部分设定程序名称和编号,此外,SINUMERIK810D系统还必须指定NC) m! U( ?9 u5 Y5 c
程序存放路径,并按照以下格式输出:
" q1 U5 {& k0 R( G5 j“%_N_(程序名及编号)_(路径)”。
0 w0 p  T7 v# p0 w0 K6 A! i' Q# Q; bNC程序可存放在主程序、子程序和工作程序目录下,扩展名分别为:MPF、SPF、  v7 ]4 R4 }. x; Y0 y7 [0 ?
WPD,一般放在工作程序目录下。因此经修改的Pst文件格式为:! n/ E! Y/ R2 \6 A' _0 v
Pheader#Startoffile
/ v* [* m' _1 K0 t, N% M"%_N_",progname,"_WPD" (程序名、存放目录)
. F& [# p9 O% t- G, S% o- j+ k2. 程序起始
7 O& D/ x, C+ y, n' Y在程序开始,要完成安全设定、刀具交换、工件坐标系的设定、刀具长度补偿 、
7 L9 q; B- Y5 P) ]主轴转速控制、冷却液控制等,并可显示编程者、编程日期、时间等注解。
: Z; q* t% d8 l. o修改后的有刀具号Pst文件开头格式如下:
- K* q7 n- d" m#Startoffilefornon-zerotoolnumber
1 o" B# K/ m9 y+ d" O( o......
8 [' R& }. W& [: fpspindle(主轴转速计算)
; a9 m( _* {) A( Z! o7 Apcom_movbtl(移动设备)
; r- t# |, O! f4 rptoolcomment(刀具参数注解)" c+ U# Q" O4 t( k# n1 c
......
) L' g* n" q; f9 a( D  |0 j6 @pbld,n,*sgcode,*sgplane,"G40","G80",*sgabsinc
+ e5 a1 D0 X: d, _+ [6 j(快进、XY加工平面、取消刀补、取消固定循环、绝对方式编程)
: O& ?! t8 H) e8 o' H. F- cif mil<=one,pg92_rtrnz,pg92_rtrn,pg92_g92(返回参考点). W4 R# _  G! U- B( X9 e
......
! Y" I( E% C& z1 E4 X1 M: W0 gpbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,*speed,7 q, a2 }( i& J
*spindle,pgear,pcan1
" X9 I( _! r7 A: `( P(快进至某位置、坐标系编置、主轴转速等)
! ~7 D8 x9 j; @+ j# W0 vpbld,n,pfzout,*tlngno,scoolant,[if stagetool=one,*next_tool]$ t9 t" \; h7 A- ~* K
(安全高度、刀长补偿、开冷却液)7 C9 U; e1 G) s  N+ s2 _8 r$ {
pcom_movea(加工过程)
7 N2 a8 G% Y$ D, W! s3. 刀具交换9 K* c- F/ b# D! b8 Y
刀具交换执行前,须完成返回参考点、主轴停止动作,然后换刀,接着完成刀具, b" R9 s2 {$ S6 J4 L( N
长度补偿、安全设定、主轴转速控制。
- R" P# D0 F; c% j, XPst文件中用自定义单节ptlchg指代换刀过程,编辑修改后的程序如下:; b% M( g+ m/ x' Q
Ptlchg#Toolchange# t5 O% H* P0 V. h
......
; |: p) @) Y6 H% u& t  Zptoolcomment(新刀参数注解)
8 d, |- S' w1 U7 \comment (插入注解)" u6 ~+ O# a/ |2 ]- E; p- k# W
if stagetool<>two,pbld,n,*t,e(判断、选刀); J. V& }2 \7 Q4 T, y
n,"M6" (换刀)  N1 ~6 p2 V! ]" G, d
pindex(输出地址)
' b6 o9 s! |8 M# j8 O9 D8 D' @pbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,*speed,6 D. X7 f( L* f' F9 A( C0 s
*spindle,pgear,pcan1
! l' Q% ?+ E  G: t- Z& k(快进至某位置、坐标系偏置、主轴转速等)
0 G/ h' \1 A3 Apbld,n,pfzout,*tlngno,"M7",[ifstagetool=one,*next_tool]
: h8 c" L. n9 D8 Z: s& V(安全高度、刀长补偿号、开冷却液). S4 h0 v, l3 s7 }0 {7 L8 V9 o1 [
pcom_movea(加工过程)
4 w3 y  }) M; i5 Y% s4. 加工过程1 ^9 P2 \- q1 Y& T' U. s0 X
这一过程是快速移动、直线插补、圆弧插补、刀具半径补偿等基本加工动作。9 Y' R* S1 }; ~' u- X# O- M4 a  U9 W& o9 ?
对于几乎所有系统,这些加工动作的程序指令基本相同。只是注意SINUMERIK
# x. G/ a$ g: t810D系统的刀具长度补偿值由字母D后加两位数字调用,不需要G43/G44指
* c# U+ l& k, Q, H4 `令;而半径补偿值则由G41/G42调用,不需要再接地址代码。用G40取消刀具
) U7 N2 Q& @9 V, a% G& M长度和刀具半径补偿。* V# Q' F' u  b! x* l
5. 切削循环
+ a% ?/ x# ]% Y, ^9 eMastercam软件提供了6种内定的孔加工固定循环方式:一般钻削) z& V) P* p: j9 P6 K; W: s/ A
(Drill/Cbore)、深孔啄钻(PeckDrill)、断屑钻(ChipBreak)、右攻丝(Tap)、精镗8 R8 O/ b3 B! ]
孔(Bore#1)、粗镗孔(Bore#2),通过杂项选项(Misc#1/Misc#2)可设定左攻丝 、
5 q  D5 S( `8 O. `5 F+ @背镗孔、盲孔镗孔、盲孔铰孔等循环,并采用G73~G89代码来表示。
3 k0 w2 e2 _7 B/ C#POST名称:wgkG54
0 y8 Z; @' s: ], D  G4 P! O#类型:MILL) a. o  J* p) ?4 A% X- x: N
#机床名称:GENERICFANUC
4 T0 X# H9 c: y5 w) f4 L#控制器名称:GENERICFANUC
% ~. t, K" n) [6 N1 D' j' o. p#描述:GENERICFANUC3AXISMILLPOST" J5 Q6 X' ]+ X4 _$ V4 n
#AssociatedPost:NONE
5 u3 \  z9 r/ U% q#车/铣复合:NO
4 ^3 i0 a/ p+ }6 e% z' k( f#4-axis/Axissubs.:NO
/ g3 U  M( @- Q5 |% q) e2 V0 c5 I/ B#五轴:NO% a! t6 n! Y; U
#子程序支持:NO
; M: B" p) T& }9 f9 C#自动换刀:NO
1 F5 A4 ~: @; t* _7 U& w如对于深孔钻削固定循环,Mastercam采用的格式为:G83X_Y_Z_R_Q_F;而% i6 S. L6 u' w) y+ M5 E
SINUMERIK810D系统用CYCLE83指代深孔钻削循环,其NC程序要求给出循" Q8 j5 j' S# j' M4 t8 Z
环加工所有参数,输出格式为:
" u' N. f1 y! `, \1 M, t# s* nCYCLE83(RTP,RFP,SDIS,DP,DPR,FDEP,FDPR,DAM,DTB,DTS,FRF,VARI)
! R6 }1 D" S3 S: K- G6 c0 U在pst文件中需按SINUMERIK810D系统格式进行定义、修改和编写。
% ]. Z# C! V. u0 U/ z! C6. 程序结尾
- W& a/ T; v5 F. v程序结尾一般情况下是取消刀补、关冷却液、主轴停止、执行回参考点,程序3 d3 n$ J8 w( x& O' W9 ?4 ?
停止等动作。下面是修改后的pst程序结尾:
9 {4 }4 C5 T1 ?/ Y; vPtoolend_t#Endoftoolpath,toolchange
  r0 W, M5 ?- g( W6 ]......% T: \' v! K8 s8 |( t5 U) I
pbld,n,sccomp,"M5",*scoolant,e(取消刀补、主轴停止、关冷却液)! H5 \$ A4 G( I' O2 g
pbld,n,*sg74,"Z1=0.X1=0.Y1=0.",e(返回参考点)% }( U+ T8 \8 J3 C4 V: ^' S
if mi2=one,pbld,n,*sg74,"X1=0.","Y1=0.",protretinc,e6 U' w. m2 o. B5 H1 f
else,protretabs(程序结束)
$ K# D' S- l7 N0 }+ k: o#工作坐标系:G547 i/ R' Q  K& e3 N7 t7 u
#Executable:MP8.000 o) Z* w  C& D; L) h. k( m: \2 y
#这个POST支持FANUC控制器普通三轴铣床的的G代码输出,
7 S# b. y. s7 D( z4 F( u#不支持自动换刀,有最大圆弧报警0 Y' b$ q) I, q" A) w3 }
#它来源于MP-EZ.PST- K, U, a. E: |2 n: A9 S
#是针对MastercamMillV8的特征而设计的
! _0 W6 Z2 U. F3 t; Q. j#
8 ]) F, c* C5 P9 S' u- {#
; ~; U2 t# b- \" A$ S; {#欢迎各位试用此后处理程序,提供意见反馈,
" X+ Z0 V9 |6 m#网址:http://user.qzone.qq.com/727825947 赵存璞
! |/ E7 V( ~# e+ l( J) b- j#电话:138104506573 ~0 P1 ]' U. q2 P* k
#E-MAIL:zhao-1381045k@163.com  z% r& w! f' E% I* a
#QQ:727825947; G5 r/ _( T4 O+ X& w* F" }
#--------------------------------------------------------------------------#修改日志:
- Q4 ]( f, G" v4 G9 ]9 N#--------------------------------------------------------------------------#ProgrammersNote:
3 G/ ?1 p5 b  y# D2 d0 Q#CNC08/01/00-Initialpostsetup,jce
' t5 g7 ^1 p2 g) p, _6 @& v#2008-8-8- 去掉自动换刀,赵存璞
3 e$ T% }/ ]" E6 E) l: M#2008-10-8- 增加中文注释,赵存璞
6 g; B5 M& Y; O0 o#2008-10-8- 增加最大圆弧警告,赵存璞+ D" {5 F. Q: t3 Z! b$ H
#2008-11-8- 修改坐标系为G54,赵存璞
) u" ?& }- `: I$ \2 T# a- ^0 x#--------------------------------------------------------------------------#特征:+ G) m: R/ w8 u# X7 k9 ?
#--------------------------------------------------------------------------#下列Misc.(杂项) 必须使用整数:/ A! `$ Q& u8 Q3 D* L8 u+ v
#9 [! k) Z' a6 B/ F
#mi2- 绝对或增量坐标attoplevel
! y2 a% Z' O) F6 l8 C$ ?6 }& f#0=绝对( u* W9 e0 c' i9 D4 p
#1=增量
8 ]' X5 ]# z8 w* X! P" F#( K0 r2 m( R+ i- e
#mi3- 选择G28或G30来执行参考点回归.
) V% M% u1 O% S( \6 T) b#0=G28,1=G30, S$ U4 Y3 N& Z) b# s3 K& k3 s8 V& o
#
3 ]1 ?8 n# G5 X; N5 W#Cannedtext:
6 U: M8 ?7 a$ m: t+ T6 a5 W#在轮廓点里插入"cantext".以允许/禁止下列Mastercam里许可的功能,
% Z" m1 w; G/ m# A#EnteringcantextonacontourpointfromwithinMastercamallowsthe
2 z. m2 F& v# a3 j7 U, u$ o#followingfunctionstoenable/disable." V, e( O6 G& Y/ H, F' V
#Cantext值:; M, Q5 G8 t- Q8 t+ N+ c6 ?
#1=Stop=输出"M00" 停止码, W4 |8 ]3 O: m& l2 M) J! y
#2=Ostop=输出"M01" 选择停止码
" X6 H8 t& A) k. _, j. C2 C#3=Bldon=在NC单节打开单节删除码(\)3 @9 P  y0 d1 S. D1 m8 g0 w
#4=bLdoff=在NC单节关闭单节删除码(\)
$ g% ]0 [6 o' G4 ?" i#+ }" J" V( o1 ^5 u, D5 }4 e4 Z
#钻孔:
6 p+ R/ I! c: L#在这个POST里支持所有的钻孔方法.
: c& N( B+ q' E  y#! E$ {* R) z" Q( V% m! I
#附加注意事项:
+ J6 T) G' V/ f#1)G54callsaregeneratedwheretheworkoffsetentryof0=G54,  g+ C* e2 z( {+ w
#1=G55,etc.
1 s7 R, T! I% K+ e  l#2)由NCI变量"met_tool"决定是否使用米制7 D7 K, i) k) M- O+ {. |2 G
#/ R! v) F: ^& o
#3)以增量方式从换刀起始位置计算运动量.+ Q2 [0 S$ u& f% S* T
#起始位置通常定义为所有换刀时刀具所处的最后位置+ I. r6 i* f" d: r0 F& P
#Incrementalmodecalculatesmotionfromhomepositionattoolchanges.5 @, P% Z( ^* A/ ^; e! ]0 |
#Thehomepositionis usedtodefinethelast positionofthetool; \2 X" Y9 ]7 T  s8 q9 ?* E
#foralltoolchanges.3 I' ^/ n" @8 H9 [. Q$ \6 K3 [
#4)变量'absinc' 现已被预先定义, 设定mi2(杂项整数)以定义
# h0 `* K) j! t! L  ?& T#绝对/增量程序输出.
; N% H: b$ E2 h* }#$ _: q6 @6 a9 U, y7 G
#--------------------------------------------------------------------------#DebuggingandFactorySetProgramtches调试和加工设置程序切换
" p8 J8 Y# d, j# n; `#--------------------------------------------------------------------------m_one:-1#定义常数% ~1 ^: F4 o. N( l
zero:0#定义常数7 X  `2 F( s1 Z
one:1#定义常数
- w: o$ }1 Q; R6 l/ stwo:2#定义常数
$ Y' v7 f& t" w7 }' S2 h6 T7 N! ethree:3#定义常数2 |. H4 y9 S0 k4 F
four:4#定义常数! P* e8 J  @' C0 _  K3 Z( v) D
five:5#定义常数
* u* J% V2 j; u$ h+ wc9k:9999#定义常数
& j+ u% I1 a, O) _& |7 [fastmode:1#Posting速度最佳化/ m9 t1 j0 M" \4 B3 W
bUG1:2#0=不显示,1=普通列表框,2=编辑器
3 m/ }" B( W, p5 t" cbug2:-30#Appendpostlinelabels, non-zerois columnposition?( P+ Q/ m3 F5 c: u) o1 J: {, M. z1 `
bug3:0#Appendwhatlineno.toeachNCline?
: k1 g- C/ X8 s9 Fbug4:1#AppendNCIline no.toeachNCline?
- u* a, K( D+ _+ o: Vwhatno:yes#不执行whatlinebranches(分枝)?(leaveasyes)
$ Y" @* i# j. Xget_1004:1#Findgcode1004withgetnextop?
0 c% z" |) Q0 M6 jrpd_typ_v7:0#UseVersion7stylecontourflags/processing?3 Y: `3 w( N5 U; Y+ E2 {! F
strtool_v7:2#UseVersion7+toolname?
+ V, `+ M. l! [" I2 Qtlchng_aft:2#Delaycalltotoolchangeuntilmoveline
/ x+ y$ P9 J( X6 u# \* I. m, J5 hcant_tlchng:1#忽视cantext入口onmovewithtlchng_aft# l+ @8 P  U( W9 y
newglobal:1#全局变量错误检测; T) A. H) E7 q/ i1 F& M8 H( a
getnextop:0#建立下一个变量表
" f3 i7 T* _! y此书尽量做到,简洁、易懂、实用。不用专业名词,不用英语基础。使大家都能理
  Y- f; E$ z* H: ~' l解应用,做到学有所用,不要像很多资料一样只是给高级技术人员的。
7 O# m; p- }& j8 e; }( f好了先讲到这里,希望对大家有帮助,特此奉上此书!!!! q+ G3 S' f$ @; |
水平有限希望CNC技术爱好者们多多交流相互帮助!提高自己的能力!为企业与社# S$ S8 F1 Z2 c1 R9 Y+ a3 V
会服务!!!3 I2 y* o) n- H/ L4 v0 f' k
http://user.qzone.qq.com/727825947
( L3 ]- M: }. d电子邮箱:mailto:zhao-1381045@163.com QQ727825947 赵存璞2 Q% e1 _* D! @& E, f6 x2 r

7 d) K0 y% D0 M# d
发表于 2014-9-14 21:26 | 显示全部楼层
有用的不得了
回复 支持 反对

使用道具 举报

发表于 2014-11-2 19:54 | 显示全部楼层
不错555536535
回复 支持 反对

使用道具 举报

发表于 2014-11-12 23:15 | 显示全部楼层
这个好像百度文库里面很多哦
回复 支持 反对

使用道具 举报

发表于 2015-1-9 22:38 | 显示全部楼层
谢谢版大.这里想请教一下:MASTERCAM自带的五轴后处理中,有没有将XYZ坐标值转换成RTCP方式输出的变量?期待你能给出解答,我试了很久,也无法做到.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-5-5 03:32 , Processed in 0.055696 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表