当前位置:首页 期刊杂志

圆锥螺旋线铣削宏程序功能指令开发*

时间:2024-07-28

胡晓东

(浙江工业职业技术学院 机械工程学院,浙江 绍兴 312000)

0 引言

圆锥螺旋线在箱体类、盖板类零件中应用较广,主要用于管道密封连接以及特殊螺旋传动等零件,其尺寸精度(IT)及表面粗糙度(Ra)加工要求较高,具有内、外圆锥螺旋线之分[1-4]。一些复杂零件受零件结构的限制或加工精度的影响,不易采用车削或手动攻丝,通常需要在数控铣床(或加工中心)上采用螺旋线铣削的加工工艺来完成。但目前数控系统只提供直线(G01)、圆弧插补(G02/G03)等通用功能指令,对圆锥螺旋线、二次曲线、规则曲面轮廓等复杂曲线、曲面的加工,不具备相应的G代码功能指令进行直接编程,需要借助CAD/CAM软件进行自动编程[5-8]。而自动编程需要对圆锥螺旋线进行曲线设计(或实体建模)、走刀轨迹参数优化、G代码生成、程序传输等操作步骤,且生成的G代码程序冗长,系统读取程序段量大,粗精加工需要生成不同程序等问题,大大制约了圆锥螺旋线铣削的加工效率[9-10]。

国内外学者对圆柱螺纹铣削加工方法研究较多,而对圆锥螺旋线只是涉及不同程序对内、外圆锥螺纹铣削的研究,需要调用不同的宏程序或指令来实现[11]。针对上述问题,本文利用FANUC 0i-MD系统用户宏程序的功能,开发出一种编程简单、实用性强、加工效率高、工艺性广的圆锥螺旋线铣削G代码功能指令,可以实现采用同一指令、不同参数输入即可完成不同规格的内、外圆锥螺旋线的粗精加工。该功能指令的开发,能有效地增强FANUC 0i-MD系统的编程功能及提高加工能效。

1 圆锥螺旋线铣削指令的开发

1.1 圆锥螺旋线铣削的设计思路

利用数控系统直线插补(G01)指令以微小直线段拟合完成圆锥螺旋线,并采用自变量方式编制成用户宏程序本体。通过使用G代码的宏程序调用及自变量赋值功能,来实现圆锥螺旋线铣削功能指令的开发。

1.2 数学模型的建立

编程之前,需要对圆锥螺旋线进行数学分析及建模。圆锥螺旋线的运动轨迹示意图,如图1所示。

图1 圆锥螺旋线运动轨迹示意图

假设A点为圆锥螺旋线△t上的一点,则在PRO/E环境下,建立的笛卡尔坐标系A点对于旋转轴的参数方程为:

r(t)=r1±(r1-r2)t

(1)

x(t)=rcos(360kt)

(2)

y(t)=rsin(360kt)

(3)

z(t)=±ht

(4)

式(1)~式(4)中,r(t)为变半径,正负取向决定内、外圆锥螺旋线,其r1为起始半径,r2为终止半径;t为变量从0到1发生变化;x(t)、y(t)、z(t)分别为x轴、y轴、z轴坐标对变量t的参数方程;h为螺纹总高度,正负决定螺旋线上下走向;k为螺旋线圈数。

1.3 参数地址变量的设定

假设螺旋线螺距P不变,半径r随着变量△t发生变化,根据圆锥螺旋线式(1)~式(4),设定圆锥螺旋线铣削的自变量赋值Ⅰ地址(参数)及变量,如表1所列。

表1 圆锥螺旋线铣削参数的地址变量

1.4 用户宏程序本体的设计

利用FANUC 0i-MD系统配置的用户宏程序B功能,使用G代码的宏程序调用指令来表达各种数学运算、逻辑关系以及控制动作,实现圆锥(内外)螺旋线铣削G代码功能指令的开发,具体流程图如下图2所示。执行螺旋线铣削G代码功能指令时,地址变量相应赋值的变量数据传递到用户宏程序本体中,实现圆锥螺旋线铣削的直接编程。

图2 圆锥螺旋线铣削程序框图

设置参数3202.4为1,取消系统程序保护,并在EXIT编辑状态下,根据圆锥螺旋线铣削参数的地址变量(表1),编制O9010用户宏程序本体程序,其代码如下:

%

O9010;(用户宏程序体)

#33=#4003;(保存03组G代码)

#32=#5003;(保存初始平面)

IF [#4 LT 0] THEN #3000=1(起始半径为负值报警);报警NO.3001

IF [#4 EQ #0] THEN #3000=1 (起始半径不赋值报警); 报警NO.3001

IF [#5 LT 0] THEN #3000=2 (终止半径为负值报警); 报警NO.3002

IF [#5 EQ #0] THEN #3000=2 (起始半径不赋值报警); 报警NO.3002

IF [#6 EQ #0] THEN #3000=3 (铣削圈数不赋值报警); 报警NO.3003

IF [#1 EQ #0] GOTO 1;

#1=0;(若未赋值为0)

N1 IF [#23 EQ #0] GOTO 2;

#23=0;(若未赋值为0)

N2 IF [#24 EQ #0] GOTO 3;

#24=0;(若未赋值为0)

N3 IF [#25 EQ #0] GOTO4;

#25=0;(若未赋值为0)

N4 IF [#1 EQ #0] GOTO5;

#1=0;(若未赋值为0)

N5 IF [#9 EQ #0] GOTO 6;

#9=#4109;(F不赋值沿用以前)

N6 IF [#7 NE #0] GOTO 7;(刀具半径不赋值为前面所用的刀具半径,但不得为0或负值)

#7=#[2000+#4107];

N7 IF [ #7 LE 0] THEN #3000=4(刀具小于或等于0);报警NO.3004

IF [#7 GE ABS [#5]] THEN #3000=5(刀具太大);报警NO.3005

IF [#4113 NE 3]] THEN #3000=6(主轴未转报警);报警NO.3006

G00 X0 Y0;

G00 Z#18;快速趋近R点

#501=#21;(轴线坐标相对编程坐标系的X坐标值)

#502=#22; (轴线坐标相对编程坐标系的Y坐标值)

#503=#23; (轴线坐标相对编程坐标系的Z坐标值)

#509=0;( 变量△t初始赋值)

IF [#5 GT #4] GOTO 10;(内、外锥螺旋线判别)

WHILE [#509LE1]DO1;(内锥螺旋线,如果变量△t大于1,则跳出DO1-END1之间的循环)

#504=#4-[#4-#5]*#509-#7;(计算变半径值)

#505=#504*COS[#1+360*#6*#509];(计算X坐标值)

#506=#504*SIN[#1+360*#6*#509];(计算Y坐标值)

#507=#11*#509;(计算Z坐标值)

G01 X[#501+#505] Y[#502+#506] Z-[#503+#507] F#9;(直线插补拟合圆锥螺旋线)

#509=#509+#20;(变量△t步长累加赋值,从0-1变化)

END1;(WHILE循环结束)

G00 X0 Y0;

GOTO 20;

N10 WHILE [#509LE1]DO1;(外锥螺旋线,如果变量△t大于1,则跳出DO1-END1之间的循环)

#504=#4+[#5-#4]*#509+#7;(计算变半径值)

#505=#504*COS[#1+360*#6*#509];(计算X坐标值)

#506=#504*SIN[#1+360*#6*#509];(计算Y坐标值)

#507=#11*#509;(计算Z坐标值)

G01 X[#501+#505] Y[#502+#506] Z-[#503+#507] F#9;(直线插补拟合圆锥螺旋线)

#509=#509+#20;(变量△t步长累加赋值,从0-1变化)

END1;(WHILE循环结束)

N20 G00 G90 Z#32

G#33 M99;(子程序结束)

%

1.5 圆锥螺旋线铣削的G代码功能指令开发

FANUC 0i-MD系统提供了用户指令开发接口,在参数6050-6059中设置G代码值就可调用程序号为9010-9019的用户宏程序。本文圆锥螺旋线铣削指令设置为G111 <自变量赋值>,其对应的用户宏程序号为O9010,自变量根据圆锥螺旋线设定变量参数赋值。

其指令格式:

G111 A_ U_ V_ W_ I_J_K_H_ T_ D_R_ F_;

其中,A为螺旋线初始角(缺省为0);U、V、W为螺旋线轴线坐标相对于编程坐标X、Y、Z的坐标值(缺省为0);I、J分别为螺旋线起始半径、终止半径,且为正值(若I>J为内圆锥螺旋线铣削,I

2 验证

2.1 模拟仿真

在配备FANUC 0i-MD系统的数控铣床上,输入O9010用户宏程序体,并对G111指令相应参数赋值。其主程序如下:

%

O1000;

G90G54G40G80;

G00X0Y0;

Z100;

S1000M03;

G111 I20 J10 K5 H20 T0.01 D5 R5 F1000;(圆锥螺旋线铣削指令及参数值)

G00Z100;

X0Y0;

M05;

M30;

%

切换数控系统控制界面到“模拟仿真”状态,执行O1000主程序,可以得到内圆锥螺旋线(I>J)走刀轨迹的仿真结果,如图3所示。

图3 内圆锥螺旋线走刀轨迹

若修改I20 J10为 I10 J20 ,则可以得到外圆锥螺旋线(I

图4 外圆锥螺旋线走刀轨迹

从仿真结果看,设计开发的G111指令功能只需对其相应的参数赋值,就可以实现内、外圆锥螺旋线铣削的编程。具有编程简单、加工工艺广、加工效率高等功能特点。

2.2 零件试切加工

如图5所示,该零件为某企业产品制氧机上的核心部件空气压缩机进出阀盖,其中要求完成NPT1/2圆锥螺纹的加工。

图5 某型号压缩机进出阀盖的局部工程图及三维视图

查机械手册(GB/T12716-2011)可知,NPT1/2(深度L为18.14mm)为60°密封管螺纹,即尺寸代号为1/2的右旋圆锥内螺纹,其螺纹锥度为1:16(轴向锥度α为1°47'),螺距P为1.814,牙高h为1.451,基本大径D为21.223,基本小径D1为18.321。

计算可得,I=D/2=21.223/2=10.61mm,J=I-L×tan(α)=10.61-18.14×tan(1.47)=10.15mm,K=L/P=18.14/1.814=10圈。为提高加工精度,设置加工步长T为0.001。

根据螺纹螺距P、牙高h,选择型号为266RL-16MM01A200M的60°螺纹刀片,刀杆型号为SNR0012M11K1,螺纹铣削半径为8mm。试切设备为KD1000LA的数控铣床,配备FAUNC 0i-MD系统。按照上述参数变量,编制试切主程序为:

%

O1000;

G111 I10.61 J10.15 K10 H18.14 T0.001 D8 R5 F1000;

%

其中,通过修改D参数,就可完成同一程序内圆锥螺纹的粗、精加工,保证螺旋线铣削的加工精度(IT)及表面粗糙度(Ra)。试切效果,如图6所示。

图6 试切的压缩机进出阀盖NPT1/2圆锥螺纹效果图

经60°密封锥管螺纹塞规(NPT1/2)手工检验,铣削的圆锥螺纹符合60°密封管螺纹的加工要求。

3 结束语

本文利用FANUC 0i-MD系统用户宏程序,开发了含内、外圆锥螺旋线铣削功能的宏程序本体及G111功能指令。圆锥螺旋线铣削编程时,只需直接调用G111指令,并对相应的地址变量进行赋值,就可以实现同一指令、不同规格的内、外圆锥螺旋线粗精铣削加工,不在需要按照内、外圆锥螺旋线的不同规格尺寸进行逐一编制程序,简化了编程、提高了加工效率、拓展了加工工艺范围,也进一步丰富了数控铣削加工的直接编程功能指令。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!