Mastercam软件的后置处理文件及其设定方法
一、前言
  Mastercam是一套应广泛的CAD/CAM/CAE软件包,它采用图形义互
式自动编程方法实现NC程序的编制。义互式编程是一种人机对话的编程方法,编程人员根据屏幕提示的内容,反复与计算机对话,选择菜单目录或计算机的提问,将所有的问题回答完毕后即可以生生成NC程序。NC程序的自动产生是受软件的后置处理功能控制的,不同的加工模块(如车削、铣削、线切割等)和不同的数控系统对应于不同的后处理文件。软件当前使用哪一个后处理文件,是在软件安装时设定的,而在具体应用软件进行编程之前,一般还需要对当前的后处理文件进行必要的修改和设定,以使其符合系统要求和使用者的编程习惯。有些用户在使用软件
时由于不了解情况,没有对后处理文件进行修改,导致生成的NC程序中某些固定的地方经常出现一些多余的内容,或者总是漏掉某些词句,这样,在将程序传入数控机床之前,就必须对程序进行手工修改,如果没有全部更正,则可能造成事故。例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误。
  二、Mastercam软件的后置处理文件
  后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,也就是说后处理程序可以将一种控制器的NC程序定义成该控制器所使用的格式。以FANUC系列的后处理为例,它既可以定义成惯用于FANUC 3M控器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器。
不同系列的后处理文件在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下几个部分。
  1.Annotation(注释) 对后处理文件及其设定方法作一般性介绍。
  2.问题  该部分为后处理文件的主要部分,FANUC系列的后处理文件中共包括200个问题,对这些问题的回答将决定将来输出的NC程序的格式。
  3.Commands(指令) 指令的作用是对它后面的变量施加影响。如oldvars和newvars指令,在回答问题
3时若写于刀具号码变量t之前,则使用oldvars时将呼叫前一把刀具的号码,使用newvars时将呼叫现在
所使用的刀具号码。
  4.Variables(变量) 给出了"问题"中所使用的各种变量的定义.FANUC系列的后处理文件中共定义了26个变量,如prog-n=程序号码,f=进给率,s=主轴转速,t=刀具号码等。
  三、后处理文件的设定方法
  1.后处理文件编辑的一般规则
  对后处理文件的编辑和设定只需要对第(4)部分的"问题"进行回答。PST文件的每个问题前都有一个号码并在号码后加一个小数点。若问题前没有号码,那么这个问题在执行后处理时是被忽略不用的。回答号码20以前的问题时,需要在问题的下一行键入所回答的文字,而且回答的内容可以包括多行,20号以后问题均带有问号且回答时直接写在问号的后面,不得换行,这一类的问题常常是以"y""n"来回答。回答问题时用到变量,不能用引号,而字符串则必须包围在引号之中(如"G91 G28 GZ0   
M05"),引号中的文字将按字符串的原样写入程序中。变量和字符之间要用逗号隔开。
2.变量的使用
  变量的定义在后处理文件的开头部分已经作了说明,使用时可通过查阅来了解变量的意义。变量在回答问题时一经使用,就会在生产的NC程序中表达确定的意义。如变量spindle-on,转速为正或0时定义为M03,为负时定义为M04,如果回答问题时使用了该变量,则会在NC程序的相应部分写出M03或M04。变量prog-n若写到问题1或2中,将对在NC程序规划时给定的程序中起作用。变量First-tool用来呼叫程序中所使用中的第一把刀的号码,此变量通常用于程序结束时将使用中的刀具改变为第一把刀的号码,
以便在下一次执行程序时使用。next-tool用于无T字首的刀具号码,使用这个变量可在刀具被呼叫前,选择另一把刀来进行换刀。变量xr、 yr、zr是用来定义程序中快速定位的X、Y、Z坐标位置,通常用于换刀和程序结束时使刀具返回机械原点。prev-x、prev-y、prev-z则是用来定义刀具所在的前一个X、Y、Z坐标的位置。其它变量的定义可参看文件开头的说明。
3.后处理文件的设置方法
后处理文件中的大部分问题一般不需要作修改,使用时,通常办需对其中固定的某几个问题进行编辑。下面以FANUC系列的.PST文件为例,来说明设定的方法。
  (1)问题0的回答要用字符串,对于FANUC控制系统设置为"%"。
  (2)以问题2的回答以例说明2、4、5问题的回答方法。假设在设定NC参数时所给的
程序名为test1,程序号为1234,顺序号开始号码为100且增量值为2,刀具号为01,主轴转速为1500/mim,则.PST文件格式及产生的NC程序对照台下。
        .PST文件格式 NC程序
prog_mane test1
prog_n 1234
    N,"G90 G54 G49 G40" N100 G90 G54 G49 G40
    N,"G00 X0 Y0" N102 G00 X0Y0
N,"M06" M104 M06 T01
N,S,spindle_on N106 s1500 M03
(3)问题6是用来设定当铣削状态改变面刀具号码并不改变时,其使用的变量与问题2、4、5中所使用的变量相同。
  (4)问题7、8、9控制NC参数屏幕中Text1、2、3所设定的文字。
  (5)问题36要求规定进给速度值小数点后允许的位数,若写-1时则为整数。
  (6)问题37高定的比例因数可使写到NC程序中的进给速度按此因数变化。
  (7)问题38中要求设置快速进给速率的大小。
  (8)问题42是若设定为e(表示圆弧插补指令中用R程序)时,问题53必须回答"Y",则系统在后处理时将自动大于180·圆弧打断为两段。
  (9)问题50~55是使用权控制器中的cannedcycles指令(G81~G89)被使用于NC程序中。
  (10)问题70是用来设定几何图形中线与线或线与圆弧之间的精确度,使其值保证连接外形时能自动连接。
  (11)问题81~89是用于NC程序与数控机床传输与接受时的对数设定。
  (12)当使用者在换马中使用权用next_tool变量时,问题120应回答为"Y"。当后处理系统执行时,电脑首先必须做一个刀具表,否则电脑无法了解在换刀要用到次一把刀时,什么刀具要来到一把刀的位置。
  (13)问题190~196是用于设定刀具路径显示时的内定值。
  (14)问题201~510中的杂项变量是在线切割后处理系统中使用的。
  四、结束语
  后置处理文件的编辑和设定,对CAD/CAM软件来说都是需要的。但是一般的使用者经常忽略这一点,面是在每次生成NC程序后去对程序进行修改,不仅浪费时间,而且容易出错导致事故。本文对Mastercam软伯的后处理文件进行了分析和讨论,介绍了其编辑和设定的方法。
MASTERCAM后处理的设置和参数修改
Mastercam是美国CNC Software公司开发的一套CAD/CAM软件,最早的版本为V3.0,可运行于DOS系统.V5.0以上版本运行于Windows操作系统。由于其诞生较早且功能齐全,特别是在CNC编程上快捷方便,因此有很高的市场占有率.软件的CAD功能可以构建2D或3D图形,架构自由曲面的功能远远胜于其他同类软件.在CAM方面更是直观和方便,可直接
在点,线,面和实体上产生刀路.
下面重点介绍它的后处理设置.
后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。安装MASTERCAM时系统会自动安装默认的后处理为MPFAN.PST.在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,如果没有全部更正,则可能造成事故.例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误.本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考.也就是说后处理程序可以将一种控制器的NC程序,定义成该控制器所使用的格式.以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器.不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下部分:
1) Annotation(注释).对后处理文件及其设定方法作一般性介绍.此部分内容一般都不用更改.
以下是截取的部分注释:(注释前都带#号,系统在执行代码处理时是不会读取前面带#号的语句的.)
# 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版的部分内容,其中有些是我根据自己需要更改的,中文是我加的注解.引号内是可以更改的内容.
"%", e(程式开头的百分号)
*progno, e(程式号码)
comment(注解,可有可无,如不需要则删除此句)
"(PROGRAM NAME - ", 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)Numbered questions for Mastercam Mill(问题参数设定).此部分大多数是MASTERCAM系统的参数设定,而涉及到后处理的内容很少,在此就不再详述。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。