|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路.
, E( t% H# f( i( g, E1 H; E/ f2 ~5 h" [ @0 g- f- W; q
下面重点介绍它的后处理设置. ' b$ D8 p" |' Y, R) |' B6 F1 \) r
# h! L; s5 d! o
后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分: 4 w9 y( F# ?; _3 o p8 }" I
. l* F# l, H5 U) _3 ~3 S 1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改. $ j9 j- t/ r. C2 S( j; x
以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.)
# e: Y+ p# m Y$ C* C) p. M9 d# Post Name : MPFAN
, m2 o$ {% R" X9 p0 s# Product : MILL
) L2 q4 v( y6 Y8 g# Machine Name : GENERIC FANUC , z: [( b2 I+ Y+ b
# Control Name : GENERIC FANUC
9 Z* D$ N6 c! y# Description : GENERIC FANUC MILL POST
i) }" ], J |: @0 y8 E# Associated Post : NONE
/ _) o0 p+ u9 k- B3 P8 [# Mill/Turn : NO
1 p3 z0 `+ L8 G/ J' b# 4-axis/Axis subs. : YES 1 H, J" y7 q9 A7 a/ i8 a! g
# 5-axis : NO
" [$ Y7 V" ~/ L" m3 T# Subprograms : YES
0 Z! ^6 K+ A: n- T- K# Executable : MP v9.0
) H3 n, a; M8 \, s4 B# & X; T, p' R6 R0 Y" `/ ^; B4 a
# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
0 t$ s7 P: |; z# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE. 9 X# W( l* `5 J& o, S5 R
) I" O8 j" u {* |: Z
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的) # k: ]0 q3 u% h p
m_one : -1 #Define constant ; U% T/ C2 ~- v& x# j5 G
zero : 0 #Define constant , c% O# E% R# f+ e0 m" T" M
one : 1 #Define constant / q3 `3 R, ]. \* N* j
two : 2 #Define constant 6 N7 B, A" `6 \2 q- ^
three : 3 #Define constant / B9 n$ V0 A' h9 m9 L2 l! m& |7 H! G
four : 4 #Define constant
0 G. s `) w# ~" _3 ~$ Wfive : 5 #Define constant
$ S1 ]: z7 ~5 o7 z G3 r4 ~) Jc9k : 999 #Define constant 8 J+ `+ c. O7 A
( P ~/ U- K; w& z2 F H; U# nfastmode : yes #Enable Quick Post Processing, (set to no for debug)
+ J1 d7 A; A2 B8 u% Cbug1 : 2 #0=No display, 1=Generic list box, 2=Editor
: S$ `" d! Y4 K9 k2 O j1 hbug2 : 40 #Append postline labels, non-zero is column position? 1 d/ t5 j7 G9 `* l
bug3 : 0 #Append whatline no. to each NC line? + n; G% ]1 a$ J$ S) J5 _. G# j; Z
bug4 : 1 #Append NCI line no. to each NC line?
& D& O; R* Z4 ]) A4 @whatno : yes #Do not perform whatline branches? (leave as yes) . X1 e9 u; Y: ^5 D5 u- X! b
3 {( I$ u/ ]0 j( e& y0 n% {9 w7 e
get_1004 : 1 #Find gcode 1004 with getnextop?
5 ^ U- v" d! o6 `' z; orpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?
6 z* [3 W# x1 t gstrtool_v7 : 2 #Use Version 7+ toolname?
0 P( y M9 x5 t8 e9 g% ]5 S- r. Stlchng_aft : 2 #Delay call to toolchange until move line
4 E8 z2 o1 N [ U# E) ccant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft
% q9 u0 _6 y, T( ^" M& rnewglobal : 1 #Error checking for global variables , w m. O: T) F; Y/ ]
getnextop : 0 #Build the next variable table
4 m8 e9 a8 V! l8 e( C) s# I1 K/ u
/ V% P7 v. C) u3 Q I7 `! o) A3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... 3 \: ]* d7 _( F: }
7 O8 \: V- j& i/ |sub_level : 1 #Enable automatic subprogram support(启用自动支持子程式) 3 y, I) Z4 u% C" p3 ?
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式) % F3 [' a% K/ C( ]$ Q# a
arcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式)
9 a" B5 C* |; G$ I3 warctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
3 ?/ A, J4 z' h% Y. _/ u) Jdo_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式) 6 `* F. t0 _5 m5 v0 Q7 l" c0 u
helix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧)
; H: o7 y* b, C/ r1 g7 Q7 garccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线) ' U- m0 U9 d n- t/ b, s
atol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差) 0 x# M& A1 q) ~+ t' G9 I9 f8 H
ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差)
& @+ n$ W. W" {& Nvtol : .1 #System tolerance(系统公差)
4 s- n6 e/ E' j; umaxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制)
9 u K5 q: d% Y" ~4 qltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制) 1 |5 k! I& k7 P. J1 b7 f4 b
vtol_m : .0025 #System tolerance, metric(系统公差-公制)
4 c- \. R$ r3 C/ ?' m( v# {maxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制) . G/ D! l d6 m2 Q
force_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标) , A) g+ j9 A: V. i& _4 W W( L
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格)
" O9 [% J; S% V5 {omitseq : yes #Omit sequence numbers?(是否省略序列号) % [# y+ I7 @7 x+ q1 W
seqmax : 9999 #Max. sequence number(最大序列号)
- P1 |( j* v" L8 i8 S. k6 I- [stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具)
, g" T. U% u+ h$ ?# n W; i$ j, Vuse_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码)
7 R' Z- S3 S: hmax_speed : 10000 #Maximum spindle speed(最大转速)
7 n# S1 T0 A P0 d! amin_speed : 50 #Minimum spindle speed(最小转速)
) o7 `. w/ w0 r2 ~( l# n/ {nobrk : no #Omit breakup of x, y & z rapid moves
l5 \1 D/ J, M! B2 u ^* Wprogname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写)
" E6 n7 B4 E B3 [
7 v! l; p$ w: y" S, h+ h) | 4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警...... ( B3 m' _ t) e9 ~
8 M6 M; a8 J4 G. W' Q$ A. Z
5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容. ; C: H/ V, J0 N# N4 [: g6 C# J
( D* N* _. ^& d0 v* C$ E. G0 u"%", e(程式开头的百分号) 8 B( d. g5 u( K2 m7 ]) x
*progno, e(程式号码) ) O/ a* z4 E7 r' y
comment(注解,可有可无,如不需要则删除此句)
5 x9 S9 i1 Y$ \+ i1 o5 x"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无)
2 \+ v: q& {6 l( Q2 q"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除)
! L7 r. g+ |) s! `: d/ _4 n. K0 f3 W"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无)
9 p4 P7 [- t9 Y0 W0 M2 \0 ipbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容)
% x) }& z/ ?3 W7 U1 Vpbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标)
! ]/ g7 u$ q& Jsav_absinc = absinc (绝对坐标系) ( H% d8 [ v/ P4 u9 e% t! q$ h, \
......
+ N3 O! E. R3 ^# z
2 a0 u, |# [4 ]( y0 n(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
; T6 V, } {2 }...... 8 A0 b9 w* H' q- I9 D( k5 D. e
(以下几句是出现在程式尾,可以根据需要添加或删除) 1 g( Y4 S5 P% o
% V+ ]" s- x; i! I1 b! \. t' kn, "Z10.", e (加工完成后提刀至安全高度) 9 L; M0 z' B1 ~2 x' D6 r* l: E2 o$ l
n, "X0.Y0.", e (归零) 8 u1 W$ |) B- s% j, I3 c5 ~) i; S) F
n, "G91", e (转用相对坐标)
. X! B) k c t6 ] ln, "M99", e (回到主程式)
! B( k4 \! L, c$ vmergesub(此四句为程式结尾固定语句,不必理它)
% v/ f9 b* V& y" }, hclearsub
, [ E& r& a- o" i" X2 n! w; Q8 }mergeaux $ r( P8 E4 [) d! C0 z4 ^
clearaux 9 Y. \# T) A( |: M# ?
"%", e(程式尾) |
评分
-
查看全部评分
|