MASTERCAM后处理的设置和参数修改
后置处理文件简称后处理文件,MASTERCAM后置处理文件是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故. MASTERCAM提供了不同系列的后处理文件,它们在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分:
1) 注释部分。对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改.
以下是截取的部分注释:(注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.)
# Post Name : MPFAN
# Product : MILL
# Machine Name : GENERIC FANUC
# Control Name : GENERIC FANUC
# Description : GENERIC FANUC MILL POST
# Associated Post : NONE
---
---
# Mill/Turn : NO
# 4-axis/Axis subs. : YES
# 5-axis : NO
# Subprograms : YES
# Executable : MP v9.0
#
# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.
2) 系统程序规划部分(Debugging and Factory Set Program Switches)。此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的)
m_one : -1 #Define constant
zero : 0 #Define constant
one : 1 #Define constant
---
---
two : 2 #Define constant
three : 3 #Define constant
four : 4 #Define constant
five : 5 #Define constant
c9k : 999 #Define constant
fastmode : yes #Enable Quick Post Processing, (set to no for debug)
bug1 : 2 #0=No display, 1=Generic list box, 2=Editor
bug2 : 40 #Append postline labels, non-zero is column position?
bug3 : 0 #Append whatline no. to each NC line?
bug4 : 1 #Append NCI line no. to each NC line?
whatno : yes #Do not perform whatline branches? (leave as yes)
get_1004 : 1 #Find gcode 1004 with getnextop?
rpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?
---
---
strtool_v7 : 2 #Use Version 7+ toolname?
tlchng_aft : 2 #Delay call to toolchange until move line
cant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft
newglobal : 1 #Error checking for global variables
getnextop : 0 #Build the next variable table
3)常规后处理设定部分(General Output Settings)。此部分可视情况更改,以适合机床或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no)
sub_level : 1 #Enable automatic subprogram support(启用自动支持子程序)
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打断圆弧方式)
arcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(转出圆弧方式)
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否转成整圆方式)
---
---
helix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否转成螺旋弧)
arccheck : 1 #Check for small arcs, convert to linear(是否检测小圆弧并将其转成线)
atol : .01 #Angularity tolerance for arccheck = 2(圆弧角度公差)
ltol : .002 #Length tolerance for arccheck = 1(圆弧长度公差)
vtol : .1 #System tolerance(系统公差)
maxfeedpm : 500 #Limit for feed in inch/min(最大进给-英制)
ltol_m : .05 #Length tolerance for arccheck = 1, metric(圆弧长度公差-公制)
vtol_m : .0025 #System tolerance, metric(系统公差-公制)
maxfeedpm_m : 10000 #Limit for feed in mm/min(最大进给-公制)
force_wcs : no #Force WCS output at every toolchange?(换刀时是否转出WCS坐标)
spaces : 0 #Number of spaces to add between fields(两行之间是否加入空格)
omitseq : yes #Omit sequence numbers?(是否省略序列号)
---
---
seqmax : 9999 #Max. sequence number(最大序列号)
stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具)
use_gear : 0 #Output gear selection code, 0=no, 1=no (是否转成齿轮代码)
max_speed : 10000 #Maximum spindle speed(最大转速)
min_speed : 50 #Minimum spindle speed(最小转速)
nobrk : no #Omit breakup of x, y & z rapid moves
progname : 0 #Use uppercase for program name (sprogname)(程式名称是否使用大写)
4)中间其它内容,例如:Common User-defined(指令设定部分), Format statements(格式报告),definitions for NC output(NC代码限定),Error messages(出错信息),Toolchange / NC output Variable Formats(刀具变量)等基本上都是系统固定格式,不需要更改,如果改错的话,系统很可能不执行或机床报警......
5) 文本内容和换刀设定部分(Start of File and Toolchange Setup)。此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中中文是注解.引号内是可以更改的内容.
\"%\程式开头的百分号)
---
---
*progno, e(程式号码)
comment(注解,可有可无,如不需要则删除此句)
\"(PROGRAM NAME - \程式名称,可有可无)
\"(\刀具直径及补正参数显示,如不需要则把此整句删除)
\"(DATE=DD-MM-YY - \程式日期显示,可有可无)
pbld, n, *\"/M99\如不需要则整句删除,而不是只删除引号内的内容)
pbld, n, *\"G90\定义加工原点,也可以改为G54坐标)
sav_absinc = absinc (绝对坐标系)
......
(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
......
(以下几句是出现在程式尾,可以根据需要添加或删除)
---
---
n, \"Z10.\加工完成后提刀至安全高度)
n, \"X0.Y0.\归零)
n, \"G91\转用相对坐标)
n, \"M99\回到主程式)
mergesub(此四句为程式结尾固定语句)
clearsub
mergeaux
clearaux
\"%\程式尾)
6) 问题参数设定部分(Numbered questions for Mastercam Mill).此部分大多数是MASTERCAM系统的参数设定,而涉及到后处理的内容很少。
7) 字符串,包围在引号中的文字,为字符串。字符串必须包围在引号之中(例如“G91 G28 Z0 M05”),引号中的文字将按字符串的原样写入程序中。变量和字符之间要用逗号隔开。
MASTERCAM后处理器(MPFAN.PST)的设置
---
---
和参数修改举例:
1.在MPFAN.PST后处理器增加G54指令
第一种方法:用记事本打开MPFAN.PST文件,选择【编辑】→【查找】,在对话框中输入查找“G49”,选择查找,查找结果所在行为:
pbld, n, *sgcode, *sgplane, \"G40\
插入G54指令到当前行,将其修改为:
pbld, n, *sgcode, *sgplane, \"G40\\"G54\",e
修改前输出的NC指令为:
N102G0G17G40G49G80G90
修改后变为:
N102G0G17G40G49G80G90G54
查找当前行的上一行:
pbld, n, *smetric, e
将其整行删除,或加上“ #”成为注释行:
---
---
#pbld, n, *smetric, e
修改后G21指令将不在出现,某些控制器不用此指令。
第二种方法:查找“force_wcs”,查找结果所在行为:
force_wcs : no #Force WCS output at every toolchange?
将no改为yes,修改结果为:
force_wcs : yes #Force WCS output at every toolchange?
修改前输出的NC指令为:
N106G0G90X16.Y-14.5A0.S2000M3
修改后变为:
N106G0G90G54X16.Y-14.5A0.S2000M3
前一方法为强制输出固定指令代码,如果使用G55~G59指令时,有所不便。多刀路同时输出时,只在整个程序中出现一次G54指令。后一种方法同其他后处理文件产生G54指令的原理相同,多刀路同时输出时,每次换刀都会出现G54指令,也可根据参数自动转化成G55~G59指令。
2.删除第四轴数据“A0”,以适应三轴加工中心或数控铣
---
---
第一种方法:
在查找对话框中输入“ 164. Enable Rotary Axis button?”,查找结果所在行为:
164. Enable Rotary Axis button?y
将其修改为:
Enable Rotary Axis button? n
修改后第四轴数据A0不再出现。
第二种方法:
在查找对话框中输入“ Rotary Axis”,查找结果所在行为:
rot_on_x : 1 #Default Rotary Axis Orientation, See ques. 164.
将其修改为:
rot_on_x : 0 #Default Rotary Axis Orientation, See ques. 164.
修改后第四轴数据A0也将不再出现。
3.删除NC文件的程序名、注释行
---
---
在查找对话框中输入“ %”,查找结果所在行为:
\"%\
*progno, e
\"(PROGRAM NAME - \
\"(DATE=DD-MM-YY - \
将其删除或改为注释行:
\"%\
#*progno, e
#\"(PROGRAM NAME - \
#\"(DATE=DD-MM-YY - \
修改前输出的NC指令为:
O0010
(PROGRAM NAME – A2)
---
---
(DATE=DD-MM-YY-25-12-05 TIME=HH:MM-10:45)
修改后以上指令行将不再出现。
在查找对话框中输入“pstrtool ”,查找结果所在行为:
\"(\
将其删除或改为注释行:
#\"(\
修改前输出的NC指令为:
(D16R8.0 TOOL-2 DIA.OFF.- 0 LEN.-0 DIA.-16.)
修改后以上指令行将不再出现。此注释行指明当前刀具所使用的刀具参数,可用于加工前核对加工单,建议保留。
4.取消行号
在查找对话框中输入“omitseq”,查找结果所在行为:
omitseq : no #Omit sequence numbers?
将其修改为:
---
---
omitseq : yes #Omit sequence numbers?
修改后行号将不再出现。
5.输出普通及啄式钻孔循环指令
在查找对话框中输入“usecandrill”,查找结果所在行为:
usecandrill : no #Use canned cycle for drill
usecanpeck : no #Use canned cycle for Peck
将其修改为:
usecandrill : yes #Use canned cycle for drill
usecanpeck : yes #Use canned cycle for Peck
此修改适用于支持G81、G83钻孔循环指令的控制器。
6.圆弧编程时R与IJK的设定
在查找对话框中输入“arcoutput”,查找结果所在行为:
arcoutput : 1 #0 = IJK, 1 = R no sign<不带符号>, 2 = R signed neg. over 180<超过180度时带负号>
---
---
注:参数为0时表示圆弧用IJK 编程;参数为1时表示圆弧用R编程,R不带符号;参数为2时表示圆弧用R编程,超过180度时R带负号。
7. 把T M06改成T D
在查找对话框中输入“if stagetool >= zero, pbld, n, *t, \"M6\”,查找结果所在行为:
if stagetool >= zero, pbld, n, *t, \"M6\
将其修改为:
if stagetool >= zero, pbld, n, *t, \"D1\
在查找对话框中输入“pbld, n, *t, \"M6\
查找结果所在行为:
将其修改为:将其修改为:
“pbld, n, *t, \"D1\
8. 去掉G43H
在查找对话框中输入“G43”
---
---
查找结果所在行为:(第一处)
pbld, n, \"G43\
将其修改为:将其修改为:
pbld, n, pfzout, scoolant, next_tool, e
查找结果所在行为:(第二处)
pbld, n, \"G43\
将其修改为:将其修改为:
pbld, n, pfzout, scoolant, next_tool, e
---
因篇幅问题不能全部显示,请点此查看更多更全内容