|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路. 8 p$ x- ]6 x+ K0 K8 G
3 x/ S4 b* v4 g3 R1 w9 H2 G+ n
下面重点介绍它的后处理设置.
7 b" n% |: k( @' j/ {$ m* ?8 g6 `
3 s) O# A6 _+ P 后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分: 9 h& R& [: ~! E9 o2 k* [& S; r
8 @% S# x* {4 R
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改. . C& g; w# x/ w! I$ ^ c3 ]. {/ t
以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.)
0 B' G8 W5 c, h- c8 U' S# Post Name : MPFAN
4 p5 @' @) ?) o' R6 G" z# Product : MILL
- i7 z) o5 j! O3 W2 Y( Y A" ^# Machine Name : GENERIC FANUC
! e0 Y" E! g$ g# V; j7 V6 q6 T, {# Control Name : GENERIC FANUC C6 R$ r8 W X- |8 k1 ?2 r( p
# Description : GENERIC FANUC MILL POST
. k+ {5 ]8 y& T; x8 p& a4 z# Associated Post : NONE . o6 C) ^& j; d/ u5 D' E
# Mill/Turn : NO ; p& L5 F/ A" H$ I. O
# 4-axis/Axis subs. : YES + B* Q( Z; T& R( ?, p
# 5-axis : NO
5 D9 @! e) J8 K/ @# K2 V# Subprograms : YES
4 m- I1 ~9 J) i6 o9 v; H# Executable : MP v9.0
9 T! n; e4 B% k4 V- }#
( [1 @$ x0 I- ?+ _! B" S; D) K# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO ' \* A) q: N8 _ p
# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.
; g- p4 n- d! p: u6 }% |- u6 Q! O% m" B' A. b
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的) ! ]# a0 b. x. }
m_one : -1 #Define constant : W% x* e( `# A
zero : 0 #Define constant
5 |/ {/ c1 H3 F1 @one : 1 #Define constant 0 |7 E/ R2 G7 c) u4 e0 p% K2 ~3 W
two : 2 #Define constant ) s% M- `# h& U( @9 \
three : 3 #Define constant
3 Q: `' B1 d: n$ r9 tfour : 4 #Define constant
7 h) t" h K5 o# wfive : 5 #Define constant
* x; f' D; c. \# g) ]% [c9k : 999 #Define constant ; U& C9 g8 N1 r) O
, f! z8 O9 f. X9 f% W9 P6 wfastmode : yes #Enable Quick Post Processing, (set to no for debug)
3 R' x; J2 j5 e" w0 N$ z' b% bbug1 : 2 #0=No display, 1=Generic list box, 2=Editor 4 l- u; j" d- g- Z. f( @
bug2 : 40 #Append postline labels, non-zero is column position?
7 `- i2 y# T' h- K" l( C1 kbug3 : 0 #Append whatline no. to each NC line?
3 ?$ l9 P* {1 k4 F: f( ~1 Y. \2 J7 Ubug4 : 1 #Append NCI line no. to each NC line?
: M; Y: A/ [: i; ^' g3 ?! M3 Cwhatno : yes #Do not perform whatline branches? (leave as yes)
( Z- U# s! U* n% X& ~( v4 I5 K3 f- D% \
get_1004 : 1 #Find gcode 1004 with getnextop?
1 c6 N7 F, N) W, J. c) } frpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?
w3 |* e) g8 p% @strtool_v7 : 2 #Use Version 7+ toolname? $ m- q$ \, u' }
tlchng_aft : 2 #Delay call to toolchange until move line
9 X4 V( E7 }& v5 D4 p. Ucant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft
7 Q' e, A; \) ^/ b* L" xnewglobal : 1 #Error checking for global variables % b) _& {8 j$ k$ o
getnextop : 0 #Build the next variable table & a1 ?% H; }, ]8 A* v) j
: P t4 r& }* c1 \3 E& F* V3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... ! R; T, b8 \1 q& o6 j9 ]
# |1 c3 ~. R3 q1 Q8 I/ W) M; \; _sub_level : 1 #Enable automatic subprogram support(启用自动支持子程式) / d+ b" w# @* n0 T, t! }1 n/ k
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)
3 B2 ?4 }) x" parcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式) # _& R5 X( j( c
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc. 3 y; s j; \* W# G
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式) ; m \$ u3 u6 {* n1 o& Q
helix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧) ( q" F5 g2 @; L) f7 N1 K I8 v
arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线)
8 w f% h$ S1 X4 x$ oatol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差)
d) W$ ~% T. N6 _7 ~6 A" iltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差) % d) T$ b: t; V3 E# t0 }
vtol : .1 #System tolerance(系统公差) # {# n$ P1 U' j" ^) c5 O5 x# [
maxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制)
( ?# g9 n; j+ p7 f8 U3 d& dltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制)
( r9 X# d- O; V! E- |& R8 f% fvtol_m : .0025 #System tolerance, metric(系统公差-公制)
! ]" c( q. k; J# ^+ a3 `maxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制)
% Z" x6 G z8 kforce_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标) 9 y: ~4 y5 w w4 c9 g; R
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格)
H" h) Q$ l; R0 fomitseq : yes #Omit sequence numbers?(是否省略序列号)
J4 ^# T a% @7 v* E+ {seqmax : 9999 #Max. sequence number(最大序列号) Z- g, U/ R/ {! U8 Z
stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具)
1 k% b. F' Z a8 y yuse_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码) & e6 L0 O J" k7 s& ?
max_speed : 10000 #Maximum spindle speed(最大转速)
1 L; l; K8 g/ K. kmin_speed : 50 #Minimum spindle speed(最小转速)
2 X$ B: y# S6 Bnobrk : no #Omit breakup of x, y & z rapid moves
4 t. O. Y3 E+ c2 uprogname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写)
8 H6 x F* V$ [- d: H9 K. T2 o9 r4 K9 j' m
4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警......
, ]+ z3 b2 |1 h/ f) B2 ^# k! N* U8 N: d5 \4 S: ~* Y: B V
5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容.
% d0 x0 g) P9 I; S! {8 p
! |$ z9 J/ _/ I: d7 R/ r% y"%", e(程式开头的百分号)
1 @$ m6 X! P% g! r2 w' A*progno, e(程式号码)
' {$ Q9 L% k2 fcomment(注解,可有可无,如不需要则删除此句) / F% W2 `6 E U3 x8 b; Y
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无) / i9 S5 X( l, c- V% E$ S
"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除) ' e% E; n, X5 z. H% P
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无) 9 X! L# c9 f9 x( a1 U
pbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容) 8 j+ w/ _* L. {
pbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标)
1 @+ z7 j9 M7 Y2 x2 rsav_absinc = absinc (绝对坐标系) + }. U- |" Q$ {6 {& o9 E D) S: n
...... 2 L9 m% S- ^3 H9 o6 M% h
" q+ z g4 x0 @! M
(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
( x3 ^+ ~# ^6 K1 j, o D2 D......
& H# s2 o! i, d(以下几句是出现在程式尾,可以根据需要添加或删除) , j j% L1 R+ s8 z1 I
) \: P+ J$ j/ X3 B5 L6 j4 an, "Z10.", e (加工完成后提刀至安全高度) 7 L$ y) F7 A( p" Z; E
n, "X0.Y0.", e (归零) ( v8 G$ a2 W8 f# m" V
n, "G91", e (转用相对坐标)
7 y* u, }& M3 u2 n+ S6 ?* N5 \n, "M99", e (回到主程式)
+ X0 ~9 K. v" L; Vmergesub(此四句为程式结尾固定语句,不必理它) 8 G3 ?: I5 A% d, L4 |* }7 j/ \- z' J* x
clearsub
1 T9 d/ v3 S. o5 y( d! imergeaux ; c- J, ~8 Z# d1 U6 U" |+ L9 e
clearaux ' _) l/ I8 s% {! s1 C) q( u) v- q
"%", e(程式尾) |
评分
-
查看全部评分
|