张振明 张 鑫
(长春职业技术学院,吉林 长春 130033)
一般数控系统只具有直线(用G01指令)和圆弧(用G02、G03指令)插补功能,对于方程曲线(抛物线、椭圆、正弦曲线)没有相应的G代码指令。一般可以采用CAM软件编程完成,但CAM生成的程序往往较长,空刀运行的部分较多,降低加工效率。又因数控车削程序较简单,一般不需要使用CAM软件编程,特别是当程序容量较小的数控系统,使用宏程序编程具有其独特的优点。
在普通程序的编制中,一般是将一个具体数值赋给功能字,如G00×10,就是将10赋给功能字X。在宏程序编程中,可以将变量赋给功能字,在程序中或MDI面板上改变变量代表的数值,这种在程序中使用变量,通过对变量进行赋值及处理的方法达到程序功能的程序叫宏程序。
不同的数控系统变量定义的方法不同,华中数控系统的变量由#加数字组成,例如#5表示5号变量,变量支持赋值运算(#1=10,相当于把数值10赋给变量#1)、四则运算、三角函数(SIN、COS、TAN)、反正切函数(ATAN)、开平方(SQTR)等等,需要强调的是三角函数和反正切函数的单位是弧度,而不是度;同时由于数控系统操作面板上没有字符“π”这个符号,所以用字母组合“PI”来表示字符“π”。
用宏程序编制如图1所示的抛物线零件程序。
①确定变量以及变量的取值范围
用变量#1表示X坐标、取值范围0~8
②确定动点的坐标
X=2*#1(直径值编程)Z=-#1*#1/2
③确定步距、变量重新赋值
#1=#1+0.05
具体编程步骤如下:
#1=0 变量赋初值
WHILE#1 LE 8 循环体开始
G01 X[2*#1]Z[-#1*#1/2]F200 走动点坐标
#1=#1+0.05 确定步距、变量重新赋值
ENDW 循环体结束
%100 程序索引号
T0101 调一号刀
S1000 M03 主轴正传、转速1000r/min
#1=0 把数值0赋给变量#1
WHILE#1 LE 8
G64 G01 G42 X[2*#1]Z[-#1*#1/2]F200
#1=#1+0.05
ENDW
G01 X16 Z-32
Z-37
X25
G00 X80 Z80 G40
M30
%100 程序索引号
T0101 调一号刀
S2000 M03 粗车转速2000r/min
G00 X21 Z4 确定循环起点
/G71 U2 R0.5 P1 Q2 X0.4 Z0.1 F180粗车循环
S3000 M03 精车转速3000r/min
N1 G00 X0 G42 加刀尖右补偿G42
#1=0 把数值0赋给变量#1
WHILE#1 LE 8 精车
G64 G01 X[#1]Z[-#1*#1/2]F200
#1=#1+0.05
ENDW
G01 X16 Z-32
Z-37
N2 X25
G00 X80 Z80 G40 取消刀尖半径补偿
M30 程序结束
提示:考虑零件的加工精度,一般在粗加工之前在刀具磨耗中在X方向留量,待精加工时采用利用程序跳段功能“/”完成精车加工。
a-X向椭圆半轴长;
b-Z向椭圆半轴长;
θ-椭圆上某点的圆心角,零角度在Z轴正向
注:华中世纪星数控车床只识别弧度,不识别角度。
①确定变量以及变量的取值范围
用变量#1表示弧度 取值范围0~PIATAN#2
②确定动点的坐标
X=2*14*SIN#1+2*5 Z=20*COS#1-20
③确定步距、变量重新赋值
#1=#1+PI/180
具体编程步骤如下:
#1=0 变量赋初值
#2=6/SQTR13
WHILE#1 LE[PI-ATAN#2]循环体开始
G01 X[2*14*SIN#1+10]Z[20*COS#1-20]F200 走动点坐标
#1=#1+PI/180 确定步距、变量重新赋值
ENDW
循环体结束
%100
T0101
S900 M03
G00 X50 Z5
G71 U2 R1 P1 Q2 X0.4 Z0.1 F150
G00 X80 Z80
M05
M00
T0101
S1200 M03
G00 X50 Z5
N1 G01 X0 Z0 G42
#1=0 初始角度为0弧度
#2=6/SQTR13
WHILE#1 LE[PI-ATAN#2]
G01 G64 X[2*14*SIN#1+10]Z[20*COS#1-20]F100
#1=#1+PI/180 步长为1度
ENDW
G01 X34 Z-30.3
G01 Z-42.3
N2 X45
G00 X80 Z80 G40
M30
[1]禹诚.数控车削加工中公式曲线宏程序编程模板在数控大赛中的应用
[2]华中数控股份有限公司.数控铣床编程说明书.武汉:华中数控股份有限公司,2008