首页 理论教育 抛物线类零件曲面的宏程序编程技巧

抛物线类零件曲面的宏程序编程技巧

时间:2026-01-23 理论教育 Jonker 版权反馈
【摘要】:编制图3-92所示铣削抛物线类零件的曲面通用程序,假设抛物线的开口距离为2V,抛物线的一般方程为Y2=2PX,最终加工深度为H。为了适应不同的抛物线、不同的起始点和不同的步距,下面编制一个只用变量不用具体数值的宏程序,然后在主程序中呼出该宏程序的用户宏指令段为上述变量赋值。这样,对于不同的抛物线、不同的起始点和不同的步距,不必更改宏程序,而只要修改主程序中用户宏指令段内的赋值数据就可以了。

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

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

我要反馈