青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2014-4-28 19:32 | 显示全部楼层 |阅读模式
CNC机械工程师详解Mastercam后置处理( E% H) g* _/ |: A
赵存璞( 工程师)
, h, f* s& u  v- @  x- mMastercam系统是全球装机量最多的造型加工软件,应用十分广泛,不过. ^! X0 K$ g" v  Y0 q  l9 E
很多人对MASTERCAM的后处理部分还是很不了解,下面让我给大家讲一下
! i" ?! ], _  i) Q! b' {& dMASTERCAM后处理POST文件内的主要内容,从而方便更多的MASTERCAM
4 w, {+ Y* M. }8 w爱好者了解后处理,如果还有什么不清楚的请登陆网址:$ N6 {# P, Y7 L
http://user.qzone.qq.com/727825947
% u: s  J( y$ t  V电子邮箱:mailto:zhao-1381045@163.com QQ727825947联系谢谢!!. z3 P3 E+ P! `. P! ^% S
Mastercam系统后置处理文件的扩展名为PST,称为PST文件,它定义了切削
* l9 M  ~9 b, t- P加工参数、NC程序格式、辅助工艺指令,设置了接口功能参数等,其结构由八
& n$ \7 B# i2 X( a( H1 e个部分组成:
+ ^8 z  y8 K0 }( q3 o- ^% c5 n# t1. 注解( r2 L  z- D& \& k
程序每一列前有“#”符号表示该列为不影响程序执行的文字注解。如:5 C7 k/ Q+ l" ^. \' S3 d
#mi2-Absolute,orIncrementalpositioning
  Z9 X% U+ W5 z2 `0=absolute
- d/ \0 O  r2 @$ n# y  }1 N1=incremental1 P3 m( V- Z. c+ b% C
表示mi2定义编程时数值给定方式,若mi=0为绝对值编程,mi=1为增量值编
6 r+ q# N' N1 `5 m程。
& z/ D) P' [$ W7 n7 V9 |" o在这一部分里,定义了数控系统编程的所有准备功能G代码格式和辅助功能M; C0 y6 b1 r& m- ?% |
代码格式。9 Z, x% ?& K* Q6 `. }1 S, e
2. 程序纠错
( A* R4 c, A) c3 @; X  k程序中可以插入文字提示来帮助纠错,并显示在屏幕上。如:# V) n* {+ [5 ~. E" d' G. K7 {
#Errormessages(错误信息)
! ^; T# |7 S5 M: vpsuberror#Arcoutputnotallowed
. ?" `  p! K- }) _4 {"ERROR-WRONGAXISUSEDINAXISSUBSTITUTION",e: n6 g" h& y6 u" O
如果展开图形卷成旋转轴时,轴替换出错,则在程序中会出现上面引号中的错
% E# p$ V$ Q2 k% O4 _误提示。+ U: I6 F% t4 K. j
3. 定义变量的数据类型、使用格式和常量赋值
, D7 t: x# ?1 i% n( j" \% ~如规定G代码和M代码是不带小数点的两位整数,多轴加工中心的旋转轴的
1 E4 d! c. u1 Q地址代码是A、B和C,圆弧长度允许误差为0.002,系统允许误差为0.00005,
1 F1 \- |9 c9 x! L: }/ [( }" m$ n进给速度最大值为10m/min等。8 `: K# D/ r# i
4. 定义问题
+ |) D, B8 F7 e" |' [* ]可以根据机床加工需要,插入一个问题给后置处理程序执行。$ S  F* u% L/ ?/ Z) r9 V3 {& a
如定义NC程序的目录,定义启动和退出后置处理程序时的C-Hook程序名。
6 p- p6 D9 }; c6 ~* ~" `5. 字符串列表
' e, H) ?7 A. @. X" z' a* i字符串起始字母为s,可以依照数值选取字符串,字符串可以由两个或更多的字
2 U; X3 }" }- U% {# G' Y+ e( D符来组成。
, M: W$ Q/ U0 V6 X& t( n字符串sg17,表示指定XY加工平面,NC程序中出现的是G17,scc1表示刀具
) _% e- X! h: e8 [. P2 ]8 L半径左补偿,NC程序中出现的是G41,字符串sccomp代表刀具半径补偿建立/ s* R; H: i( t" l
或取消。
- V3 ]) p- i7 c; J- d' J6. 自定义单节. O) K/ Y, x* Q9 }5 R& g4 b3 E
可以让使用者将一个或多个NC码作有组织的排列。" I, Y5 u3 m: k$ A; B2 h6 N
自定义单可以是公式、变量、特殊字符串等:# C1 D3 i2 F7 \. p" m
pwcs#G54+coordinatesettingattoolchange
  |( b% t1 H6 c  i; e; aif mil>1,pwcs_g54, K1 }$ s, P( k9 s" q. z# k
表示用pwcs单节指代#G54+在换刀时坐标设定值,mil定义为工件坐标系+ ~- \- q. \* a
(G54~G59)
7 a! w; i& h  P- D4 O. b( t7. 预先定义的单节
, I$ i  D& y- B/ p- S' _使用者可按照数控程序规定的格式将一个或多个NC代码作有组织的排列,编8 V  l( O- H! p. `8 v2 }+ L9 B8 L
排成一条程序段。7 F& l. c9 |. j8 [
8. 系统问答
6 l# t8 W6 R  |/ Q( }9 J后置处理软件提出了五组问题,供使用者回答,可按照注解文字、赋值变量、; E8 B1 J5 I# @2 X
字符串等内容,根据使用的机床、数控系统进行回答。
- @$ e! @- @9 Y! @* Z  V1 l( g设计后置处理文件,一般是按照NC程序的结构模块来进行。根据NC程序的& W( }8 T/ w1 u8 q( [
功能,后置处理文件分成六个模块如下:
0 M6 q7 }# k# Q$ }/ r3 E# {# x1. 文件头: \: r9 i1 R' F6 l9 c5 X. ?6 i
文件头部分设定程序名称和编号,此外,SINUMERIK810D系统还必须指定NC
, M. j+ L" n: ^5 p; U0 h; ~程序存放路径,并按照以下格式输出:
% t5 n2 p; d$ E: M. L“%_N_(程序名及编号)_(路径)”。
. e2 o; E6 f5 C9 D3 ?8 C2 qNC程序可存放在主程序、子程序和工作程序目录下,扩展名分别为:MPF、SPF、
/ Y/ H* U: ?' l% n& nWPD,一般放在工作程序目录下。因此经修改的Pst文件格式为:
+ Z3 o5 _) q, V) Y( X" h+ R) Q& }Pheader#Startoffile
8 l& Q" ~8 Q( y8 y"%_N_",progname,"_WPD" (程序名、存放目录)
, v! ^0 m. h2 h9 W+ V, t2. 程序起始3 t9 [- [9 ?1 M. J, u8 z0 o
在程序开始,要完成安全设定、刀具交换、工件坐标系的设定、刀具长度补偿 、- e4 u9 Y6 y  Q( ]3 ]+ y
主轴转速控制、冷却液控制等,并可显示编程者、编程日期、时间等注解。
9 Z; d% x1 i; j0 Y& L2 C+ P' Y* l; d7 }" k修改后的有刀具号Pst文件开头格式如下:
7 Z+ X' A) r* q9 v; X#Startoffilefornon-zerotoolnumber' D" B  w) ]/ U; O; P
......
# k* A& o4 ?& o, apspindle(主轴转速计算)
- T8 d% E6 B: wpcom_movbtl(移动设备)4 X  T9 o" @; N: S- Q+ H1 T
ptoolcomment(刀具参数注解)
* S" l* t! }+ C....... g5 c$ U) j  u3 {2 y) B
pbld,n,*sgcode,*sgplane,"G40","G80",*sgabsinc/ R1 q  o/ Q8 w' }) G
(快进、XY加工平面、取消刀补、取消固定循环、绝对方式编程)
* P8 m& g5 @9 U" q4 }if mil<=one,pg92_rtrnz,pg92_rtrn,pg92_g92(返回参考点)! l' d- d1 e8 C2 C7 U& S
......
+ j+ d7 {. b( M  y) M7 h2 ypbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,*speed,% f) w% j0 U8 F; ~+ F0 Q' ]
*spindle,pgear,pcan14 ^( `. x$ [) O! n
(快进至某位置、坐标系编置、主轴转速等)7 Y5 X/ Q/ L6 @' h" P0 g
pbld,n,pfzout,*tlngno,scoolant,[if stagetool=one,*next_tool]
1 @1 U% U' i' ]) T* A- ?1 \0 p(安全高度、刀长补偿、开冷却液)+ E* P& S' q. s0 K: h4 d
pcom_movea(加工过程), R" L6 @1 i+ W' s, t* ]
3. 刀具交换
- w' i4 f' G, o* T刀具交换执行前,须完成返回参考点、主轴停止动作,然后换刀,接着完成刀具( W: \; {1 _( W+ a
长度补偿、安全设定、主轴转速控制。
8 V0 a1 I; G" u& ?+ ?& J* m( N5 N5 FPst文件中用自定义单节ptlchg指代换刀过程,编辑修改后的程序如下:
/ K) a4 s8 N7 |5 u! j' q$ T; s/ NPtlchg#Toolchange9 T) O) h1 c9 f7 i3 n8 X0 a
......: w: D! s) N* w- s8 ?$ M7 z2 F
ptoolcomment(新刀参数注解)5 N- |$ H& W% Z" g: U% K
comment (插入注解)
; N3 Y8 H) Q' r7 ]9 Aif stagetool<>two,pbld,n,*t,e(判断、选刀)% K' Q; b' W& V* l' b5 x
n,"M6" (换刀)  M7 r7 J: E/ K$ j1 c' c: y* I
pindex(输出地址)/ I( t" J, n) G. r
pbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,*speed,
& t4 j0 R; N3 F0 ]1 U*spindle,pgear,pcan1
0 O2 C) ]' f) X/ g2 p$ Q(快进至某位置、坐标系偏置、主轴转速等)
7 [( |" c9 L7 n1 y& n! gpbld,n,pfzout,*tlngno,"M7",[ifstagetool=one,*next_tool]
. @7 z. F( q" ](安全高度、刀长补偿号、开冷却液)/ l$ [' I6 s, {; Y
pcom_movea(加工过程)
$ [  G6 |1 }0 `( T7 N4. 加工过程# P, K4 Z# s' v# a+ x  W
这一过程是快速移动、直线插补、圆弧插补、刀具半径补偿等基本加工动作。
' t/ ?) _* M5 D; ?8 Y( D1 A6 F8 f5 E对于几乎所有系统,这些加工动作的程序指令基本相同。只是注意SINUMERIK
+ Y$ c( L  `8 V810D系统的刀具长度补偿值由字母D后加两位数字调用,不需要G43/G44指
0 o: }& p" v  O/ Z: n' u令;而半径补偿值则由G41/G42调用,不需要再接地址代码。用G40取消刀具
" ]: r/ R2 F5 [6 @- H长度和刀具半径补偿。
: s. c' O6 j7 p3 b5. 切削循环
; n7 b! `& n. U; w! SMastercam软件提供了6种内定的孔加工固定循环方式:一般钻削
0 S" n  i6 m, K; d- _(Drill/Cbore)、深孔啄钻(PeckDrill)、断屑钻(ChipBreak)、右攻丝(Tap)、精镗, L1 g$ l" G, W
孔(Bore#1)、粗镗孔(Bore#2),通过杂项选项(Misc#1/Misc#2)可设定左攻丝 、8 y( L: H, N" S1 F- z2 `& c
背镗孔、盲孔镗孔、盲孔铰孔等循环,并采用G73~G89代码来表示。4 l4 ]' F( G+ Q$ h% g/ V* G0 i
#POST名称:wgkG547 x; y% D6 Q7 y+ n5 ?6 o
#类型:MILL- {2 o7 Y( [% w
#机床名称:GENERICFANUC
% q( K: a' f. J" W#控制器名称:GENERICFANUC
3 B5 W! x* [) }#描述:GENERICFANUC3AXISMILLPOST& @' S. H% K5 T2 c  L2 T( P
#AssociatedPost:NONE& r9 J& c9 E; s5 K- ^# }: A
#车/铣复合:NO
) |; f, y6 `& b+ K4 E" p/ R: u#4-axis/Axissubs.:NO& }. B6 b% \: r, r" V; M2 K
#五轴:NO- H5 _! B+ E3 _6 f) C: g
#子程序支持:NO5 v% N" w; L0 u: n  z7 d
#自动换刀:NO
" l6 V9 J; {: y% ^) e6 E如对于深孔钻削固定循环,Mastercam采用的格式为:G83X_Y_Z_R_Q_F;而
0 T: ^. t. |8 C5 W1 q+ W" ISINUMERIK810D系统用CYCLE83指代深孔钻削循环,其NC程序要求给出循( F9 c7 b; h) ?$ m# l9 f
环加工所有参数,输出格式为:
% _$ l" x" v1 L# Y# s7 HCYCLE83(RTP,RFP,SDIS,DP,DPR,FDEP,FDPR,DAM,DTB,DTS,FRF,VARI)
/ }6 T3 L' ]7 q0 u3 H在pst文件中需按SINUMERIK810D系统格式进行定义、修改和编写。  K; N" S' ^  y7 r% q
6. 程序结尾
0 e2 l/ y& r9 ?+ t: p" P' v5 s程序结尾一般情况下是取消刀补、关冷却液、主轴停止、执行回参考点,程序  ]; j1 D% D6 ^3 ^- k, b
停止等动作。下面是修改后的pst程序结尾:
! ]# R; R' M0 v9 N* tPtoolend_t#Endoftoolpath,toolchange8 z7 m0 T: |3 K" P+ N
......# u% m8 J6 M$ \# z2 }
pbld,n,sccomp,"M5",*scoolant,e(取消刀补、主轴停止、关冷却液)
7 w1 {3 n) p4 P! e( _1 @pbld,n,*sg74,"Z1=0.X1=0.Y1=0.",e(返回参考点)  ~. L% Q! T. B# v/ X3 w+ j2 @
if mi2=one,pbld,n,*sg74,"X1=0.","Y1=0.",protretinc,e
% ]- E" d( H: V3 ?4 @else,protretabs(程序结束)
  K$ B& X9 t: x1 O+ N#工作坐标系:G54
6 P+ d6 F+ d$ m( a; f3 x0 e#Executable:MP8.00
1 a" I7 _: d& L8 J- W9 k8 w#这个POST支持FANUC控制器普通三轴铣床的的G代码输出,
2 K7 y& ~) g. m0 G/ ?#不支持自动换刀,有最大圆弧报警2 i# ~' l$ P7 q. \
#它来源于MP-EZ.PST
1 Z  H/ l' _& F#是针对MastercamMillV8的特征而设计的
1 C4 v+ I. O, ~/ Q+ w1 n+ C2 j#, O- G4 S( {! @$ L" @8 O) a
#
; ]# t- P8 Y7 y2 O( v#欢迎各位试用此后处理程序,提供意见反馈,
2 p' B. T' K+ K2 w" k#网址:http://user.qzone.qq.com/727825947 赵存璞+ l( s: x( z% \
#电话:13810450657
7 z3 ]4 i1 {7 ^8 g3 |5 x4 m#E-MAIL:zhao-1381045k@163.com
6 l. ~2 `8 T& T; P#QQ:727825947; {; c( i' u' V3 t# h& x6 d4 T+ R5 s
#--------------------------------------------------------------------------#修改日志:. e3 X: e! }  f
#--------------------------------------------------------------------------#ProgrammersNote:
% e; z3 R  V. S6 W, m$ M* P#CNC08/01/00-Initialpostsetup,jce$ o3 V$ V& V; E
#2008-8-8- 去掉自动换刀,赵存璞1 U6 z' j! p; d: _! @/ T
#2008-10-8- 增加中文注释,赵存璞& Q  P' e( v! j- i" ~0 f7 `
#2008-10-8- 增加最大圆弧警告,赵存璞
* J, ]( M. @. p% n#2008-11-8- 修改坐标系为G54,赵存璞1 T' s! K* g- F
#--------------------------------------------------------------------------#特征:5 v, g. l* @4 b; ~8 s
#--------------------------------------------------------------------------#下列Misc.(杂项) 必须使用整数:
: @# U; Q- O4 ~5 a5 {2 p& c#
4 N1 {9 }5 D9 W# t8 U#mi2- 绝对或增量坐标attoplevel
/ b) \. G# E3 @# H+ s. r3 u#0=绝对
3 W" E8 i1 G" ]; p/ B- @#1=增量( M! K; m4 a8 V: F: k, [1 L
#
1 p+ j% r9 }* J1 M#mi3- 选择G28或G30来执行参考点回归.
: X' V" ]% V1 l* N: Z#0=G28,1=G30) \6 ~7 c( ^: r( g5 ^! I
#
+ I3 o# \0 V* ^+ D" h; N, V#Cannedtext:
8 t& d' l; C- G" k8 Y" O* i0 U#在轮廓点里插入"cantext".以允许/禁止下列Mastercam里许可的功能,- Q8 A8 w$ B% |3 A
#EnteringcantextonacontourpointfromwithinMastercamallowsthe, g/ j2 @0 m4 X# `+ l. H$ S- {4 y
#followingfunctionstoenable/disable.
! J5 H) R2 w1 d5 N: V4 ]' K- O; F#Cantext值:1 k8 }! p2 |, j# ?  G
#1=Stop=输出"M00" 停止码
8 ^6 u) b% W3 r% p( T" O! p" ]& }2 z#2=Ostop=输出"M01" 选择停止码- }/ x2 P4 M2 q" T4 X3 o+ Z
#3=Bldon=在NC单节打开单节删除码(\)4 V1 Q" \. f" ?+ s2 s
#4=bLdoff=在NC单节关闭单节删除码(\)
6 T: `. }* C; B% W1 T0 Q4 l+ m4 d; G#
# e7 ^3 I6 D: X  Y  F: E#钻孔:
' p$ x- I% _4 v3 J#在这个POST里支持所有的钻孔方法.0 a. x- w7 h& N- L2 a
#/ b7 V: P/ k3 }; A  x7 k
#附加注意事项:9 p* E, P: v# q% J* y+ S/ h  ~
#1)G54callsaregeneratedwheretheworkoffsetentryof0=G54,& W' W+ u7 a2 b& \" l
#1=G55,etc.
- }4 A2 a7 I5 y% i0 D4 X; G#2)由NCI变量"met_tool"决定是否使用米制
" K% R0 G* c. n- Y. D! A9 C#4 S' O; ~, W( l$ e8 @' r" C% z
#3)以增量方式从换刀起始位置计算运动量.. N, b/ g! ^2 F0 g1 H
#起始位置通常定义为所有换刀时刀具所处的最后位置0 J* S, _5 z9 [+ t4 C
#Incrementalmodecalculatesmotionfromhomepositionattoolchanges.
/ e8 m" Q' E  W0 H( n% }; O#Thehomepositionis usedtodefinethelast positionofthetool
9 U% |+ \/ y0 f) g5 C#foralltoolchanges.! Z9 ]2 [$ r  G
#4)变量'absinc' 现已被预先定义, 设定mi2(杂项整数)以定义
1 A( j# ~1 j* j& F9 T1 n" Z* f$ G#绝对/增量程序输出.& y( Q! y7 ?5 a+ M' Y
#/ g5 y9 y% _  F5 B1 s1 x( }* q3 j
#--------------------------------------------------------------------------#DebuggingandFactorySetProgramtches调试和加工设置程序切换7 k* [  I5 \% I. y- Y+ c
#--------------------------------------------------------------------------m_one:-1#定义常数
( V3 {: F; ?  p8 Nzero:0#定义常数- a4 p0 q7 o' ?' H* Z; K5 k( z2 W
one:1#定义常数
! _' v, O6 k* dtwo:2#定义常数1 L- w; ?' F5 x$ l" c) r& `
three:3#定义常数
5 h. F: I1 H' D" G" @; mfour:4#定义常数- E  r0 y9 Y: U/ e( }& j) w: O! J
five:5#定义常数
0 O) ~! R$ n: Y# X1 ^' bc9k:9999#定义常数
! X. {) I7 h& n" A6 Ifastmode:1#Posting速度最佳化) P8 s0 M+ m8 A
bUG1:2#0=不显示,1=普通列表框,2=编辑器% K7 {: [1 x. d3 ?6 ~: r
bug2:-30#Appendpostlinelabels, non-zerois columnposition?  S8 C7 W/ }: w# b/ h- q0 C6 J
bug3:0#Appendwhatlineno.toeachNCline?& g) X+ I& r. o% ?) X; s6 E  ?) n
bug4:1#AppendNCIline no.toeachNCline?
0 m' ?; {) \) D0 n* vwhatno:yes#不执行whatlinebranches(分枝)?(leaveasyes)
. J  x0 E8 w5 p/ M. s) |2 Zget_1004:1#Findgcode1004withgetnextop?
- H4 g; `9 V; X! p& Qrpd_typ_v7:0#UseVersion7stylecontourflags/processing?6 A0 I2 ?9 p6 L; b. d, V
strtool_v7:2#UseVersion7+toolname?/ X+ K* e1 I* m  l2 J% n
tlchng_aft:2#Delaycalltotoolchangeuntilmoveline, L) C( i8 V- G
cant_tlchng:1#忽视cantext入口onmovewithtlchng_aft
5 m  R2 A8 @- h: m% |" vnewglobal:1#全局变量错误检测; t7 E/ Z# c, ~% o4 f* N
getnextop:0#建立下一个变量表
/ d. r% l; a# B( S* u此书尽量做到,简洁、易懂、实用。不用专业名词,不用英语基础。使大家都能理$ b  P8 X6 N; s9 {) r( q" r; s+ ~
解应用,做到学有所用,不要像很多资料一样只是给高级技术人员的。% ^8 f- H( t; u6 N3 b( M2 T; m
好了先讲到这里,希望对大家有帮助,特此奉上此书!!!$ t3 {+ E( i9 @
水平有限希望CNC技术爱好者们多多交流相互帮助!提高自己的能力!为企业与社
/ {, Q7 D- E% J- G5 t会服务!!!+ g& [$ M% Q% ~* {* W
http://user.qzone.qq.com/727825947
$ m8 U$ J2 k7 O- h* C/ o% X3 |电子邮箱:mailto:zhao-1381045@163.com QQ727825947 赵存璞1 E: R/ ]7 g0 a( ?3 u
% \9 m# q" b, M7 H/ D& p; Y
发表于 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, 2025-6-26 12:49 , Processed in 0.149247 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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