|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路.
8 c+ C ] ~. ^- i' _9 u. q) a; |2 i1 O
: U% k) ~$ B( W) l/ d3 A下面重点介绍它的后处理设置. * v/ p# p' p0 K# F3 z5 R2 [: |
, Y9 H$ M C3 ~8 C$ @# @& c: M
后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分: / l: b& A. o( Y; v5 v$ \, w' g
& {9 s& ^+ I% H% Y- Y) ]
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改. 4 g! T4 p: b- ~2 M
以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.) ! D9 H* D6 t" _& \7 L: n$ h
# Post Name : MPFAN & z" F- h6 H. U( T. `
# Product : MILL
8 W1 F4 Q I' O8 a# Machine Name : GENERIC FANUC U" I4 K; y7 i5 b' y
# Control Name : GENERIC FANUC : ?6 @ N% u" K
# Description : GENERIC FANUC MILL POST . x! r& M/ b4 e* w9 s
# Associated Post : NONE ! L* ^( i1 }. n' A8 L' M9 [0 ]$ g7 R
# Mill/Turn : NO 3 U |% c' D6 I# W
# 4-axis/Axis subs. : YES
0 z, T2 U3 ^- k( B/ c. d5 I8 A) b5 J# 5-axis : NO
3 W6 Z) V7 h8 @" f6 w- e: X4 `# Subprograms : YES 3 r! x2 w1 {3 R
# Executable : MP v9.0 " l0 w! W+ l8 `! `5 S; y
#
* ]2 `- D; {; \) Z, a0 r3 b# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
+ c% r U) p. Q- ^) A! L p# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.
6 i. D8 \( c) D$ T1 {5 _# F. F8 s+ ?/ z e! U* \; p9 m; ` _$ h
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的)
5 _ E6 d- j5 X/ o& Sm_one : -1 #Define constant
7 [7 @$ L# a$ w, ~8 ?% w' Czero : 0 #Define constant
/ q2 }! ? u0 Pone : 1 #Define constant 2 B0 k3 V9 Q7 B* f+ m( |3 D8 T
two : 2 #Define constant ( S' X1 h$ q; k/ b0 m1 c1 Q
three : 3 #Define constant , W5 W' R$ ]4 g: q, N
four : 4 #Define constant 6 y V# z! W) ~( w6 o( M* W
five : 5 #Define constant / `% Z/ c5 Q& M9 g
c9k : 999 #Define constant ( D4 O i9 E* l* U/ W. s$ @# k4 K
( J* q# o2 Z' }: H# |
fastmode : yes #Enable Quick Post Processing, (set to no for debug)
* M# ^3 R; N: K, _bug1 : 2 #0=No display, 1=Generic list box, 2=Editor 5 S# P0 W0 ?" Q6 J
bug2 : 40 #Append postline labels, non-zero is column position? 0 ?5 W8 K; {6 m, K' c) {; ]
bug3 : 0 #Append whatline no. to each NC line? 1 [ [. a+ F$ k
bug4 : 1 #Append NCI line no. to each NC line? $ ~; x) p% _, y0 O0 M
whatno : yes #Do not perform whatline branches? (leave as yes)
* x% A8 O% m9 w8 y. {+ {' f! b9 V# K6 @
get_1004 : 1 #Find gcode 1004 with getnextop? ( z7 j( P3 w" N- B5 U" z B
rpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?
; ?9 T, N9 V7 q( f1 E" tstrtool_v7 : 2 #Use Version 7+ toolname? " ~; i+ m! E2 f3 t: l) i: z
tlchng_aft : 2 #Delay call to toolchange until move line + T6 F z% `5 M
cant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft 4 s& K! S9 I6 _- e( N7 w8 S( j8 P
newglobal : 1 #Error checking for global variables
5 o8 V+ b W/ fgetnextop : 0 #Build the next variable table
. L U! X# w4 u. x
: F7 x) ~; u& P0 Z) A' p3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... # f. l$ Y5 }" b; F. @) d# u
* }( ?3 i5 B' _! Zsub_level : 1 #Enable automatic subprogram support(启用自动支持子程式) $ n3 @/ b( d' G, H5 { G
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)
4 a# n: E! y; ^% o4 z: h3 u ^arcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式)
5 g7 w/ o1 f. ]) Jarctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc. 1 N$ `3 g' e; y1 Q+ P& j; N, M0 B
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式)
% U2 f/ W- A9 A9 Hhelix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧)
# @) f: Q0 U% s4 F- e0 m5 ~arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线)
8 _4 s' ]& o0 s- U9 D& |+ ~$ Qatol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差) ; P& j+ ?6 j" ^$ E4 o
ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差)
7 ~7 ~( C, k' r' d+ O1 Jvtol : .1 #System tolerance(系统公差) + V, z* s4 W0 N2 E# H0 v% R+ _
maxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制)
5 J+ S, R( D) j3 I* B/ Eltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制) ( b9 _, {2 y( t- c+ O( ?/ [
vtol_m : .0025 #System tolerance, metric(系统公差-公制)
2 D& T0 l9 Q4 s3 k6 bmaxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制) * G$ e5 G3 M0 c9 n$ p8 O/ T% f
force_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标) ; x) [3 a" A1 U& ^8 w
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格) 3 v2 I: q: _/ }
omitseq : yes #Omit sequence numbers?(是否省略序列号)
. j( w; |# n1 E i, Nseqmax : 9999 #Max. sequence number(最大序列号)
, S1 A5 m& `) T: lstagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具) ' g0 _7 r3 Z) ~6 C+ @* N6 `8 e
use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码) 7 v. _1 A# s) ]- |
max_speed : 10000 #Maximum spindle speed(最大转速) & l9 Z# s$ O, N7 x& m
min_speed : 50 #Minimum spindle speed(最小转速)
2 A" n; I( N! s# k. P, i( o4 o& K$ gnobrk : no #Omit breakup of x, y & z rapid moves % q/ E2 {( K& A, O
progname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写)
, p' m" u. h1 @) F4 I; o; M Z6 |( Q% m- k* M
4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警......
4 @8 E# F' N3 t, j. N- N% c) h$ D0 C! F
5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容. $ j' w9 Y3 D2 w+ d, N; F+ P3 S
0 F5 Z2 ]" x# q- l! \5 G" |; i
"%", e(程式开头的百分号) $ o( p" R' G2 u/ H
*progno, e(程式号码)
5 ^9 `3 f' B9 d! q. |comment(注解,可有可无,如不需要则删除此句) $ b+ k: p- A- I7 `# z7 `5 H, _
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无) 2 \: N5 V( w! C8 a5 R6 A9 E
"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除) " a4 S& e; I4 N6 v+ g6 d0 X y6 X
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无)
0 V3 i8 N: q$ w* xpbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容) . y ~' {2 F# k1 q) C; U
pbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标) ; r4 I3 c# B( @. X3 I
sav_absinc = absinc (绝对坐标系)
6 B+ t' }% M3 j+ x......
( M b" r9 h" I$ o7 y% ]2 Y7 Z- ^( o% c( r2 y
(中间省略的部分是系统根据刀路自动转出的程式,一般不必改) 3 n# @7 I3 H- x) C
...... 9 w" q5 W5 y* g/ z$ h9 G. s: J
(以下几句是出现在程式尾,可以根据需要添加或删除)
6 }% k$ m3 E+ N, w8 A5 X/ ^1 d6 q. O* C: o: _
n, "Z10.", e (加工完成后提刀至安全高度)
8 e- l8 B. ~+ N1 F$ X% g" }# jn, "X0.Y0.", e (归零) , D1 X+ J+ T+ Y7 Y- W2 r
n, "G91", e (转用相对坐标) - L- M( Z$ F- `
n, "M99", e (回到主程式)
7 n9 ]% X7 k9 r! D9 L- Xmergesub(此四句为程式结尾固定语句,不必理它)
$ {2 T6 U( m, k/ P0 f8 C" W1 ~clearsub 4 z, Q3 j8 E# I- ^4 y4 g
mergeaux ' P) ]7 c3 @ g, o( ~: p# @2 Z
clearaux
. f2 C$ C" { h, a, v3 y"%", e(程式尾) |
评分
-
查看全部评分
|