|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路. 7 y/ @, a* [/ O5 u0 ?% ?+ H
_7 \9 ?+ D& X' X* ]& ~
下面重点介绍它的后处理设置. " C/ }. F" l. X! o
0 W# w3 p# l' X& o# u3 ` 后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分:
z; h$ K& n( z7 G. }: p( l+ x8 [, R* ?+ M/ Q y0 L% P/ \
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改. / P5 x5 o! R- {( T9 {
以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.)
/ Q; u! {1 G% m3 J. X# Post Name : MPFAN
- T- }1 l% v5 h2 Y4 S# U$ z+ j# Product : MILL . h6 Q) U$ V! q8 }, T$ S# H
# Machine Name : GENERIC FANUC + [+ _0 P8 a6 A3 e' L- f
# Control Name : GENERIC FANUC : Y# Q3 Q. W! c; E
# Description : GENERIC FANUC MILL POST
; I: Y5 d5 g# ]# Associated Post : NONE
2 o" K0 g$ S! J- [, Y. N8 ?. V4 `# Mill/Turn : NO
+ i* X( g# W0 H$ M# 4-axis/Axis subs. : YES
. ?9 S' Y( K, n% i0 x3 h0 P) x# 5-axis : NO
2 K0 N% o7 s+ |/ S1 Q; s; ^# Subprograms : YES 9 D( r. f3 N6 i/ I( M' ~- ?
# Executable : MP v9.0
$ Z, b- Z( K7 l. F j% |# 6 i/ {5 V2 {+ Z- w. C9 w3 A8 @3 R9 v
# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
3 H7 P9 i ]9 G ^* Q" P# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE. 1 z0 Z7 x- i- E& A" q X/ k
2 y, P+ d! V: Y7 P, t1 T* |0 M5 T
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的)
* B2 H6 g3 N% o ?. l' @m_one : -1 #Define constant
( u0 C# e" @ tzero : 0 #Define constant ; O8 e. H6 ~# ~% s; k9 r' u
one : 1 #Define constant
R) ]# h1 I B8 w8 V) H! ]) y$ _two : 2 #Define constant
! i+ w' f1 }7 {% ~1 F& h3 B% ?three : 3 #Define constant
0 A+ X4 m) x+ Cfour : 4 #Define constant 3 `/ i7 E! [; |7 o
five : 5 #Define constant : H2 r" ~) G. V* F+ W
c9k : 999 #Define constant
; d! `: [5 S9 P( F8 A3 B3 S3 e; M' U& F9 H# [
fastmode : yes #Enable Quick Post Processing, (set to no for debug) $ b, e9 H R3 M' h! z6 s% V3 G
bug1 : 2 #0=No display, 1=Generic list box, 2=Editor $ \8 I# x& \$ A6 O( Z% ~3 ?1 ~
bug2 : 40 #Append postline labels, non-zero is column position?
. R: J9 U( g! W) dbug3 : 0 #Append whatline no. to each NC line?
' R8 e2 W D# r. b) Jbug4 : 1 #Append NCI line no. to each NC line?
8 \% a) k6 f/ n2 y* F0 Pwhatno : yes #Do not perform whatline branches? (leave as yes)
0 _* {8 K, V9 I& a1 D* m; N3 E: a l" T3 o9 M
get_1004 : 1 #Find gcode 1004 with getnextop?
4 j, C9 Y3 z1 W* G O* G6 ?$ `rpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?
9 k6 }5 Y+ w* m: Nstrtool_v7 : 2 #Use Version 7+ toolname? $ c( b/ R+ K: ]! _. z" ~' K# {8 G
tlchng_aft : 2 #Delay call to toolchange until move line
& t; I5 {! c8 a m! j, H; b0 icant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft # I* h4 T2 \- W& M" I
newglobal : 1 #Error checking for global variables
4 Q* [* ~- [5 C! r3 Z' p: o3 Dgetnextop : 0 #Build the next variable table 0 }5 a7 m' u- X; Y6 O/ W7 G% ]8 ]1 {3 _
% u+ u, X0 a1 ]- R
3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... $ w& x5 @7 {) \
* V$ e" j! x, ^9 X9 d
sub_level : 1 #Enable automatic subprogram support(启用自动支持子程式)
6 a* {) @( K. f6 O/ T1 vbreakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式) 2 ]3 k! v, `5 d. c
arcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式)
. O( l" A+ Y8 L, iarctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
/ A! `: B; Z$ y( Odo_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式)
1 `$ q) o l9 k* z0 r+ i& ohelix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧) 6 K- x; O" g3 R) Q% x3 M) V
arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线)
9 V+ {+ ]3 m$ Q) j5 _atol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差) 1 P! @+ i+ M; z* E, L
ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差) + {5 Y9 o7 z3 p# R3 k, B2 M% V
vtol : .1 #System tolerance(系统公差)
1 f+ w: {$ { M J1 E2 P; wmaxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制) & D4 ?5 s# j+ V) G2 Z2 G4 w
ltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制) % @/ q6 T7 L- a0 U
vtol_m : .0025 #System tolerance, metric(系统公差-公制)
. W5 u3 j' y: w4 j* `maxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制)
6 x! V1 j( i" }force_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标) ; R' | Q- u" {( k2 d- f! U
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格)
9 B% I# D8 r+ W( L6 @omitseq : yes #Omit sequence numbers?(是否省略序列号)
+ L* ?' d0 i4 h2 |seqmax : 9999 #Max. sequence number(最大序列号)
* J4 E1 z% e4 Estagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具) - {, `2 o; b8 w/ V) i! p) Y
use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码)
$ ^5 Z3 }3 r3 A' ]" J/ J: X+ S! mmax_speed : 10000 #Maximum spindle speed(最大转速)
* e7 Z' H: W+ B3 E+ `2 Wmin_speed : 50 #Minimum spindle speed(最小转速)
( j8 h, @1 y) `) hnobrk : no #Omit breakup of x, y & z rapid moves 4 Q* J: w5 c3 _% d7 {
progname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写) + E5 }# m/ X% Y* O
2 P7 U6 e3 y" G/ b7 ]+ u) B 4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警...... 8 `/ V- e" E% ~3 U7 E2 V0 M
8 k& C+ Z1 e0 P% S* w# p
5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容.
. h# M; a, V# W+ P2 B$ `6 a7 j8 C! h/ Y, \
"%", e(程式开头的百分号)
& ]; U- Z7 F( [*progno, e(程式号码)
2 e8 h8 n3 b& Q5 Zcomment(注解,可有可无,如不需要则删除此句) % ^! Y0 @$ R! `8 l$ j4 {
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无) 7 C6 O* U# q/ z5 C }; @5 b
"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除) ( v! f! b& o( y
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无)
& h( b- \* U8 |+ H% ]: npbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容) 8 ^3 q6 R- N7 A( a; s
pbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标)
# f# W8 N, t. e. h- O! o3 ]sav_absinc = absinc (绝对坐标系)
9 H# ~' g+ w: \" ^; J. B( E- r) z......
4 W6 h% m7 t; V. p- ?# F, T
1 c- W1 h% t9 s0 q/ ?6 F7 S* M(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
: g! |& J+ \3 M. U7 n# u......
1 e0 w7 c5 T+ _& V) A' l7 w(以下几句是出现在程式尾,可以根据需要添加或删除)
: |$ g F$ B) \* C
, ^- [: f# L7 W+ i, o4 t8 K& O" K1 C$ an, "Z10.", e (加工完成后提刀至安全高度) 1 H) L' m$ {9 \, l# X9 ^. S5 l
n, "X0.Y0.", e (归零)
- x% c3 m; Q5 O; C9 V5 z3 t3 s8 Tn, "G91", e (转用相对坐标)
9 N4 p1 [# D. X2 I% ^! n% `n, "M99", e (回到主程式) 3 |0 ?9 m$ w4 M! Q7 Q1 }
mergesub(此四句为程式结尾固定语句,不必理它)
$ ~$ G& q+ m( n6 mclearsub 6 l, x0 _ n9 F& N+ w2 v) K, s$ P/ V
mergeaux ) O8 t: t+ `7 I. y2 N- z
clearaux 0 F0 O* h1 H+ D
"%", e(程式尾) |
评分
-
查看全部评分
|