通过分析MasterCAM9后置处理程序的结构、设计方法,结合基于SINUMERIK810D数控系统的MV-610加工中心的编程特点,开发了专用的后置处理程序,使MasterCAM9生成的程序能够直接应用于MV-610加工中心的加工。实际应用表明:该专用后置处理器可以提高MasterCAM9编程效率,实现数控加工自动化。
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为元素的个数)
40 0 (自动齿轮变换)
41 1 (齿轮1级)
42 2 (齿轮2级)
43 3 (齿轮3级)
44 4 (齿轮4级)
45 5 (齿轮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组:位置变量、运动和刀具变量、补偿和偏移变量、固定循环变量、杂项参数变