首页 理论教育 宏程序和R参数编程实现规格不同的轴加工

宏程序和R参数编程实现规格不同的轴加工

时间:2023-06-25 理论教育 版权反馈
【摘要】:编程示例:如图2-1所示轴。试编写其数控车的通用加工程序。解:1.零件图的工艺分析加工图2-1所示的同族相似轴时,由于轴各级外圆的加工余量不同,有的外圆余量比较大,有的外圆余量比较小,因此需根据实际情况分级分层粗车去余量,最后再统一进行精车削加工。

宏程序和R参数编程实现规格不同的轴加工

编程示例:如图2-1所示轴。试编写其数控车的通用加工程序。

解:

1.零件图的工艺分析

加工图2-1所示的同族相似轴时,由于轴各级外圆的加工余量不同,有的外圆余量比较大,有的外圆余量比较小,因此需根据实际情况分级分层粗车去余量,最后再统一进行精车削加工。

2.参考程序

(1)HNC—21/22T华中世纪星数控系统对实现规格不同的轴加工的用户宏程序

978-7-111-33271-8-Chapter02-7.jpg

图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;子程序结束,返回主程序

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

我要反馈