|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接在点,线,面和实体上产生刀路. 9 W1 x+ b& \% w0 Q' S9 g1 X N# b
6 O# v0 |5 V' U下面重点介绍它的后处理设置. ) W, h$ e6 b. U; Q& J
1 _6 i8 i/ _! K9 h 后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分:
1 g2 u# x2 N" f% B5 S4 p: [! y+ t% w- ], ]
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改.
$ c/ T1 ], k6 r以下是截取的部分注释注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.)
0 |2 v- T+ Z" Q1 K/ C' ^& i2 M# Post Name : MPFAN
7 i6 k9 o$ y$ E# Product : MILL , ~! n# g' ~; j( r/ E+ ?
# Machine Name : GENERIC FANUC
& P4 Z' h* X: G2 a# Control Name : GENERIC FANUC
1 O9 F0 M! Z/ c1 o9 `4 c L# Description : GENERIC FANUC MILL POST
/ A4 Z9 q# f9 m6 R1 Z/ Z% k# z# Associated Post : NONE
% g2 h0 Q4 a+ c# Mill/Turn : NO
2 T" v _1 q y* _0 [6 P+ ]4 \# 4-axis/Axis subs. : YES
( Z' }/ q/ t7 J$ k# 5-axis : NO # q+ n: v' d% {" ]5 P% ?! \$ r
# Subprograms : YES
& r! \& X# l$ K* n# Executable : MP v9.0
, [9 S4 c) I/ ]; M' f4 ~8 g; [( c#
0 |5 |5 m$ t, |# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
5 B( f6 b3 r1 @# E. c# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.
# X" w6 `. x5 d( Q C. N4 p, K0 _7 \( k ^+ P! ]7 a
2) Debugging and Factory Set Program Switches (系统程序规划).此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的) + S$ e6 Y& M) Z4 L! A
m_one : -1 #Define constant + }$ }/ I6 y" f4 g8 ~; p1 y0 K' T
zero : 0 #Define constant
( q5 H5 p3 u4 k% b3 w4 sone : 1 #Define constant
5 K; S$ ?' T+ }two : 2 #Define constant
; U6 k( e2 r7 a; B7 [( a5 s) ?0 hthree : 3 #Define constant
( n9 s2 e0 m- @6 J2 N6 @four : 4 #Define constant 8 U) H4 k7 v: @& v
five : 5 #Define constant / ^6 A/ A0 S2 A
c9k : 999 #Define constant : _/ h9 ~. R3 ~" I3 U9 ~
# P5 o, H- j, D% g/ i+ _. q0 Zfastmode : yes #Enable Quick Post Processing, (set to no for debug)
6 w' D4 ?% i/ ?6 X# H5 fbug1 : 2 #0=No display, 1=Generic list box, 2=Editor 4 B3 j o6 T3 |- p' h/ Z3 S
bug2 : 40 #Append postline labels, non-zero is column position?
7 a, B9 d! Q# Abug3 : 0 #Append whatline no. to each NC line? ( t) F2 P# i+ W: m6 d/ |- i. {
bug4 : 1 #Append NCI line no. to each NC line?
8 P8 \, m+ h9 L" F- Z; e8 {( |- ^0 rwhatno : yes #Do not perform whatline branches? (leave as yes) % Z/ l# i. i- G0 x R, ~* Z
1 }6 h: M8 R) S5 k* [' ?get_1004 : 1 #Find gcode 1004 with getnextop? ( S# a7 p" N; l
rpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?
( z% U: \0 N B6 B4 v7 Z* R. Dstrtool_v7 : 2 #Use Version 7+ toolname?
6 c0 k9 T0 b- r& Btlchng_aft : 2 #Delay call to toolchange until move line
# |- M; q) b Y- r0 }1 }% @2 tcant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft
8 Q7 T; Z+ b4 ^! ]newglobal : 1 #Error checking for global variables
[! L( _# J3 Z7 t& `getnextop : 0 #Build the next variable table
: {8 F9 U/ C" a2 s $ K% @4 ~+ \8 l! u# W
3) General Output Settings(常规后处理设定).此部分可视情况更改,以适合机台或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no应该不用翻译了吧?!)英文后面的中文注解是我加进去的,翻译的不是很详细,但相信大家能看懂.没有翻译的就表示我根本不会或此设定不常用....嘿嘿... . E5 e# I; c3 v. \
7 c) m4 U; ~, ?
sub_level : 1 #Enable automatic subprogram support(启用自动支持子程式)
0 C! E1 Q, Z Ebreakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)
7 Z4 u8 V3 } z1 tarcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式) 0 u. |6 a" C% R. }6 W
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc. 6 q5 W& Y1 f2 K5 R+ {
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式)
" I: q- D$ ]5 t: I2 U) Rhelix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧) 2 c+ a3 C7 h% p4 u8 e
arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线)
* X: p6 z. f3 X6 S+ `; ~1 Aatol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差)
, F! p* H% f4 y. C |$ X- N$ {ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差) : O( N3 W2 D5 ]# k/ z& Z2 ~* ~8 i( o
vtol : .1 #System tolerance(系统公差) : V# @/ C0 z( l- Y; S* B/ t" _
maxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制)
/ m8 r4 w" k) S Nltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制)
e3 d7 M% d+ K# c8 Y$ jvtol_m : .0025 #System tolerance, metric(系统公差-公制) * k( D0 [; }+ P: Z; N/ z! l
maxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制)
9 B7 d5 e! T) W8 V$ Kforce_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标) ( ~* ?# G- v- V7 a" [
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格)
7 B( P) j) U8 b7 ]) A- b0 l) u: Oomitseq : yes #Omit sequence numbers?(是否省略序列号) & W3 j2 `- C0 ]6 S0 V/ K
seqmax : 9999 #Max. sequence number(最大序列号)
" M z) g# Y( h6 w( gstagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具) 5 S2 `( J9 u4 e1 A* ?$ k5 _4 c
use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码)
" w# t- w. G6 a( ^: ?% r/ D/ F, dmax_speed : 10000 #Maximum spindle speed(最大转速) 4 w( z8 Q3 a& D `2 {0 V* r9 ^: O G0 K
min_speed : 50 #Minimum spindle speed(最小转速)
' r3 h9 p' f& k$ h) O: Znobrk : no #Omit breakup of x, y & z rapid moves ; S! m3 V: x- b4 O- t( e
progname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写)
" |2 j4 u8 Q. i
- o+ r( m) j( n* ]2 k- E) G6 Y0 l; I 4) 中间还有一些例如:Common User-defined(指令设定),Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改.在此就不再详述.当然,我也不建议你更改这些项目,如果你改错的话,系统很可能不执行或机台报警......
" l& M" A6 V7 {6 [1 @* X5 t' I. ?" R* Y6 \7 X3 ^. p& G
5) Start of File and Toolchange Setup(文本内容和换刀设定).此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容.
T4 b8 R X k2 k) w9 q. ]- n2 k, e( ~" w$ {
"%", e(程式开头的百分号) & v3 _1 h3 d1 a3 v, I! X& z
*progno, e(程式号码) $ m6 m$ z& {% o9 |, j& ]
comment(注解,可有可无,如不需要则删除此句) $ g# [$ r# ~" [5 i7 H
"(PROGRAM NAME - ", sprogname, ")", e(程式名称,可有可无) 8 i- i+ m8 j# x _0 i, ?, L5 F1 D, X
"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直径及补正参数显示,如不需要则把此整句删除) ( I5 T8 m0 R- m2 R; L
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期显示,可有可无) 3 p! r4 B) m8 z3 }3 v0 _/ w) v
pbld, n, *"/M99", e (我自己加的一句,如不需要则整句删除,而不是只删除引号内的内容) ( v$ J; u: \* y# R% |- n
pbld, n, *"G90", "G92","X0.Y0.Z10.", e(定义加工原点,也可以改为G54坐标)
( ?8 D: q* F. E6 a+ m9 f1 Q+ Msav_absinc = absinc (绝对坐标系) / v/ h( j. c) x2 g ?2 d4 g c! n4 c$ W
...... ! y7 `7 A* _0 j/ `, e
% E- E3 @- B- _$ `3 a& S(中间省略的部分是系统根据刀路自动转出的程式,一般不必改) 8 [6 W$ l/ R9 M4 O1 D9 [
......
9 k' W/ W8 z4 K. }/ X- L0 [7 r& p(以下几句是出现在程式尾,可以根据需要添加或删除)
9 d* B, G& @. d& z$ }
5 K0 g) v; ~1 ?, D+ cn, "Z10.", e (加工完成后提刀至安全高度) 9 |& x: i3 [+ {. S
n, "X0.Y0.", e (归零)
& j2 g9 H; N. |* V Y- }, P3 [n, "G91", e (转用相对坐标) 2 Y& g, i, f* h) [" j3 M( I
n, "M99", e (回到主程式)
3 U, R. L& z$ g3 |# _* C# vmergesub(此四句为程式结尾固定语句,不必理它) $ \* L' a; f3 r3 H$ Q0 ^6 j
clearsub 4 z! s' a: V* [& }- _3 u' t
mergeaux $ ] ?8 v6 T+ s* ^# A
clearaux 2 m/ |: A1 h9 Z( n7 u' b
"%", e(程式尾) |
评分
-
查看全部评分
|