随着数控技术的不断发展、数控设备不断地更新以及数控系统不断地变化,而且随着实际产品零件的复杂程度与难度的增大、产品精度不断提高以及数控编程的难度不断增加,传统的手工编程已无法满足现有加工需求,Master CAM软件的使用能将编程人员从大量繁琐的、容易出错的手工编程工作中解脱出来,提高了计算精度,实现编程的规范化和优化,提高效率,减少出错机会,并可以进行适时的修改。
MasterCAM是美国CNC Software公司开发的一套CAD/CAM 数控系统,侧重于数控加工。采用MasterCAM进行数控编程加工时,首先根据图形信息和加工信息生成NCI文件,但NCI文件不能直接传送给数控数控机床,还必须通过各数控系统专用的后置处理程序,将NCI文件转化成数控系统可以接受和识别的NC文件,才能控制数控机床正常工作。虽然MasterCAM内部自带有许多后置处理程序,但主要是根据日本FANUC控制器开发的。对于我公司目前所使用的DMC63V立式加工中心采用的是SINMERIK 810D数控系统,在MasterCAM内部找不到完全相应的后处理程序,必须根据数控机床的结构、控制系统的编程序格式和通信接口的要求,对MasterCAM默认的后置处理程序MPFAN.PST进行必要的修改和重新设置,以满足数控加工的需要。
一、后置处理技术
1.后置处理原理
在后置处理中,系统要完成机床运动变换和非线性运动误差校验,以及进给速度校验和加工程序生成等任务。后置处理过程原则上是解释执行,即每读出刀位文件中的一个完整的记录(行),便分析该记录的类型,根据记录类型确定是进行坐标变换还是进行文件代码转换,然后根据所选的数控机床进行坐标转换或文件代码转换,生成一个完整的数据程序段,并写到数控程序文件中去,直到刀位原文件结束。后置处理流程如图1所示。
2.后置处理系统设定的前提条件
虽然不同类型的数控系统之间和不同类型的数控机床之间的指令和程序段格式不尽相同,彼此之间有一定的差异,但它们之间具有一些共同特性,如数控程序皆由意义基本相同的地址符组成,并采用标准化的准备功能G代码和辅助功能M代码等,这些共同特性是通用后置处理系统设计的前提条件。
3.后置处理的主要任务
后置处理的主要任务就是把刀位原文件转换成指定数控机床能执行的数控程序。通常后置处理是根据具体机床运动结构和其数控系统能够接受的控制指令格式,将前置处理中计算的刀位数据变成机床的运动数据,并按其控制指令转换成为数控机床的加工程序。
后置处理过程原则上是解释执行,即每读出刀位源文件中的一个完整记录(行),便分析该记录类型,根据记录类型确定是进行坐标变换还是进行文件代码转换,然后根据所选数控机床进行坐标变换或者文件代码转换,生成一个完整的数控程序段,并写到数控程序中去,直到刀位源文件结束。
二、DMG63V加工中心及NC编程的特点
DMG63V加工中心是瑞士生产的立式加工中心,刀库容量为24把,采用盘式自动换刀装置,刀库只需作左右移动,以刀座编码方式选刀。系统对刀库中每个刀具编码,换刀时,在换刀点先将主轴上的刀具取下,放到原来的刀座中,再取出程序指定的刀号,选刀动作与换刀动作是一个连续的过程。但810D系统仍要求将选刀程序和换刀程序放在两个程序段中:
Na T12
Na+1 M06
该加工中心通电后,必须先返回参考点,才能开始其他动作,之后不必每次返回参考点。但该机床是半闭环控制,机床主轴上下运动及工作台运动处在控制环之外,随着加工过程的持续进行,机床主轴及工作台运动发生误差积累,而机床主轴又必须返回指定位置才能换刀,因此有必要在每道工序完成后返回参考点。
在编制返回参考点后置处理时,还需考虑工艺性问题,Z轴应先返回参考点,X轴和Y轴再同时回参考点,以避免碰刀。810D系统回参考点指令代码为G74,输出程序段为:
N_G74 Z1=0
Z_G74 X1=0 Y1=0
DMG63V加工中心的数控系统是德国西门子公司的SINUMERIK810D。SINUMERIK810D/840D是目前主要的数控系统之一,其编程指令与FANUC等系统相比有较大的差别:除G00~G99、M00~M99指令外,其中部分G、M代码未指定功能,还增加了G110~G112、G820~G829和G500~G599等三位数字表示的G指令。
三、810D的DMC63V立式加工中心后置处理 程序的设计
对特定的数控系统和机床定制后置处理是相当复杂的,必须先了解机床用户手册、机床原点和各坐标轴的行程、各轴进给速度、主轴转速范围、机床控制和编程手册、机床M代码和G代码、地址寄存器及其格式要求等情况的基础上进行设计。
1.需要修改的部分
(1)对功能相同,符号不一致的代码进行修改。①将“#Address string definitions”中的“Srad "R"”修改为“Srad "CR"”;将“Srminus "R-"”修改为“Srminus"CR=-"”。②将“#Select English/Metric Code”中的“Sg20 G20”修改为“Sg20 G70”;将“Sg21 G21”修改为“Sg21 G71”。③将“#Select reference return code”中的“Sg28 G28”修改为“Sg28 G77”。④将“#Toolchange/NC Output Variable Formats”中的“Fmt P 11 Dwell”修改为“Fmt F 11 Dwell”。⑤将“#Start of Fine and Toolchange Setup”中的“"M01"”修改为“"M0"”;将“"M30"” 修改为“"M2"”。
(2)程序开始、结束和自动换刀格式的修改。该部分的修改内容在“#Start of File anf Toolchange Setup”中进行。①将文件开头部分“"%",e”修改为“"%_N_1",sprogname,"_WPF",e;”;$PATH=/N_MPF_DIR”,e”。②删除NC文件的程序名、加工日期和时间。将810D中不能识别的“* Progno,e”、“"(PROGRAM MAME",Sprogname")",e”、“"(DATE=DD-MM-YY-",Date,"TIME=HH:MM-",Time,")",e”;“Ptoolcomment”、“Pbld,N,"G43",*Tlngno,Pfzout,Scoolant,Next_tool,e”、Pfbld,N,"G92",*xh,*yh,*zh,E”及第二个“"%",e”前面加“#”号(以“#”号开头为注解,不影响程序程序执行)。③第一程序段格式制定。将“Pbld,n,*Sgcode,*Sgplane,“G40”,“G49”,“G80”,*Sbabsinc,e”修改为“Pbld,n,*Sbabsinc,“G54”,“G64”,E”。④810D 操作编程要求换刀指令“M6”必须单独上一个程序段,所以应将“Pbld,N,*T,"M6",e”分两行写为“Pbld,N,*T、“N”, "M6",e”即输出占两个程序段。⑤删除重设项*Sgabsinc。将“Pcanl,Pbld,N,*Sgcode,*Sgabsinc,Pwcs,Pfxout,Pfyout,Pfcout,*Speed,*Spindle,Pgear,Strcantext,e”中的重设项“*Sgabsinc”删除。⑥在我国,公制单位一般是默认设置,可以在“Pbld,n,*Smetric,e”前面加“#”号。