|
MASTERCAM后处理的设置和参数修改
$ x* i7 s( T: i/ P. Y7 p! ?9 J K: I2 d: S0 T! z
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路.
7 N+ q Q2 w7 O# G/ G* y下面重点介绍它的后处理设置.
+ c* W: B( \/ R( d. X! k* r* e8 n, y
后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分:3 q, p4 u! l) n9 Y" J- B6 M8 b. Z6 h5 ^
6 }) \# C* Q) y; }
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改.' P7 E: g" z2 Q" i- ]9 A' w8 ]
以下是截取的部分注释 注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.)3 Y9 r% r; T- T1 ?9 G
# Post Name : MPFAN/ [5 u7 E. {, m
# Product : MILL
1 W3 t) I. W9 A/ U( Y- `% Q7 J# Machine Name : GENERIC FANUC
: L0 h* V( d" [0 V; ^# Control Name : GENERIC FANUC
0 [! m8 I- z; X, f- X- l3 [% I# Description : GENERIC FANUC MILL POST
5 ]: W' U) N" b" o' {* B# Associated Post : NONE
5 ~' p) V. U& x J( e" b+ d9 y, {# Mill/Turn : NO: a* V" K! h6 ~( @1 {; J
# 4-axis/Axis subs. : YES" B' r M1 G. f+ q- L( L7 n
# 5-axis : NO* @1 g4 \1 y; @/ |, t! H
# Subprograms : YES( Z( x: E. _1 Y9 B
# Executable : MP v9.05 }% T# E3 z+ g, Y5 w
#
2 ~% g+ p! e1 s/ a3 ^# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO% L3 G" q! B, b. ]2 Q
# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.3 ^& K# r+ g. }2 C
+ }, b/ c$ E3 x% a. b# h- Q' l 2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的)" q' q2 u% Q1 R- X" y
m_one : -1 #Define constant
8 Z& x, u7 {$ \' c! y- n5 Qzero : 0 #Define constant
. W K8 | w% _) k' I9 G8 b6 oone : 1 #Define constant
B) \3 y& L" M! R# p& ]0 ^two : 2 #Define constant
# Y2 f8 V$ W3 Y) H1 z; Nthree : 3 #Define constant ( e" [5 e) A9 A3 u( A
four : 4 #Define constant
, H' n9 y# Y i" x" |five : 5 #Define constant
( y2 ]; H. E9 s7 a! ?* P& x5 b8 Jc9k : 999 #Define constant
2 E0 Z5 t# j. }
: Y' T5 Z9 E( V/ rfastmode : yes #Enable Quick Post Processing, (set to no for debug)7 x# V8 t: `: A# }4 R6 n
bug1 : 2 #0=No display, 1=Generic list box, 2=Editor
* P& |( o% @7 j, Jbug2 : 40 #Append postline labels, non-zero is column position?
) c3 d% a8 X! t3 Ebug3 : 0 #Append whatline no. to each NC line?7 _% ^" s( }& c! v
bug4 : 1 #Append NCI line no. to each NC line?
. w8 `" M, x) R( Q6 l$ vwhatno : yes #Do not perform whatline branches? (leave as yes)
# v: ~6 G7 Q# T4 E0 e5 m1 t9 Q D3 Z) n5 K
get_1004 : 1 #Find gcode 1004 with getnextop?8 _) p/ I; p8 h0 R! b: x
rpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?2 N' F5 l3 x0 S; P9 j
strtool_v7 : 2 #Use Version 7+ toolname?( w& m2 m0 I- o7 t$ \0 O
tlchng_aft : 2 #Delay call to toolchange until move line
7 L# l2 ?5 i* c* ocant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft ; A* v/ `* e' d) Y2 M3 r% H
newglobal : 1 #Error checking for global variables1 S) j8 B' w. f0 r
getnextop : 0 #Build the next variable table $ C" e% `9 D# A6 h# ^2 y+ z
; o4 p+ `& S& D% g% w: W, S3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... & v2 V, V3 p6 ~( b+ d
1 O' t. y: ?1 z; a$ p; ]/ ^7 B
6 Z1 W1 A' W$ O- ^& t4 V
sub_level : 1 #Enable automatic subprogram support(启用自动支持子程式)
: o8 {/ x& l+ Q! @' Q* @5 Zbreakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)) s9 d+ e; m* G H% t) \; \
arcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式)
1 m1 f! Y }/ G x- u: W2 ^arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.5 n# I, s" U# Q: S3 C
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式)3 R( @# N; e" o! ^0 j t+ n- P
helix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧)
0 f x! s% g0 a! W4 V5 b8 Carccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线)
2 t; b* G5 L2 ~# {5 l) {atol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差) U- Z R3 d; g' m' T
ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差)- {# Q* I$ _" V" r, W/ R" u
vtol : .1 #System tolerance(系统公差)
) f$ D4 B; M# x4 z1 ^2 Omaxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制)1 Q/ E3 G+ q; o! n" _
ltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制)/ }7 }0 G* X4 c8 Q; v
vtol_m : .0025 #System tolerance, metric(系统公差-公制)* _+ Y. n- l2 M# j2 [; g$ N* F
maxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制)
: U" }+ X% G; K* Uforce_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标)
f# m/ M3 F7 S p! j5 Tspaces : 0 #Number of spaces to add between fields(两行之间是否加入空格)) j1 `; f/ ]! Y9 r7 E) F4 r5 I+ {
omitseq : yes #Omit sequence numbers?(是否省略序列号)* h0 K: X* |- w+ E4 N6 ]( |2 E$ S- `
seqmax : 9999 #Max. sequence number(最大序列号)' K9 r: c) E) ^0 z5 W
stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具)
7 F# q8 k% \; [6 s- e3 Cuse_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码)
2 Z3 I! V, C5 t; K2 j9 Pmax_speed : 10000 #Maximum spindle speed(最大转速)/ N1 p; E' U2 ?
min_speed : 50 #Minimum spindle speed(最小转速)
/ _1 m& q9 a/ L. k9 h4 J g$ wnobrk : no #Omit breakup of x, y & z rapid moves
0 w; e4 Q) [1 T- Cprogname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写): \8 W+ i( w9 }/ X; b. D
& H U7 [% d Y) [/ z
4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警......
7 [7 ?/ X2 \6 B/ _; Z9 `: H) K
F$ A. Z$ p' W8 N 5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容.9 A5 A) W; [5 Y% @" U% K' _
+ \5 ?6 {! H) ?8 ]8 h, ~"%", e(程式开头的百分号)1 P! c& P) q; }) L% p1 R
*progno, e(程式号码)0 M9 Y: N5 R% R
comment(注解,可有可无,如不需要则删除此句) l) A1 K5 P5 ]3 B" c
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无)
" F8 L. t8 E7 j& B& N8 U"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除)" J6 s; r0 l" ~
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无)- F" |2 g# p/ H! _1 O
pbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容)
) w/ v- ~+ J+ I5 s; U, H0 Tpbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标)6 ~8 v2 @" F& Z$ X
sav_absinc = absinc (绝对坐标系)$ D( ?; d% C! Y
...... - J+ f# R ~ F+ Z" u0 @
2 e* m1 m8 ?, N! [(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
/ {0 T7 f1 G( F/ L4 u0 O: h......
" Z( K, }- k. p* X5 I S(以下几句是出现在程式尾,可以根据需要添加或删除) ) P* `% P3 p, E3 i# I
- a _5 @9 B1 _
n, "Z10.", e (加工完成后提刀至安全高度)2 C1 A3 J9 r" ~3 e! P7 U9 v' l
n, "X0.Y0.", e (归零)
/ y* d6 t( M- e9 o* z0 fn, "G91", e (转用相对坐标)' Y; |: N7 E- s( C
n, "M99", e (回到主程式)
+ D" H9 r; {1 dmergesub(此四句为程式结尾固定语句,不必理它)5 D% q. i9 }4 v5 v6 T
clearsub
2 i5 l, T' S/ X. D5 X3 Pmergeaux; j! J3 @9 m' t0 B. y; N
clearaux
: _% c2 N r& q! o7 q0 y"%", e(程式尾) * h# ] F+ D( {, U' D' P! ]
8 D) G, Y- d9 ]9 I% ?! r3 I' |
6)Numbered questions for Mastercam Mill(问题参数设定).此部分大多数是MASTERCAM系统的参数设定,而涉及到后处理的内容很少,在此就不再详述,有兴趣者可以用词典翻译看看讲些啥?有什么新发现可以告诉俺. |
|