|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路.
3 Q& Y* E4 t$ o4 O# j: }1 M3 Z0 V
8 v, I& C+ f* I2 X& Q下面重点介绍它的后处理设置.
/ L* W" @" D+ Y8 k# `' n& u; P8 x: g9 Q |$ w' {
后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分: " S0 a* I; U+ r; F* P
" `7 k- T; R6 ~' @% C5 p
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改.
* i6 u0 j2 t" {9 i2 T" m. {3 Q以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.) r. ^- K# V/ j7 d' W: q
# Post Name : MPFAN
+ h& O; r6 Q6 S( W# Product : MILL
8 _( z% T1 N$ S# Machine Name : GENERIC FANUC 6 a$ P9 I3 C3 g: @$ t! A
# Control Name : GENERIC FANUC
1 h g0 n6 h. x1 B# s% h& N3 y! E# Description : GENERIC FANUC MILL POST
- a' O# j4 G3 Z# Associated Post : NONE + x* O% G6 I/ _2 H5 i0 _
# Mill/Turn : NO 2 C' H9 x+ o/ \9 H1 ?
# 4-axis/Axis subs. : YES
/ s$ S, l% u0 ~# l/ g# 5-axis : NO
# @- V% I$ v. n! |8 h( Q# Subprograms : YES
^9 l9 n& q( P8 d8 V H, q- w' W# Executable : MP v9.0 1 ?" \: }, T4 p/ l; E v9 G- u$ u5 f
#
; a4 H7 d: W3 g$ V0 ~# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
4 R, ?. W% H0 O# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.
\4 Z# {$ Q6 ^6 ?: h6 C, X ?8 q' r5 K) A, ?
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的)
2 P! ^. q- C' I$ ]) \: }6 ~m_one : -1 #Define constant
4 ~; X1 ^8 a; m9 U# Jzero : 0 #Define constant W% K/ p& h; h, s2 _' [1 f! A
one : 1 #Define constant
7 m4 I2 m7 C/ ytwo : 2 #Define constant
5 V' h. H+ h# z! s9 Uthree : 3 #Define constant
6 v6 r3 f9 `& I+ zfour : 4 #Define constant
" T$ r: o6 d6 ^6 w% y1 c8 s: Efive : 5 #Define constant 8 p% I# p7 y6 Q6 P) c6 E
c9k : 999 #Define constant
; b4 M3 C% d% p7 B; ]' g" F% q9 j9 o7 z& D5 U" A0 s: C1 M
fastmode : yes #Enable Quick Post Processing, (set to no for debug) " @3 D4 b* p1 [8 R6 Q5 e; Y
bug1 : 2 #0=No display, 1=Generic list box, 2=Editor " e# c4 q- M: { X1 @; C
bug2 : 40 #Append postline labels, non-zero is column position?
. D" p1 z( o) Tbug3 : 0 #Append whatline no. to each NC line? 6 [( t" j# V3 J% A- h
bug4 : 1 #Append NCI line no. to each NC line? 1 Z, ^3 e; f& z7 h$ t
whatno : yes #Do not perform whatline branches? (leave as yes) ' `" @9 h4 n1 [3 Z* d: l
0 a. |+ w$ y1 _/ u: g/ s# Q8 Oget_1004 : 1 #Find gcode 1004 with getnextop?
2 m& R" u$ Y7 {1 x2 w% Grpd_typ_v7 : 0 #Use Version 7 style contour flags/processing? 2 i- V* C j9 S; g! u6 a* [
strtool_v7 : 2 #Use Version 7+ toolname?
L7 B4 X5 Q- s. I) u* ctlchng_aft : 2 #Delay call to toolchange until move line
( ~! Z' a3 \2 @- Ucant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft ! s% S8 A5 ?4 W
newglobal : 1 #Error checking for global variables
5 [2 E' P& D2 ]4 xgetnextop : 0 #Build the next variable table 8 F8 C/ S, L) I- s# p: p
3 U* ^1 d: o1 p+ H4 H9 m. T6 E3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿...
5 P/ o% `! \' U+ T' L7 Y+ \5 h; X5 D6 i
sub_level : 1 #Enable automatic subprogram support(启用自动支持子程式) + S3 q- M" c4 l
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)
4 ?' ]' T8 P3 k Z9 A2 Iarcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式)
6 j+ O2 w" p4 a: r# v: Aarctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc. 9 G X5 i. X8 X6 o1 l b, M
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式) $ y0 i+ W3 U0 p% ]
helix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧) 9 l# R/ y9 H! V
arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线)
3 v1 t- H) \% i \/ [1 H3 Datol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差)
3 }# d9 M- R! U. w9 Z/ ]7 Kltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差) 1 I: ~ U8 g% r" l4 e% C
vtol : .1 #System tolerance(系统公差)
" \# v L2 Q2 \ g/ i" R3 }maxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制) 1 G& k% m g9 n" \* @7 Z& u6 ?6 B
ltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制)
# m$ R# f8 q s/ o; r. N# ]vtol_m : .0025 #System tolerance, metric(系统公差-公制)
' K. P: c0 R: f! X: u& Kmaxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制) & U2 Z6 n) _8 b2 Z8 S1 a8 |
force_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标) 3 G: W( g( u/ I: o! |+ ]# j
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格)
! s3 X: ?# ~% ` Pomitseq : yes #Omit sequence numbers?(是否省略序列号) ) v# B# y% v5 c+ T( n" v$ z
seqmax : 9999 #Max. sequence number(最大序列号) 4 Z( z1 J& ]- s5 q' z9 |
stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具) ! y% o. U: M5 |/ _
use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码) : o( M1 w7 ~; X: {" s( L5 a
max_speed : 10000 #Maximum spindle speed(最大转速) " ^* i9 z3 _$ \% z
min_speed : 50 #Minimum spindle speed(最小转速)
, F0 m1 ]# t8 Enobrk : no #Omit breakup of x, y & z rapid moves
5 u+ ?" f! t1 fprogname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写)
+ V( [: u W e; Z8 H
7 g* L/ z% b+ e& x. O9 P 4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警......
+ _5 R: b; Z6 S. a% k5 t# C; |/ r$ L# K2 t# f; Y
5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容.
4 `! N9 I, M& B( J/ }, V& a, R2 V6 Q: l% r( V: v4 C
"%", e(程式开头的百分号)
( a/ }3 e% Y& e& V8 M' ?*progno, e(程式号码)
- u$ s1 ~% L' i1 u3 y" B% Mcomment(注解,可有可无,如不需要则删除此句) ( j, I' w3 }" g" F5 ~" W) v: S
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无) 1 A4 w; p1 R3 d1 S m. y* i
"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除)
3 t) k, q# F3 m* z5 q8 R% Q5 n"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无)
1 \( Q$ B, B) E. apbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容) ' G6 O ^+ V+ D
pbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标) & S/ P( N% B4 N6 W% A3 X# c5 y& P
sav_absinc = absinc (绝对坐标系) H, y3 i. |2 z
...... , ]' P# }* P6 X6 Z# x2 }$ t J
! a/ S' y4 q ?% i; q(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
: V( G7 g% N/ ~, {......
0 Z- c! E; X$ H+ v9 i(以下几句是出现在程式尾,可以根据需要添加或删除)
1 @! L$ W) C6 v* Z5 q R) o( A/ l3 [
n, "Z10.", e (加工完成后提刀至安全高度)
$ `9 e7 V, Z$ N, [. E* G& J4 _n, "X0.Y0.", e (归零) ) B5 V Z) S3 w! i$ ^- y* x
n, "G91", e (转用相对坐标)
7 t3 {( z8 r; A" W( Z+ V" P% V' Tn, "M99", e (回到主程式)
8 Y1 @5 K. H6 F1 r) l9 A0 _' j9 cmergesub(此四句为程式结尾固定语句,不必理它) 5 T1 U9 y; }* Z/ ]
clearsub
9 [$ y5 v r0 c, }& ^+ K4 o, h. Dmergeaux
) y; u1 f6 n5 Y4 x) sclearaux
$ ^ ]0 A( g% N"%", e(程式尾) |
评分
-
查看全部评分
|