首页 理论教育 圆形零件平面的双向铣削宏程序编程

圆形零件平面的双向铣削宏程序编程

时间:2023-06-25 理论教育 版权反馈
【摘要】:编制一个通用类宏程序,铣削加工图3-23所示圆形零件平面,采用双向铣削平面的走刀路线,假设X0为工件圆弧中心的横坐标绝对值,Y0为工件圆弧中心的纵坐标绝对值,Z为垂向最终加工深度,R为刀具起始加工深度及快速接近点坐标绝对值,I为圆形零件外轮廓半径,D为加工零件的刀具半径,E为有效切削刀具直径百分比(E≤1),C为间隙,K为精加工余量,Q为每层加工深度。由图3-23分析,可画出该宏程序的结构流程框图,如图3-24所示。

圆形零件平面的双向铣削宏程序编程

编制一个通用宏程序,铣削加工图3-23所示圆形零件平面,采用双向铣削平面的走刀路线,假设X0为工件圆弧中心的横坐标绝对值,Y0为工件圆弧中心的纵坐标绝对值,Z为垂向最终加工深度,R为刀具起始加工深度及快速接近点坐标绝对值,I为圆形零件外轮廓半径,D为加工零件的刀具半径,E为有效切削刀具直径百分比(E≤1),C为间隙(C≥刀具半径),K为精加工余量,Q为每层加工深度(Q=R-Z+K)。

由图3-23分析,可画出该宏程序的结构流程框图,如图3-24所示。

978-7-111-33271-8-Chapter03-52.jpg

图3-23 圆形零件平面双向铣削走刀路线示意图

a)圆形零件平面双向铣削示意图 b)效果图

978-7-111-33271-8-Chapter03-53.jpg

图3-24 圆形零件平面双向铣削用户宏程序结构流程框图

1.HNC—21/22M华中世纪星数控系统对圆形零件平面双向铣削的用户宏程序

局部变量含义:

#23=X0;X0—圆形零件圆弧中心的X绝对坐标值

#24=Y0;Y0—圆形零件圆弧中心的Y绝对坐标值

#25=Z;Z—垂直(Z)方向最终加工深度

#17=R;R—起始加工深度及快速接近点

#8=I;I—圆形零件的外轮廓半径

#3=D;D—刀具半径

#5=F;F—切削进给速度

#4=E;E—有效切削刀具百分比(#8≤1)

#2=C;C—间隙

#10=K;K—精加工余量

#16=Q;Q—Z轴每次下降深度

O3313;宏程序号

N010 #12=#8+#2+#3;刀具起刀点的X绝对坐标值(I+C+D)

#14=2*#3*#4;Y方向移动步距2DE

#27=#14;将刀具移动步距赋给中间变量#27

#28=[#24-#8]+#3*[2*#4-1];刀具起刀点的Y绝对坐标值[(Y0-I)+2DE-D]

#29=#17-#16;刀具首次等高背吃刀量R-Q

#30=#28;将刀具起刀点的Y绝对坐标值赋给中间变量#30

N015 WHILE#29GT#25;当#29小于或等于#26时,程度跳转到N140程序段

N020 #28=#30;将中间变量#30的值赋给#28

N025 #18=#23-SQRT[#12*#12-[#28-#24]*[#28-#24]];工件左侧起刀点横坐标计算

N030 G00 G90 X[#18] Y[#28];刀具快速移至起刀点

N035 Z[#17];刀具快速下降接近工件

N040 G01 Z[#29] F[#5/2];刀具以工进速度等高下降一个Q

N045 WHILE#27LE[#24+#8];当#27大于[#24+#8]时,程序跳转到N128程序段

N050 #15=#23+SQRT[#12*#12-[#28-#24]*[#28-#24]];工件右侧横坐标绝对值计算

N055 G01 X[#15] F[#5];刀具从工件左侧直线插补到右侧

N060 #27=#27+#14;变量(Y方向移动步距2DE)叠加

N065 IF#27GT[#24+#8];当#27大于[#24+#8]时,程序跳转到N125程序段

N070 #28=#28+#14;步距等量增加

N075 #15=#23+SQRT[#12*#12-[#28-#24]*[#28-#24]];工件右侧横坐标绝对值变化计算

N080 G00 X[#15] Y[#28];刀具直线插补到下一起刀点

N085 #18=#23-SQRT[#12*#12-[#28-#24]*[#28-#24]];工件左侧横坐标绝对值变化计算

N090 G01 X[#18]F[#5];工件从右侧直线插补到工件左侧

N095 #27=#27+#14;变量(Y方向移动步距2DE)叠加

N100 IF#27GT[#24+#8];当#27大于[#24+#8]时,程序跳转到N125程序段

N105 #28=#28+#14;步距等量增加

N110 #18=#23-SQRT[#12*#12-[#28-#24]*[#28-#24]];工件左侧横坐标绝对值变化计算

N115 G00 X[#18]Y[#28];刀具直线插补到下一起刀点

N120 ENDIF;

N125 ENDW;循环结束

N128 G00 Z[#17+5];刀具快速上升到工件毛坯表面上5mm处

N130 #29=#29-#16;刀具下降深度变化一个Q

N135 ENDW;循环结束

N140 #29=#25;最终加工深度赋值给中间变量

N145 #28=#30;起刀点纵坐标赋值

#27=#14;Y向步距赋值

N150 #18=#23-SQRT[#12*#12-[#28-#24]*[#28-#24]];工件左侧起刀点横坐标计算

N155 G00 G90 X#18 Y#28;刀具快速移至起刀点

N160 Z[#17];刀具快速下降接近工件

N165 G01 Z[#29] F[#5/2];刀具以工进速度下降到最终加工深度

N170 WHILE#27LE[#24+#8];当#27大于[#24+#8]时,程序跳转到N250程序段

N175 #15=#23+SQRT[#12*#12-[#28-#24]*[#28-#24]];工件右侧横坐标绝对值计算

N180 G01 X[#15] F[#5];刀具从工件左侧直线插补到右侧

N185 #27=#27+#14;变量(Y方向移动步距2DE)叠加

N190 IF#27GT[#24+#8];当#27大于[#25+#4]时,程序跳转到N250程序段

N195 #28=#28+#14;步距等量增加

N200 #15=#23+SQRT[#12*#12-[#28-#24]*[#28-#24]];工件右侧横坐标绝对值变化计算

N205 G00 X[#15] Y[#28];刀具直线插补到下一起刀点

N210 #18=#23-SQRT[#12*#12-[#28-#24]*[#28-#24]];工件左侧横坐标绝对值变化计算

N215 G01 X[#18] F[#5];工件从右侧直线插补到工件左侧

N220 #27=#27+#14;变量(Y方向移动步距2DE)叠加

N225 IF#27GT[#24+#8];当#27大于[#25+#4]时,程序跳转到N250程序段

N230 #28=#28+#14;步距等量增加

N235 #18=#23-SQRT[#12*#12-[#28-#24]*[#28-#24]];工件左侧横坐标绝对值变化计算

N240 G00 X[#18] Y[#28];刀具直线插补到下一起刀点

N245 ENDIF;

N250 ENDW;循环结束

N250 Z[#17+5];刀具快速上升到工件毛坯表面上5mm处

N255 G00 Z[#17+50];刀具快速上升离开工件

N260 M99;宏子程序结束并返回主程序

2.SINUMERIK802D数控系统对圆形零件平面双向铣削的用户R参数程序

R参数含义:

R24=X0;X0—圆形零件圆弧中心的X绝对坐标值

R25=Y0;Y0—圆形零件圆弧中心的Y绝对坐标值

R26=Z;Z—垂直(Z)方向最终加工深度

R18=R;R—起始加工深度及快速接近点

R4=I;I—圆形零件的外轮廓半径

R7=D;D—刀具半径

R9=F;F—切削进给速度

R8=E;E—有效切削刀具百分比(R8≤1)

R3=C;C—间隙

R6=K;K—精加工余量

R17=Q;Q—Z轴每次下降深度

L3313;R参数程序名

N010 R12=R4+R3+R7;刀具起刀点的X绝对坐标值(I+C+D)

R14=2*R7*R8;Y方向移动步距2DE赋值

R27=R14;将刀具移动步距赋给中间变量#27

R28=[R25-R4]+R7*[2*R8-1];刀具起刀点的Y绝对坐标值[(Y0-I)+2DE-D]

R29=R18-R17;刀具首次等高背吃刀量R-Q

R30=R28;将刀具起刀点的Y绝对坐标值赋给中间变量R30

N015 MARKE1:R28=R30;将中间变量R30的值赋给R28

N020 R16=R24-SQRT[R12*R12-[R28-R25]*[R28-R25]];工件左侧起刀点横坐标计算

N025 G00 G90 X=R16 Y=R28;刀具快速移至起刀点

N030 Z=R18;刀具快速下降接近工件

N035 G01 Z=R29 F=R9/2;刀具以工进速度等高下降一个Q

N040 MARKE2:R15=R24+SQRT[R12*R12-[R28-R25]*[R28-R25]];工件右侧横坐标绝对值计算

N045 G01 X=R15 F=R9;刀具从工件左侧直线插补到右侧

N050 R27=R27+R14;变量(Y方向移动步距2DE)叠加

N055 IF R27>[R25+R4]GOTOF MARKE5;当R27大于[R25+R4]时,程序跳转到标志符MARKE5N120程序段

N060 R28=R28+R14;步距等量增加

N065 R15=R24+SQRT[R12*R12-[R28-R25]*[R28-R25]];工件右侧横坐标绝对值变化计算

N070 G00 X=R15 Y=R28;刀具直线插补到下一起刀点

N075 R16=R24-SQRT[R12*R12-[R28-R25]*[R28-R25]];工件左侧横坐标绝对值变化计算

N080 G01 X=R16 F=R9;工件从右侧直线插补到工件左侧

N085 R27=R27+R14;变量(Y方向移动步距2DE)叠加

N090 IF R27>[R25+R4]GOTOF MARKE5;当R27大于[R25+R4]时,程序跳转到标志符MARKE5 N120程序段

N095#28=#28+#14;步距等量增加

N100 R16=R24-SQRT[R12*R12-[R28-R25]*[R28-R25]];工件左侧横坐标绝对值变化计算

N105 G00 X=R16 Y=R28;刀具直线插补到下一起刀点

N110 IF R27<=R25+R4 GOTOB MARKE2;当R27小于或等于[R25+R4]时,程序跳转到标志符MARKE2

N120 MARKE5:G00 Z=R18+5;刀具快速上升到工件毛坯表面上5mm处

N125 R29=R29-R17;刀具下降深度变化一个Q

N130 IF R29>R26 GOTOB MARKE1;当R29大于R26时,程序跳转到标志符MARKE1

N135 R29=R26;最终加工深度赋值给中间变量

N140 R28=R30;起刀点纵坐标赋值

N145 R27=R14;Y向步距赋值

N150 R16=R24-SQRT[R12*R12-[R28-R25]*[R28-R25]];工件左侧起刀点横坐标计算

N155 G00 G90 X=R16 Y=R28;刀具快速移至起刀点

N160 Z=R18;刀具快速下降接近工件

N165 G01 Z=R29 F=R9/2;刀具以工进速度下降到最终加工深度

N170 MARKE3:#15=#24+SQRT[#12*#12-[#28-#25]*[#28-#25]];工件右侧横坐标绝对值计算

N175 G01 X=R15 F=R9;刀具从工件左侧直线插补到右侧

N180 R27=R27+R14;变量(Y方向移动步距2DE)叠加

N185 IF R27>[R25+R4]GOTOF MARKE6;当R27大于[R25+R4]时,程序跳转到标志符MARKE6 N250程序段

N190 R28=R28+R14;步距等量增加

N195 R15=R24+SQRT[R12*R12-[R28-R25]*[R28-R25]];工件右侧横坐标绝对值变化计算(www.xing528.com)

N200 G00 X=R15 Y=R28;刀具直线插补到下一起刀点

N205 R16=R24-SQRT[R12*R12-[R28-R25]*[R28-R25]];工件左侧横坐标绝对值变化计算

N210 G01 X=R16 F=R9;工件从右侧直线插补到工件左侧

N215 R27=R27+R14;变量(Y方向移动步距2DE)叠加

N220 IF R27>[R25+R4]GOTOF MARKE6;当R27大于[R25+R4]时,程序跳转到标志符MARKE6 N250程序段

N225 R28=R28+R14;步距等量增加

N230 R16=R24-SQRT[R12*R12-[R28-R25]*[R28-R25]];工件左侧横坐标绝对值变化计算

N235 G00 X=R16 Y=R28;刀具直线插补到下一起刀点

N240 IF R27<=[R25+R4]GOTOB MARKE3;当R27小于或等于[R25+R4]时,程序跳转到标志符MARKE3程序段

N250 MARKE6:Z=R18+5;刀具快速上升到工件毛坯表面上5mm处

N255 G00 Z=R18+50;刀具快速上升离开工件

N260 RET;宏子程序结束并返回主程序

3.FANUC0i数控系统对圆形零件平面双向铣削的用户宏程序

自变量含义:

#24=X0;X0—圆形零件圆弧中心的X绝对坐标值

#25=Y0;Y0—圆形零件圆弧中心的Y绝对坐标值

#26=Z;Z—垂直(Z)方向最终加工深度

#18=R;R—起始加工深度及快速接近点

#4=I;I—圆形零件的外轮廓半径

#7=D;D—刀具半径

#9=F;F—切削进给速度

#8=E;E—有效切削刀具百分比(#8≤1)

#3=C;C—间隙

#6=K;K—精加工余量

#17=Q;Q—Z轴每次下降深度

O3313;宏程序名

N010 #12=#4+#3+#7;刀具起刀点的X绝对坐标值(I+C+D)

#14=2*#7*#8;Y方向移动步距2DE

#27=#14;将刀具移动步距赋给中间变量#27

#28=[#25-#4]+#7*[2*#8-1];刀具起刀点的Y绝对坐标值[(Y0-I)+2DE-D]

#29=#18-#17;刀具首次等高背吃刀量R-Q

#30=#28;将刀具起刀点的Y绝对坐标值赋给中间变量#30

N015 WHILE [#29GT#26] DO1;当#29小于#26时,程序跳转到N140程序段

N020 #28=#30;将中间变量#30的值赋给#28

N025 #16=#24-SQRT[#12*#12-[#28-#25]*[#28-#25]];工件左侧起刀点横坐标计算

N030 G00 G90 X#16 Y#28;刀具快速移至起刀点

N035 Z#18;刀具快速下降接近工件

N040 G01 Z#29 F[#9/2];刀具以工进速度等高下降一个Q

N045 WHILE [#27LE[#25+#4]] DO2;当#27大于(#25+#4)时,程序跳转到N125程序段

N050 #15=#24+SQRT[#12*#12-[#28-#25]*[#28-#25]];工件右侧横坐标绝对值计算

N055 G01 X#15 F#9;刀具从工件左侧直线插补到右侧

N060 #27=#27+#14;变量(Y方向移动步距2DE)叠加

N065 IF[#27GT[#25+#4]] GOTO 125;当#27大于[#25+#4]时,程序跳转到N125程序段

N070 #28=#28+#14;步距等量增加

N075 #15=#24+SQRT[#12*#12-[#28-#25]*[#28-#25]];工件右侧横坐标绝对值变化计算

N080 G00 X#15 Y#28;刀具直线插补到下一起刀点

N085 #16=#24-SQRT[#12*#12-[#28-#25]*[#28-#25]];工件左侧横坐标绝对值变化计算

N090 G01 X#16 F#9;工件从右侧直线插补到工件左侧

N095 #27=#27+#14;变量(Y方向移动步距2DE)叠加

N100 IF[#27GT[#25+#4]] GOTO 125;当#27大于[#25+#4]时,程序跳转到N125程序段

N105 #28=#28+#14;步距等量增加

N110 #16=#24-SQRT[#12*#12-[#28-#25]*[#28-#25]];工件左侧横坐标绝对值变化计算

N115 G00 X#16 Y#28;刀具直线插补到下一起刀点

N120 END2;循环结束

N125 G00 Z[#18+5];刀具快速上升到工件毛坯表面上5mm处

N130 #29=#29-#17;刀具下降深度变化一个Q

N135 END1;循环结束

N140 #29=#26;最终加工深度赋值给中间变量

N145 #28=#30;起刀点纵坐标赋值

#27=#14;Y向步距赋值

N150 #16=#24-SQRT[#12*#12-[#28-#25]*[#28-#25]];工件左侧起刀点横坐标计算

N155 G00 G90 X#16 Y#28;刀具快速移至起刀点

N160 Z#18;刀具快速下降接近工件

N165 G01 Z#29 F[#9/2];刀具以工进速度下降到最终加工深度

N170 WHILE [#27LE[#25+#4]] DO3;当#27大于[#25+#4]时,程序跳转到N250程序段

N175 #15=#24+SQRT[#12*#12-[#28-#25]*[#28-#25]];工件右侧横坐标绝对值计算

N180 G01 X#15 F#9;刀具从工件左侧直线插补到右侧

N185 #27=#27+#14;变量(Y方向移动步距2DE)叠加

N190 IF [#27GT[#25+#4]] GOTO 250;当#27大于[#25+#4]时,程序跳转到N250程序段

N195 #28=#28+#14;步距等量增加

N200 #15=#24+SQRT[#12*#12-[#28-#25]*[#28-#25]];工件右侧横坐标绝对值变化计算

N205 G00 X#15 Y#28;刀具直线插补到下一起刀点

N210 #16=#24-SQRT[#12*#12-[#28-#25]*[#28-#25]];工件左侧横坐标绝对值变化计算

N215 G01 X#16 F#9;工件从右侧直线插补到工件左侧

N220 #27=#27+#14;变量(Y方向移动步距2DE)叠加

N225 IF[#27GT[#25+#4]] GOTO 250;当#27大于[#25+#4]时,程序跳转到N250程序段

N230 #28=#28+#14;步距等量增加

N235 #16=#24-SQRT[#12*#12-[#28-#25]*[#28-#25]];工件左侧横坐标绝对值变化计算

N240 G00 X#16 Y#28;刀具直线插补到下一起刀点

N245 END3;循环结束

N250 Z[#18+5];刀具快速上升到工件毛坯表面上5mm处

N255 G00 Z[#18+50];刀具快速上升离开工件

N260 M99;宏子程序结束并返回主程序

注意:

1)有效切削刀具直径百分比应小于1。

2)间隙量C不能小于0。

3)精加工余量K不能大于Q。

4)每层加工深度Q不能大于总加工厚度R-Z。

5)刀具半径值D必须大于0。

6)刀具半径补偿指令(G41、G42、G40)没有被使用。

7)精加工时,在操作面板上手动调整主轴和进给倍率开关。

4.编程实例

图3-25所示一圆形零件,圆形外轮廓半径ϕ100.0mm,要求对该零件平面进行铣削。

978-7-111-33271-8-Chapter03-54.jpg

图3-25 圆形零件平面双向铣削编程实例走刀路线示意图

a)圆形零件平面双向铣削编程实例尺寸图 b)效果图

解:

(1)工艺设计 建立工件坐标系,工件圆弧中心离开工件坐标系X、Y轴零点的绝对坐标为(45,35),工件表面离开坐标系Z轴零点的绝对坐标值为5.0mm,机床坐标系偏置值设置在G54寄存器中。

采用双向铣削方式铣削平面,选择ϕ80mm的硬质合金面铣刀,取主轴转速为600r/min,铣削进给速度为350mm/min,假设切削厚度为5.0mm,分层切削,每次粗加工深度2.0mm,精加工余量1.0mm,主轴起始位置在零件上方50.0mm处,刀具起始切削高度5.0mm,最终加工位置Z0.0mm,有效切削刀具直径百分比为0.75,间隙取5.0mm。

(2)参考程序

1)HNC—21/22M华中世纪星数控系统。

O××××;文件名

%3313;程序号

N10 T01 M06;调用1号刀

N15 G17 G90 G21 G94 G54 G40 G49 G80;工艺加工状态设置

N20 G43 G00 Z50.0 H01 S600 M03;建立刀具长度补偿,主轴正转,转速为600r/min

N25 X0.0 Y0.0 M07;刀具快速移动到工件坐标零点,打开切削液

N30 M98 P3313 X45.0 Y35.0 Z0.0 R5.0 I100.0 D40.0 F350.0 E0.75 C5.0 K1.0 Q2.0;调用圆形零件平面双向铣削的用户宏程序

N35 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭

N40 G49;取消刀具长度补偿

N45 X0 Y0 M05;刀具退回工件坐标零点,主轴停止

N50 M30;程序结束并返回程序开头

2)SINUMERIK 802D数控系统。

FZG×××××;主程序名

N05 R24=45.0 R25=35.0 R26=0.0 R18=5.0 R4=100.0 R7=40.0 R9=350.0 R8=0.75 R3=5.0 R6=1.0 R17=2.0;参数设置

N10 T1 D1;调用1号刀,1号刀补

N15 G17 G90 G71 G94 G54 G40;工艺加工状态设置

N20 G00 Z50.0 S600 M03;建立刀具长度补偿,主轴正转,转速为600r/min

N25 X0.0 Y0.0 M07;刀具快速移动到工件坐标零点,打开切削液

N30 L3313;调用圆形零件平面双向铣削的用户R参数子程序

N35 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭

N40 X0 Y0 M05;刀具退回工件坐标零点,主轴停止

N45 M02;程序结束并返回程序开头

3)FANUC 0i数控系统。

O××××;主程序名

N10 T01 M06;调用1号刀

N15 G17 G90 G21 G94 G54 G40 G49 G80;工艺加工状态设置

N20 G43 G00 Z50.0 H01 S600 M03;建立刀具长度补偿,主轴正转,转速为600r/min

N25 X0.0 Y0.0 M07;刀具快速移动到工件坐标零点,打开切削液

N30 G65 P3313 X45.0 Y35.0 Z0.0 R5.0 I100.0 D40.0 F350.0 E0.75 C5.0 K1.0 Q2.0;调用圆形零件平面双向铣削的用户宏程序

N35 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭

N40 G49;取消刀具长度补偿

N45 X0 Y0 M05;刀具退回工件坐标零点,主轴停止

N50 M30;程序结束并返回程序开头

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈