编制图3-89所示铣削双曲线类零件的曲面通用程序。假设双曲线的实半轴为a、虚半轴为b,双曲线的一般方程为X2/a2-Y2/b2=1,最终加工深度为H。
图3-89 双曲线类的曲面零件示意图
a)零件图 b)效果图
工艺分析:加工此类零件曲面,一般先将工件坐标原点偏置到双曲线的对称中心,如双曲线曲面的对称中心轴与工件坐标系的X轴成一角度,则再将工件坐标系进行旋转;采用直线逼近(也叫拟合),在Y向分段,以0.1~0.5mm为一个步距,并把Y作为自变量(参数)。为了适应不同的双曲线(即不同的实、虚轴)、不同的起始点和不同的步距,下面编制一个只用变量不用具体数值的宏程序,然后在主程序中呼出该宏程序的用户宏指令段为上述变量赋值。这样,对于不同的双曲线、不同的起始点和不同的步距,不必更改宏程序,而只需修改主程序中用户宏指令段内的赋值数据就可以了。注意:为了保证双曲线曲面的精度,以Y值为循环条件的判断,使每循环一次的Y值变化为均值。假设刀具切削选择不对称顺铣方式(逆时针),即起点坐标在第一或第三象限。
由以上工艺分析,可画出图3-90所示该宏程序的结构流程框图。
图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。试用变量(或参数)编写出加工此类零件的宏程序。
图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;子程序结束,返回主程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。