编制一个通用类宏程序,铣削加工图3-20所示长方形零件的平面,采用双向铣削平面的走刀路线,假设X0为工件左下角的横坐标绝对值,Y0为工件左下角的纵坐标绝对值,Z为垂向最终加工深度,R为刀具起始加工深度及快速接近点坐标绝对值,U为工件的横(X)向长度,V为工件的纵(Y)向宽度,D为加工零件的刀具半径,E为有效切削刀具直径百分比(E≤1),C为间隙(C≥刀具半径),K为精加工余量,Q为每层加工深度(Q=R-Z+K)。
由图示分析,可画出该宏程序的结构流程框图,如图3-21所示。
1.HNC—21/22M华中世纪星数控系统对长方形零件平面双向铣削的用户宏程序
#23=X0;X0—工件左下角的X绝对坐标值
#24=Y0;Y0—工件左下角的Y绝对坐标值
#25=Z;Z—垂直(Z)方向最终加工深度尺寸值
#17=R;R—刀具起始加工深度及快速接近点坐标绝对值
#20=U;U—工件横(X)向长度
#21=V;V—工件纵(Y)向宽度
#3=D;D—刀具半径
#5=F;F—切削进给速度
#4=E;E—有效切削刀具百分比(E≤1)
#2=C;C—间隙
#10=K;K—精加工余量
#16=Q;Q—Z轴每次下降深度
图3-20 长方形零件平面双向铣削刀具走刀路线图
a)长方形零件平面双向铣削示意图 b)效果图
图3-21 长方形零件平面双向铣削用户宏程序结构流程框图
O3312;文件名
%3312;宏程序号
N010 #27=#23-[#2+#3];刀具起刀点的X绝对坐标值[X0-(C+D)]
#28=#24+#3*[2*#5-1];刀具起刀点的Y绝对坐标值(Y0+2DE-D)
#29=#17+#10-#16;刀具首次等高背吃刀量
#30=#28;将刀具起刀点的Y绝对坐标值赋给中间变量#30
#14=2*#3*#4;Y方向移动步距2DE
N015 WHILE#29GT#25;当#29小于或等于#25时,程序跳转到N120程序段
N020 #12=#14;将Y方向移动步距赋给中间变量#12
N025 G00 X[#27] Y[#28];指令刀具快速移动至工件左下角处X=X0-(C+D),Y=Y0+D(2E-1)
N030 Z[#17];刀具快速下降到工件毛坯表面
N035 G01 Z[#29] F[#5/2];刀具以工进速度等高下降Q(Z=R+K-Q)
N040 WHILE#12LE#21;当#12大于#21时,程序跳转到N100程序段
N045 G01 X[#20+#2+#3+#23] F[#5];刀具从工件左侧向右侧直线插补
N055 #12=#12+#14;移动步距均值增加
N060 IF#12LE#21;如果#12大于#21时,程序跳转到N100程序段
N065 #28=#28+#14;Y方向移动步距等距叠加
N070 Y[#28];变量(Y方向移动步距2DE)叠加
N075 G01 X[#27] F[#5];刀具以工进速度从工件右侧向左侧直线插补
N080 #12=#12+#14;移动步距均值增加
N085 #28=#28+#14;Y方向移动步距等距叠加
N090 G00 Y[#28];刀具在Y方向快速移动一个步距
N095 ENDIF;条件满足,结束循环,执行下条语句
N100 ENDW;返回循环体2
N105 #29=#29-#16;中间变量(背吃刀量)再减去一个等高量
#28=#30;将中间变量#30重新赋给#28(刀具起刀点的Y绝对坐标值)
N110 G00 G90 Z[#17+5];刀具快速上升到工件毛坯表面上5mm处
N115 ENDW;返回循环体
N120 #29=#26;将最终加工深度赋给中间变量#29,开始进行平面精加工
#28=#30;恢复刀具起刀点的Y绝对坐标的初始值
#12=#14;Y方向移动步距均值(2DE)赋给中间变量#12
N125 G00 X[#27] Y[#28];指令刀具快速移动至工件左侧下刀处,准备精加工
N130 Z[#17];刀具快速下降到工件毛坯表面
N135 G01 Z[#29] F[#5/2];刀具以工进速度下降至最终加工深度
N140 WHILE#12LE#21;当#12大于#21时,程序跳转到N200程序段
N145 G01 X[#20+#2+#3+#23] F[#9];刀具从工件左侧向右侧直线插补
N150 #12=#12+#14;变量(Y方向移动步距2DE)叠加
N155 IF#12LE#21;如果#12大于#21时,程序跳转到N195程序段
N160 #28=#28+#14;Y方向移动步距等距叠加
N165 Y[#28];变量(Y方向移动步距2DE)叠加
N170 G01 X[#27] F[#5];刀具以工进速度从工件右侧向左侧直线插补
N175 #12=#12+#14;移动步距均值增加
N180 #28=#28+#14;Y方向移动步距等距叠加
N185 G00 Y[#28];刀具在Y方向快速移动一个步距
N190 ENDIF;条件满足,结束循环,执行下条语句
N195 ENDW;返回循环体
N200 Z[#18+5];刀具快速上升到工件毛坯表面上5mm处
N205 G00 Z[#18+50];刀具快速上升离开工件
N210 M99;宏子程序结束,并返回主程序
2.SINUMERIK802D系统对长方形零件平面双向铣削的用户R参数程序
R参数含义:
R24=X0;X0—工件左下角的X绝对坐标值
R25=Y0;Y0—工件左下角的Y绝对坐标值
R26=Z;Z—垂直(Z)方向最终加工深度尺寸值
R18=R;R—刀具起始加工深度及快速接近点坐标绝对值
R21=U;U—工件横(X)向长度
R22=V;V—工件纵(Y)向长度
R7=D;D—刀具半径
R9=F;F—切削进给速度
R8=E;E—有效切削刀具百分比(E≤1)
R3=C;C—间隙
R6=K;K—精加工余量
R17=Q;Q—Z轴每次下降深度
FZG3312.SPF;R参数程序名
N010 R27=R24-[R3+R7];刀具起刀点的X绝对坐标值[X0-(C+D)]
R28=R25+R7*[2*R8-1];刀具起刀点的Y绝对坐标值(Y0+2DE-D)
R29=R18+R6-R17;刀具首次等高背吃刀量
R30=R28;将刀具起刀点的Y绝对坐标值赋给中间变量R30
R14=2*R7*R8;Y方向移动步距2DE
N015 MARKE1:R12=R14;将Y方向移动步距赋给中间变量R12
N020 G00 X=R27 Y=R28;指令刀具快速移动至工件左下角处X=X0-(C+D),Y=Y0+D(2E-1)
N025 Z=R18;刀具快速下降到工件毛坯表面
N030 G01 Z=R29 F=R9/2;刀具以工进速度等高下降Q(Z=R+K-Q)
N035 MARKE2:G01 X=R21+R3+R7+R24 F=R9;刀具从工件左侧向右侧直线插补
N040 R12=R12+R14;移动步距均值增加
N045 IF R12>=R22 GOTOF MARKE5;当R12大于或等于R22时,程序跳转到MARKE5
N055 R28=R28+R14;Y方向移动步距等距叠加
N060 G00 Y=R28;变量(Y方向移动步距2DE)叠加
N065 G01 X=R27 F=R9;刀具以工进速度从工件右侧向左侧直线插补
N070 R12=R12+R14;移动步距均值增加
N075 R28=R28+R14;Y方向移动步距等距叠加
N080 G00 Y=R28;刀具在Y方向快速移动一个步距
N085 IF R12<=R22 GOTOB MARKE2;当R12小于或等于R22时,程序跳转到MARKE2
N090 MARKE5:R29=R29-R17;中间变量(背吃刀量)再减去一个等高量
R28=R30;将中间变量R30重新赋给R28(刀具起刀点的Y绝对坐标值)
N095 G00 G90 Z=R18+5;刀具快速上升到工件毛坯表面上5mm处
N100 IF R29>=R26 GOTOB MARKE1;当R29大于或等于R26时,程序跳转到MARKE1
N105 R29=R26;将最终加工深度赋给中间变量#29,开始进行平面精加工
R28=R30;恢复刀具起刀点的Y绝对坐标的初始值
R12=R14;Y方向移动步距均值(2DE)赋给中间变量R12
N110 G00 X=R27 Y=R28;指令刀具快速移动至工件左侧下刀处,准备精加工
N115 Z=R18;刀具快速下降到工件毛坯表面
N120 G01 Z=R29 F=R9/2;刀具以工进速度下降至最终加工深度
N125 MARKE3:G01 X=R21+R3+R7+R24 F=R9;刀具从工件左侧向右侧直线插补
N130 R12=R12+R14;变量(Y方向移动步距2DE)叠加
N135 IF R12>=R22 GOTOF MARKE6;当R12大于或等于R22时,程序跳转到MARKE6
N140 R28=R28+R14;Y方向移动步距等距叠加
N145 G00 Y=R28;变量(Y方向移动步距2DE)叠加
N150 G01 X=R27 F=R9;刀具以工进速度从工件右侧向左侧直线插补(www.xing528.com)
N155 R12=R12+R14;移动步距均值增加
N160 R28=R28+R14;Y方向移动步距等距叠加
N165 G00 Y=R28;刀具在Y方向快速移动一个步距
N170 IF R12<=R22 GOTOB MARKE3;当R12小于或等于R22时,程序跳转到MARKE3
N175 MARKE6:Z=R18+5;刀具快速上升到工件毛坯表面上5mm处
N180 G00 Z=R18+50;刀具快速上升离开工件
N185 RET;R参数子程序结束并返回主程序
3.FANUC0i系统对长方形零件平面双向铣削的用户宏程序
自变量含义:
#24=X0;X0—工件左下角的X绝对坐标值
#25=Y0;Y0—工件左下角的Y绝对坐标值
#26=Z;Z—垂直(Z)方向最终加工深度尺寸值
#18=R;R—刀具起始加工深度及快速接近点坐标绝对值
#21=U;U—工件横(X)向长度
#22=V;V—工件纵(Y)向长度
#7=D;D—刀具半径
#9=F;F—切削进给速度
#8=E;E—有效切削刀具百分比(E≤1)
#3=C;C—间隙
#6=K;K—精加工余量
#17=Q;Q—Z轴每次下降深度
O3312;宏程序名
N010 #27=#24-[#3+#7];刀具起刀点的X绝对坐标值[X0-(C+D)]
#28=#25+#7*[2*#8-1];刀具起刀点的Y绝对坐标值(Y0+2DE-D)
#29=#18+#6-#17;刀具首次等高背吃刀量
#30=#28;将刀具起刀点的Y绝对坐标值赋给中间变量#30
#14=2*#7*#8;Y方向移动步距2DE
N015 WHILE[#29GT#26]DO1;当#29小于或等于#26时,程序跳转到N115程序段
N020 #12=#14;将Y方向移动步距赋给中间变量#12
N025 G00 X#27 Y#28;指令刀具快速移动至工件左下角处X=X0-(C+D),Y=Y0+D(2E-1)
N030 Z#18;刀具快速下降到工件毛坯表面
N035 G01 Z#29 F[#9/2];刀具以工进速度等高下降Q(Z=R+K-Q)
N040 WHILE[#12LE#22]DO2;当#12大于#22时,程序跳转到N100程序段
N045 G01 X[#21+#3+#7+#24] F#9;刀具从工件左侧向右侧直线插补
N055 #12=#12+#14;移动步距均值增加
N060 IF[#12GT#22] GOTO100;如果#12大于#22时,程序转移到N100程序段
N065 #28=#28+#14;Y方向移动步距等距叠加
N070 G00 Y#28;变量(Y方向移动步距2DE)叠加
N075 G01 X#27 F#9;刀具以工进速度从工件右侧向左侧直线插补
N080 #12=#12+#14;移动步距均值增加
N085 #28=#28+#14;Y方向移动步距等距叠加
N090 G00 Y#28;刀具在Y方向快速移动一个步距
N095 END2;返回循环体2
N100 #29=#29-#17;中间变量(背吃刀量)再减去一个等高量
#28=#30;将中间变量#30重新赋给#28(刀具起刀点的Y绝对坐标值)
N105 G00 G90 Z[#18+5];刀具快速上升到工件毛坯表面上5mm处
N110 END1;返回循环体1
N115 #29=#26;将最终加工深度赋给中间变量#29,开始进行平面精加工
#28=#30;恢复刀具起刀点的Y绝对坐标的初始值
#12=#14;Y方向移动步距均值(2DE)赋给中间变量#12
N120 G00 X#27 Y#28;指令刀具快速移动至工件左侧下刀处,准备精加工
N125 Z#18;刀具快速下降到工件毛坯表面
N130 G01 Z#29 F[#9/2];刀具以工进速度下降至最终加工深度
N135 WHILE[#12LE#22]DO3;当#12大于#22时,程序跳转到N190程序段
N140 G01 X[#21+#3+#7+#24] F#9;刀具从工件左侧向右直线插补
N145 #12=#12+#14;变量(Y方向移动步距2DE)叠加
N150 IF[#12GT#22] GOTO190;如果#12大于#22时,程序转移到N190程序段
N155 #28=#28+#14;Y方向移动步距等距叠加
N160 G00 Y#28;变量(Y方向移动步距2DE)叠加
N165 G01 X#27 F#9;刀具以工进速度从工件右侧向左侧直线插补
N170 #12=#12+#14;变量(Y方向移动步距2DE)叠加
N175 #28=#28+#14;Y方向移动步距等距叠加
N180 G00 Y#28;刀具在Y方向快速移动一个步距
N185 END3;返回循环体
N190 Z[#18+5];刀具快速上升到工件毛坯表面上5mm处
N195 G00 Z[#18+50];刀具快速上升离开工件
N200 M99;宏子程序结束并返回主程序
注意:
1)U、V值必须大于0。
2)有效切削刀具直径百分比应小于1。
3)间隙量C不能小于0。
4)精加工余量K不能大于Q。
5)每层加工深度Q不能大于总加工厚度R-Z。
6)刀具半径值D必须大于0。
7)刀具半径补偿指令(G40、G42、G40)没有被使用。
8)精加工时,在操作面板上手动调整主轴和进给倍率开关。
4.编程实例
图3-22所示一长方形零件,长300.0mm,宽200.0mm;要求对该零件平面进行铣削。
解:
(1)工艺设计 建立工件坐标系,工件左下角离开工件坐标系X、Y轴零点的绝对坐标为(30,20),工件表面离开坐标系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××××;文件名
图3-22 长方形零件平面双向铣削编程实例走刀路线示意图
a)长方形零件平面双向铣削编程实例尺寸图 b)效果图
%3322;程序号
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 P3312 X30.0 Y20.0 Z0.0 R5.0 U300.0 V200.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=30.0 R25=20.0 R26=0.0 R18=5.0 R21=300.0 R22=200.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 L3312;调用长方形零件平面双向铣削的用户R参数子程序
N35 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭
N40 X0 Y0 M05;刀具退回工件坐标零点,主轴停止
N45 M02;程序结束并返回程序开头
3)FANUC 0i数控系统。
O××××;主程序名
N10 T01 M06;调用1号刀
N15 G17 G90 G54 G40 G49 G80;工艺加工状态设置
N20 G43 G00 Z50.0 H01 S600 M03;建立刀具长度补偿,主轴正转,转速为600r/min
N25 X0.0 Y0.0 M08;刀具快速移动到工件坐标零点,打开切削液
N30 G65 P3312 X30.0 Y20.0 Z0.0 R5.0 U300.0 V200.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;程序结束并返回程序开头
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。