< 返回
基于mastercam9的mv-610加工中心的专用后置处理器的开发

1 引言

mastercam是一套应用广泛的cad/CAM/cae软件包,它采用图形交互式自动编程方法实现nc程序编制,在模具加工行业有着广泛的市场。交互式编程是一种人机对话的编程方法,编程人员根据屏幕提示的内容,反复与计算机对话,选择菜单目录或回答计算机的提问,将所有问题回答完毕即可自动生成nc程序。nc程序的自动产生是受软件的后置处理功能控制的,不同的加工模块和不同的数控系统对应着不同的后处理文件。

后置处理(post processing)是数控加工中自动编程要考虑的一个重要问题。自动编程经过刀具轨迹计算产生的是刀具数据(cutter location date)文件,而不是数控程序,因此,这时需要设法把刀位数据文件转变成指定机床能执行的数控程序,采用通信的方式或是dnc方式输入数控机床的数控系统,才能进行零件的数控加工。

把cad/cam软件生成的刀位数据文件转换成指定数控机床能执行的数控程序的过程就称为后置处理。刀位数据文件必须经过后置处理转换成数控机床各轴的运动信息后,才能驱动数控机床加工出设计的零件。后置处理程序是自动编程系统的一个重要组成部分。后置处理程序的功能是根据刀位数据文件及机床特性信息文件的信息,将处理成相应数控系统能够接受的控制指令格式。也即根据刀位数据文件中各种不同的加工要求,将刀位数据文件及机床特性信息文件处理成一个个字,然后把字组成一个适当的程序段,将其输出。

图形化编程软件所生成的nci代码,都需要经过特定的后置处理设置,才能生成适应于特定数控系统的nc代码。当今较为流行的几种cam软件的后置处理系统,大致可分为专用后置处理系统和通用后置处理系统两种。像p ro/e、ug、caxa制造工程师等cam软件的后置处理,就应用图形交互及对话框的方式来设置特定机床的后处理器,属于通用后置处理系统。而像mastercam等软件则采用的是专用后置处理系统,软件本身提供了多种数控系统(如fanuc、a-b数控系统)的标准后置处理文件,可生成供多种数控机床使用的nc代码。如果在使用过程中遇到软伯没有提供后置处理器的数据控系统,则用户必须根据数控系统的程序格式、各种功能代码及格式、各种参数初始值和默认值,来编写mastercam的后处理文件,以生成所需的加工程序。

mv-610加工中心配置的数控系统是西门子的sinumerik810d,mastercam9软件生成的nc代码不能直接应用,需要人工做大量的修改,既不方便又易出差错。因此有必要为mv-610加工中心开发专用的后置处理程序,发挥软件cam模块的最佳效果。

本文根据mastercam9的通用后置处理程序,结合mv-610加工中心和sinumerik810d系统的特点,开发出专用的后置处理程序,以便mastercam生成的nc程序能直接用于加工生产。

2 后置处理技术

2.1 后置处理原理

在后置处理中,系统要完成机床运动变换、非线性运动误差校验,进给速度校验和加工程序生成等任务。后置处理过程原则上是解释执行,即每读出刀位文件中的一个完整的记录(行),便分析该记录的类型,根据记录类型确定是进行坐标变换还是进行文件代码转换,然后根据所选的数控机床进行坐标转换或文件代码转换,生成一个完整的数据程序段,并写到数控程序文件中去,直到刀位原文件结束。后置处理流程见图1所示。

图1 后置处理流程图

2.2 后置处理系统设定的前提条件

虽然不同类型的数控系统之间和不同类型的数控机床之间的指令和程序段格式不尽相同,彼此之间有一定的差异,但它们之间具有一些共同特性,如数控程序皆由意义基本相同的地址符组成,并采用标准化的准备功能g代码和辅助功能m代码等,这些共同特性是通用后置处理系统设计的前提条件。

3 mv-610加工中心的后置处理

3.1 mastercam9后置处理的文件格式

mastercam9系统的后置处理由两部分文件组成,可执行文件和机床特性文件。可执行文件是不允许用户修改的,如铣床为mp.dll文件,车床为mpl.dll文件;机床特性数据文件是用ascii代码编写的,其扩展名为pst,称为pst文件,pst文件提供了更改nc代码的方法,以便适应于选定的数控系统和机床,其内容包括:机床类型、坐标输出格式、g代码和m代码的分配、文件头数据、控制系统名及注释数据的输出等信息。后置生理器mp文件和pst文件必须相互依赖才能正常工作,mp文件按pst文件来设置其开关量,pst不能用于其它软件的后处理器。

3.1.1 mastercam9的nci文件

mastercam9中刀位文件是nci为扩展名,它是一个中间文件,以ascii码编写,包含了完成一个零件加工并产生nc程序的所有必须信息,主要有:确定机床运动模式、计算移动距离、计算轮廓运动、将运动置于机床坐标下,进给速度计算等。这些信息大都来源于参数屏幕的定义参数。信息按两行排列,第一行是操作行,用简单的数字表示操作类型,如直线运动、圆弧运动、孔加工循环等;第二行是数据行,包含了定义操作所需的信息。

其中操作类型分为四组:①运动操作指令:快速进给、直线和圆弧插补、5轴插补等指令;②循环操作类指令:孔加工循环及车、铣加工固定循环等指令;③文件格式指令:nc程序开始、结束格式;④杂项操作指令:定义杂项整数、参数等。

3.1.2 mastercam9的pst文件

由于mp文件不可修改,因此mastercam9的后置处理的任务是对pst文件进行修改和定制,以设置mp文件的开关量。不同系统的后处理文件它们的指令代码和格式定义虽各不相同中,但mastercam9系统的所有pst文件基本上都由以下11个部分组成:

⑴ 注解 后置处理的有关注释和信息,在程序的每一行前用符号“#”开头,其后的文字的注解不影响程序的执行。

如:# post name: mv-610(定义后置处理器名称)

# mi3 – select g28 or g30 reference point return(定义#mi3为返回参考点的变量)

⑵ 调试 插入变量“bug1”、“bug2”、“bug3”、“bug4”和“whatno”来调试后置处理器,并在屏幕上显示相关资料。

如:bug1:2 #0=no display,1=generic list box,2=editor 表示变量bug1为0不显示nc代码,为1显示nc代码的列表框,为3则进入nc编辑器。这是调试后处理文件的辅助工具,一般不需对其进行修改。

⑶ 格式描述 定义所使用变量的数据类型,在“格式指定”前必须先对变量进行“格式描述”。根据实际数控系统允许的数据格式,使用变量名和常量值对其进行修改。如图2为变量fs的格式描述。

图2 变量fs的格式描述

⑷ 格式指定 指定变量的数据类型和该变量输出到nc文件的前缀,输出nc文件没有使用到的变量可不指定。如:在“fmt z 4 depth”切削深度变量指令格式中,ftm表示格式指定命令,depth为定义的切削深度变量,转换成nc文件后,depth的前缀为z,即切削深度的英文代码z,4为数据类型(整数,数值前没有零)。

⑸ 初始值 执行后置处理程序时,指定特定的数值给程序已定义或用户自定义的变量,要根据所用数控系统允许的各种技术参数来进行修改。如:omitseq: no(忽略程序段号?no)。

⑹ 定义问题 根据机床加工需要,插入一个问题给后置处理程序执行。

⑺ 字符串列表 字符串起始字符为s,可以依照数值选择字符串。字符串可以由两个或两个以上的字符组成。字符串sg17,表示指定xy加工平面,nc程序中出现的是g17。

⑻ 表格查找 定义一个可查的表格,从所列表格的整数中能选择所需的数值。如mv-610机床sinumerik810d系统的传动装置选择表如下,由“格式指定”部分已指定齿轮换档用字母m为前缀输出。

flktbl 1 6 (“flktbl”定义查表,1为表的号码,6为元素的个数)

400 (自动齿轮变换)

411 (齿轮1级)

422 (齿轮2级)

433 (齿轮3级)

444 (齿轮4级)

455 (齿轮5级)

这样,可在表中查找齿轮为自动换档及不同齿轮级数,nc程序则输出m40及m41-m45。

⑼ 自定义模块 它是一个独立的程序段,每个后处理行可由一个或多个变量组成,变量之间用逗号分开,后处理行按nc程序结构作有组织的排列;它可以是公式、变量、特殊的字符串等。它是作为预定义的后置处理块的一个变量来使用的。

⑽ 预定义的后置处理块 在nc程序的文件开始、刀具更换、固定循环、文件结尾和刀具运动等部分,用预先定义的格式来组织、规划。如fanuc系统钻孔固定循环切削输出为“g99(g98)g81 x_ y_ z_ r_ (p_)”,pst中表示为:

pdrlcommonb

pcanl,pbld,n,*sgdrlref,*sgdrill,pxout,pyout,pfzout,pcout,prdrlout,dwell,*feed,strcantext,e

pcom_movea

⑾ 系统问题 系统允许用户对后置处理的设置作少量的修改。如:

81.date rate(110,150,300,600,1200,2400,4800,9600,14400,19200,38400)?9600表示若直接用mastercam传输程序,其波特率为9600。

pst文件中最复杂的是变量的使用。mastercam v6.0前的版本其后置处理部分采用了变量,而v7.0以上版本程序中已大量采用变量编写pst程序,因此开发、定制pst文件就必须了解其变量的定义与用法。pst中变量一般分为6组:位置变量、运动和刀具变量、补偿和偏移变量、固定循环变量、杂项参数变量以及字符串和目标变量。

使用变量前需对变量先“格式描述”再“格式指定”,如在定制sinumerik810d系统孔加工循环格式中新出现了paaa等变量,pst中需预定义:

paaa # force z axis output

azabs = zabs

azinc = zinc

if absinc = zero, *azabs, ! zinc

else, *azinc, ! zabs

结合pst文件设置,mp文件对nci文件进行读取和处理,因此,了解nci文件和pst文件的格式和结构,是后置处理设计的基础。

3.2 mv-610加工中心及nc编程的特点

mv-610加工中心为台湾欧马公司生产的小型立式加工中心,刀库容量为20把刀,采用盘式自动换刀装置,刀库只需作左右移动,以刀座编码方式选刀,系统对刀库中每个刀座编码,换刀时,在换刀点先将主轴上的刀具取下,放到原来的刀座中,再取出程序指定的刀号,选刀动作与换刀动作是一个边续的过程。但810d系统仍要求选刀程序和换刀程序放在两个程序段中:

na t12

na+1 m06

该加工中心通电后,必须先返回参考点,才能招待其它动作,之后可不必每次返回参考点。但该机床是半闭环控制,机床主轴上下运动及工作台运动处在控制环之外,随着加工过程的持续进行,机床主轴及工作台的移动会发生误差累积,而机床主轴又必须返回到指定位置后才能换刀。因此有必要在每道工序完成后返回参考点。在编制返回参考点后置处理程序,还需考虑工艺性问题,z轴应先返回参考点再xy轴同时回参考点,以避免碰刀。810d系统回参考点指令代码为g74,输出程序段为:

n_ g74 z1=0

n_ g74 x1=0 y1=0

该加工中心所配备的数控系统是德国西门子公司的sinumerik810d,sinumerik810d/840d是目前主要的数控系统之一,其编程指令与fanuc等系统相比有较大的差别:除g00-g99、m00-m99指令外,其中部分g、m代码未指定功能,还增加了g110-g112、g820-g829、g500-g599等三位数字表示的g指令;此外,缩写的英文单词,如trans/atrans(零点平移)、rot/arot(坐标旋转)、mirror/amirror(镜像)、norm/knot(接近和退出轮廓)、cycle(孔加工标准循环)等也成为重要的编程指令,使得sinumerik810d系统程序更加复杂。

3.3 mv-610加工中心专用后置处理文件的设计

对特定的数控系统和机床定制后置处理是相当复杂的,必须先了解机床用户手册、机床原点和各坐标轴的行程、各轴进给速度、主轴转速范围、机床控制和编程手册、机床m代码和g代码、地址寄存器及其格式要求等情况的基础上,对mastercam中的pst文件的预定义的6个基本模块进行设计,再定制组成基本模块的用户自定义后处理模块,接着修改或重新定义用户自定义后处理模块的变量。

810d系统文件开始与fanuc系统文件开始有很大的不同,包括设定程序名称,并显示编程日期、时间等注解;810d系统的输出格式为:

%_n_zk3_mpf

;program name – zk3

;date=dd-mm-yy - 3-10-05 time=hh:mm - 16:50

n100g71

n102g0g17g40g90

pst中预定义的后置处理模块为:

psof #star of file for non-zero tool number

“%_n_”,*progno,“_mpf”,e

“;program name -”,program,e

“;date=dd-mm-yy -”,date,“time=hh:mm -”,time,e

pbld,n,*smetric,e

pbld,n,*sgcode,*sgplane,“g40”,*sgabsinc,e

与fanuc系统钻孔加工循环有很大的不同,810d系统的输出格式为:cycle81(rtp,rfp,sdis,dp,dtb);pst中预定义的后置处理模块为:

pdrlcommonb #canned drill cycle common call

n,*feed

n,“mcall”,“ ”,*sgdrill,“(”,initht,“,”,prdrlout,“,”,“5.”,“,”,paaa,“,”,dwell,“,”,“)”,e

n,pfxout,pfyout,“(”,pzout,“)”,e

pcom_movea

其中的用户自定义后处理块和变量也需重新定制和定义。

3.4 mv-610加工中心专用后处理实例

某零件在mastercam9软件上钻孔循环生成的810d系统的加工程序如下:

%_n_zk3_mpf

;program name – zk3

;date=dd-mm-yy - 01-03-05 time=hh:mm - 16:50

n100g71

n102g0g17g40g90

;tool - 1 dia. off. - 1 len. - 1 dia. - 3.

n104t1

n106m6

n108g0g90g54x-60.y96.a0.s600m3

n110z10.f50.

n112cycle81( 10., 0.,5., -20., 20.,)

n114x0.

n116cycle81( 10., 0.,5., -20., 20.,)

n118x60.

n120cycle81( -20., 0.,5., -20., 20.,)

……

n166m5

n168g74z1=0.

n170g74x1=0.y1=0.

n172m30

%

4.结束语

采用按照上述方法设计的专用后置处理程序所生成的nc代码,完全能够处理轮廓、内槽、曲面以及各种孔加工的刀具路径文件,不需人工作二次处理,可以在配有sinumerik810d系统的mv-610加工中心上直接应用,加工各种类型的零件;从而极大地提高了mastercam9编程效率,实现数控加工自动化。对其它的数控系统,也可参照该方法进行定制。