首页 理论教育 双曲线类零件曲面的宏程序编程优化技巧

双曲线类零件曲面的宏程序编程优化技巧

时间:2023-06-25 理论教育 版权反馈
【摘要】:编制图3-89所示铣削双曲线类零件的曲面通用程序。为了适应不同的双曲线、不同的起始点和不同的步距,下面编制一个只用变量不用具体数值的宏程序,然后在主程序中呼出该宏程序的用户宏指令段为上述变量赋值。这样,对于不同的双曲线、不同的起始点和不同的步距,不必更改宏程序,而只需修改主程序中用户宏指令段内的赋值数据就可以了。

双曲线类零件曲面的宏程序编程优化技巧

编制图3-89所示铣削双曲线类零件的曲面通用程序。假设双曲线的实半轴为a、虚半轴为b,双曲线的一般方程为X2/a2-Y2/b2=1,最终加工深度为H。

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

图3-89 双曲线类的曲面零件示意图

a)零件图 b)效果图

工艺分析:加工此类零件曲面,一般先将工件坐标原点偏置到双曲线的对称中心,如双曲线曲面的对称中心轴与工件坐标系的X轴成一角度,则再将工件坐标系进行旋转;采用直线逼近(也叫拟合),在Y向分段,以0.1~0.5mm为一个步距,并把Y作为自变量(参数)。为了适应不同的双曲线(即不同的实、虚轴)、不同的起始点和不同的步距,下面编制一个只用变量不用具体数值的宏程序,然后在主程序中呼出该宏程序的用户宏指令段为上述变量赋值。这样,对于不同的双曲线、不同的起始点和不同的步距,不必更改宏程序,而只需修改主程序中用户宏指令段内的赋值数据就可以了。注意:为了保证双曲线曲面的精度,以Y值为循环条件的判断,使每循环一次的Y值变化为均值。假设刀具切削选择不对称顺铣方式(逆时针),即起点坐标在第一或第三象限

由以上工艺分析,可画出图3-90所示该宏程序的结构流程框图。

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

图3-90 双曲线类零件曲面宏程序的结构流程框图

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

局部变量含义:

#23=X0;X0—双曲线对称中心的工件坐标横向绝对坐标值

#24=Y0;Y0—双曲线对称中心的工件坐标纵向绝对坐标值

#20=U;U—双曲线起点的X初始值

#21=V;V—双曲线起点的Y初始值

#7=H;H—最终加工深度

#17=R;R—安全高度

#0=a;a—实轴

#1=b;b—虚轴

#2=β;β—双曲线实(虚)轴与X轴的夹角

#3=D;D—刀具半径

#5=F;F—进给速度

#10=K;K—步距

%3372;宏程序号

N010 #30=#20;双曲线起点的X初始值赋给中间变量#30

N015 #31=#21;双曲线起点的Y初始值赋给中间变量#31

N018 #101=#3;将刀具半径赋给中间变量#101

N020 G68 X[#23] Y[#24] P[#2];以双曲线中心为旋转中心,将工件坐标系旋转β

N025 G00 X[#23+2*#30] Y[#24+#31];将刀具移动到工件一侧

N030 IF#31GT0;如果#31(Y初始值)大于0,则程序跳转到N080程序段

N035 G90 G00 X[#23+#30+2*#3] Y[#24+#31+#3];指令刀具移到刀具起刀点

N040 Z[#17];刀具快速下降到工件上方安全距离

N045 G01 Z[#7] F[3*#5];刀具以工进速度下降到最终加工深度

N050 WHILE #31LE[-#21];如果#31(初始值)大于-#21(终点值),则程序跳转到N075程序段

N055 G64 G42 G01 X[#23+#30] Y[#24+#31] F[#5]D101;铣刀到达双曲线上任意一点处

N060 #31=#31+#10;步距叠加

N065 #30=#0*SQRT[1+[#31*#31]/[#1*#1]];双曲线上任意一点的X绝对坐标值(X=aSQRT(1+Y2/b2))

N070 ENDW;返回循环体

N075 ELSE;

N080 G90 G00 X[#23+#30+2*#3] Y[#24+#31-#3];指令刀具移到刀具起刀点

N085 Z[#17];刀具快速下降到工件上方安全距离

N090 G01 Z[#7] F[3*#5];刀具以工进速度下降到最终加工深度

N095 WHILE#31GE[-#21];如果#31(初始值)小于-#21(终点值),则程序跳转到N120程序段

N100 G64 G41 G01 X[#24+#30] Y[#24+#31] F[#5]D101;铣刀到达双曲线上任意一点处

N105 #31=#31-#10;步距叠减

N110 #30=#0*SQRT[1+[#31*#31]/[#1*#1]];双曲线上任意一点的X绝对坐标值(X=aSQRT(1+Y2/b2))

N115 ENDW;返回循环体

N120 ENDIF

N125 G40 G01 G90 X[#23+2*#20] Y[#24+#21];取消刀具补偿,返回工件坐标原点

N130 G00 Z100;快速抬刀

N135 G69;取消坐标系旋转

N140 M99;程序结束

2.SINUMERIK802D数控系统对铣削双曲线类零件的曲面用户R参数程序

R参数含义:

R24=X0;X0—双曲线对称中心X绝对坐标值

R25=Y0;Y0—双曲线对称中心Y绝对坐标值

R21=U;U—双曲线起点的X初始值

R22=V;V—双曲线起点的Y初始值

R11=H;H—最终加工深度

R18=R;R—安全高度

R1=a;a—实轴

R2=b;b—虚轴

R3=β;β—双曲线实(虚)轴与X轴的夹角

R7=D;D—刀具半径

R9=F;F—进给速度

R6=K;K—步距

L3372;R参数程序名

N010 R30=R21;双曲线起点的X初始值赋给中间变量R30

N015 R31=R22;双曲线起点的Y初始值赋给中间变量R31

N018 R101=R7;将刀具半径值赋给中间变量R101

N020 TRANSX=R24 Y=R25;建立局部工件坐标系

N025 AROT RPL=R3;以双曲线中心为旋转中心,将工件坐标系旋转β

N030 G00 X=2*R30 Y=R31;将刀具移动到工件一侧

N035 IF R31>0 GOTOF MARKE0;如果R31>0,则程序跳转到MARKE0

N040 G90 G00 X=R30+2*R7 Y=R31+R7;指令刀具移到刀具起刀点

N045 Z=R18;刀具快速下降到工件上方安全距离

N050 G01 Z=R11 F=3*R9;刀具以工进速度下降到最终加工深度

N055 MARKE1:G64 G42 G01 X=R30 Y=R31 F=R9 D=R101;铣刀到达双曲线上任意一点处

N060 R31=R31+R6;步距叠加

N065 R30=R1*SQRT[1+[R31*R31]/[R2*R2]];双曲线上任意一点的X绝对坐标值(X=aSQRT(1+Y2/b2))

N070 IF R31<=-R22 GOTOB MARKE1;如果R31(初始值)小于或等于-R22(终点值),则跳转到MARKE1程序段

N075 GOTOF MARKE2;无条件跳转到MARKE2

N080 MARKE0:G90 G00 X=R30+2*R7 Y=R31-R7;将刀具移动到起刀点

N085 Z=R18;刀具快速下降到工件上方安全距离

N090 G01 Z=R11 F=3*R9;刀具以工进速度下降到最终加工深度

N095 MARKE3:G64 G41 G01 X=R30 Y=R31 F=R9 D=R101;铣刀到达双曲线的起点处

N100 R31=R31-R6;步距叠减

N105 R30=R1*SQRT[1+[R31*R31]/[R2*R2]];双曲线上任意一点的X绝对坐标值(X=aSQRT(1+Y2/b2))

N110 IF R31>=-R22 GOTOB MARKE3;如果R31(初始值)大于或等于-R22(终点值),则程序跳转到MARKE3程序段

N115 MARKE2:G40 G01 G90 X=2*R21 Y=R22;取消刀具补偿,返回工件坐标系原点

N120 G00 Z100;快速抬刀

N125 TRANS;取消坐标系旋转和局部坐标系

N130 RET;R参数子程序结束并返回主程序

3.FANUC0i数控系统对铣削双曲线类零件的曲面用户宏程序

自变量含义:

#24=X0;X0—双曲线对称中心X绝对坐标值

#25=Y0;Y0—双曲线对称中心Y绝对坐标值

#21=U;U—双曲线起点的X初始值

#22=V;V—双曲线起点的Y初始值

#11=H;H—最终加工深度

#18=R;R—安全高度

#1=a;a—实轴

#2=b;b—虚轴

#3=β;β—双曲线实(虚)轴与X轴的夹角

#7=D;D—刀具半径

#9=F;F—进给速度

#6=K;K—步距

O3372;宏程序名

N010 #30=#21;双曲线起点的X初始值赋给中间变量#30

N015 #31=#22;双曲线起点的Y初始值赋给中间变量#31

N018 #101=#7;将刀具半径赋给中间变量#101

N020 G52 X#24 Y#25;建立局部工件坐标系

N025 G68 X0 Y0 R#3;以双曲线中心为旋转中心旋转β

N030 G00 X[2*#30] Y#31;将刀具移动到工件一侧

N035 IF[#31GT0] GOTO85;如果#31(Y初始值)大于0,则跳转到N085程序段

N040 G90 G00 X[#30+2*#7] Y[#31+#7];指令刀具移到刀具起刀点

N045 Z#18;刀具快速下降到工件上方安全距离

N050 G01 Z#11 F[3*#9];刀具以工进速度下降到最终加工深度

N055 WHILE [#31LE[-#22]] DO1;如果#31(初始值)大于-#22(终点值),则跳转到N080程序段

N060 G64 G42 G01 X#30 Y#31 F#9 D#101;铣刀到达双曲线上任意一点处(www.xing528.com)

N065 #31=#31+#6;步距叠加

N070 #30=#1*SQRT[1+[#31*#31]/[#2*#2]];双曲线上任意一点的X绝对坐标值(X=aSQRT(1+Y2/b2))

N075 END1;返回循环体

N080 GOTO125;无条件跳转到N125程序段

N085 G90 G00 X[#30+2*#7] Y[#31-#7];指令刀具移到刀具起刀点

N090 Z#18;刀具快速下降到工件上方安全距离

N095 G01 Z#11 F[3*#9];刀具以工进速度下降到最终加工深度

N100 WHILE [#31GE[-#22]] DO2;如果#31(初始值)小于-#22(终点值),则程序跳转到N125程序段

N105 G64 G41 G01 X#30 Y#31 F#9 D#101;铣刀到达双曲线上任意一点处

N110 #31=#31-#6;步距叠减

N115 #30=#1*SQRT[1+[#31*#31]/[#2*#2]];双曲线上任意一点的X绝对坐标值(X=aSQRT(1+Y2/b2))

N120 END2;返回循环体

N125 G40 G01 G90 X[2*#21] Y-#22;取消刀具补偿,返回工件坐标原点

N130 G69;取消坐标系旋转

N135 G52 X0 Y0;取消局部坐标系

N140 G00 Z100;快速抬刀

N145 M99;子程序结束并返回主程序

4.编程实例

铣床或加工中心上加工图3-91所示双曲线零件的曲面,双曲线实半轴为8.0mm,双曲线虚半轴为16.0mm,深度为10.0mm,双曲线实(虚)轴与工件坐标系X轴的夹角为10°,零件毛坯尺寸(长×宽×高)为100mm×80mm×30mm。试用变量(或参数)编写出加工此类零件的宏程序。

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

图3-91 双曲线编程实例零件铣削加工的刀具路线示意图

a)尺寸图 b)效果图

解:

(1)工艺设计 建立工件坐标系,确定双曲线零件的左下角为工件坐标系X、Y轴的零点,工件表面为工件坐标系Z轴的零点,机床坐标系偏置值设置在G54寄存器中。

(2)加工顺序 先用ϕ25mm立铣刀加工80mm×60mm×10mm矩形,再用ϕ16mm的立铣刀粗、精加工双曲线曲面。

先将工件坐标原点偏置到双曲线中心,再将工件坐标系进行旋转100°;根据双曲线一般方程(X2/82-Y2/162=1),采用直线逼近(也叫拟合),在X向分段,粗加工时以1mm为一个步距,精加工时以0.1~0.5mm为一个步距,并把X作为自变量;最后在主程序中呼出该宏程序的用户宏指令段为上述变量赋值。

粗、精加工都采用不对称顺铣削方式;粗加工时,主轴转速400r/min,铣削进给速度150mm/min;精加工时,主轴转速600r/min,铣削进给速度100mm/min;主轴起始位置在零件上方50.0mm处,刀具起始切削安全高度在零件上方2.0mm处,精加工余量为0.5mm。

(3)零件加工程序

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

主程序如下:

O××××;文件名

%××××;程序号

N010 T01 M06;调用1号刀(ϕ25mm立铣刀)

N015 G17 G90 G21 G94 G54 G40 G49 G80;程序运行初始状态设置

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

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

N030 M98 P0730;调用80mm×60mm×10mm矩形加工子程序

N035 M06 T02;调用2号刀(ϕ16mm立铣刀)

N040 G43 G00 Z50.0 H02 S500 M03 D02;建立长度补偿,主轴正转、转速500r/min

N045 M98 P3372 X48 Y55 U14.841 V-25 H-10 R2 A8 B16 C80.0 D8 F150 K1;调用双曲线类零件曲面加工程序进行双曲线粗加工

N050 G24 X50.0 Y40.0;X轴、Y轴镜像,镜像位置为(48.0,55.0)

N055 M98 P3372 X48 Y55 U14.841 V-25 H-10 R2 A8 B16 C80 D8 F150 K1;调用双曲线类零件曲面加工程序进行双曲线粗加工

N060 G25;取消镜像

N065 S600 M03 D03;主轴正转,转速800r/min,调用3号刀补

N070 M98 P3372 X48 Y55 U14.841 V-25 H-10 R2 A8 B16 C80 D8 F100 K0.5;调用双曲线类零件曲面加工程序进行双曲线精加工

N075 G24 X50.0 Y40.0;X轴、Y轴镜像,镜像位置为(48.0,55.0)

N080 M98 P3372 X48 Y55 U14.841 V-25 H-10 R2 A8 B16 C80 D8 F100 K0.5;调用双曲线类零件曲面加工程序进行双曲线精加工

N085 G25;取消镜像

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

N095 G49;取消刀具长度补偿

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

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

%0730;80mm×40mm×10mm矩形加工子程序(略)

M99;子程序结束,返回主程序

%3372;双曲线类零件曲面加工程序(见上)

M99;子程序结束,返回主程序

2)SINUMERIK 802D数控系统。

主程序如下:

FZG××××;程序名

N10 M06 T1 D1;调用1号刀(ϕ25mm立铣刀)

N15 G17 G90 G71 G94 G54 G40;程序运行初始状态设置

N20 G00 Z50.0 S400 M03;主轴正转,转速为400r/min

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

N30 L0730;调用80mm×60mm×10mm矩形加工子程序

N35 M06 T2 D1;调用2号刀(ϕ16mm立铣刀)

N40 G00 Z50.0 S500 M03;主轴正转,转速为400r/min

N45 R24=48.0 R25=55.0 R21=14.841 R22=-25 R11=-10.0 R18=2.0 R1=8.0 R2=16.0 R3=80.0 R9=150.0 R7=8.0 R6=1.0;参数设置

N55 L3372;调用双曲线类零件曲面加工程序进行双曲线粗加工

N60 AMIRROR X=48.0 Y=55.0;可编程镜像

N65 L3372;调用双曲线类零件曲面加工程序进行双曲线粗加工

N70 AMIRROR;取消镜像

N75 M03 S600 D02;主轴正转,转速为600r/min,调用2号刀补

N80 R9=100.0 R6=0.5;参数赋值

N85 L3372;调用双曲线类零件曲面加工程序进行双曲线精加工

N90 AMIRROR X=48.0 Y=55.0;可编程镜像

N95 L3372;调用双曲线类零件曲面加工程序进行双曲线精加工

N100 AMIRROR;取消镜像

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

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

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

L0730.SPF;80mm×60mm×10mm矩形加工子程序(略)

RET;子程序结束,返回主程序

L3372.SPF;双曲线类零件曲面加工R参数子程序(见上)

RET;R参数子程序结束,返回主程序

3)FANUC 0i数控系统。

主程序如下:

O××××;程序名

N010 T01 M06;调用1号刀(ϕ25mm立铣刀)

N015 G17 G90 G21 G94 G54 G40 G49 G80;程序运行初始状态设置

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

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

N030 G65 P0730;调用80mm×40mm×10mm矩形加工子程序

N035 M06 T02;调用2号刀(ϕ16mm立铣刀)

N040 G43 G00 Z50.0 H02 S500 M03 D02;建立长度补偿,主轴正转,转速500r/min

N045 G65 P3372 X48 Y55 U14.841 V-25 H-10 R2 A8 B16 C80 D8 F150 K1;调用双曲线类零件曲面加工程序进行双曲线粗加工

N050 G51.1 X50.0 Y40.0;X轴、Y轴镜像,镜像位置为(50.0,40.0)

N055 G65 P3372 X48 Y55 U14.841 V-25 H-10 R2 A8 B16 C80 D8 F150 K1;调用双曲线类零件曲面加工程序进行双曲线粗加工

N060 G50.1;取消镜像

N065 S600 M03 D03;主轴正转,转速800r/min,调用3号刀补

N070 G65 P3372 X48 Y55 U14.841 V-25 H-10 R2 A8 B16 C80 D8 F100 K0.5;调用双曲线类零件曲面加工程序进行双曲线精加工

N075 G51.1 X50.0 Y40.0;X轴、Y轴镜像,镜像位置为(48.0,55.0)

N080 G65 P3372 X48 Y55 U14.841 V-25 H-10 R2 A8 B16 C80 D8 F100 K0.5;调用双曲线类零件曲面加工程序进行双曲线精加工

N085 G50.1;取消镜像

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

N095 G49;取消刀具长度补偿

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

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

O0730;80mm×40mm×10mm矩形加工子程序(略)

M99;子程序结束,返回主程序

O3372;双曲线类零件曲面加工程序(见上)

M99;子程序结束,返回主程序

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

我要反馈