文档库 最新最全的文档下载
当前位置:文档库 › Mastercam 后处理文件的修改方法MASTER CAM-PST

Mastercam 后处理文件的修改方法MASTER CAM-PST

Mastercam后置处理文件及其设定方法


作者:卢永涛


1 前言

Mastercam是一套应用广泛的CAD/CAM/CAE软件包,它采用图形交互式自动编程方法实现NC程序的编制。交互式编程是一种人机对话的编程方法,编程人员根据屏幕提示的内容,反复与计算机对话,选择菜单目录或回答计算机的提问,直至将所有问题回答完毕,然后即可自动生成NC程序。NC程序的自动产生是受软件的后置处理功能控制的,不同的加工模块(如车削、铣削、线切割等)和不同的数控系统对应于不同的后处理文件。软件当前使用哪一个后处理文件,是在软件安装时设定的,而在具体应用软件进行编程之前,一般还需要对当前的后处理文件进行必要的修改和设定,以使其符合系统要求和使用者的编程习惯。有些用户在使用软件时由于不了解情况,没有对后处理文件进行修改,导致生成的NC程序中某些固定的地方经常出现一些多余的内容,或者总是漏掉某些词句,这样,在将程序传入数控机床之前,就必须对程序进行手工修改,如果没有全部更正,则可能造成事故。例如,某机床的控制系统采用G54工件坐标系定位,G90绝对坐标编程,要求生成的NC程序前面必须有G54G90设置,如果后处理文件的设置为G55G91,则每次生成的程序中含有G55G91,却不一定有G54G90,如果在加工时没有进行手工改正,则势必造成加工错误。本文介绍了Mastercam后处理文件的内容以及修改和设置的方法,供有关人员参考。

2 Mastercam软件简介

Mastercam是由美国CNC Software公司开发的基于微机的CAD/CAM软件,V5.0以上版本运行于Windows操作系统。由于其价格较低且功能齐全,因此有很高的市场占有率。软件的CAD功能可以构建2D或3D图形,特别适用于具有复杂外形及各种空间曲面的模具类零件的建模和造型设计。在CAM方面,它具有以下特点:

(1) 提供可靠与精确的刀具路径;
(2) 可以直接在曲面及实体上加工;
(3) 提供多种加工方式;
(4) 提供完整的刀具库、材料库及加工参数资料库;

Mastercam拥有车削、铣削、钻削、线切割等多种加工模块,允许用户通过观察刀具运动来图形化地编辑和修改刀具路径。另外,软件提供多种图形文件接口,包括DXF、IGES、STL、STA、ASCII等。

3 Mastercam软件的兵团处理文件

后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,也就是说后处理程序可以将一种控制器的NC程序,定义成该控

制器所使用的格式。以FANUC系列的后处理系统为例,它可以定义成惯用于FANUC 3M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器。不同系列的后处理文件,在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下五个部分:

(1) Annotation(注释)。对后处理文件及其设定方法作一般性介绍。

(2) Commands(指令)。指令的作用是对它后面的变量施加影响。如oldvars和newvars指令,在回答问题3时若写于刀具号码变量t这前,使用oldvars时将呼叫前一把刀具的号码,使用newvars时将呼叫现在所使用的刀具号码。

(3) Variables(变量)。给出了“问题”中所使用的各种变量的定义。FANUC系列的后处理文件中共定义了26个变量,如prog_n=程序号码,f=进给率,s=主轴转速,t=刀具号码等。

(4) 问题。该部分为后处理文件的主要部分,FANUC系列的后处理文件中共包括近200个问题,对这些问题的回答将决定将来输出的NC程序的格式。

4 后处理文件的设定方法

4.1 后处理文件编辑的一般规则

对后处理文件的编辑和设定只需要对第(4)部分的“问题”进行。.PST文件的每个问题前都有一个号码并于号码后加一个小数点。若问题前没有号码,那么这个问题在执行后处理时是被忽略不用的。回答号码20以前的问题时,需将所回答的文字键入于问题的下一行,而且回答的内容可以包括多行;20号以后的问题均带有问号且回答时直接写在问号的后面,不得换行,这一类的问题常常是以“y”或“n”来回答。回答问题时用到变量,不能用引号,而字符串则必须包围在引号之中(例如“G91 G28 Z0 M05”),引号中的文字将按字符串的原样写入程序中。变量和字符之间要用逗号隔开。

4.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坐标位置。Xh、yh、zh是用来规定机械原点的位置,通常用于换刀和程

序结束时使刀具返回机械原点。prev_x、prev_y、prev_z则是用来定义刀具所在的前一个X、Y、Z坐标的位置。其它变量的定义可参看文件开头的说明。

4.3 后处理文件的设定方法

后处理文件中的大部分问题一般不需要作修改,使用时,通常只需对其中固定的某几个问题进行编辑。下面以FANUC系列的.PST文件为例,来说明设定的方法。

(1) 问题0的回答只能使用字符串,对于FANUC控制系统则必须设置为“%”。
(2) 以问题2的回答为例说明2、4、5问题的回答方法。假设在设定NC参数时所给的程序名为test1,程序号为1234,顺序号开始号码为100且增量值为2,刀具号为01,主轴转速为1500r/min,则.PST文件格式及产生的NC程序对照如下

.PST文件的格式 NC程序
prog_name test1
Prog_n 1234
N, " G90 G54 G49 G40" N100 G90 G54 G49 G40
N, "G00 X0 Y0" N102 G00 X0 Y0
N, "M06" , t N104 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编程)时,问题43必须回答为“y”,则系统在后处理时自动将大于180(的圆弧打断为两段。
(9) 问题50~55是使控制器中的canned cycles指令(G81~G89)被使用于NC程序中。
(10) 问题70是用来设定几何图形中线与线或线与圆弧之间相接时的精确度,其值应保证连接外形时能自动连接。
(11) 问题81~89是用于NC程序与数控机床传输与接受时的参数设定。
(12) 问题120当使用者在换刀中使用next_tool变量时,应回答为“y”。当后处理系统很执行时,电脑首先必须做一个刀具表,否则电脑无法了解在换刀要用到次一把刀进,什么刀具要来到次一把刀的位置。
(13) 问题190~196是用于设定刀具路径显示时的内定值。
(14) 问题201~510中的杂项变量是在线切割后处理系统中使用的。

5 结论

后置处理文件的编辑和设定,对所有的CAD/CAM软件来说都是需要的。但是一般的使用者经常忽略这一点,而是在每次生成NC程序后去对程序进行修改,不仅浪费时间,而且容易出错导致事故。本文对Mastercam软件的后处理文件进行了分析和讨论,介绍了其编辑和设定的方法,希望对

有关人员有所启发。(end)


Mastercam后置处理文件及其设定方法详细说明
2007-7-21 来源:未知

所属专题:数控加工编程 文章页数:[1] [2]

mastercam系统配置的是适应单一类型控制系统的通用后置处理,该后置处理提供了一种功能数据库模型,用户根据数控机床和数控系统的具体情况,可以对其数据库进行修改和编译,定制出适应某一数控机床的专用后置处理程序。
mastercam系统后置处理文件的扩展名为pst,称为pst文件,它定义了切削加工参数、nc程序格式、辅助工艺指令,设置了接口功能参数等,其结构由八个部分组成:

1. 注解
程序每一列前有“#”符号表示该列为不影响程序执行的文字注解。如:
# mi2-absolute, or incremental positioning
0=absolute
1=incremental
表示mi2定义编程时数值给定方式,若mi=0为绝对值编程,mi=1为增量值编程。
在这一部分里,定义了数控系统编程的所有准备功能g代码格式和辅助功能m代码格式。
2. 程序纠错
程序中可以插入文字提示来帮助纠错,并显示在屏幕上。如:
# error messages (错误信息)
psuberror # arc output not allowed
"error-wrong axis used in axis substitution", e
如果展开图形卷成旋转轴时,轴替换出错,则在程序中会出现上面引号中的错误提示。
3. 定义变量的数据类型、使用格式和常量赋值
如规定g代码和m代码是不带小数点的两位整数,多轴加工中心的旋转轴的地址代码是a、b和c,圆弧长度允许误差为0.002,系统允许误差为0.00005,进给速度最大值为10m/min等。
4. 定义问题
可以根据机床加工需要,插入一个问题给后置处理程序执行。
如定义nc程序的目录,定义启动和退出后置处理程序时的c-hook程序名。
5. 字符串列表
字符串起始字母为s,可以依照数值选取字符串,字符串可以由两个或更多的字符来组成。
字符串sg17,表示指定xy加工平面,nc程序中出现的是g17,scc1表示刀具半径左补偿,nc程序中出现的是g41,字符串sccomp代表刀具半径补偿建立或取消。
6. 自定义单节
可以让使用者将一个或多个nc码作有组织的排列。
自定义单可以是公式、变量、特殊字符串等:
pwcs # g54+ coordinate setting at toolchange
if mil >1, pwcs_g54
表示用pwcs单节指代#g54+在换刀时坐标设定值,mil定义为工件坐标系(g54~g59)
7. 预先定义的单节
使用者可按照数控程序规定的格式将一个或多个nc代码作有组织的排列,编排成一条程序段。
8. 系统问答
后置处理软件提出了五组问题,供使用者回答,可按照注解文字、赋值变量、字符串等内容,根据使用的机床、数控系统进行回答。

设计后置处理文件,一般是按照nc程序的结构模

块来进行。根据nc程序的功能,后置处理文件分成六个模块如下:

1. 文件头
文件头部分设定程序名称和编号,此外,sinumerik 810d系统还必须指定nc程序存放路径,并按照以下格式输出:
“%_n_(程序名及编号)_(路径)”。
nc程序可存放在主程序、子程序和工作程序目录下,扩展名分别为:mpf、spf、wpd,一般放在工作程序目录下。因此经修改的pst文件格式为:
pheader # start of file
" %_n_", progname, "_wpd" (程序名、存放目录)
2. 程序起始
在程序开始,要完成安全设定、刀具交换、工件坐标系的设定、刀具长度补偿、主轴转速控制、冷却液控制等,并可显示编程者、编程日期、时间等注解。
修改后的有刀具号pst文件开头格式如下:
# start of file for non-zero tool number
......
pspindle (主轴转速计算)
pcom_movbtl (移动设备)
ptoolcomment (刀具参数注解)
......
pbld, n, *sgcode, *sgplane, "g40", "g80", *sgabsinc
(快进、xy加工平面、取消刀补、取消固定循环、绝对方式编程)
if mil <=one, pg92_rtrnz, pg92_rtrn, pg92_g92 (返回参考点)
......
pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, pcan1
(快进至某位置、坐标系编置、主轴转速等)
pbld, n, pfzout, *tlngno, scoolant, [ if stagetool=one, *next_tool]
(安全高度、刀长补偿、开冷却液)
pcom_movea (加工过程)
3. 刀具交换
刀具交换执行前,须完成返回参考点、主轴停止动作,然后换刀,接着完成刀具长度补偿、安全设定、主轴转速控制。
pst文件中用自定义单节ptlchg指代换刀过程,编辑修改后的程序如下:
ptlchg # tool change
......
ptoolcomment (新刀参数注解)
comment (插入注解)
if stagetool <> two, pbld, n, *t, e (判断、选刀)
n, "m6" (换刀)
pindex (输出地址)
pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, pcan1
(快进至某位置、坐标系偏置、主轴转速等)
pbld, n, pfzout, *tlngno, "m7", [if stagetool=one, *next_tool]
(安全高度、刀长补偿号、开冷却液)
pcom_movea (加工过程)
4. 加工过程
这一过程是快速移动、直线插补、圆弧插补、刀具半径补偿等基本加工动作。
对于几乎所有系统,这些加工动作的程序指令基本相同。只是注意sinumerik 810d系统的刀具长度补偿值由字母d后加两位数字调用,不需要g43/g44指令;而半径补偿值则由g41/g42调用,不需要再接地址代码。用g40取消刀具长度和刀具半径补偿。
5. 切削循环
mastercam软件提供了6种内定的孔加工固定循环方式:一般钻削(drill/cbore)、深孔啄钻(peck drill)、断屑钻(chip break)、右攻丝(tap)、精镗孔(bore#1)、粗镗孔(bore #2),通过杂

项选项(misc #1/misc #2)可设定左攻丝、背镗孔、盲孔镗孔、盲孔铰孔等循环,并采用g73~g89代码来表示。
如对于深孔钻削固定循环,mastercam采用的格式为:g83 x_y_z_r_q_f;而sinumerik 810d系统用cycle83指代深孔钻削循环,其nc程序要求给出循环加工所有参数,输出格式为:
cycle83(rtp,rfp,sdis,dp,dpr,fdep,fdpr,dam,dtb,dts,frf,vari)
在pst文件中需按sinumerik 810d系统格式进行定义、修改和编写。
6. 程序结尾
程序结尾一般情况下是取消刀补、关冷却液、主轴停止、执行回参考点,程序停止等动作。下面是修



MASTERCAM后处理的设置和参数修改

发布日期:2005-9-6 23:45:35 作者: 出处:


MASTERCAM后处理的设置和参数修改2008-09-01 19:40Mastercam是美国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 Nam

e : 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 f

or 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系统的参数设定,而涉及到后处理的内容很少,在此就不再详述。








相关文档
相关文档 最新文档