|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路.
- ] g* B/ h" `: \- Y5 A# H
/ R7 q- t o5 f0 v8 s! Q: j下面重点介绍它的后处理设置.
( i Q% _% p/ j7 l% {) x
0 W; d/ i( G+ j& L7 I 后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分: " N, R- P5 ~9 x( K q* N
) e: O- B1 g; {
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改. 2 e" R1 N( f8 R4 E) n* m
以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.) 7 L% k9 O' H" U
# Post Name : MPFAN
/ o1 V+ c9 E7 V3 @9 c# Product : MILL
, F6 B: i8 r$ K- e' X6 W& M3 G# Machine Name : GENERIC FANUC
/ {1 O0 K* S2 ]3 n# Control Name : GENERIC FANUC
& A# _- S5 m" O6 U- j$ h# Description : GENERIC FANUC MILL POST ; {" @- S5 R. M* v1 ^
# Associated Post : NONE 5 j6 @7 D. Y; c$ Q R
# Mill/Turn : NO % t5 b. c5 z$ z7 t* ]& i) l
# 4-axis/Axis subs. : YES + _3 R; C+ ?8 L( R
# 5-axis : NO
2 h' N8 R, x2 @3 Y+ Z/ r/ @# Subprograms : YES " g T$ g/ i1 c
# Executable : MP v9.0
. w$ K; _( k' l# & Z- V; R# q3 }" `
# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
' l7 o. B+ T+ a, J# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.
2 C# L9 T3 n7 b+ U0 T! I u/ Y; v& v1 i# P+ Y$ W
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的) & r- j+ ~0 ~0 h t# f' q- U0 _
m_one : -1 #Define constant
) Z( `2 p' d( k+ l( w+ vzero : 0 #Define constant
/ \! B( [4 u( k/ v4 b( V$ s' cone : 1 #Define constant 7 }! L$ J4 D/ u0 Z
two : 2 #Define constant
7 ^( D2 Y1 S- t( mthree : 3 #Define constant
* I- B( m1 X( R. R7 X# Ifour : 4 #Define constant
+ c; S# x" Y! U* W4 Cfive : 5 #Define constant : G7 q* x4 H% _3 @
c9k : 999 #Define constant
. z2 ~8 U7 ]9 a
1 v; n& Y1 I! @$ wfastmode : yes #Enable Quick Post Processing, (set to no for debug) 9 J7 T# J/ r# y
bug1 : 2 #0=No display, 1=Generic list box, 2=Editor + C# l# M$ _! I9 G
bug2 : 40 #Append postline labels, non-zero is column position?
( B J1 X+ ^! X2 H5 ?' Sbug3 : 0 #Append whatline no. to each NC line? , M7 w8 J1 Q) f
bug4 : 1 #Append NCI line no. to each NC line? ( v; G# Z( U+ |
whatno : yes #Do not perform whatline branches? (leave as yes) # _! E0 q2 \8 g0 t
5 y3 ?8 W0 L4 i6 sget_1004 : 1 #Find gcode 1004 with getnextop?
8 _6 ^& ^8 I \8 [) q* trpd_typ_v7 : 0 #Use Version 7 style contour flags/processing? 6 f# L4 K- x6 }$ u
strtool_v7 : 2 #Use Version 7+ toolname?
* S* R( O9 Z% g/ ?( _tlchng_aft : 2 #Delay call to toolchange until move line
* ]+ e* U- c- F5 Pcant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft ( W# |2 b" Q: A" H2 o# h
newglobal : 1 #Error checking for global variables ( I8 z8 U+ h% T$ ^
getnextop : 0 #Build the next variable table
- |& B3 l3 B/ M" s " ?% D% q- U! q% I) S" x/ O7 I/ Q
3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿...
- \+ @# w3 i, E* G) N; h
8 W$ q1 l' I2 R8 O3 ?sub_level : 1 #Enable automatic subprogram support(启用自动支持子程式) ' m, f2 r7 C9 T. K; t8 N2 H: _/ b
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式) ( D* Y0 [" S0 { Y. B
arcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式) * ^8 z; |' _1 p1 D& T
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc. 6 B7 j' M" a3 Q, w& x! b
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式) f8 M- V/ l+ m
helix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧) ' A4 \; L! m" b7 V/ b1 ^
arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线) , d6 ~! X& U, \3 w
atol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差) v# _2 X/ ^% H! k- v
ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差)
3 Q4 T5 u5 [, T$ [: yvtol : .1 #System tolerance(系统公差)
9 |8 O7 m' _ a1 Omaxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制) ! H# u" O, [( _, L. a
ltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制)
6 s- p/ c4 I+ t. yvtol_m : .0025 #System tolerance, metric(系统公差-公制)
0 A- O( W) t5 ]7 R* C+ Cmaxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制) 1 y+ p. Q i) `" l$ L$ I
force_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标) 4 Y: Z$ J, U; E, w, _( K
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格) 4 z) a( O: u- O0 n) [' g/ M+ X
omitseq : yes #Omit sequence numbers?(是否省略序列号)
! W; P& n& i* L& q$ Dseqmax : 9999 #Max. sequence number(最大序列号) $ J5 j# k# L! X% b; C
stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具) 3 \/ [- i6 f: O6 K) }- i( G
use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码) * v* z3 k& N% ?. e3 Y7 X- |- @
max_speed : 10000 #Maximum spindle speed(最大转速) + \ \9 j. k0 a k6 V. j/ u8 `" z
min_speed : 50 #Minimum spindle speed(最小转速) ( b8 I" _9 j% m
nobrk : no #Omit breakup of x, y & z rapid moves / |" C, Z9 H0 d1 A; r* [$ u# ]8 x
progname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写)
1 Z( ]1 @/ L5 }: ?$ m4 I% r' }1 W2 D1 i: V% E2 G
4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警......
$ I9 A# L/ `! j5 @8 ^7 _
" M5 V7 A5 T2 b* ? 5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容.
& \- s+ P: ?/ V
) U( I, F# X2 [6 H8 t, W"%", e(程式开头的百分号)
d6 C4 V5 {! ]*progno, e(程式号码)
9 n1 L. _! Z; C0 ycomment(注解,可有可无,如不需要则删除此句)
0 O7 N% }$ f& L9 L"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无) l; V6 Q& ] r
"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除)
2 d" P5 u: f* ]. X0 ~+ h! a"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无)
7 p/ l6 U$ E. e" u! m+ G7 s! V+ ppbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容) * e3 [/ r) k3 l8 a" r4 Y
pbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标)
% f4 u. @, l: D6 h, y% B3 }sav_absinc = absinc (绝对坐标系) ' L# q" Q h" K
...... , |6 r$ r" U. ]5 p2 f% i% Z; R1 x, L
4 R, h) ^; b! J$ _(中间省略的部分是系统根据刀路自动转出的程式,一般不必改) 9 _$ C. a' E6 d" ^0 ] x& V
......
) r: R$ B0 t/ `) B8 I/ W9 e(以下几句是出现在程式尾,可以根据需要添加或删除)
! v& X2 e5 C1 ]/ Y. q( A
; N7 a+ a( Z9 r) g6 p/ Xn, "Z10.", e (加工完成后提刀至安全高度) ! d/ H2 \/ B) O2 l P
n, "X0.Y0.", e (归零)
# q. s; m! X* R$ ?. {# Xn, "G91", e (转用相对坐标)
2 n6 u. U' t0 C# I$ o- jn, "M99", e (回到主程式) g! d4 W1 b/ V" U2 h
mergesub(此四句为程式结尾固定语句,不必理它)
' m/ \ c6 i9 D n/ Yclearsub " |- W" f) l7 B4 N# j8 d; N
mergeaux
4 v; |/ C# u( ]( d# oclearaux
' k( G+ t0 t, `/ a1 I% Y"%", e(程式尾) |
评分
-
查看全部评分
|