T型螺纹宏程序实例
1、内梯形螺纹加工程序:
G54G99
M3S100
T0101
G0Z3
X33
#101=0.2; 每一刀的的深度(半径)
#102=4 梯形螺纹的深度(半径)
#103=1 分层切削的次数
N90 G0U[2*#101*#103]
G32Z-32F7
G0X32
Z[3+[#102-#101]*0.268+A]; A 是槽底宽-刀尖宽的一半
X33
U[2*#101*#103]
G32Z-32F7
G0X32
Z[3-[#102-#101]*0.268-A] 梯形螺纹的牙顶宽:0.366x 螺距梯形螺纹的牙底宽:螺距-牙顶宽-2倍的(螺纹深度Xtg15°)
X33
U[2*#101*#103]
G32Z-32F7
G0X32
G0Z3
X33
#102=#102-0.2
#103=#103+1
IF[#103LE20]GOTO90;
G0Z100
M5
M30;
(3)参考程序
①编程分析
用宏程序编程时变量的设置是核心内容,一是要变量尽可能少,避免影响数控系统计算速度,二是便于构成循环。经过分析本例中要4个变量,#1为刀头到牙槽底的距离,初始值为
5.5mm ,#2为背吃刀量(半径值),#3为(牙槽底宽—刀头宽度)/2,#4为每次切削螺纹终点X 坐标。
本例中编程关键技术是要利用宏程序实现分层切削和左右移刀切削。利用G92螺纹加工循环指令功能,左右移刀切削只需将切削的起点相应移动0.268*[#1-#2]+#3(右移刀切削)或者-0.268*[#1-#2]-#3(左移刀切削)就可以实现。分层切削的实现通过#1和#2变量实现,每层加工三刀后,让#1=#1-#2实现进刀,而在每层中螺纹的X 坐标不变,始终为#4=69.0+2*[#1-#2]。
②参考程序(此程序已运用于FANUC 0i Mate TC系统车床加工零件)
参考程序 注 释
O0001; 程序号
N10 T0101; 换01号刀具,调用01号偏置值
N20 M08; 打开切削液
N30 M03 S180; 主轴正转,转速为180r/min
N40 G00 X90.0 Z10.0; 刀具快速移动到点(90,10)
N50 #1=5.5; #1为刀头到牙槽底的距离,初始值为5.5mm
N60 #2=0.2; #2为背吃刀量(半径值)
N70 #3=(牙槽底宽—刀头宽度)/2; #3为(牙槽底宽—刀头宽度)/2 N80 WHILE [#1 GE 0.2] DO1; 当#1≥0.2,执行循环1,底部留0.2mm 的精车余量 N90 #4=69.0+2*[#1-#2]; #4为每次切削螺纹终点X 坐标
N100 G00 Z5.0 ; 移动到直进刀切削的循环起点
N110 G92 X#4 Z-286.0 F10.0; 直进刀车削螺纹
N120 G00 Z[5+0.268*[#1-#2]+#3]; 移动到右移刀切削的循环起点
N130 G92 X#4 Z-286.0 F10.0; 右移刀车削螺纹
N140 G00 Z[5-0.268*[#1-#2]-#3]; 移动到左移刀切削的循环起点
N150 G92 X#4 Z-286.0 F10.0; 左移刀车削螺纹
N160 #1=#1-#2; 构成循环
N170 END1; 当#1
N180 G00 X200.0 Z150.0; 快速退刀
N190 M09; 关闭切削液
N200 M30; 程序结束
说明:
①参考程序以工件右端面中心为编程原点。
②若螺纹的表面粗糙度要求不高,可以只用一把粗车刀加工即可,执行完程序后进行测量,根据测量结果判断是否需要调整牙槽底宽的余量。若中径尺寸未到,可以适当调整#3的数值,直至合格为止。背吃刀量可以根据工件材料、刀具选择,只需修改#2的数值即可。 ③若螺纹的表面粗糙度要求较高,先用粗车刀粗车,除底部留有余量外,侧面余量在#3变量上调节,要留余量则在#3=(牙槽底宽—刀头宽度)/2基础上减去所留余量,如0.2的侧面余量,则#3=(牙槽底宽—刀头宽度)/2-0.2;再用精车刀精车,依然使用该程序,只修改刀具指令和#3即可。
4应用宏指令将梯形螺纹加工程序模块化
应用宏指令,将左右移刀法加工梯形螺纹模块化,应用时只需将宏指令中的自变量赋值修改一下即可加工不同尺寸的梯形螺纹而宏程序中的内容不需修改。
通过上述程序和分析,梯形螺纹加工需要的自变量有:
#1=(A )每一刀的进刀深度(半径值),(本例中初始值为牙高5.5mm );
#2=(B )背吃刀量;(本例中为0.2mm )
#3=(C )刀头宽度偏差=(牙槽底宽—刀头宽度)/2;
#4=(I )螺纹小径;
#5=(J )螺距;
#6=(K )螺纹长度;
(1)主程序
O0002; 程序号
N10 T0101; 选择刀具并调用刀具偏置值
N20 M08; 打开切削液
N30 M03 S200 主轴正转,转速为200r/min
N40 G65 P1000 A_ B_ C_ I_ J_ K_; 宏指令调用程序O1000,并给变量赋值 N50 G00 Z150.0; 刀具快速沿Z 轴退刀
N60 G00 X200.0; 刀具快速沿X 轴退刀
N70 M09; 关闭切削液
N80 M30; 程序结束
(2)宏程序
O1000; 程序号
N10 #7=#4+2*[#1]; 计算出螺纹公称直径
N20 G00 X[#7+5.0] Z15.0; 刀具快速移动到工件外一点, 准备加工螺纹
N30 WHILE [#7 GT #4] DO1; 当#7>#4时,执行循环1
N40 #1=#1-#2; 刀具每次进刀0.2mm ,构成循环
N50 #7=#4+2*[#1]; 计算出每一刀螺纹终点X 坐标
N60 G00 Z10.0; 移动到直进刀切削的循环起点
N70 G92 X#7 Z-[#6+2.0] F#5; 直进刀车削螺纹
N80 G00 Z[10.0+0.268*[#1]+#3]; 移动到右移刀切削的循环起点
N90 G92 X#7 Z-[#6+2.0] F#5; 右移刀车削螺纹
N100 G00 Z[10.0-0.268*[#1]-#3]; 移动到左移刀切削的循环起点
N110 G92 X#7 Z-[#6+2.0] F#5; 左移刀车削螺纹
N120 END1; 当#7
N130 M99; 子程序结束并返回主程序
5 结束语
宏程序是程序编制的高级形式,程序编制的质量与编程人员的素质息息相关,因为宏程序中应用了大量的编程技巧,如数学关系的表达、加工刀具的选择、走到方式的取舍等。掌握宏程序可以解决复杂工件加工或者避免烦琐的数学计算。