|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路.
2 @, ?% N+ Q8 |0 V
/ d7 W2 j/ w# e' [, k下面重点介绍它的后处理设置. 3 R, m G- s k3 t
& x1 x& E$ X8 [: r
后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分: / D" x# }: P: ?# @: Y. Z
" D4 y" ^" E; z; G2 _1 k 1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改. # g0 |7 p8 i, y! }# m+ {
以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.) 0 ?6 Q9 t+ w- Z0 | h4 v# } }' M! f
# Post Name : MPFAN ! Y r- m; M$ H* s+ ^3 P" A7 x
# Product : MILL
1 c( Q! p: p4 B! T2 e# Machine Name : GENERIC FANUC ) O# _. A+ u8 [* x; N
# Control Name : GENERIC FANUC 6 c( b" C1 H! z4 j1 Z% k
# Description : GENERIC FANUC MILL POST
& D9 g/ q# ^8 i; { p. M# Associated Post : NONE
# s7 W( O3 H! U. A1 V ?/ k# Mill/Turn : NO
" M1 @0 k1 \& T- z0 }4 Q6 N( Z# 4-axis/Axis subs. : YES
- ]! S3 h) e# o# 5-axis : NO
" d! S. Z6 ^3 N% H5 T. l" E$ ^+ k# Subprograms : YES
# y/ X8 q& o/ @1 v" e7 ?, r# Executable : MP v9.0 / A# b% D: @5 }; g+ y I6 e
# - E. ~/ u4 I$ D3 w$ h
# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
: F, ] _/ `4 L( {* Q! P# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE. 9 ]! O& n s% f R
; q/ }2 ~8 K4 @0 u
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的)
: v& L0 f2 a% I( _m_one : -1 #Define constant 3 W% Z6 \& R9 R8 N. o3 y, M
zero : 0 #Define constant - k7 b5 U4 [# ?6 S
one : 1 #Define constant $ q+ ^8 |1 l5 _* u# V1 {5 d
two : 2 #Define constant
! U! ^1 K, Y$ ithree : 3 #Define constant
7 f6 b5 A* z1 }& l$ f% Dfour : 4 #Define constant
- R: u& F% g! Ofive : 5 #Define constant
0 S2 r+ f7 f3 ~, e4 x1 |$ m0 Ac9k : 999 #Define constant
; Y/ Q0 ` L8 K$ m" M0 ^* d. H( @# K3 f5 E* F
fastmode : yes #Enable Quick Post Processing, (set to no for debug) 8 R" ?. f5 P/ ]& h+ r6 x
bug1 : 2 #0=No display, 1=Generic list box, 2=Editor 5 X, D& ?5 P v/ E
bug2 : 40 #Append postline labels, non-zero is column position? * V1 P3 Q- K6 S: F
bug3 : 0 #Append whatline no. to each NC line? 6 Y* u/ Y* }7 D% `2 _% P1 C# \: c
bug4 : 1 #Append NCI line no. to each NC line? * f. i1 w) y& R' Y) O6 b1 y
whatno : yes #Do not perform whatline branches? (leave as yes) ; ^) ~! r& h9 {9 |
9 U7 o! h/ B& D( L0 B4 t8 x9 s
get_1004 : 1 #Find gcode 1004 with getnextop?
; g( s7 [) E$ f. ^& x' \* srpd_typ_v7 : 0 #Use Version 7 style contour flags/processing? 6 M; c+ K" S* p) b) x
strtool_v7 : 2 #Use Version 7+ toolname? . f: ]1 N8 @+ g6 |
tlchng_aft : 2 #Delay call to toolchange until move line
3 j! V9 d2 e4 ~% ^+ Zcant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft
9 q+ ^/ Z& l7 |% Jnewglobal : 1 #Error checking for global variables 7 `) g; b3 z6 w
getnextop : 0 #Build the next variable table
! ]. k/ W7 S! i, Q' t+ `
; l% S2 m2 Q- H' Z/ a+ L3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... ; m8 Y/ B" N2 ?
8 Q: K6 F5 {9 o% [/ V
sub_level : 1 #Enable automatic subprogram support(启用自动支持子程式)
" W2 F8 L+ D1 z+ y" Tbreakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)
$ Y6 E0 B' h# \2 T! E% Aarcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式) A3 S- |- L) ^
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
: J3 d& Y" n5 y& i- ndo_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式) - r' S3 @0 Y# e2 ~1 ?) R/ @; U
helix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧)
+ r8 z: v' T) Z; f* m- _arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线) ! `! o0 }0 l1 L& h
atol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差)
- u9 c0 t* r7 d' | N0 tltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差) 5 f. \. P) S' n5 `: G# ]) z8 Q! o8 b
vtol : .1 #System tolerance(系统公差)
/ _! ~: Q* y6 \% gmaxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制) % R) M) h& P' `
ltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制) , k) _5 T1 ^4 X D: E* D& P6 Q1 h
vtol_m : .0025 #System tolerance, metric(系统公差-公制) % P& O/ X' s+ K/ t
maxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制)
/ s& X' B0 ^. T3 q8 b" Oforce_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标)
, R& H* {& j8 I5 d+ ^spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格) 5 `% Z' o6 b* Z) d5 t f3 C
omitseq : yes #Omit sequence numbers?(是否省略序列号) 5 |2 I2 t9 v2 L
seqmax : 9999 #Max. sequence number(最大序列号)
& {$ y/ f2 \7 v gstagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具)
2 \& `# D& M8 q( j. m# @use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码)
* d3 t- i- P* s& _& ~max_speed : 10000 #Maximum spindle speed(最大转速)
/ e1 s7 R) ^/ h: c. M$ } Y0 gmin_speed : 50 #Minimum spindle speed(最小转速) $ m$ k- v6 p( N: e+ }
nobrk : no #Omit breakup of x, y & z rapid moves - X5 }4 h+ T1 x+ r
progname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写) + h. K" U: i2 u4 y( x! c6 Y
# G/ X4 b/ r* K. r0 p3 C
4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警......
9 i' {) W8 J& C- X$ |
6 J; ]) e( A* i. _8 d 5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容. ! R8 q) L4 b# i1 Z% |- k
7 G3 b. \, H" \, D) E5 Y5 x6 Q"%", e(程式开头的百分号)
* S' A7 V0 @$ s5 |*progno, e(程式号码)
, t: |2 v( {' _! @3 tcomment(注解,可有可无,如不需要则删除此句) : S+ E0 Z8 r& q. u: d/ m4 `# B) k
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无)
8 m* J! U% q% R% R3 g5 n1 ?"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除) . ^. b1 F* j' A
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无)
4 U7 y, N5 ~; Opbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容)
, \ C3 T" f0 I( h. z& Epbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标) ; Y0 c' A' {* ~5 [6 H
sav_absinc = absinc (绝对坐标系) 0 x( u, {/ D6 g
......
) @6 t( l& e4 B+ D# L
* s, V( v* j& j M- w(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
9 H8 G4 x% p$ b6 M/ j...... , X/ H9 v5 ~- y
(以下几句是出现在程式尾,可以根据需要添加或删除) 9 H! N( Z- O/ q; y
- D' z) t5 }6 N
n, "Z10.", e (加工完成后提刀至安全高度)
4 F" p- s$ W# r( @% Mn, "X0.Y0.", e (归零) 3 ]3 K! ]8 Z0 j$ j* B& y
n, "G91", e (转用相对坐标)
' ^& t f, P1 {; Q* x' En, "M99", e (回到主程式)
/ r0 o' T- b F5 H$ B4 X5 A' v8 Lmergesub(此四句为程式结尾固定语句,不必理它) 3 Q# g7 d% f b& U7 A- x6 {( y
clearsub " g" U( u( G( V
mergeaux
% c9 c$ a4 n2 n: \5 cclearaux
/ V" D" t" f$ v1 b& k9 q"%", e(程式尾) |
评分
-
查看全部评分
|