编制图3-92所示铣削抛物线类零件的曲面通用程序,假设抛物线的开口距离为2V,抛物线的一般方程为Y2=2PX(或Y2=-2PX),最终加工深度为H。
工艺分析:加工此类零件曲面,一般先将工件坐标原点偏置到抛物线的顶点,如抛物线的轴与工件坐标系的X轴成一角度,则再将工件坐标系的X轴旋转至抛物线的轴重合;采用直线逼近(也叫拟合)在Y向分段,以0.1~0.5mm为一个步距,并把Y作为自变量(参数)。为了适应不同的抛物线(即不同的抛物线轴)、不同的起始点和不同的步距,下面编制一个只用变量不用具体数值的宏程序,然后在主程序中呼出该宏程序的用户宏指令段为上述变量赋值。这样,对于不同的抛物线、不同的起始点和不同的步距,不必更改宏程序,而只要修改主程序中用户宏指令段内的赋值数据就可以了。注意:为了保证抛物线曲面的精度,以Y值为循环条件的判断,使每循环一次的Y值变化为均值。
由以上工艺分析,可画出图3-93所示该宏程序的结构流程框图。

图3-92 抛物线类曲面的零件示意图
a)零件图 b)效果图
1.HNC—21/22M华中世纪星数控系统对铣削抛物线类零件的曲面用户宏程序
局部变量含义:
#23=X0;X0—抛物线顶点离工件坐标原点的横向绝对坐标值
#24=Y0;Y0—抛物线顶点离工件坐标原点的纵向绝对坐标值
#20=U;U—抛物线起点离顶点的横向距离值
#21=V;V—抛物线起点离顶点的纵向距离值
#7=H;H—最终加工深度
#17=R;R—安全高度
#15=P;P—焦参数
#1=β;β—抛物线对称轴与X轴的夹角
#5=F;F—进给速度
#3=D;D—刀具半径
#10=K;K—步距
%3373;宏程序号
N010 #30=#20;抛物线起点的X初始值赋给中间变量#30

图3-93 抛物线类零件曲面宏程序的结构流程框图
N015 #31=#21;抛物线起点的Y绝对坐标值赋给中间变量#31
N018 #101=#3;将刀具半径值赋给中间变量#101
N020 G68 X[#23] Y[#24] P[#1];将工件坐标轴旋转到与抛物线轴中心重合
N025 G00 X[#23+2*#30] Y[#24+#31];将刀具移动到抛物线起点一旁
N030 IF #31LT0;如果#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];刀具以工进速度下降到背吃刀量
N046 G41 G01 X[#23+[#31-#10]*[#31-#10]/[2*#15]] Y[#24+#31-#10] F[#5] D101;将刀具直线插补到抛物线曲线起点的延长线上
N050 WHILE #31LE [-#21];如果#31大于-#21时,则程序跳转到N072程序段
N055 G64 G01 X[#23+#30] Y[#24+#31] F[#5];将刀具移动到抛物线起点
N060 #31=#31+#10;Y坐标值叠加一个步距
N065 #30=[#31*#31]/[2*#15];X坐标计算(X=Y2/(2P))
N070 ENDW;返回循环体
N072 G01 G90 X[#23+[#31+#10]*[#31+#10]/[2*#15]] G91 Y[#10];刀具沿曲线终点的延长线插补离开#10
N075 ELSE;程序跳转到N130程序段
N080 G90 G00 X[#23+#30+2*#3] Y[#24+#31+#3];指令刀具移到刀具起刀点
N085 Z[#17];刀具快速下降到工件上方安全距离
N090 G01 Z[#7] F[3*#5];刀具以工进速度下降到背吃刀量
N092 G42 G01 X[#23+[#31+#10]*[#31+#10]/[2*#15]] Y[#24+#31+#10] F[#5] D101;将刀具直线插补到抛物线曲线起点的延长线上
N095 WHILE#31GE[-#24];如果#31小于-#24时,则程序跳转到N120程序段
N100 G64 G01 X[#23+#30] Y[#24+#31] F[#5];将刀具移动到抛物线起点
N105 #31=#31-#10;Y坐标值叠减一个步距
N110 #30=[#31*#31]/[2*#15];X坐标计算(X=Y2/(2P))
N115 ENDW;返回循环体
N120 G01 G90 X[#23+[#31-#10]*[#31-#10]/[2*#15]] G91 Y[-#10];刀具沿曲线终点的延长线插补离开#10
N125 ENDIF;
N130 G00 Z100;快速抬刀
N135 G40 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—安全高度
R16=P;P—焦参数
R2=β;β—抛物线轴与工件坐标系X轴的夹角
R7=D;D—刀具半径
R9=F;F—进给速度
R6=K;K—步距
L3373.SPF;R参数子程序名
N010 R30=R21;抛物线起点的X初始值赋给中间变量R30
N020 R31=R22;抛物线起点的Y初始值赋给中间变量R31
N018 R101=R7;将刀具半径值赋给中间变量R101
N020 TRANS X=R24 Y=R25;将工件坐标系偏移到抛物线顶点,建立局部工件坐标系
N025 AROT RPL=R2;以抛物线顶点为旋转中心,将工件坐标系旋转β
N030 G00 X=2*R30 Y=R31;将刀具移动到抛物线起点旁
N035 IF R31>0 GOTOF MARKE4;如果R31(初始值)大于0,则程序跳转到MARKE4程序段
N040 G90 G00 X=R30+2*R7 Y=R31-R7;指令刀具移到刀具起刀点
N045 Z=R18;刀具快速下降到工件上方安全距离
N050 G01 Z=R11 F=3*R9;刀具以工进速度下降到背吃刀量
N052 G41 G01 X=[[R31-R6]*[R31-R6]/[2*R16]] Y=[R31-R6]F=R9 D=R101;将刀具直线插补到抛物线曲线起点的延长线上
N055 MARKE1:G64 G01 X=R30 Y=R31 F=R9;左刀补到抛物线起点
N060 R31=R31+R6;步距叠加(Y)
N065 R30=[R31*R31]/[2*R16];抛物线上任意一点的X绝对坐标值(X=Y2/(2P))
N070 IF R31<=-R22 GOTOB MARKE1;如果R31(初始值)小于或等于-R22(终点值),则程序跳转到MARKE1程序段
N072 G01 G90 X=[[R31+R6]*[R31+R6]/[2*R16]]G91 Y=R61;刀具沿曲线终点的延长线插补离开R6
N075 GOTOF MARKE2;无条件跳转到MARKE2程序段
N080 MARKE4:G90 G00 X=R30+2*R7 Y=R31+R7;指令刀具移到刀具起刀点
N085 Z=R18;刀具快速下降到工件上方安全距离
N090 G01 Z=R11 F=3*R9;
N092 G42 G01 X=[[R31+R6]*[R31+R6]/[2*R16]] Y=[R31+R6] F=R9 D=R101;将刀具直线插补到抛物线曲线起点的延长线上
N095 MARKE3:G64 G42 G01 X=R30 Y=R31 F=R9 D=R101;右刀补到抛物线起点
N100 R31=R31-R6;步距叠减
N105 R30=[R31*R31]/[2*R16];抛物线上任意一点的X绝对坐标值(X=Y2/(2P))
N110 IF R31>=-R22 GOTOB MARKE3;如果R31(初始值)大于或等于-R22(终点值),则程序跳转到MARKE3程序段
N115 G01 G90 X=[[R31-R6]*[R31-R6]/[2*R16]] G91 Y=-R6;刀具沿曲线终点的延长线插补离开R6
N120 MARKE2 G00 Z100;快速抬刀
N125 G40;取消刀具半径补偿
N130 TRANS;取消坐标系旋转和局部坐标系
N135 RET;R参数子程序结束并返回主程序
3.FANUC0i数控系统对铣削抛物线类零件的曲面用户宏程序
自变量含义:
#24=X0;X0—抛物线顶点离工件坐标原点的横向绝对坐标值
#25=Y0;Y0—抛物线顶点离工件坐标原点的纵向绝对坐标值
#21=U;U—抛物线起点离顶点的横向距离值
#22=V;V—抛物线起点离顶点的纵向距离值
#11=H;H—最终加工深度
#18=R;R—安全高度
#19=P;P—焦参数
#2=β;β—抛物线轴与工件坐标系X轴的夹角
#7=D;D—抛物线起点的Y初始值
#9=F;F—进给速度
#6=K;K—步距
O3373;宏程序名
N010 #30=#21;抛物线起点的X初始值赋给中间变量#30
N020 #31=#22;抛物线起点的Y绝对坐标值赋给中间变量#31
N018 #101=#7;将刀具半径值赋给中间变量#101
N020 G52 X#24 Y#25;将工件坐标系偏移到抛物线顶点,建立局部工件坐标系
N025 G68 X0 Y0 R#2;以抛物线顶点为旋转中心,将工件坐标系旋转β
N030 G00 X[2*#30] Y#31;将刀具移动到抛物线起点旁
N035 IF [#31GT0] GOTO85;如果#31(初始值)大于0,则跳转到N085程序段
N040 G90 G00 X[#30+2*#7] Y[#31-#7];指令刀具移到刀具起刀点
N045 Z#18;刀具快速下降到工件上方安全距离
N050 G01 Z#11 F[3*#9];刀具以工进速度下降到背吃刀量
N052 G41 G01 X[[#31-#6]*[#31-#6]/[2*#19]] Y[#31-#6] F#9D#101;将刀具直线插补到抛物线曲线起点的延长线上
N055 WHILE [#31LE[-#22]] DO1;如果#31大于-#22时,则程序跳转到N078程序段
N060 G64 G01 X#30 Y#31 F#9;将刀具移动到抛物线起点
N065 #31=#31+#6;Y坐标值叠加一个步距
N070 #30=[#31*#31]/[2*#19];X坐标计算(X=Y2/(2P))
N075 END1;返回循环体
N078 G01 G90 X[[#31+#6]*[#31+#6]/[2*#19]] G91 Y#6;刀具沿曲线终点的延长线插补离开#6
N080 GOTO130;无条件转移到N130
N085 G90 G00 X[#30+2*#7] Y[#31+#7];指令刀具移到刀具起刀点
N090 Z#18;刀具快速下降到工件上方安全距离
N095 G01 Z#11 F[3*#9];刀具以工进速度下降到背吃刀量
N096 G42 G01 X[[#31+#6]*[#31+#6]/[2*#19]] Y[#31+#6] F#9D#101;将刀具直线插补到抛物线曲线起点的延长线上
N100 WHILE [#31GE[-#22]] DO2;如果#31小于-#22时,则程序跳转到N125程序段
N105 G64 G42 G01 X#30 Y#31 F#9;将刀具移动到抛物线起点
N110 #31=#31-#6;Y坐标值叠减一个步距
N115 #30=[#31*#31]/[2*#19];X坐标计算(X=Y2/(2P))
N120 END2;返回循环体(https://www.xing528.com)
N125 G01 G90 X[[#31-#6]*[#31-#6]/[2*#19]] G91 Y-#6;刀具沿曲线终点的延长线插补离开#6
N130 G00 Z100;快速抬刀
N135 G69;取消刀具补偿
N140 G52 X0 Y0;取消局部坐标系
N145 M99;程序结束
4.编程实例
在铣床或加工中心上加工图3-94所示抛物线零件的曲面,抛物线的开口距离为30mm,抛物线的一般方程为Y2=10X,最终加工深度为10mm,抛物线轴与工件坐标系X轴的夹角为45°,零件毛坯尺寸(长×宽×高)为80mm×80mm×30mm。试用变量(或参数)编写出加工此类零件的宏程序。

图3-94 抛物线曲面编程实例零件示意图
a)尺寸图 b)效果图
解:
(1)工艺设计 建立工件坐标系,确定毛坯零件的中心为工件坐标系X、Y轴的零点,工件表面为工件坐标系Z轴的零点,机床坐标系偏置值设置在G54寄存器中。
(2)加工顺序 先用ϕ8mm三齿立铣刀去余量,再用ϕ8mm的四齿立铣刀粗、精加工抛物线曲面。
先将工件坐标原点偏置到抛物线顶点,再将工件坐标系的X轴旋转45°与抛物线轴重合;根据抛物线一般方程(Y2=10X),采用直线逼近(也叫拟合)在Y向分段。粗加工时,以1mm为一个步距;精加工时,以0.1~0.5mm为一个步距,并把Y作为自变量。最后在主程序中呼出该宏程序的用户宏指令段为上述变量赋值。
粗、精加工都采用顺铣削方式;粗加工时,主轴转速600r/min,铣削进给速度120mm/min;精加工时,主轴转速800r/min,铣削进给速度80mm/min;主轴起始位置在零件上方50.0mm处,刀具起始切削安全高度在零件上方2.0mm处,精加工余量为0.5mm。
(3)零件加工程序
1)HNC—21/22M华中世纪星数控系统。
主程序如下:
O××××;文件名
%××××;程序号
N010 T01 M06;调用1号刀(ϕ8mm三齿立铣刀)
N015 G17 G90 G21 G94 G54 G40 G49 G80;程序运行初始状态设置
N020 G43 G00 Z50.0 H01 S600 M03;建立刀具长度补偿,主轴正转,转速为600r/min
N025 X0.0 Y0.0 M07 D01;刀具快速移动到工件坐标零点,打开切削液
N030 M98 P0730;调用去余量加工子程序
N035 M06 T02;调用2号刀(ϕ8mm四齿立铣刀)
N040 G43 G00 Z50.0 H02 S800 M03 D02;建立刀具长度补偿,主轴正转,转速800r/min
N055 M98 P3373 X33.588 Y33.588 U22.5 V15 H-10 R2 P5 B225 D4 F120 K1;调用抛物线类零件曲面加工子程序在第一象限粗加工
N065 M98 P3373 X-33.588 Y33.588 U22.5 V15 H-10 R2 P5 B-45 D4 F120 K1;调用抛物线类零件曲面加工子程序在第二象限粗加工
N075 M98 P3373 X-33.588 Y-33.588 U22.5 V15 H-10 R2 P5 B45 D4 F120 K1;调用抛物线类零件曲面加工子程序在第三象限粗加工
N085 M98 P3373 X33.588 Y-33.588 U22.5 V15 H-10 R2 P5 B-225 D4 F120 K1;调用抛物线类零件曲面加工子程序在第四象限粗加工
N095 M98 P0731…;调用圆锥台加工子程序粗加工
N100 S800 M03 D03;主轴正转,转速800r/min
N105 M98 P3373 X33.588 Y33.588 U22.5 V15 H-10 R2 P5 B225 D4 F100 K0.5;调用抛物线类零件曲面加工子程序在第一象限精加工
N106 M98 P3373 X-33.588 Y33.588 U22.5 V15 H-10 R2 P5 B-45 D4 F100 K0.5;调用抛物线类零件曲面加工子程序在第二象限精加工
N115 M98 P3373 X-33.588 Y-33.588 U22.5 V15 H-10 R2 P5 B45 D4 F100 K0.5;调用抛物线类零件曲面加工子程序在第三象限精加工
N125 M98 P3373 X33.588 Y-33.588 U22.5 V15 H-10 R2 P5 B-225 D4 F100 K0.5;调用抛物线类零件曲面加工子程序在第四象限精加工
N135 M98 P0731…;调用圆锥台加工子程序精加工
N140 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭
N145 G49;取消刀具长度补偿
N150 X0 Y0 M05;刀具退回工件坐标零点,主轴停止
N155 M30;程序结束并返回程序开头
%0730;去余量加工子程序(略)
︙
M99;子程序结束,返回主程序
%0731;圆锥台加工子程序(略)
︙
M99;子程序结束,返回主程序
%3373;抛物线类零件曲面加工程序(见上)
︙
M99;子程序结束,返回主程序
2)SINUMERIK 802D数控系统。
主程序如下:
FZG××××;程序名
N010 M06 T1 D1;调用1号刀(ϕ8mm三齿立铣刀)
N015 G17 G90 G71 G94 G54 G40;程序运行初始状态设置
N020 G00 Z50.0 S600 M03;主轴正转,转速为600r/min
N025 X0.0 Y0.0 M07;刀具快速移动到工件坐标零点,打开切削液
N030 L0730;调用去余量加工子程序
N035 M06 T2 D1;调用2号刀(ϕ8mm四齿立铣刀)
N040 G00 Z50.0 S800 M03;主轴正转,转速为800r/min
N045 R24=33.588;抛物线顶点的X绝对坐标值
R25=33.588;抛物线顶点的Y绝对坐标值
R21=22.5;抛物线顶点的X绝对坐标值
R22=15.0;抛物线顶点的Y绝对坐标值
R11=-10.0;最终加工深度
R18=2.0;安全高度
R16=5.0;焦参数
R2=225.0;抛物线轴与工件坐标系X轴的夹角(第一象限)
R7=4.0;刀具半径
R9=120.0;进给速度
R6=1.0;步距
N050 L3373;调用抛物线类零件曲面R参数加工子程序在第一象限粗加工
N055 R24=-33.588 R2=-45.0;参数设置
N060 L3373;调用抛物线类零件曲面R参数加工子程序在第二象限粗加工
N065 R25=-33.588 R2=45.0;参数设置
N070 L3373;调用抛物线类零件曲面R参数加工子程序在第三象限粗加工
N075 R24=33.588 R2=-225.0;参数设置
N080 L3373;调用抛物线类零件曲面R参数加工子程序在第四象限粗加工
N090 L0731;调用圆锥台加工子程序粗加工
N095 M03 S800 D02;主轴正转,转速800r/min,调用2号刀补
N100 R9=80.0 R6=0.5 R25=33.588 R2=225.0;参数设置
N105 L3373;调用抛物线类零件曲面R参数加工子程序在第一象限精加工
N110 R24=-33.588 R2=-45.0;参数设置
N115 L3373;调用抛物线类零件曲面R参数加工子程序在第二象限精加工
N120 R25=-33.588 R2=45.0;参数设置
N125 L3373;调用抛物线类零件曲面R参数加工子程序在第三象限精加工
N130 R24=33.588 R2=-225.0;参数设置
N135 L3373;调用抛物线类零件曲面R参数加工子程序在第四象限精加工
N145 L0731;调用圆锥台加工子程序精加工
N150 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭
N155 X0 Y0 M05;刀具退回工件坐标零点,主轴停止
N158 D00;取消刀具长度补偿
N160 M02;程序结束并返回程序开头
L0730.SPF;去余量加工子程序(略)
︙
RET;子程序结束,返回主程序
L0731.SPF;圆锥台加工子程序(略)
︙
RET;子程序结束,返回主程序
L3373.SPF;抛物线类零件曲面加工R参数子程序(见上)
︙
RET;R参数子程序结束,返回主程序
3)FANUC 0i数控系统。
主程序如下:
O××××;程序名
N010 T01 M06;调用1号刀(ϕ8mm三齿立铣刀)
N015 G17 G90 G21 G94 G54 G40 G49 G80;程序运行初始状态设置
N020 G43 G00 Z50.0 H01 S600 M03;建立刀具长度补偿,主轴正转,转速为600r/min
N025 X0.0 Y0.0 M07 D01;刀具快速移动到工件坐标零点,打开切削液
N030 G65 P0730;调用去余量加工子程序
N035 M06 T02;调用2号刀(ϕ8mm四齿立铣刀)
N040 G43 G00 Z50.0 H02 S500 M03 D02;刀具长度补偿,转速500r/min,正转,用2号刀补
N045 G65 P3373 X33.588 Y33.588 U22.5 V15 H-10 R2 S5 B225 D4 F120 K1;调用抛物线类零件曲面加工子程序在第一象限粗加工
N055 G65 P3373 X-33.588 Y33.588 U22.5 V15 H-10 R2 S5 B-45 D4 F120 K1;调用抛物线类零件曲面加工子程序在第二象限粗加工
N065 G65 P3373 X-33.588 Y33.588 U22.5 V15 H-10 R2 S5 B45 D4 F120 K1;调用抛物线类零件曲面加工子程序在第三象限粗加工
N075 G65 P3373 X33.588 Y-33.588 U22.5 V15 H-10 R2 S5 B-225 D4 F120 K1;调用抛物线类零件曲面加工子程序在第四象限粗加工
N085 G65 P0731...;调用圆锥台加工子程序粗加工
N090 S800 M03 D03;主轴正转,转速800r/min,调用3号刀补
N095 G65 P3373 X33.588 Y33.588 U22.5 V15 H-10 R2 S5 B225 D4 F100 K0.5;调用抛物线类零件曲面加工子程序在第一象限精加工
N105 G65 P3373 X-33.588 Y33.588 U22.5 V15 H-10 R2 S5 B-45 D4 F100 K0.5;调用抛物线类零件曲面加工子程序在第二象限精加工
N115 G65 P3373 X-33.588 Y-33.588 U22.5 V15 H-10 R2 S5 B45 D4 F100 K0.5;调用抛物线类零件曲面加工子程序在第三象限精加工
N125 G65 P3373 X33.588 Y-33.588 U22.5 V15 H-10 R2 S5 B-225 D4 F100 K0.5;调用抛物线类零件曲面加工子程序在第四象限精加工
N135 G65 P0731...;调用圆锥台加工子程序精加工
N140 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭
N145 G49;取消刀具长度补偿
N150 X0 Y0 M05;刀具退回工件坐标零点,主轴停止
N155 M30;程序结束并返回程序开头
O0730;去余量加工子程序(略)
︙
M99;子程序结束,返回主程序
O0731;圆锥台加工子程序(略)
︙
M99;子程序结束,返回主程序
O3373;抛物线类零件曲面加工程序(见上)
︙
M99;子程序结束,返回主程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
