宏指令编程提高表面加工质量
1 引言数控铣削加工中,常常要铣削一些周期性循环曲面或曲线,如波浪线等。一般都是编制一个循环周期的加工程序作为子程序,而整个曲面或曲线的程序是利用多次调用该子程序来进行编制的。例如,图中所示波浪线的铣削加工程序如下:
主程序:
O1 *
……
M98 P250002 *
……
M00 *
子程序:
O2 *
G91 G02 X5 R3.5 F100 *
G01 X5 Y-5 *
G03 X5 R3.5 *
G01 X5 Y5 *
M99 *
2 问题的提出
由上面的程序可见,这种编程方法非常简单,所以编程人员一般都采用这种方法编制程序。但是在NT—J320A型数控铣床上加工该曲线时,我们发现曲线上各周期间的相交点A处都有一明显的刀痕,根本达不到所要求的表面质量。是什么原因造成了这样的刀痕呢,经过仔细观察发现,每当加工到各周期的相交点A时,机床都有一明显的停顿,而在其他的位置,机床都以100mm/min的进给速度进行加工。正是由于进给速度的突然变化,才造成了A处的加工刀痕。而这个停顿是因为在子程序调用过程中,每当一个周期完成后遇到M99指令时,数控系统要进行大量的计算、比较、判断和转移等内部操作。由于NT—J320A型数控铣床采用FANUC—3M系统(十几年前的产品),运算速度较慢,所以执行M99指令所需要的时间较长,造成了加工过程中的停顿。
3 解决方法
消除或减小该切削刀痕的方法,有以下三种。
(1)降低进给速度 仍采用上面的子程序调用程序,也就是说在执行M99指令时,停顿仍存在。但是由于进给速度降低了,进给速度的变化就相对减小了,因此A点的刀痕也就减小了。实验证明,当进给速度降低到20mm/min以下时,刀痕几乎看不出来,可以达到加工要求,但加工效率却下降到1/5。显然这不是最好的方法。
(2)逐段编程 不采用子程序调用方法编程,而是对整个曲线进行逐段编程,程序如下:
……
G91 G02 X5 R3.5 F100 *
G01 X5 Y-5 *
G03 X5 R3.5 *
G01 X5 Y5 *
G02 X5 R3.5 *
G01 X5 Y-5 *
G03 X5 R3.5 *
G01 X5 Y5 *
G02 X5 R3.5 *
G01 X5 Y-5 *
G03 X5 R3.5 *
G01 X5 Y5 *
……
即将O2子程序重复25次,全部编到程序中去。这样可以完全消除停顿。但程序的长度是第一种方法的25倍,若曲线的循环次数再多,假设为50次,则程序长度将是第一种方法的50倍。这样不但会增加编程工作量,而且还可能超出系统的内存容量,显然这也不是令人满意的解决办法。
(3)宏指令编程 如同大多数系统一样FANUC-3M系统除了具有大量的基本数控指令之外,还为用户提供了宏指令。系统中利用宏指令登录的程序称为用户宏程序。在宏程序中,除通常的NC指令外,还可以使用变量、运算、判断和转移等宏指令。
若上面的曲线采用宏指令进行编程,则可以得到如下的程序:
……
G65 H01 P#100 Q25 *(变量#100=25)
N100 G91 G02 X5 R3.5 F100 *
G01 X5 Y-5 *
G03 X5 R3.5 *
G01 X5 Y5 *
G65 H03 P#100 Q#100 R1 * (#100=#100-1)
G65 H81 P-100 Q#100 R0 * (IF #100≠0 G0 T0 N100)
实际加工表明,采用这种方法编程, A点看不出任何加工刀痕,完全达到了表面质量要求。而且从上面的程序可以看出,该程序很短,编程工作量很小。另外若改变变量#100的最初定义值,就可以改变曲线的循环次数,非常方便。显然,这种方法在周期性循环曲线的数控加工中,是一种比较完美的编程方法。
文章关键词: 宏指令编程
页:
[1]