刀具补偿是现代计算机数控(CNC)系统所具有的重要功能之一,可分为刀具半径补偿和长度补偿两种。就目前而言,应用于二维轮廓加工的两坐标联动数控系统基本都具备刀具补偿功能,而多坐标(三坐标以上)联动数控系统中对于刀具补偿功能还未能得到较好解决。特别是五轴联动加工中,由于刀具的旋转运动,使得五轴联动刀具补偿较难实现。
国外几个主要CNC生产商在其高档的五轴联动数控系统中已经带有刀具补偿功能,如SIEMENS的SINUMERIC840D系统具有将三维空间向量转换为实际机械轴角度的计算能力的“3D Tool Radius Compensation”功能,而所带的坐标转换(或位置变换)功能实在质就是五轴刀具长度补偿。国内有关五轴联动加工刀具补偿方法的研究并未几,因此,本文将对五轴加工中的刀具补偿题目进行深进研究,分别对五轴加工中的刀具半径补偿和长度补偿的实现方法进行具体叙述,以期能建立并完善五轴联动CNC系统的刀具半径和长度补偿功能。
一、五坐标加工数控程序的生成
五坐标加工主要应用于复杂曲面零件如整体叶轮等的加工,因此其数控程序的天生必须借助于一些自动编程软件如UGII、HyperMill等。在应用这些软件进行五坐标数控编程时得到的刀位文件(CLF)是不依靠于具体机床结构和形式的,而且它提供了五轴曲面加工时刀具底端面中心(以下简称为刀具中心)在工件坐标系下要求位移到的位置坐标以及刀轴的方位矢量等信息,但CLF文件的天生却依据了选用刀具的形式(如平底刀等)和刀具半径等参数。
因此,五轴加工程序的天生与刀具参数设定有密切的关系。另外,利用编程软件的后置处理模块根据选用五轴数控机床的结构形式等参数将CLF文件转换成加工曲面所需的数控程序。假定某加工程序段为:G01XxYyZzAaCc其中位置坐标值x、y、z可以是刀具中心坐标也可以是机床主轴端(Spindle none)的坐标a、c分别为绕X轴、Z轴的角度坐标值。当x、y、z为刀具中心坐标时称为刀具中心编程,当x、y、z为主轴端坐标时称为主轴端编程,如图1所示。
但无论哪种编程方式都需数控系统具有刀具自动补偿功能才能加工出我们所需要的零件。以下将以图2所示结构形式五轴数控机床和刀具(平底刀)中心编程为例分别叙述五轴联动加工中的刀具半径补偿和长度补偿。
二、现行五轴数控编程在刀具半径补偿方面的不足
上节中叙述的五坐标数控加工编程方式和得到的数控指令格式是根据国际标准化组织(ISO)有关数控编程的标准ISO 6983进行的。对平面两轴或两轴半的加工而言,在ISO 6983中常使用G41/G42功能来补偿刀具半径。补偿时根据数控程序中提供的相关信息如G17/G18/G19进行加工平面选择配合G41/G42左右刀具补偿选取,利用一般较低档的控制器即可完成。
但是,对于三轴特别是五轴加工,即刀具半径的补偿要在三维空间完成,ISO 6983中所提供的信息则显得不足,如G17/G18/G19、G41/G42等已经失效,插补程序段中提供的数据信息又仅仅是刀具中心点坐标和刀具轴的方位角,刀具半径补偿实际上不可能进行,由于控制器不知道该往哪个方向进行补偿,而这个方向对于刀具半径补偿非常重要。
因此,假如要进行三维空间刀具半径补偿功能,则必须在数控加工程序段中提供补偿方向向量等信息,如FANUC15-MA(FANUC,1994)、CINCINNATI MILACRON ACRA-MATIC 950(CINCINNATI,1990)等,FANUC控制器采用了1JK码来表示,而CINCINNATI则是采用POR码来表示。
另外,在后置处理方面,目前的CAM编程系统通常并不提供刀具补偿向量模式,只有在五轴机床的原厂商对其个别型式的五轴机床专用的后置处理程序,才提供了这种五轴三维刀具补偿向量模式的输出,但其价格却相当昂贵。本文假定得到的加工程序段中提供了刀具半径补偿向量。