MASTERCAM后处理的设置和参数修改.docx
《MASTERCAM后处理的设置和参数修改.docx》由会员分享,可在线阅读,更多相关《MASTERCAM后处理的设置和参数修改.docx(10页珍藏版)》请在冰豆网上搜索。
MASTERCAM后处理的设置和参数修改
MASTERCAM后处理的设置和参数修改
后置处理文件简称后处理文件,MASTERCAM后置处理文件是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。
安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.MASTERCAM提供了不同系列的后处理文件,它们在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分:
1)注释部分。
对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改.
以下是截取的部分注释:
(注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.)
#PostName:
MPFAN
#Product:
MILL
#MachineName:
GENERICFANUC
#ControlName:
GENERICFANUC
#Description:
GENERICFANUCMILLPOST
#AssociatedPost:
NONE
#Mill/Turn:
NO
#4-axis/Axissubs.:
YES
#5-axis:
NO
#Subprograms:
YES
#Executable:
MPv9.0
#
#WARNING:
THISPOSTISGENERICANDISINTENDEDFORMODIFICATIONTO
#THEMACHINETOOLREQUIREMENTSANDPERSONALPREFERENCE.
2)系统程序规划部分(DebuggingandFactorySetProgramSwitches)。
此部分是MASTERCAM版本的后处理系统规划,每个版本都大同小异,一般不需更改.以下截取的是9.0版的)
m_one:
-1#Defineconstant
zero:
0#Defineconstant
one:
1#Defineconstant
two:
2#Defineconstant
three:
3#Defineconstant
four:
4#Defineconstant
five:
5#Defineconstant
c9k:
999#Defineconstant
fastmode:
yes#EnableQuickPostProcessing,(settonofordebug)
bug1:
2#0=Nodisplay,1=Genericlistbox,2=Editor
bug2:
40#Appendpostlinelabels,non-zeroiscolumnposition?
bug3:
0#Appendwhatlineno.toeachNCline?
bug4:
1#AppendNCIlineno.toeachNCline?
whatno:
yes#Donotperformwhatlinebranches?
(leaveasyes)
get_1004:
1#Findgcode1004withgetnextop?
rpd_typ_v7:
0#UseVersion7stylecontourflags/processing?
strtool_v7:
2#UseVersion7+toolname?
tlchng_aft:
2#Delaycalltotoolchangeuntilmoveline
cant_tlchng:
1#Ignorecantextentryonmovewithtlchng_aft
newglobal:
1#Errorcheckingforglobalvariables
getnextop:
0#Buildthenextvariabletable
3)常规后处理设定部分(GeneralOutputSettings)。
此部分可视情况更改,以适合机床或个人使用.以下截取的是9.0版的一些常规设定.冒号前面的是变量,冒号后面的是设定值,#号后面是注解(一般是说明0代表什么,1代表什么,2代表什么,yes或no)
sub_level:
1#Enableautomaticsubprogramsupport(启用自动支持子程序)
breakarcs:
2#Breakarcs,0=no,1=quadrants,2=180deg.maxarcs(打断圆弧方式)
arcoutput:
1#0=IJK,1=Rnosign,2=Rsignedneg.over180(转出圆弧方式)
arctype:
2#Arccenter1=abs,2=St-Ctr,3=Ctr-St,4=unsignedinc.
do_full_arc:
0#Allowfullcircleoutput?
0=no,1=no(是否转成整圆方式)
helix_arc:
0#Supporthelixarcoutput,0=no,1=allplanes,2=XYplaneonly(是否转成螺旋弧)
arccheck:
1#Checkforsmallarcs,converttolinear(是否检测小圆弧并将其转成线)
atol:
.01#Angularitytoleranceforarccheck=2(圆弧角度公差)
ltol:
.002#Lengthtoleranceforarccheck=1(圆弧长度公差)
vtol:
.1#Systemtolerance(系统公差)
maxfeedpm:
500#Limitforfeedininch/min(最大进给-英制)
ltol_m:
.05#Lengthtoleranceforarccheck=1,metric(圆弧长度公差-公制)
vtol_m:
.0025#Systemtolerance,metric(系统公差-公制)
maxfeedpm_m:
10000#Limitforfeedinmm/min(最大进给-公制)
force_wcs:
no#ForceWCSoutputateverytoolchange?
(换刀时是否转出WCS坐标)
spaces:
0#Numberofspacestoaddbetweenfields(两行之间是否加入空格)
omitseq:
yes#Omitsequencenumbers?
(是否省略序列号)
seqmax:
9999#Max.sequencenumber(最大序列号)
stagetool:
0#0=Donotpre-stagetools,1=Stagetools(是否沿用刀具)
use_gear:
0#Outputgearselectioncode,0=no,1=no(是否转成齿轮代码)
max_speed:
10000#Maximumspindlespeed(最大转速)
min_speed:
50#Minimumspindlespeed(最小转速)
nobrk:
no#Omitbreakupofx,y&zrapidmoves
progname:
0#Useuppercaseforprogramname(sprogname)(程式名称是否使用大写)
4)中间其它内容,例如:
CommonUser-defined(指令设定部分),Formatstatements(格式报告),definitionsforNCoutput(NC代码限定),Errormessages(出错信息),Toolchange/NCoutputVariableFormats(刀具变量)等基本上都是系统固定格式,不需要更改,如果改错的话,系统很可能不执行或机床报警......
5)文本内容和换刀设定部分(StartofFileandToolchangeSetup)。
此部分内容很重要,很多使用者都从这里着手把程式改成自己需要的格式.以下截取的是9.0版的部分内容,其中中文是注解.引号内是可以更改的内容.
"%",e(程式开头的百分号)
*progno,e(程式号码)
comment(注解,可有可无,如不需要则删除此句)
"(PROGRAMNAME-",sprogname,")",e(程式名称,可有可无)
"(",*tnote,*toffnote,*tlngnote,*tldia,")",e(刀具直径及补正参数显示,如不需要则把此整句删除)
"(DATE=DD-MM-YY-",date,"TIME=HH:
MM-",time,")",e(程式日期显示,可有可无)
pbld,n,*"/M99",e(如不需要则整句删除,而不是只删除引号内的内容)
pbld,n,*"G90","G92","X0.Y0.Z10.",e(定义加工原点,也可以改为G54坐标)
sav_absinc=absinc(绝对坐标系)
......
(中间省略的部分是系统根据刀路自动转出的程式,一般不必改)
......
(以下几句是出现在程式尾,可以根据需要添加或删除)
n,"Z10.",e(加工完成后提刀至安全高度)
n,"X0.Y0.",e(归零)
n,"G91",e(转用相对坐标)
n,"M99",e(回到主程式)
mergesub(此四句为程式结尾固定语句)
clearsub
mergeaux
clearaux
"%",e(程式尾)
6)问题参数设定部分(NumberedquestionsforMastercamMill).此部分大多数是MASTERCAM系统的参数设定,而涉及到后处理的内容很少。
7)字符串,包围在引号中的文字,为字符串。
字符串必须包围在引号之中(例如“G91G28Z0M05”),引号中的文字将按字符串的原样写入程序中。
变量和字符之间要用逗号隔开。
MASTERCAM后处理器(MPFAN.PST)的设置
和参数修改举例:
1.在MPFAN.PST后处理器增加G54指令
第一种方法:
用记事本打开MPFAN.PST文件,选择【编辑】→【查找】,在对话框中输入查找“G49”,选择查找,查找结果所在行为:
pbld,n,*sgcode,*sgplane,"G40","G49","G80",*sgabsinc,e
插入G54指令到当前行,将其修改为:
pbld,n,*sgcode,*sgplane,"G40","G49","G80",*sgabsinc,"G54",e
修改前输出的NC指令为:
N102G0G17G40G49G80G90
修改后变为:
N102G0G17G40G49G80G90G54
查找当前行的上一行:
pbld,n,*smetric,e
将其整行删除,或加上“ #”成为注释行:
#pbld,n,*smetric,e
修改后G21指令将不在出现,某些控制器不用此指令。
第二种方法:
查找“force_wcs”,查找结果所在行为:
force_wcs:
no#ForceWCSoutputateverytoolchange?
将no改为yes,修改结果为:
force_wcs:
yes#ForceWCSoutputateverytoolchange?
修改前输出的NC指令为:
N106G0G90X16.Y-14.5A0.S2000M3
修改后变为:
N106G0G90G54X16.Y-14.5A0.S2000M3
前一方法为强制输出固定指令代码,如果使用G55~G59指令时,有所不便。
多刀路同时输出时,只在整个程序中出现一次G54指令。
后一种方法同其他后处理文件产生G54指令的原理相同,多刀路同时输出时,每次换刀都会出现G54指令,也可根据参数自动转化成G55~G59指令。
2.删除第四轴数据“A0”,以适应三轴加工中心或数控铣
第一种方法:
在查找对话框中输入“164.EnableRotaryAxisbutton?
”,查找结果所在行为:
164.EnableRotaryAxisbutton?
y
将其修改为:
EnableRotaryAxisbutton?
n
修改后第四轴数据A0不再出现。
第二种方法:
在查找对话框中输入“RotaryAxis”,查找结果所在行为:
rot_on_x:
1#DefaultRotaryAxisOrientation,Seeques.164.
将其修改为:
rot_on_x:
0#DefaultRotaryAxisOrientation,Seeques.164.
修改后第四轴数据A0也将不再出现。
3.删除NC文件的程序名、注释行
在查找对话框中输入“%”,查找结果所在行为:
"%",e
*progno,e
"(PROGRAMNAME-",sprogname,")",e
"(DATE=DD-MM-YY-",date,"TIME=HH:
MM-",time,")",e
将其删除或改为注释行:
"%",e
#*progno,e
#"(PROGRAMNAME-",sprogname,")",e
#"(DATE=DD-MM-YY-",date,"TIME=HH:
MM-",time,")",e
修改前输出的NC指令为:
O0010
(PROGRAMNAME–A2)
(DATE=DD-MM-YY-25-12-05TIME=HH:
MM-10:
45)
修改后以上指令行将不再出现。
在查找对话框中输入“pstrtool”,查找结果所在行为:
"(",pstrtool,*tnote,*toffnote,*tlngnote,*tldia,")",e
将其删除或改为注释行:
#"(",pstrtool,*tnote,*toffnote,*tlngnote,*tldia,")",e
修改前输出的NC指令为:
(D16R8.0TOOL-2DIA.OFF.-0LEN.-0DIA.-16.)
修改后以上指令行将不再出现。
此注释行指明当前刀具所使用的刀具参数,可用于加工前核对加工单,建议保留。
4.取消行号
在查找对话框中输入“omitseq”,查找结果所在行为:
omitseq:
no#Omitsequencenumbers?
将其修改为:
omitseq:
yes#Omitsequencenumbers?
修改后行号将不再出现。
5.输出普通及啄式钻孔循环指令
在查找对话框中输入“usecandrill”,查找结果所在行为:
usecandrill:
no#Usecannedcyclefordrill
usecanpeck:
no#UsecannedcycleforPeck
将其修改为:
usecandrill:
yes#Usecannedcyclefordrill
usecanpeck:
yes#UsecannedcycleforPeck
此修改适用于支持G81、G83钻孔循环指令的控制器。
6.圆弧编程时R与IJK的设定
在查找对话框中输入“arcoutput”,查找结果所在行为:
arcoutput:
1#0=IJK,1=Rnosign<不带符号>,2=Rsignedneg.over180<超过180度时带负号>
注:
参数为0时表示圆弧用IJK编程;参数为1时表示圆弧用R编程,R不带符号;参数为2时表示圆弧用R编程,超过180度时R带负号。
7.把TM06改成TD
在查找对话框中输入“ifstagetool>=zero,pbld,n,*t,"M6",e”,查找结果所在行为:
ifstagetool>=zero,pbld,n,*t,"M6",e
将其修改为:
ifstagetool>=zero,pbld,n,*t,"D1",e
在查找对话框中输入“pbld,n,*t,"M6",e
查找结果所在行为:
将其修改为:
将其修改为:
“pbld,n,*t,"D1",e
8.去掉G43H
在查找对话框中输入“G43”
查找结果所在行为:
(第一处)
pbld,n,"G43",*tlngno,pfzout,scoolant,next_tool,e
将其修改为:
将其修改为:
pbld,n,pfzout,scoolant,next_tool,e
查找结果所在行为:
(第二处)
pbld,n,"G43",*tlngno,pfzout,scoolant,next_tool,e
将其修改为:
将其修改为:
pbld,n,pfzout,scoolant,next_tool,e