柳 青
宏程序在凹、凸半球面铣削加工中的应用
柳 青
(岳阳职业技术学院 湖南岳阳 414000)
非圆曲线编程是手工编程中的难点,而球面是数控铣床加工中最为常见的非圆曲线。以内、外半球加工为例, 详细介绍了FANUC系统数控铣床加工球面的宏程序编写及程序注解,并指出了在编制程序时的注意事项。使用宏程序加工零件可以大大简化数控程序,达到精确和高效的目的。
球面 宏程序 变量 参数方程
宏程序是程序编制的高级形式,它应用了大量的编程技巧,例如数学模型的建立、加工刀具及切削用量的选择等,这些使得利用宏程序加工的零件精度很高[1-2]。特别是对于中等难度的零件,使用宏程序进行编程加工要比自动编程加工快得多,同时如果编写大批量相类似零件的时候只需要改动几个数据就可以了,没必要进行大量重复的编程,所以能应用手工编程的地方尽量不要使用自动编程。球面是在宏程序的编制中经常出现的一种图形,要求编制者能掌握球面的相关方程,并能够熟练地应用方程式,实现对各种形式的球面进行编程和加工。
宏程序就是使用了宏变量的程序、由用户编写的专业程序,类似于子程序,可以使用规定的指令代号以便调用。宏程序的代号称为宏指令。
用户宏程序是提高数控机床性能的一种特殊功能,其最大特点就是将有规律形状或尺寸的加工零件用最短的程序段表达出来,具有很好的易读性和易修改性,编写出来的程序非常简洁、逻辑严密、通用性强,而且机床在执行此类程序时,相比执行CAD/CAM软件生成的程序更加快捷,反应更加迅速。
在一般的程序编制中,程序中的地址字符为常量的,一个程序只能描述一个几何形状,所以缺乏灵活性和适用性。宏程序中地址字符为变量的(也称宏变量),可以根据需要通过赋值语句加以改变,使程序具有通用性。配合循环语句、分支语句和子程序调用语句,可以编制各种复杂零件的加工程序[3]。
在对球圆面曲面规则公式进行程序编制时,一般从曲面的规则公式或参数方程中,选择其中一个变量做自变量,另一个变量作为自变量的函数,并将公式或方程转化为自变量的函数表达式,再用数控系统中的变量(#i或i)来表示这个函数表达式,最后根据这个曲面的起始点和移动步距,采用不同深度、不同半径的圆来拟合球面,如图1和图2所示进行程序设计。
图2 凹球面的拟合
1)零件图纸及要求:
用直径为10 mm的球铣刀在FANUC-0i系统机床上铣削加工S20的凹球面,如图3所示。
图3 加工SR20凹球面
2)建立数学模型
参数方程如下:
=0(0°~90°,设定初始值为0)
=*cos,=*sin
=20(球半径,mm)-5(刀具半径,mm)
3)分析加工路线
首先,建立工件坐标系,确定球零件上表面的中心为、、轴的零点,机床坐标系设置在G54寄存器中。在工件内垂直下刀,不采用半径补偿。
4)NC编程
采用参数方程编写如下NC程序段。
O1111;程序名
G17G21G80G90G54G40G49G69;运行初始状态设置
MO3 S800; 设定主轴转速
G000O2; 快速运动到工件外下刀点
#1=20 凹球半径
#2=5 刀具半径
#3=0 加工起始角度
#4()=#1-#2 刀具中心距
WHILE[#3LE90]DO1 角度小于等于90°继续循环
#5=#4*sina[#3] 刀具下刀点值的计算
#6=#4*cos[#3] 刀具下刀点值的计算
G01#6Z-#5150 直线运动到下刀点
G03-#6 圆弧运动
#3=#3+1 角度增量,每次增加1度
END1 循环结束
G0050 抬刀
M30 程序结束并返回程序起点
5)加工分析
在精加工凹球面时要进行排料粗加工,否则刀具加工量太大会引起刀具的破坏或加工尺寸偏差较大[4]。常采用以下两种开粗加工方式:一种方式是用立铣刀进行螺旋式下刀开粗;另一种方式是将程序中球半径改小,先掏出个小凹球后再进行加工。
1)零件图纸及要求:
用直径为10 mm的立铣刀在FANUC-0i系统机床上铣削加工S20的凸球面,如图4所示。
图4 加工SR20凸球面
2)建立数学模型
设定球的半径为,刀具半径为,参数方程:
=0(0°~90°,设定初始值为0)
=*sin+,=*cos-
3)分析加工路线
建立工件坐标系,确定球零件上表面的中心为、、轴的零点,机床坐标系设置在G54寄存器中。在工件外垂直下刀,不采用半径补偿,定球的最高顶点为0。
4)NC编程
采用参数方程编写如下NC程序段。
O1111; 程序名
G17G21G80G90G54G40G49G69;运行初始状态设置
MO3 S800; 设定主轴转速
G000O2; 快速运动到工件外下刀点
#1=20 凹球半径
#2=5 刀具半径
#3=0 加工起始角度
WHILE[#3LE90]DO1 角度小于等于90°继续循环
#4=#1*sina#3+#2 刀具下刀点值的计算
#5=#1cos#3-#1 刀具下刀点值的计算
G01X#4Z#5F150 直线运动到下刀点
G03I-#4 圆弧加工
#3=#3+1 角度增量,每次增加1°
(根据加工要求而定可将值改小或增大)
END1 循环结束
G0050 抬刀
M05 主轴停转
M30 程序结束并返回程序起点
5)加工分析
在精加工凸球面时要进行排料粗加工,否则刀具加工量太大会引起刀具破坏或加工尺寸偏差较大[4]。常采用以下开粗加工方式:先用立铣刀进行螺旋式下刀开粗将球体部分加工成圆柱体,再将球半径值改大加工一次,再根据实际尺寸修改球半径进行精加工。
在FANUC系统中宏程序应用比较广泛,编写宏程序可以在机床数控系统的操作面板上直接用MDI方式,也可以在计算机上编写程序,通过RSN-32接口传输到机床数控系统。不论用什么方式编程,宏程序可分为A类和B类。A类宏程序是以G65 H~P#~Q#~R#~的格式编写的,而B类宏程序则是以直接的公式和语言编写的,与C语言很相似。其中H~用H01~H99表示宏程序的各种功能。另外#~表示宏程序中一个存放数值的固定地址称为变量,可分为4种类型:(1)局部变量:#1~#33是宏程序中局部使用的变量,用于自变量转移,只能存储数据,如运算结果。当断电时其值全部清除;调用宏程序时,自变量对局部变量赋值。(2)公用变量:在不同的宏程序中意义相同,对主程序调用的各子程序或各宏程序都是公用的,用户可以自由使用。当断电时变量#100~#199的值全部被清除,而变量#500~#531即使断电数据仍然保存。(3)系统变量:由#后跟4位数字来定义,它能获取机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态参数、加工参数等系统信息。(4)空变量:#0总是空的,没有值能赋给该变量。掌握好变量是应用好宏程序的关键。
使用宏程序加工零件不仅大大简化了数控程序,并且提高零件的加工精度,宏程序在实际加工中得到了广泛的运用。以上所述只是其中的一实例,虽然不能替代CAD/CAM软件,但在简化手工编程的方面起到了重要的作用。
[1] 赵刚.数控铣削编程与加工[M].北京:化学工业出版社,2007.
[2] 冯志刚.数控宏程序编程方法技巧与实例[M].北京:机械工业出版社,2008.
[3] 金福吉.数控大赛试题答案点评[M].北京:机械工业出版社, 2008.
[4] 王爱玲.数控机床加工工艺[M].北京:机械工业出版社, 2006.