|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路. Q: H3 J. B# H$ V; @% J b
g+ ^2 N0 W0 A. R/ }, W下面重点介绍它的后处理设置. % A7 l, d* E- }( z& _; o! b
) v: D! d l/ j' n5 o8 ]1 ^
后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分: + |( e/ Q' h' E# W E0 b
9 h0 c u) {* @ o" K1 n
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改. ) k. Q e* F, j4 U7 u
以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.) 3 }$ i7 d3 V" {) E
# Post Name : MPFAN
# L2 l% V+ c! ?2 D) ~# Product : MILL
2 a5 i: x) _9 z, O* o# Machine Name : GENERIC FANUC / X+ n* o, }! l
# Control Name : GENERIC FANUC 5 p! L5 k4 B$ ?6 C0 K+ U
# Description : GENERIC FANUC MILL POST
; w3 v( r( |! f0 H& F$ Y) q6 n# Associated Post : NONE
" F& M+ o5 q) M4 ?) m& |# Mill/Turn : NO 9 }1 ^* W5 {* {) W2 `4 G6 e
# 4-axis/Axis subs. : YES 9 J+ c3 L, F. j7 \! r0 A7 K
# 5-axis : NO F" b, ^9 [, W i
# Subprograms : YES $ |* ~& b4 v' R+ C; |$ u; W+ z! q
# Executable : MP v9.0
/ E0 r1 N8 b- `- V6 @#
9 ?9 w6 d4 \& s# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO N( |# b' B3 X
# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE. % `, ^3 E1 g( ~8 L9 u5 A
$ C; [+ X7 g& c6 A& P
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的)
1 h9 L3 j8 d- Z; i2 }( R' mm_one : -1 #Define constant
$ \! E9 r+ z0 `* v/ z/ Dzero : 0 #Define constant " R1 b" p3 t+ ]. }9 ]5 D
one : 1 #Define constant 4 |( M J3 G/ T! q2 l' k
two : 2 #Define constant
. O# B( w* C+ J& `. L2 ~' Gthree : 3 #Define constant " Y4 l+ }5 F5 A# U: i# k1 ]9 X
four : 4 #Define constant % l8 P, f$ d/ M) f6 R
five : 5 #Define constant
' S* n) ]5 H. `% P3 }5 c' Lc9k : 999 #Define constant + h5 Y7 M- }% S( | N: q
+ i0 G+ L; b6 Z( b* [+ d& a; W/ Jfastmode : yes #Enable Quick Post Processing, (set to no for debug)
# ~/ ]0 q( S9 xbug1 : 2 #0=No display, 1=Generic list box, 2=Editor
4 I3 ?3 Y3 o! w8 s0 Q3 M: Ebug2 : 40 #Append postline labels, non-zero is column position?
0 I% }/ v6 z5 E8 ]0 H8 A3 b! s, cbug3 : 0 #Append whatline no. to each NC line? 7 V/ m/ }) \/ @
bug4 : 1 #Append NCI line no. to each NC line?
+ h3 O- l6 z$ v3 Y( mwhatno : yes #Do not perform whatline branches? (leave as yes) 7 @6 t/ ?& ^. _/ k1 J0 s( k: I5 `
" \2 F1 ~7 |, v5 Qget_1004 : 1 #Find gcode 1004 with getnextop?
! X6 ^2 `) G, x$ T6 d/ Brpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?
5 _6 j- m. @7 z! [4 b; y f7 Hstrtool_v7 : 2 #Use Version 7+ toolname?
) k& a$ y( N: _0 V) }7 ~4 r0 n3 Ztlchng_aft : 2 #Delay call to toolchange until move line
- T8 S P/ e6 x9 X! k* y& O: [" Kcant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft 1 b' N" T g/ x" b% H
newglobal : 1 #Error checking for global variables & N% v, B- m3 A$ T# X$ G9 G
getnextop : 0 #Build the next variable table
( K% [' s* [) ^% G) Z
; ]8 f' @/ }0 }- z( g1 R3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... ' g6 S1 F* c$ a" w7 N0 A1 i6 G7 C2 c
/ a- E9 ~/ M5 m1 Esub_level : 1 #Enable automatic subprogram support(启用自动支持子程式) * o9 s% {( H; t4 W; |0 v4 K0 A" q
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)
* P r$ V. e6 @2 w" Garcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式) Z2 o2 z: k8 R% U z
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc. 9 `1 n' p2 ]4 }
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式)
- C. D5 t. x0 I* C4 r7 w9 Phelix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧) 3 B0 a) _ p/ w& @# f
arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线) / @7 z! w" ^" x0 N/ T( X; J
atol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差) 6 v/ a% T3 }4 W
ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差) * w) b& u7 B$ \" V9 Q m4 R- M
vtol : .1 #System tolerance(系统公差) * n9 \5 t8 r3 `1 z6 l$ f
maxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制)
+ z; ]/ ~2 A: W! j7 Z( Dltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制)
$ o! z# F, A* k0 q9 c$ J2 i Y1 c" Kvtol_m : .0025 #System tolerance, metric(系统公差-公制)
. K( c7 W) f! y+ S* ^ kmaxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制)
$ N" V% O2 `" K- \+ U7 n3 bforce_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标)
, G+ |) a% z f+ c7 Ospaces : 0 #Number of spaces to add between fields(两行之间是否加入空格) % ^3 v8 G& R6 n5 G G
omitseq : yes #Omit sequence numbers?(是否省略序列号) ! ^7 ?' y6 n2 Y- U( G; Y4 M
seqmax : 9999 #Max. sequence number(最大序列号)
* j) m3 _ z( ?6 xstagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具) ! a0 K+ J4 K) [
use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码)
6 m- r* H* ] Q" f5 H% Xmax_speed : 10000 #Maximum spindle speed(最大转速) # n* y5 w J' ~5 P1 C9 s: y
min_speed : 50 #Minimum spindle speed(最小转速) " h2 J3 M0 M8 F4 ]
nobrk : no #Omit breakup of x, y & z rapid moves
_3 N9 o% m' V) Y- c. c) D0 @, c$ lprogname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写)
m8 r# Z7 I( O) e5 i8 s" L, F
9 j3 {. v: E h. {9 Y0 i# h 4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警...... 8 f6 G6 _* ~1 U! p8 `$ c, e
1 @! H* z6 |; v- g$ C9 R6 [
5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容. 2 R6 V8 T" j5 W" J8 V3 `
1 u$ I7 d" p+ S& E6 ["%", e(程式开头的百分号) # R0 b3 |$ D/ ]/ ^
*progno, e(程式号码) - P: n7 g( b- T1 O
comment(注解,可有可无,如不需要则删除此句) 4 @& v6 L+ p1 H7 V M7 ]
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无)
8 s+ E8 B B" O: I" v% ^"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除)
0 r' H( ]% b5 |6 I"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无) 4 S- M0 ]' M1 e* {7 g `# E
pbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容)
4 g5 ^: M% Z7 P( N8 B& w; x4 K; qpbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标) 5 S0 w6 P+ j. y( T, b2 u( \
sav_absinc = absinc (绝对坐标系) 9 o0 L. y ]: Z ` b8 Y
......
) C) }+ P% @- B' @2 B2 K. d8 m7 A! T5 D+ Y
(中间省略的部分是系统根据刀路自动转出的程式,一般不必改) 5 a% h) G$ M& Z/ l, ^
...... + A% x* j" d$ j7 Z. M- N
(以下几句是出现在程式尾,可以根据需要添加或删除)
7 X( `& I) N: V& i$ e: i2 N9 z1 c9 e2 L! L8 ]
n, "Z10.", e (加工完成后提刀至安全高度)
6 E$ r3 u' W% tn, "X0.Y0.", e (归零) 0 T" ^) v" w1 d5 u+ w! G
n, "G91", e (转用相对坐标)
0 {/ i% i8 p- [2 c) Ln, "M99", e (回到主程式)
8 z- A/ H5 y4 {5 C& lmergesub(此四句为程式结尾固定语句,不必理它) , \( {9 a5 {" S& a3 F" C
clearsub
J2 f% |# q2 \) r5 Xmergeaux
9 q: i: Z' }# o& b6 ^0 k" p1 }# @( iclearaux
8 x& B, @( F1 u8 ^: T4 S! B( j$ D"%", e(程式尾) |
评分
-
查看全部评分
|