解:
1.零件图的工艺分析
加工图2-1所示的同族相似轴时,由于轴各级外圆的加工余量不同,有的外圆余量比较大,有的外圆余量比较小,因此需根据实际情况分级分层粗车去余量,最后再统一进行精车削加工。
2.参考程序
(1)HNC—21/22T华中世纪星数控系统对实现规格不同的轴加工的用户宏程序
图2-1 同族相似轴编程示例图
局部变量含义:
#0=A;A—直径D1(毛坯外径)
#1=B;B—直径D2(直径表示)
#2=C;C—直径D3(直径表示)
#3=D;D—直径D4(直径表示)
#4=E;E—倒角边长(C)
#5=F;F—刀具起刀点纵向工件坐标值L
#7=H;H—刀具起刀点横向工件坐标值
#8=I;I—长度Z1
#9=J;J—长度Z2
#10=K;K—长度Z3
#17=R;R—背吃刀量(半径表示)
#18=S;S—精加工余量(直径表示)
#19=T;T—粗加工转速(r/min)
#20=U;U—精加工转速(r/min)
#21=V;V—粗加工进给量(mm/r)
#22=W;W—精加工进给量(mm/r)
主程序如下:
O××××;文件名
%××××;程序号
N10 G18 G99 G97 G21 G90 G54 G40;工艺加工状态设置
N20 M98 P221 A__B__C__D__E__F__H__I__J__K__R__S__T__U__V__W__;调用实现规格不同的轴加工的用户宏程序
︙
N50 M05;主轴停止
N60 M30;程序结束并返回程序开头
宏程序如下:
%221;宏程序号
N005 #30=INT[[#0-#1-#18]/2/#17];根据背吃刀量和精加工余量计算第一级粗车循环次数(取整)
N010 #31=[#0-#1-#18]/#30;计算第一级径向粗加工每次背吃刀量(直径值)
N015 #40=INT[[#1-#2-#18]/2/#17];根据背吃刀量和精加工余量计算第二级粗车循环次数(取整)
N020 #41=[#1-#2-#18]/#40;计算第二级径向粗加工每次背吃刀量(直径值)
N025 #50=INT[[#2-#3-#18]/2/#17];根据背吃刀量和精加工余量计算第三级粗车循环次数(取整)
N030 #51=[#2-#3-#18]/#50;计算第三级径向粗加工每次背吃刀量(直径值)
N035 T0101;调用1号刀具(外圆粗加工车刀)
N040 G90 G00 X[2*#7] Z[#5] S[#19] M03;主轴正转,转速为S=#19r/min
N045 #28=1;切削次数初始值赋值
N050 WHILE#28LE#30;当#28>#30时,则跳转到N085程序段
N055 G01 X[#0] Z[#8+5] F[3*#21];直线插补到工件右端附近,车削ϕD2外圆
N060 G91 X[-#31] F[#21];径向切入一个背吃刀量
N065 Z[-#8-5+#18/2];粗车ϕD2外圆
N070 G90 X[#0+5];粗车ϕD2外圆的左端面
N072 G00 G00 Z[#5];返回起刀点
N075 #28=#28+1;切削次数累加1
N080 #31=#31*#28;背吃刀量递增
N085 ENDW;返回循环体1
N090 #28=1;计算器置1
N095 WHILE#28LE#40;当#28>#40时,则跳转到N140程序段
N100 G90 G01 X[#0] Z[#8+5] F[3*#21];直线插补到工件右端附近,粗车锥圆
N105 X[#1] F[#21];径向直线插补到ϕD2外圆
N110 G91 X[-#41];径向切入一个背吃刀量
N115 Z[-[#8+5-#9+#18/2]];粗车ϕD4外圆
N120 X[[#2-#3]/2];粗车锥圆右端面
N125 X[[#1-#2]/2] Z[-[#9-#10]];粗车锥圆
N128 G90 G00 Z[#5];返回起刀点
N130 #28=#28+1;切削次数累加1
N135 #41=#41*#28;背吃刀量递增
N140 ENDW;返回循环体2
N145 #28=1;计算器置1
N150 WHILE#28LE#50;当#28>#50时,则跳转到N190程序段
N155 G90 G01 X[#0] Z[#8+5] F[3*#21];直线插补到工件右端附近,车削ϕD4外圆
N160 X[#2] F[#21];径向直线插补到ϕD3外圆
N165 G91 X[-#51];径向切入一个背吃刀量
N170 Z[-[#8+5-#9+#18/2]];粗车ϕD4外圆
N175 X[#0];粗车ϕD4外圆左端面
N178 G90 G00 Z[#5];返回起刀点
N180 #28=#28+1;切削次数累加1
N185 #51=#51*#28;背吃刀量递增
N190 ENDW;返回循环体3
N195 G00 X[2*#7] Z[#5];刀具快速移动到换刀点
N200 T0202;调用2号刀具(外圆精加工车刀)
N205 G97 M03 S[#20];设置精加工工艺参数
N210 G41 G00 X[#3] Z[#8+5] F[5*#22];建立刀具左刀补,直线插补到工件右端附近
N215 X[#3-#4-1.0] Z[#8+1.0] F[#22];直线插补到倒角C的延长线上
N220 X[#3] Z[#8-#4];倒角
N225 Z[#9];精车ϕD4外圆
N230 X[#2];精车ϕD4外圆左端面
N235 X[#1] Z[#10];精车锥圆
N240 Z0;精车ϕD2外圆
N245 X[#0+5];精车ϕD2外圆左端面,X向退出工件
N250 G40 G00 X[2*#7] Z[#5];取消刀补,退回换刀点
N255 M99;子程序结束,返回主程序
(2)SINUMERIK 802D数控系统对实现规格不同的轴加工的用户R参数程序
R参数含义:
R1=A;A—直径D1(毛坯外径)
R2=B;B—直径D2(直径表示)
R3=C;C—直径D3(直径表示)
R4=I;I—直径D4(直径表示)
R5=J;J—长度Z1
R6=K;K—长度Z2
R7=D;D—长度Z3
R8=E;E—倒角边长(C)
R9=F;F—刀具起刀点纵向工件坐标值L
R11=H;H—刀具起刀点横向工件坐标值
R18=R;R—背吃刀量(半径表示)
R19=S;S—精加工余量(直径表示)
R20=T;T—粗加工转速(r/min)
R21=U;U—精加工转速(r/min)
R22=V;V—粗加工进给量(mm/r)
R23=W;W—精加工进给量(mm/r)
主程序如下:
××××××××;主程序名
N10 G18 G99 G97 G71 G95 G90 G54 G40;工艺加工状态设置
N20 R1=A R2=B R3=C R7=D R8=E R9=F R11=H R4=I R5=J R6=K R18=R R19=S R20=T R21=U R22=V R23=W;参数设置N20 L221;调用实现规格不同的轴加工的用户R参数程序
︙
N50 M05;主轴停止
N60 M02;程序结束并返回程序开头
R参数程序如下:
L221;R参数程序名
N010 R30=TRUNC[[R1-R2-R19]/2/R18];根据背吃刀量和精加工余量计算第一级粗车循环次数(取整)
N015 R31=[R1-R2-R19]/R30;计算第一级径向粗加工每次背吃刀量(直径值)
N020 R40=TRUNC[[R2-R3-R19]/2/R18];根据背吃刀量和精加工余量计算第二级粗车循环次数(取整)
N025 R41=[R2-R3-R19]/R40;计算第二级径向粗加工每次背吃刀量(直径值)
N030 R50=TRUNC[[R3-R4-R19]/2/R18];根据背吃刀量和精加工余量计算第三级粗车循环次数(取整)
N035 R51=[R3-R4-R19]/R50;计算第三级径向粗加工每次背吃刀量(直径值)
N040 T01 D01;调用1号刀具(外圆粗加工车刀)
N045 G18 G97 G95 G54 G40;工艺加工状态设置
N050 G90 G00 X=2*R11 Z=R9 S=R20 M03;主轴正转,转速为R20r/min(www.xing528.com)
N055 R28=1;切削次数初始值赋值
N060 MARKE1:G01 X=R1 Z=R5+5 F=3*R22;直线插补到工件右端附近
N065 G91 X=-R31 F=R22;径向切入一个背吃刀量
N070 Z=-R5-5+R19/2;粗车ϕD2外圆
N075 G90 X=R1+5;粗车ϕD2外圆的左端面
N078 G00 Z=R9;返回起刀点
N080 R28=R28+1;切削次数累加1
N085 R31=R31*R28;背吃刀量递增
N090 IF R28<=R30 GOTOB MARKE1;当R28小于或等于R30时,则跳转到标志符MARKE1
N095 R28=1;计算器置1
N100 MARKE2:G90 G01 X=R1 Z=R5+5 F=3*R22;直线插补到工件右端附近
N105 X=R2 F=R22;径向直线插补到ϕD2外圆
N110 G91 X=-R41;径向切入一个背吃刀量
N115 Z=-[R5+5-R6+R19/2];粗车ϕD4外圆
N120 X=[R3-R4]/2;粗车锥圆右端面
N125 X=[R2-R3]/2 Z=-[R6-R7];粗车锥圆
N128 G90 G00 Z=R9;返回起刀点
N130 R28=R28+1;切削次数累加1
N135 R41=R41*R28;背吃刀量递增
N140 IF R28<=R40 GOTOB MARKE2;当R28小于或等于R40时,则跳转到标志符MARKE2
N145 R28=1;计算器置1
N150 MARKE3:G90 G01 X=R1 Z=R5+5 F=3*R22;直线插补到工件右端附近
N155 X=R3 F=R22;径向直线插补到ϕD3外圆
N160 G91 X=-R51;径向切入一个背吃刀量
N165 Z=-[R5+5-R6+R19/2];粗车ϕD4外圆
N170 G90 X=R1;粗车ϕD4外圆左端面
N172 G00 Z=R9;返回起刀点
N175 R28=R28+1;切削次数累加1
N180 R51=R51*R28;背吃刀量递增
N185 IF R28<=R50 GOTOB MARKE 3;当R28小于或等于R50时,则跳转到标志符MARKE3
N190 G00 X=2*R11 Z=R9;刀具快速移动到换刀点
N195 T02 D02;调用2号刀具(外圆精加工车刀)
N200 G97 M03 S=R21;设置精加工工艺参数
N205 G41 G00 X=R4 Z=R5+5 F=5*R23;建立刀具左刀补,直线插补到工件右端附近
N210 X=R4-R9-1.0 Z=R5+1.0 F=R23;直线插补到倒角C的延长线上
N215 X=R4 Z=R5-R9;倒角
N220 Z=R6;精车ϕD4外圆
N225 X=R3;精车ϕD4外圆左端面
N230 X=R2 Z=R7;精车锥圆
N235 Z0;精车ϕD2外圆
N240 X=R1+5;精车ϕD2外圆左端面,X向退出工件
N245 G40 G00 X=2*R11 Z=R9;取消刀补,退回换刀点
N250 RET;子程序结束,返回主程序
(3)FANUC 0i数控系统对实现规格不同的轴加工的用户宏程序
自变量含义:
#1=A;A—直径D1(毛坯外径)
#2=B;B—直径D2(直径表示)
#3=C;C—直径D3(直径表示)
#4=I;I—直径D4(直径表示)
#5=J;J—长度Z1
#6=K;K—长度Z2
#7=D;D—长度Z3
#4=E;E—倒角边长(C)
#9=F;F—刀具起刀点纵向工件坐标值L
#11=H;H—刀具起刀点横向工件坐标值
#18=R;R—背吃刀量(半径表示)
#19=S;S—精加工余量(直径表示)
#20=T;T—粗加工转速(r/min)
#21=U;U—精加工转速(r/min)
#22=V;V—粗加工进给量(mm/r)
#23=W;W—精加工进给量(mm/r)
主程序如下:
O××××;主程序名
N10 G18 G99 G97 G21 G95 G90 G54 G40;工艺加工状态设置
N20 G65 P221 A__B__C__D__E__F__H__I__J__K__R__S__T__U__V__W__;调用实现规格不同的轴加工的用户宏程序
︙
N50 M05;主轴停止
N60 M30;程序结束并返回程序开头
宏程序如下:
O221;宏程序名
N010 #30=FUP[[#1-#2-#19]/2/#18];根据背吃刀量和精加工余量计算第一级粗车循环次数(上取整)
N015 #31=[#1-#2-#19]/#30;计算第一级径向粗加工每次背吃刀量(直径值)
N020 #40=FUP[[#2-#3-#19]/2/#18];根据背吃刀量和精加工余量计算第二级粗车循环次数(上取整)
N025 #41=[#2-#3-#19]/#40;计算第二级径向粗加工每次背吃刀量(直径值)
N030 #50=FUP[[#3-#4-#19]/2/#18];根据背吃刀量和精加工余量计算第三级粗车循环次数(上取整)
N035 #51=[#3-#4-#19]/#50;计算第三级径向粗加工每次背吃刀量(直径值)
N040 T0101;调用1号刀具(外圆粗加工车刀)
N050 G90 G00 X[2*#11]Z#9 S#20 M03;主轴正转,转速为20r/min
N055 #28=1;切削次数初始值赋值
N060 WHILE[#28GT#30]DO1;当#28大于#30时,则跳转到N095程序段
N065 G01 X#1 Z[#5+5] F[3*#22];直线插补到工件右端附近
N070 U-#31 F#22;径向切入一个背吃刀量
N075 W[-#5-5+#19/2];粗车ϕD2外圆
N080 X[#1+5];粗车ϕD2外圆的左端面
N082 G00 Z#9;返回起刀点
N085 #28=#28+1;切削次数累加1
N090 #31=#31*#28;背吃刀量递增
N095 END1;返回循环体2
N100 #28=1;计算器置1
N105 WHILE[#28GT#40]DO2;当#28大于#40时,则跳转到N150程序段
N110 G01 X#1 Z[#5+5] F[3*#22];直线插补到工件右端附近
N115 X#2 F#22;径向直线插补到ϕD2外圆
N120 U-#41;径向切入一个背吃刀量
N125 W-[#5+5-#6+#19/2];粗车削ϕD4外圆
N130 U[[#3-#4]/2];粗车锥圆右端面
N135 U[[#2-#3]/2] W-[#6-#7];粗车锥圆
N138 G00 Z#9;返回起始点
N140 #28=#28+1;切削次数累加1
N145 #41=#41*#28;背吃刀量递增
N150 END2;返回循环体2
N155 #28=1;计数器置1
N160 WHILE[#28GT#50]DO3;当#28大于#50时,则跳转到N200程序段
N165 G01 X#1 Z[#5+5] F[3*#22];直线插补到工件右端附近
N170 X#3 F#22;径向直线插补到ϕD3外圆
N175 U-#51;径向切入一个背吃刀量
N180 W-[#5+5-#6+#19/2];粗车ϕD4外圆
N185 X#1;粗车ϕD4外圆左端面
N188 G00 Z#9;返回起刀点
N190 #28=#28+1;切削次数累加1
N195 #51=#51*#28;背吃刀量递增
N200 END3;返回循环体3
N205 G00 X[2*#11] Z#9;刀具快速移动到换刀点
N210 T0202;调用2号刀具(外圆精加工车刀)
N215 G97 M03 S#21;设置精加工工艺参数
N220 G41 G00 X#4 Z[#5+5] F[5*#23] D02;建立刀具左刀补,直线插补到工件右端附近
N225 X[#4-#9-1.0] Z[#5+1.0] F#23;直线插补到倒角C的延长线上
N230 X#4 Z[#5-#9];倒角
N235 Z#6;精车ϕD4外圆
N240 X#3;精车ϕD4外圆左端面
N245 X#2 Z#7;精车锥圆
N250 Z0;精车ϕD2外圆
N255 X[#1+5];精车ϕD2外圆左端面,X向退出工件
N260 G40 G00 X[2*#11] Z#9;取消刀补,退回换刀点
N265 M99;子程序结束,返回主程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。