基于NX的LGMazak—NEXUS 250-ⅡML型车削中心后处理的开发
2020-10-13殷业财马丽梅单希林张剑锋隋金玲
殷业财,马丽梅,单希林,张剑锋,隋金玲
(北京石油化工学院工程师学院,北京 102617)
车削中心是在传统数控车床的基础之上增加了部分简单的铣削功能,即加工时,卡盘带动工件旋转,刀塔转到相应的车刀位置时进行车削加工。而当卡盘带动工件分度旋转,C轴旋转,刀塔转到铣刀位置,动力头带动铣刀旋转时进行铣削加工,从而实现对工件的车铣复合加工。车铣复合加工提高了数控加工的效率,车铣复合加工设备的主要优势在于加工工艺更加灵活、工序更加集中,从而可以缩短产品制造工艺链,提高工艺的有效性,减少零件在整个加工过程中的装夹次数,提高位置加工精度[1]。LGMazak-NEXUS 250-ⅡML型机床即是带动力铣削头的车削中心,也被称为简单的XZC型车铣复合机床。
由于现在手工编制数控程序已经逐渐被各类成熟的自动编程软件取代,而自动编程过程需要将刀具源文件转换成符合机床本身的数控指令代码后才能被机床识别加工,因此需要进行后置处理。但目前尚没有一款CAM软件能够通过其自身携带的后处理直接生成能满足机床要求的数控加工程序,通常的做法是在CAM软件上生成加工程序后,再经编程人员对程序的各个部分进行人工整合来满足加工要求,这种做法对编程人员来说要求较高,同时还费时费力且容易出错。因此针对此类机床必须开发1套符合其本身的后置处理程序[2-5]。为了解决这个问题,利用NX/Post Builder后处理器构造技术为LGMazak-NEXUS 250-ⅡML型车削中心开发一个能满足其要求的实用后处理。
1 NX/Post Builder开发流程
将刀位文件转换成指定数控机床能够执行的数控程序的过程称为后置处理,后置处理是数控加工自动编程中的一个重要组成部分[6]。其主要任务是对前置处理过程中生成的刀位源文件进行处理,生成特定数控系统能够识别的控制指令[7]。NX/Post Builder后处理器的开发必须在掌握数控机床的结构信息、控制系统、编程规则等基础上才能进行。先是创建机床与数控系统相匹配的通用后置处理器的大体框架,然后由用户自主添加自定义后置处理命令,开发出符合设备要求的专用后置处理器[8]。开发流程如图1所示。
由图1可以看出, LGMazak-NEXUS 250-ⅡML的后处理开发主要包括以下几项内容:
(1)查询机床手册,获取机床的主要技术参数,用于Post Builder中机床参数的设置。LGMazak-NEXUS 250-ⅡML车削中心主要技术参数如表1所示。
表1 NEXUS 250-ⅡML主要参数Table 1 NEXUS 250-ⅡML main parameter
(2)通过对Post Builder中程序和刀轨、NC数据定义、输出设置等模块的设置,实现LGMazak-NEXUS 250-ⅡML车削中心车铣加工指令输出,主要车铣指令如表2所示。
表2 NEXUS 250-ⅡML主要车铣指令Table 2 NEXUS 250-ⅡML Main turn milling instructions
(3)对输出的车铣加工指令进行测试,测试通过后,选择LGMazak-NEXUS 250-ⅡML机床执行后处理程序。
2 LGMazak—NEXUS 250-ⅡML后处理的开发
由于车削中心车加工和铣加工是独立完成的,为了能同时满足这2项要求,所开发的后处理要既能满足车削加工,又能满足铣削加工,因此,需要开发2个后处理程序:一个是车削后处理;一个是铣削后处理,然后用链接技术将车后处理和铣后处理进行集成。将2个后处理链接是关键,解决方法是将铣削模式后处理作为主后处理,再利用MOM_head命令进行判断要调用哪个后处理器[9]。
2.1 车削后处理的开发
打开NX/Post Builder后处理构造器,点击新建,后处理名称命名为XZC-CHE,输出单位选择mm,机床选择车床,控制器选择一般,点击确定。此时弹出来的页面中有5个主要参数,分别是机床、程序和刀轨、N/C数据定义、输出设置、虚拟N/C控制器[10],如图2所示。
在机床选项中, “参数线性轴行程限制”参数中X/Z轴的行程分别为230/575 mm,Y轴为零,如图3所示。由于在车床编程中采用的是直径编程,所以在“轴乘数直径编程”中勾选2X,其余参数为默认。
程序和刀轨选项可以定义、修改和用户化所有机床动作事件的处理方式。在程序选项中,其包括程序起始序列、工序起始序列、刀径、工序结束序列、程序结束序列,分别用来定义、修改和用户化程序头、操作头、刀轨事件、操作尾和程序尾。不同的数控系统对程序的程序头、程序尾、指令等要求各不相同,同时又由于编程者的编程习惯不同,所以产生的程序结构也各不相同。按默认选项生成程序结果如下:
%
N0010 G94 G90 G71
N0020 G92 X0.0 Z0.0
N0030 T01 H01 M06
N0040 G94 G00 X156.347 Z1.05
N0050 G97 S1800 M03
N0060 G95 G01 X153.947 F.25
……
N0130 X-2.4
N0140 X-4.8
N0150 G94 G00 Z.5
N0160 X168.595 Z58.619
N0170 M02
%
生成程序中第1行N0010对应的是程序起始序列,N0020和N0030对应的是工序起始序列,N0170对应的是程序结束序列,中间部分对应的是刀轨事件。由于主后处理为铣削后处理,程序起始序列执行的是铣削程序头,故此程序第1行将不被执行,去除掉。N0020语句是定义机床在运动前先使刀具回到机床的机械零点,此种写法不是NEXUS 250-ⅡML车削中心的回零格式,要将其改成G28 U0.W0.,U0.是回到X轴零点,W0.是返回到Z轴零点。需要注意的是,在返回到X、Z轴零点途中,一定要保证路径上无其他干涉物品存在,尤其要考虑机床尾座的位置,因为在进行每一次换刀动作时,卡盘都是沿着X、Z轴同时移动回到零点,因此为了安全起见,把W0.去掉,写成G28 U0.,只让卡盘运动到X轴极限位置。在刀具回零点完成后添加M01选择停指令,这是为了观察刀具在X轴的零点位置换刀时能不能与工件产生干涉,一般情况下标准刀具不会存在这个问题,但是非标刀具就可能会有类似情况发生,所以在换刀前需要停下机床确定一下刀具的换刀位置是否安全。N0030是换刀语句,此语句是普通数控铣床换刀格式,不符合车床的要求,要改成车床T0101换刀格式,前一个01代表刀具号,后一个01代表刀具长度偏置号。再添加M08切削液开指令,如图4所示。
这样程序的开头就设定好了,程序头如下:
%
N0010 T0101
N0020 G28 U0.
N0030 M01
N0040 M08
……
在N0040和N0060程序段出现了G94、G95指令,G94表示的是每分钟进给量,G95表示的是每转进给量,这2个指令适用于数控铣床或加工中心,在车削中不适用,所以要将其去掉。选择程序和刀轨选项中的刀径运动选项,找到线性移动、圆周移动中的G94指令,将其删除,其结果如图5所示。
程序结尾处刀具轨迹结束后,添加G28 U0.,使刀具回到X轴极限位置。这样做的目的是:一是为下一把刀具的更换提前做好准备;二是便于对工件的已加工部分进行测量检验;三是避免刀具停留位置与工件、机床尾座距离过近而在下一步操作中发生干涉现象。添加M09切削液关指令。N0170程序末尾将M02换成M30,M02是停止指令,完成工件加工程序段的所有指令后,使主轴、进给和冷却液停止;M30也是停止指令,完成停止动作后,重新复位,除完成M02指令功能外,还使储存器中的加工程序返回到初始状态,即用M02指令结束程序。若要重新执行就要重新调用该程序,再按“循环启动”。用M30指令结束程序,执行后不退出该程序,而是回到程序开头,若要重新执行,只需按“循环启动”。程序结束设置如图6所示。
2.2 铣削后处理的开发
点击新建,后处理名称命名为XZC-XI,后处理输出单位选择mm,机床选择铣,点开3轴选中3轴车铣(XZC),点击确定,如图7所示。在弹出的机床选项中, “参数线性轴行程限制”同车床设置相同,同时在“轴乘数直径编程”中勾选2X和2I,其余参数为默认。设定动力铣削主轴平行于Z轴,在初始主轴选项中选择Z轴。在机床模式中,链接前面已开发好的车削后处理,先选择“简单车铣”,打开保存好的XZC-CHE后处理,完成后再返回选择“XZC铣”选项,如图8所示。在旋转轴定义中,将旋转轴定义为C轴,轴旋转由于卡盘分度旋转顺时针为正,所以旋转法向轴限制设定为最小值-360,最大值360,其余参数默认。
程序头、程序尾设置同车削一样。之前提到此后处理为主后处理,程序起始序列的程序开始部分将被执行,为了减小程序所占内存,在该部分去掉程序段号。
NEXUS 250-ⅡML车削中心的车削和铣削编程指令大部分相同,但因主轴旋转对象不同,对于同一动作的描述要加以区分,车削用M03表示主轴正转,铣削则用M203表示主轴正转;车削反转用M04,铣削反转用M204表示;车削停转用M05,铣削停转用M205,因此在此处理中要将M03改成M203,M04改成M204,M05改成M205。生成程序结果如下:
%
G28 U0.
M1
T0808
M8
G12.1
G0 G90 X152.458 Y0.0 C4.635 S1100 M203
……
X152.458 C295.365
Z-8.
Z5.
G28 U0. M205
M9
M30
%
2.3 链接后处理
在车削后处理和铣削后处理都调试好后,将他们链接起来组成一个完整的车铣后处理。打开XZC-XI后处理,点击程序和刀轨选项,在链接其他后处理到此后处理选项前打钩,机头取名MILL,然后点击右边的新建,机头取名TURN。选择保存好的XZC-CHE,然后点击确定,如图9所示,这样2个后处理就链接在一起了。但此时这个链接好的后处理还不能用,因为在处理刀具轨迹时,其还分不清哪个轨迹是车削轨迹,哪个轨迹是铣削轨迹,需在软件编程界面对两者加以归类:首先,在NX软件工序导航器加工方法视图中创建车削、铣削2个加工方法,将生成的车削轨迹全部移动到车削方法中,铣削轨迹全部移动到铣削方法中;其次,为每一个加工方法添加一个开始事件,右键点击创建的加工方法图标,在对象里面点击开始事件,在弹出的用户定义事件窗口中双击Head,车削方法在名称中写入TURN,铣削方法在名称中写入MILL,如图10所示。这样,后处理在处理刀具轨迹时就会根据所写入的程序头判断哪个用车削后处理来处理,哪个用铣削后处理来处理。
3 加工实验验证
开发后的后处理,无论之前经过怎样反复的修正,最后都必须要经过实际上机加工检验方可使用。通过实际上机发现:机床实际加工过程与工件仿真加工过程一致,没有出现机床报警及异常动作,加工完成的工件符合图纸要求,经检测没有出现过切、加工不到位等现象,加工零件如图11所示。
4 结论
这类XZC加动力铣削头的车削中心后处理开发重点需要注意以下几点:
(1)在编程界面加工方法视图中,要对加工方法进行归类,铣削的轨迹放在铣削方法中,车削的放在车削方法中;
(2)铣削后处理机床选项机床模式中,在简单车铣下选择好车床后处理名称后,再选回XZC模式,同时在初始主轴选择中,动力头平行于Z轴,则初始主轴选择Z轴,若垂直于Z轴,则初始主轴选择X轴;
(3)链接的后处理铣和车的机头名字要便于区分,以使加工方法视图中铣、车节点方便选择。依据上述方法进行车削中心的后处理开发,简单高效,解决了利用某些通用后置处理处理源代码后还需人工进行干预的过程,省去了利用高级语言开发的繁琐以及初学者难以掌握的问题,也为更高级的车铣复合机床后处理开发提供了参考。