青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2014-4-28 19:32 | 显示全部楼层 |阅读模式
CNC机械工程师详解Mastercam后置处理
3 T1 g% ~, _5 u2 u; ]赵存璞( 工程师)
$ N$ E0 f% S, F2 T% z3 N/ G. qMastercam系统是全球装机量最多的造型加工软件,应用十分广泛,不过, i: Z& S) j! P- L" c5 n; m
很多人对MASTERCAM的后处理部分还是很不了解,下面让我给大家讲一下- e; A1 _1 c3 V! U
MASTERCAM后处理POST文件内的主要内容,从而方便更多的MASTERCAM
: |8 ~# t* h+ h爱好者了解后处理,如果还有什么不清楚的请登陆网址:
+ V% |5 r2 F9 l& r( N6 s7 Z+ [http://user.qzone.qq.com/727825947
8 |2 u+ z) j6 L5 O( N8 S1 C. E" J电子邮箱:mailto:zhao-1381045@163.com QQ727825947联系谢谢!!
  ~7 r  ]) Y. [) ?- O: F" u. MMastercam系统后置处理文件的扩展名为PST,称为PST文件,它定义了切削
5 J) G! u# z# E2 a/ A' Z加工参数、NC程序格式、辅助工艺指令,设置了接口功能参数等,其结构由八
  v  q4 U, _/ v" m, q个部分组成:
1 H! S- |. a( s: q4 D4 r3 u1. 注解
4 ?( c7 f6 P5 E* d1 H7 Y程序每一列前有“#”符号表示该列为不影响程序执行的文字注解。如:" F0 @" A$ f* d% H
#mi2-Absolute,orIncrementalpositioning3 S. E$ F- e2 S$ y) I+ D
0=absolute
; \8 O( q* v7 F: _" S$ p8 T1=incremental  ?6 j% P0 c, S+ Q. r) F6 ^
表示mi2定义编程时数值给定方式,若mi=0为绝对值编程,mi=1为增量值编3 J" S5 v6 ]' W. K
程。
- U4 H% o3 s$ s8 \7 {$ _在这一部分里,定义了数控系统编程的所有准备功能G代码格式和辅助功能M
' w  x, q* h& @; H) l7 u代码格式。
. m5 C' q3 U/ C% T2. 程序纠错
, q6 [3 c* n  ^* ?5 `& q, N程序中可以插入文字提示来帮助纠错,并显示在屏幕上。如:
5 j) M: A; V* i9 s/ |9 A. A4 j#Errormessages(错误信息)
4 N5 n& d, I# U) H+ V- ~psuberror#Arcoutputnotallowed. {0 X* `. R3 l, ~% ]! s
"ERROR-WRONGAXISUSEDINAXISSUBSTITUTION",e
" X/ C. \5 S) J) e如果展开图形卷成旋转轴时,轴替换出错,则在程序中会出现上面引号中的错
3 ]- r  k5 u3 P2 F3 r& J* Y5 `0 x+ B误提示。
/ |9 C- A) P8 }9 T' F  q3. 定义变量的数据类型、使用格式和常量赋值7 c% @8 @7 V: K
如规定G代码和M代码是不带小数点的两位整数,多轴加工中心的旋转轴的4 O0 w& b& H; Y, g
地址代码是A、B和C,圆弧长度允许误差为0.002,系统允许误差为0.00005,$ ]! z, r4 ?7 |
进给速度最大值为10m/min等。
) X* g2 S6 E1 \9 M4. 定义问题
6 ]/ Q9 n2 O' [4 o可以根据机床加工需要,插入一个问题给后置处理程序执行。( Y( @* f  O3 c; ~7 l! a8 @
如定义NC程序的目录,定义启动和退出后置处理程序时的C-Hook程序名。
- ^9 }7 [6 o) }# P) y5. 字符串列表
( j. I4 `+ U' m字符串起始字母为s,可以依照数值选取字符串,字符串可以由两个或更多的字
/ a2 |- l6 f8 {, Q# o* Y$ a; S& `符来组成。
$ p3 \0 v% L$ D8 f4 l字符串sg17,表示指定XY加工平面,NC程序中出现的是G17,scc1表示刀具
- w' J7 v8 ]/ Q" u: y半径左补偿,NC程序中出现的是G41,字符串sccomp代表刀具半径补偿建立1 q  v4 R# w# Q9 M. y
或取消。
. N- W; x' `2 |6. 自定义单节
/ U8 T9 g$ x  s/ C7 A, ^  N1 l0 x- u% }可以让使用者将一个或多个NC码作有组织的排列。
5 _' B+ r. m# M- t, Z4 j自定义单可以是公式、变量、特殊字符串等:+ w) g7 N% W. ^8 Q' F1 H, d
pwcs#G54+coordinatesettingattoolchange4 Z9 A% m" p* ~  \! w: o3 i
if mil>1,pwcs_g54
9 p5 q2 O$ N/ {9 c: q7 k( O4 s9 q表示用pwcs单节指代#G54+在换刀时坐标设定值,mil定义为工件坐标系
2 X* B) o5 b0 p$ ]! D  ~5 X2 v0 j(G54~G59)* [/ X! A6 V/ g3 \% n+ r- `
7. 预先定义的单节
9 e8 x7 n' @7 ]( S' W- p使用者可按照数控程序规定的格式将一个或多个NC代码作有组织的排列,编( l$ H# o3 t" Z5 o8 ~2 @* i- J
排成一条程序段。
( m, q0 j" j7 o+ C8. 系统问答! U; m7 a& j& A0 p) A1 w
后置处理软件提出了五组问题,供使用者回答,可按照注解文字、赋值变量、
: r9 r- j0 o. S字符串等内容,根据使用的机床、数控系统进行回答。
8 Z  C3 K  y( l/ }, D设计后置处理文件,一般是按照NC程序的结构模块来进行。根据NC程序的
+ Y. o5 m$ g4 Z3 O功能,后置处理文件分成六个模块如下:" u' N, b- {: T7 X- ], \, _
1. 文件头
4 V7 U  K- E. H" R文件头部分设定程序名称和编号,此外,SINUMERIK810D系统还必须指定NC( G) M! g& \; ?. O4 ~8 w, s6 W
程序存放路径,并按照以下格式输出:
8 b% n3 C' e8 K“%_N_(程序名及编号)_(路径)”。
1 V+ K: t# f/ C" o- O2 dNC程序可存放在主程序、子程序和工作程序目录下,扩展名分别为:MPF、SPF、+ m  n" y4 q3 i& M( K
WPD,一般放在工作程序目录下。因此经修改的Pst文件格式为:
( ?' K, h, j1 W- iPheader#Startoffile4 V( U; m. ]4 \; s" A
"%_N_",progname,"_WPD" (程序名、存放目录)
. V) ^2 _# h/ u2. 程序起始
9 ^7 V5 f+ T! f% ~8 X在程序开始,要完成安全设定、刀具交换、工件坐标系的设定、刀具长度补偿 、6 \9 ?: u4 A, _$ D4 @
主轴转速控制、冷却液控制等,并可显示编程者、编程日期、时间等注解。6 s; n# W" H9 \
修改后的有刀具号Pst文件开头格式如下:
: j8 n; `& b# V#Startoffilefornon-zerotoolnumber
+ @9 A0 l4 J: r- ?# J" X9 O......3 z% Y: C8 |4 U: F: K$ `+ C
pspindle(主轴转速计算)
3 d6 z8 S# \% {" Hpcom_movbtl(移动设备)# }- L3 _/ f. a5 A! M
ptoolcomment(刀具参数注解)
2 t  i0 b9 v' N7 z) q# X/ J6 j......: ~3 B5 O4 m1 P5 q! ~
pbld,n,*sgcode,*sgplane,"G40","G80",*sgabsinc
" e! }5 n0 c0 i; e3 o7 o) R$ d  U(快进、XY加工平面、取消刀补、取消固定循环、绝对方式编程)  L, k+ W( E6 l
if mil<=one,pg92_rtrnz,pg92_rtrn,pg92_g92(返回参考点); H) G, G! J0 W/ q$ H' |0 G
......+ [' T$ g0 |' o9 n
pbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,*speed,, _6 H/ d9 m1 D! H9 P+ {: u
*spindle,pgear,pcan1
2 `% O8 o2 r. M* t(快进至某位置、坐标系编置、主轴转速等)- n5 a5 F% k7 n/ m  U
pbld,n,pfzout,*tlngno,scoolant,[if stagetool=one,*next_tool]
4 z3 D1 B  E" b3 D& l(安全高度、刀长补偿、开冷却液)
( h$ E3 q$ J1 f$ s+ u' opcom_movea(加工过程)
+ {; G' N  @5 B* o/ Q) V1 t3. 刀具交换
; m7 c! W1 M" |: x# @- N) k刀具交换执行前,须完成返回参考点、主轴停止动作,然后换刀,接着完成刀具
" r" [0 I. k6 Y7 {2 @长度补偿、安全设定、主轴转速控制。
" E% V; P' g7 @9 nPst文件中用自定义单节ptlchg指代换刀过程,编辑修改后的程序如下:
+ U. R. X. d, P. R+ Q4 f. W& _Ptlchg#Toolchange1 y) a" G- t6 K7 j# g! Q
......
1 ~" Z5 D# a0 bptoolcomment(新刀参数注解)
) @1 n+ X) r1 t0 dcomment (插入注解); Y. C  y0 j. e8 s! Y  ?4 L
if stagetool<>two,pbld,n,*t,e(判断、选刀)
* |4 B+ H& P/ O- U8 ~: z4 jn,"M6" (换刀)
/ `6 E, B; E0 p7 m5 ~* m' F. kpindex(输出地址)
4 \" X3 \+ j- G5 apbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,*speed,; z- N" U) H- ?- d
*spindle,pgear,pcan1
6 G1 \+ D! ~% ?. a3 n(快进至某位置、坐标系偏置、主轴转速等)! e8 m7 y8 B. `" }
pbld,n,pfzout,*tlngno,"M7",[ifstagetool=one,*next_tool]
- u2 E: c) g, L$ `4 W(安全高度、刀长补偿号、开冷却液)
: t1 L: {) L: t2 X- ]pcom_movea(加工过程)9 B) O* R3 \. }, z: h
4. 加工过程4 t) T4 q( l* d$ Y+ |9 \
这一过程是快速移动、直线插补、圆弧插补、刀具半径补偿等基本加工动作。4 m6 i7 U- r  ?0 H" u$ E
对于几乎所有系统,这些加工动作的程序指令基本相同。只是注意SINUMERIK: i) H# y) t) }- D! R, X
810D系统的刀具长度补偿值由字母D后加两位数字调用,不需要G43/G44指# F7 Z* c! j  m$ C) C- Q9 V: t
令;而半径补偿值则由G41/G42调用,不需要再接地址代码。用G40取消刀具
" T; \! r' D  C$ Y$ m7 V+ b长度和刀具半径补偿。8 N5 E4 E7 `' ?5 O3 W7 d7 O7 O' Q
5. 切削循环2 K* R. ^5 \8 w, g2 I" g( E
Mastercam软件提供了6种内定的孔加工固定循环方式:一般钻削$ `3 v0 l& ^# R# Z  b' O5 e( ~
(Drill/Cbore)、深孔啄钻(PeckDrill)、断屑钻(ChipBreak)、右攻丝(Tap)、精镗
4 Q: l* M& p( e+ C孔(Bore#1)、粗镗孔(Bore#2),通过杂项选项(Misc#1/Misc#2)可设定左攻丝 、
7 e4 t3 ^/ [9 s8 P背镗孔、盲孔镗孔、盲孔铰孔等循环,并采用G73~G89代码来表示。0 s; k+ {) e8 R: b, {
#POST名称:wgkG54+ y+ T/ o7 F% E: A9 S' h- ]
#类型:MILL
5 l, H/ `3 y6 P+ w* P% q' R7 m#机床名称:GENERICFANUC; S9 D3 W9 V  w+ k0 e
#控制器名称:GENERICFANUC8 A; [1 N$ V/ `" I( v4 }
#描述:GENERICFANUC3AXISMILLPOST
; D$ l! F* @# Y6 c6 A8 t, P# i#AssociatedPost:NONE: |* e& ?" W5 o/ Y& O9 k% Z1 S
#车/铣复合:NO
, f; d" y( y  K#4-axis/Axissubs.:NO' K& w  Q) V8 t* {% i" u$ m' m
#五轴:NO
( ~8 U" ~  k3 l" A$ @' d$ |0 R#子程序支持:NO- C, L) u8 p/ D# t+ P$ R
#自动换刀:NO
7 H$ ]. |" [9 S! K1 L6 i# b如对于深孔钻削固定循环,Mastercam采用的格式为:G83X_Y_Z_R_Q_F;而
8 g/ B  K4 [& ?( y9 HSINUMERIK810D系统用CYCLE83指代深孔钻削循环,其NC程序要求给出循
- M0 I7 X0 V0 D环加工所有参数,输出格式为:) }& c1 U  o, v4 d9 D; b* |2 ^
CYCLE83(RTP,RFP,SDIS,DP,DPR,FDEP,FDPR,DAM,DTB,DTS,FRF,VARI)+ s8 ^2 d) D# v+ t
在pst文件中需按SINUMERIK810D系统格式进行定义、修改和编写。
& }8 {$ |+ c* d; v6. 程序结尾
8 l$ t4 X* U0 N3 {# }' w程序结尾一般情况下是取消刀补、关冷却液、主轴停止、执行回参考点,程序
5 S6 u4 s# P8 T. e$ B$ w2 x停止等动作。下面是修改后的pst程序结尾:
+ Q8 h3 Z' n1 ZPtoolend_t#Endoftoolpath,toolchange
" S7 E+ _4 U8 T0 i+ ?4 Q" j......3 C1 a9 R" A3 M" K, c8 @$ ^9 F* g0 _
pbld,n,sccomp,"M5",*scoolant,e(取消刀补、主轴停止、关冷却液)
- u% ]8 \- y- W4 P! ppbld,n,*sg74,"Z1=0.X1=0.Y1=0.",e(返回参考点)" g( E6 D% E0 _
if mi2=one,pbld,n,*sg74,"X1=0.","Y1=0.",protretinc,e  {; o9 O, {( X$ Q
else,protretabs(程序结束)
7 @" Q8 e+ ]0 L5 }#工作坐标系:G54
0 w( N5 S; q8 h: ?. y#Executable:MP8.00- w7 {2 R- K; d% a
#这个POST支持FANUC控制器普通三轴铣床的的G代码输出,; e7 a  a! N2 M* Z
#不支持自动换刀,有最大圆弧报警
- ?& [2 L/ G% d#它来源于MP-EZ.PST$ I) n9 t7 ~5 X: M
#是针对MastercamMillV8的特征而设计的
; Q. H% B: g$ K& n- ?## S5 u% l' o* {
#. D# m) q; R' [& T+ X8 @
#欢迎各位试用此后处理程序,提供意见反馈,  J$ k& e& E% V# M5 T  F
#网址:http://user.qzone.qq.com/727825947 赵存璞
4 u: F0 G- m9 K#电话:138104506572 V6 H0 h* W* I' S3 v' k2 g+ X
#E-MAIL:zhao-1381045k@163.com
3 m* G- [, H6 G; A#QQ:7278259470 z( w5 w. r$ ~1 {$ d+ R2 M3 c
#--------------------------------------------------------------------------#修改日志:* c1 T$ t3 w# H" Z4 J6 q
#--------------------------------------------------------------------------#ProgrammersNote:, Y* m8 q1 _0 k* E) S6 {
#CNC08/01/00-Initialpostsetup,jce- h; K9 p$ v7 l) v
#2008-8-8- 去掉自动换刀,赵存璞# k! D9 Z8 \) g. a7 x
#2008-10-8- 增加中文注释,赵存璞
! z0 s, E6 ]" o/ E, c#2008-10-8- 增加最大圆弧警告,赵存璞$ ~: j, Q0 r) e1 j/ K
#2008-11-8- 修改坐标系为G54,赵存璞
$ W% j1 j$ w* u' |/ G( B( z#--------------------------------------------------------------------------#特征:
) U. i* [7 p! P" E2 }8 ^' d& R' X3 e8 w- p#--------------------------------------------------------------------------#下列Misc.(杂项) 必须使用整数:+ v5 I, z; B- @2 T- g4 w
#0 m4 l$ [6 r5 B
#mi2- 绝对或增量坐标attoplevel
( |+ F+ o! C; d- s  l* A5 _7 c1 |' p#0=绝对
7 P" e4 l$ i1 W' s$ }; B8 _#1=增量
; P! c& t( a0 Q9 y% x1 a% A#
/ ?3 a$ [, Y7 y7 ]+ ^5 ]$ z# U#mi3- 选择G28或G30来执行参考点回归.
8 k9 z6 ]! F; x" o; a3 f  f#0=G28,1=G30# C8 F. K/ q) @' N
#, ?) N: E6 B0 ]# N3 `, }( R
#Cannedtext:; N/ U, N7 R9 T  b  i
#在轮廓点里插入"cantext".以允许/禁止下列Mastercam里许可的功能,( h+ _% V) \; |1 I1 {: j
#EnteringcantextonacontourpointfromwithinMastercamallowsthe
2 j4 X" Z2 H, |' ?, ]#followingfunctionstoenable/disable.  y4 j1 c/ _3 F9 U" ]
#Cantext值:
) G* X0 g% {- U0 M#1=Stop=输出"M00" 停止码- |; C. F( K- O, m. n& X1 x7 _
#2=Ostop=输出"M01" 选择停止码) w% E* g4 N# j, q
#3=Bldon=在NC单节打开单节删除码(\)0 O/ r4 O  P' |, y
#4=bLdoff=在NC单节关闭单节删除码(\)
( i' E6 n8 L  {5 Q" G#9 X% o+ a7 U* P0 x' H2 B
#钻孔:3 }3 R4 h, B2 Q* R
#在这个POST里支持所有的钻孔方法.
% G" z8 ]( h7 F& @4 a#
3 a# D$ W7 P1 ^0 N& D% E! ]#附加注意事项:
  C  s! ]- B; \; V3 T3 m#1)G54callsaregeneratedwheretheworkoffsetentryof0=G54,5 _, ?; j$ i9 O0 ]3 C
#1=G55,etc.- v/ W: d0 u8 Q- U; Y7 _7 Q# `
#2)由NCI变量"met_tool"决定是否使用米制/ o+ R3 }* q4 a0 o6 h' l2 ~
#
+ w2 a& M' a# m+ C% U#3)以增量方式从换刀起始位置计算运动量.% s9 K$ n7 ?, O2 \4 G6 H
#起始位置通常定义为所有换刀时刀具所处的最后位置% l# ^# ^4 S/ J' n2 @) d! z
#Incrementalmodecalculatesmotionfromhomepositionattoolchanges.
- Y/ p# U% ?/ M4 ?! f9 @: s9 x+ ~! q#Thehomepositionis usedtodefinethelast positionofthetool
- y; W- s) D2 |) h#foralltoolchanges.
3 z5 R- i  F4 ^( K5 X" g1 [#4)变量'absinc' 现已被预先定义, 设定mi2(杂项整数)以定义
+ y! ]1 m2 ^$ s7 C: x6 [7 I+ k# H#绝对/增量程序输出.5 p9 `# J. a' X, y5 Z) l
#9 m( N1 M9 u  u. f( D* A) A; d
#--------------------------------------------------------------------------#DebuggingandFactorySetProgramtches调试和加工设置程序切换, x! Z9 R* K6 C. Z7 o
#--------------------------------------------------------------------------m_one:-1#定义常数2 c- Q9 H: l* z5 ~! r2 q
zero:0#定义常数* N8 m0 z' X, _' D6 H" N6 Q
one:1#定义常数
  [+ O  H8 o2 |0 T4 _# ~two:2#定义常数  A2 Q& [; v/ G1 N1 p
three:3#定义常数
) b- p) O) y2 O3 ufour:4#定义常数; @: F3 Z) }9 t7 \  Y. f
five:5#定义常数
1 Z# h! O* u2 n' r5 F! B( l( N* _1 jc9k:9999#定义常数
5 W5 R4 x* P0 X8 t3 I2 }fastmode:1#Posting速度最佳化; E, l7 w" E& M
bUG1:2#0=不显示,1=普通列表框,2=编辑器9 p" z# q) v. L0 W5 z
bug2:-30#Appendpostlinelabels, non-zerois columnposition?& @+ F( S. I8 b) s' k3 o/ a
bug3:0#Appendwhatlineno.toeachNCline?8 t8 b( W7 x+ h8 N0 B! _  q
bug4:1#AppendNCIline no.toeachNCline?
; @# r, W/ M9 f$ j- I: k# Wwhatno:yes#不执行whatlinebranches(分枝)?(leaveasyes)
$ J! S6 ^8 x# N! ^get_1004:1#Findgcode1004withgetnextop?# t) |/ I' P2 W
rpd_typ_v7:0#UseVersion7stylecontourflags/processing?/ ?- Z+ ~) z6 E5 ?4 u8 X: y0 a
strtool_v7:2#UseVersion7+toolname?
: E1 t6 O. A! j4 O' {( u0 A. L, atlchng_aft:2#Delaycalltotoolchangeuntilmoveline
! x& q, J' S5 K3 ~cant_tlchng:1#忽视cantext入口onmovewithtlchng_aft1 E7 u' d7 Z% h4 e
newglobal:1#全局变量错误检测0 v. H# A2 ?" }
getnextop:0#建立下一个变量表  n; s3 _0 [- o( E1 ~& }* x
此书尽量做到,简洁、易懂、实用。不用专业名词,不用英语基础。使大家都能理
3 B& g6 X1 O) k) s解应用,做到学有所用,不要像很多资料一样只是给高级技术人员的。4 f/ R& u) R" x1 y, O* f! e
好了先讲到这里,希望对大家有帮助,特此奉上此书!!!( }% K( O4 s+ ^' z, m+ m
水平有限希望CNC技术爱好者们多多交流相互帮助!提高自己的能力!为企业与社5 k- h+ F  P" G! L' D6 ^
会服务!!!
$ ?1 z4 A: ~/ ]- G9 l: Qhttp://user.qzone.qq.com/727825947
8 W7 o- N6 B, y4 n$ R/ ]/ A) K% [电子邮箱:mailto:zhao-1381045@163.com QQ727825947 赵存璞3 }# z) N/ U* b  J. g( X* x
0 g9 ?8 d8 P# q1 A) L7 R
发表于 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-8-2 14:27 , Processed in 0.116149 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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