一、前言

随着计算机技术、CAD技术的发展,数控编程开始向交互式图形编程过渡。借助CAD图形,以人-机交互的方式将有关工艺路线及参数输入编程系统,再由系统生成数控加工信息。运用CAD/CAM进行零件的设计和加工制造,可使企业提高设计质量,缩短生产周期,降低产品成本,从而取得良好的经济效益。MasterCAM就是这样的一款CAD/CAM软件,广泛应用于机械加工、模具制造、汽车工业和航天工业等领域,它具有二维几何图形设计、三维曲面设计、刀具路径模拟、加工实体模拟等功能,并提供友好的人机交互,从而实现了从产品的几何设计到加工制造的CAD/CAM一体化。是目前世界上应用最广泛的CAD/CAM软件之一。由CAD和CAM两大部分组成,并分成Design(造型),Mill(铣削加工)、Lathe(车削加工)和Wire(线切割)4个功能模块。集设计与制造于一体,通过对所设计的零件进行加工工艺分析,并绘制几何图形及建模,以合理的加工步骤得到刀具路径,通过程序的后处理生成数控加工指令代码,输人到数控机床既可完成加工。

二、后处理的目的

后处理是处理机床及数控系统直接相关的信息,是计算机辅助制造基本实现过程的最后一个关键环节,数控机床是根据数控程序来动作的,而数控程序是由一系列的特定数控指令构成。编程人员使用CAM软件对加工零件进行交互式编程,所有工艺信息在编程过程中已设置好,由此生成刀具轨迹文件。后处理则根据刀具轨迹文件以规定的标准格式转化为数控系统能够识别和执行的数控指令,实质上是一个文本编辑处理的过程。后处理的最终目的就是要生成一个适合于实际数控系统的代码程序。众所周知目前数控机床所采用的控制系统各不相同,它们能识别的数控指令也不尽相同,如在我国应用十分广泛的日本FANUC系列数控系统、德国西门子公司的SINUMERIK系列数控系统。该软件配置的是适应单一类型数控系统的通用后处理,每个后处理文件对应一种数控系统模型。在MasterCAM软件的Post文件夹下,有多种后处理文件。

三、后处理卧式加工程序时的问题

本人在利用MasterCAM为台湾永进立卧转换加工中心(FANUC系统)做计算机编程的过程中发现,应用软件默认的FANUC后处理程序(Mpfan.pst)输出的刀路文件,需要大量的手工修改才能满足实际加工的需要。并且该文件无法实现卧式加工所需的程序,生成的程序代码只能满足立式加工即只能加工XY平面也就是G17平面内的零件加工。最初想用手工方法解决卧式加工的问题,但简单的程序可以用这种方法解决,如果零件复杂工作量就很大效率就很低,因此此方法不能很好的解决卧式加工的程序编制。通过多次的实验也曾经利用MasterCAM默认的FANUC后处理程序(Mpfan.pst)生成程序后修改程序中的坐标,把XY平面内的坐标改为XZ平面内的坐标,此方法虽然能解决复杂零件的程序编制但在修改时工作量也比较大,而且在修改过程中要求准确性要高,不能有一点失误,否则将会加工出超差、甚至报废的零件,严重的可能会撞机床以及伤害到操作者。为了满足编程的高效率、准确性、唯一性使编出的程序在生产中充分发挥数控的优势,这时后处理文件的编程就至关重要了。

那么在做后处理时首先要清楚要编制什么样的数控程序呢?就本文提出的问题如何编制一个能满足卧式加工的程序呢? 那么平面的转换成,圆弧的方向,坐标的正负号都是必须要考虑的问题。

四、后处理文件的设定方法

后置处理文件简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件。不同系列的后处理文件在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下几个部分。

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

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

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

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

(一)、后处理文件编辑的一般规则

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

(二)、变量的使用

变量的定义在后处理文件的开头部分已经作了说明,使用时可通过查阅来了解变量的意义。变量在回答问题时一经使用,就会在生产的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坐标的位置。其它变量的定义可参看文件开头的说明。

(三)、后处理文件的设置方法

后处理文件中的大部分问题一般不需要作修改,使用时,通常办需对其中固定的某几个问题进行编辑。下面以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中的杂项变量是在线切割后处理系统中使用的。

五、卧式加工后处理的修改

MasterCAM的后处理可以根据用户需要进行编制,本人是通过修改MasterCAM软件自带的后处理文件后编制出满足卧式加工的程序,这样就不用对所有后处理的设置都熟悉,只要修改需要的部分就可以修改出用户需要的后处理。下面是修改部分的文件。

# --------------------------------------------------------------------------

# Position calculations, generally these do not need to be modified

# --------------------------------------------------------------------------

pmiscint #Capture the top level absinc for subprograms

absinc = mi2

pxyzcout #Map coordinates

xabs = vequ (-x)

yabs = vequ (y)

zabs = vequ (z)

feed = fr_pos

if feed > maxfeedpm, feed = maxfeedpm # Check for over feed

这是修改X坐标正负号的方法。

# --------------------------------------------------------------------------

# Toolchange / NC output Variable Formats

# --------------------------------------------------------------------------

fmt T 4 t #Tool number

fmt T 4 first_tool #First Tool used

fmt T 4 next_tool #Next Tool used

fmt D 4 tloffno #Diameter Offset number

fmt H 4 tlngno #Length Offset number

fmt G 4 g_wcs #WCS G address

fmt P 4 p_wcs #WCS P address

fmt S 4 speed #Spindle Speed

fmt M 4 gear #Gear range

# --------------------------------------------------------------------------

fmt N 4 n #Sequence number

fmt X 2 xabs #X position output (absolute)

fmt Y 2 yabs #Y position output (absolute)

fmt Z 2 zabs #Z position output (absolute)

# --------------------------------------------------------------------------

# Toolchange / NC output Variable Formats

# --------------------------------------------------------------------------

fmt T 4 t #Tool number

fmt T 4 first_tool #First Tool used

fmt T 4 next_tool #Next Tool used

fmt D 4 tloffno #Diameter Offset number

fmt H 4 tlngno #Length Offset number

fmt G 4 g_wcs #WCS G address

fmt P 4 p_wcs #WCS P address

fmt S 4 speed #Spindle Speed

fmt M 4 gear #Gear range

# --------------------------------------------------------------------------

fmt N 4 n #Sequence number

fmt X 2 xabs #X position output (absolute)

fmt Z 2 yabs #Y position output (absolute)

fmt Y 2 zabs #Z position output (absolute)

这是转换平面的方法即把XY平面转换成XZ平面。通过以上的修改就能编出了一个卧式加工的后处理,此程序本人已在生产中使用多年,使用效果比较明显。当然后处理的内容还有很多,比如个性化修改、添加和删除不需要的代码、四轴、五轴后处理等等内容,都可以通过此方法进行修改直到满足生产的需要。

六、结束语

后置处理文件的编辑和设定,对CAD/CAM软件来说都是需要的。但是一般在每次生成NC程序后去对程序进行修改,不仅浪费时间,而且容易出错导致事故。本文就Mastercam软件针对立卧转换加工中心卧式加工的后处理文件进行了分析和讨论,介绍了其编辑和设定的方法。