我的机械网

搜索
查看: 1068|回复: 9

[推荐] 数控高级编程讲义

[复制链接]
发表于 2017-11-1 20:42:08 | |阅读模式
各位网友请注意:我的机械网所有附件、百度网盘提取码、机械资料、PDF资料、压缩包文件均需要回帖后才能下载!
行切和环切
在数控加工中,行切和环切是典型的两种走刀路线。
行切在手工编程时多用于规则矩形平面、台阶面和矩形下陷加工,对非矩形区域的行切一般用自动编程实现。
环切主要用于轮廓的半精、精加工及粗加工,用于粗加工时,其效率比行切低,但可方便的用刀补功能实现。
1.1环切
环切加工是利用已有精加工刀补程序,通过修改刀具半径补偿值的方式,控制刀具从内向外或从外向内,一层一层去除工件余量,直至完成零件加工。
编写环切加工程序,需解决三个问题:
环切刀具半径补偿值的计算;
环切刀补程序工步起点(下刀点)的确定;
如何在程序中修改刀具半径补偿值。
1.1.1环切刀具半径补偿值的计算
确定环切刀具半径补偿值可按如下步骤进行:
1、确定刀具直径、走刀步距和精加工余量;
2、确定半精加工和精加工刀补值;
3、确定环切第一刀的刀具中心相对零件轮廓的位置(第一刀刀补值);
4、根据步距确定中间各刀刀补值。

示例:用环切方案加工图1-1零件内槽,环切路线为从内向外。
环切刀补值确定过程如下:
1、根据内槽圆角半径R6,选取φ12键槽铣刀,精加工余量为0.5mm,走刀步距取10mm。
2、由刀具半径6,可知精加工和半精加工的刀补半径分别为6和6.5mm;
3、如图所示,为保证第一刀的左右两条轨迹按步距要求重叠,则两轨迹间距离等于步距,则该刀刀补值=30-10/2=25mm。
4、根据步距确定中间各刀刀补值,
第二刀刀补值=25-10=15mm
第三刀刀补值=15-10=5,该值小于半精加工刀补值,说明此刀不需要。
由上述过程,可知,环切共需4刀,刀补值分别为25、15、6.5、6mm。
1.1.2环切刀补程序工步起点(下刀点)的确定
对于封闭轮廓的刀补加工程序来说,一般选择轮廓上凸出的角作为切削起点,对内轮廓,如没有这样的点,也可以选取圆弧与直线的相切点,以避免在轮廓上留下接刀痕。在确定切削起点后,再在该点附近确定一个合适的点,来完成刀补的建立与撤消,这个专用于刀补建立与撤消的点就是刀补程序的工步起点,一般情况下也是刀补程序的下刀点。
一般而言,当选择轮廓上凸出的角作为切削起点时,刀补程序的下刀点应在该角的角平分线上(45°方向),当选取圆弧与直线的相切点或某水平/垂直直线上的点作为切削起点时,刀补程序的下刀点与切削起点的连线应与直线部分垂直。在一般的刀补程序中,为缩短空刀距离,下刀点与切削起点的距离比刀具半径略大一点,下刀时刀具与工件不发生干涉即可。但在环切刀补程序中,下刀点与切削起点的距离应大于在上一步骤中确定的最大刀具半径补偿值,以避免产生刀具干涉报警。如对图1-1零件,取R30圆弧圆心为编程零点,取R30圆弧右侧端点作为切削起点,如刀补程序仅用于精加工,下刀点取在(22,0)即可,该点至切削起点距离=8mm。但在环切时,由于前两刀的刀具半径补偿值大于8mm,建立刀补时,刀具实际运动方向是向左,而程序中指定的运动方向是向右,撤消刀补时与此类似,此时数控系统就会产生刀具干涉报警。因此合理的下刀点应在编程零点(0,0)。
1.1.3在程序中修改刀具半径补偿值
在程序中修改刀具半径补偿值可采用如下方法
1、在刀补表中设好环切每一刀的刀具半径补偿值,然后在刀补程序中修改刀具补偿号。
示例1.1 直接在G41/G42程序段修改刀具补偿号
示例1.2 用宏变量表示刀具补偿号,利用循环修改刀具补偿号
主程序
%1000
G54 G90 G0 G17 G40;
Z50 M03 S1000;
X0 Y0;
Z5 M08;
G1 Z-10 F60;
G41 X30 D1 F100;
M98 P0010;
G41 X30 D2 F100;
M98 P0010;
G41 X30 D3 F100;
M98 P0010;
G41 X30 D4 F100;
M98 P0010;
M05 M09;
G0 Z50;
M30;
子程序
%0010
G90 G1 Y60;
X-30;
Y0;
G3 X30 R30;
G0 G40 X0;
M99;
补偿号刀具补偿半径
125
215
36.5
46
示例1.2 用宏变量表示刀具补偿号,利用循环修改刀具补偿号
%100
G54 G90 G0 G17 G40;
Z50 M03 S1000;
X0 Y0;
Z5 M08;
G1 Z-10 F60;
#1=1; 刀补号变量
WHILE #1 LE 4 DO1;
G41 X30 D#1 F100;
Y60;
X-30;
Y0;
G3 X30 R30;
G0 G40 X0;
#1=#1+1;
End1;
Z50;
M30;
2、使用G10修改刀具补偿半径
示例1.3,使用G10和子程序完成环切
主程序
%100
G54 G90 G0 G17 G40;
Z50 M03 S1000;
X0 Y0;
Z5 M08;
G1 Z-10 F60;
G10 L10 P1 R25;
M98 P0010;
G10 L10 P1 R15;
M98 P0010;
G10 L10 P1 R6.5;
M98 P0010;
G10 L10 P1 R6;
M98 P0010;
M05 M09;
G0 Z50;
M30;
子程序
%0010
G90 G41 X30 D1 F100;
Y60;
X-30;
Y0;
G3 X30 R30;
G0 G40 X0;
M99;
示例1.4 使用G10和循环完成环切
%1000
G54 G90 G0 G17 G40;
Z50 M03 S1000;
X0 Y0;
Z5 M08;
G1 Z-10 F60;
#10=25 ;粗加工起始刀补值
#11=10  ;步距
#12=6 ;精加工刀补值
#1=2   ;粗、精加工控制
WHILE [#1 GE 1] DO1;
WHILE #10 GE #12 DO2;
G10 L10 P1 R#10;
G41 X30 D1 F100;
Y60;
X-30;
Y0;
G3 X30 R30;
G0 G40 X0;
#10=#10-#11;
END2;
#10=#12+0.5 ;半精加工刀补值
#11=0.5;
#1=#1-1;
END1;
Z50;
M30;
3、直接用宏变量对刀补值赋值
示例1.5 直接用宏变量对刀补值赋值,利用循环完成环切。
%1000
G54 G90 G0 G17 G40;
Z50 M03 S1000;
X0 Y0;
Z5 M08;
G1 Z-10 F60;
#10=25 ;粗加工起始刀补值
#11=9.25 ;步距
#12=6 ;精加工刀补值
#1=2   ;粗、精加工控制
WHILE[ #1 GE 1] DO1;
WHILE[ #10 GE #12] DO2;
G41 X30 D[#10] F100;
Y60;
X-30;
Y0;
G3 X30 R30;
G0 G40 X0;
#10=#10-#11;
END2;
#10=#12 ;半精加工刀补值
#1=#1-1;
END1;
Z50;
M30;
说明:在G41 X30 d#10中,#10表示刀具补偿号,而在G41 X30 d[#10]中,#10表示刀具半径补偿值,此用法在FANUC说明书中没有,但实际使用的结果确实如此,如所用系统不支持此用法,就只用示例1.4用法。
1.1.4 环切宏程序
当使用刀具半径补偿来完成环切时,不管我们采用何种方式修改刀具半径补偿值,由于受刀补建、撤的限制,它们都存在走刀路线不够简洁,空刀距离较长的问题。对于象图1-1所示的轮廓,其刀具中心轨迹很好计算,此时如用宏程序直接计算中心轨迹路线,则可简化走刀路线,缩短空刀距离。
示例1.6 完全使用宏程序的环切加工

如图1-2所示,用#1、#2表示轮廓左右和上边界尺寸,编程零点在R30圆心,加工起始点放在轮廓右上角(可削除接刀痕)
%1000
G54 G90 G0 G17 G40;
Z50 M03 S100;
#4=30 ;左右边界
#5=60 ;上边界
#10=25 ;粗加工刀具中心相对轮廓偏移量(相当于刀补程序中的刀补值)
#11=9.25 ;步距
#12=6 ;精加工刀具中心相对轮廓偏移量(刀具真实半径)
G0 X[#4-#10-2] Y[#5-#10-2];
Z5;
G1 Z-10 F60;
#20=2 ;
WHILE [#20 GE 2] DO1;
WHILE [#10 GE #12] DO2;
#1=#4-#10 ;左右实际边界
#2=#5-#10 ;上边实际边界
G1 X[#1-2] Y[#2-2] F200;
G3 X#1 Y#2 R2;圆弧切入到切削起点
G1 X[-#1];
Y0;
G3 X#1 R#1;
G1 Y#2;
G3 X[#1-2] Y[#2-2] R2
#10=#10-#11
END2
#10=#12
#20=#20-1
END1
G0 Z50
M30
1.2 行切
一般来说,行切主要用于粗加工,在手工编程时多用于规则矩形平面、台阶面和矩形下陷加工,对非矩形区域的行切一般用自动编程实现。
1.2.1 矩形区域的行切计算
1、矩形平面的行切区域计算

如图所示,矩形平面一般采用图示直刀路线加工,在主切削方向,刀具中心需切削至零件轮廓边,在进刀方向,在起始和终止位置,刀具边沿需伸出工件一距离,以避免欠切。
假定工件尺寸如图所示,采用Φ60面铣刀加工,步距50mm,上、下边界刀具各伸出10mm。则行切区域尺寸为800×560(600+10*2-60)。
2、矩形下陷的行切区域计算

对矩形下陷而言,由于行切只用于去除中间部分余量,下陷的轮廓是采用环切获得的,因此其行切区域为半精加工形成的矩形区域,计算方法与矩形平面类似。
假定下陷尺寸100*80,由圆角R6选Φ12铣刀,精加工余量0.5mm,步距10mm,则半精加工形成的矩形为(100-12*2- 0.5*2)*(80-12*2-0.5*2)=75*55。如行切上、下边界刀具各伸出1mm,则实际切削区域尺寸=75*(55+2-12)=75*45。
1.2.2行切的子程序实现
对于行切走刀路线而言,每来回切削一次,其切削动作形成一种重复,如果将来回切削一次做成增量子程序,则利用子程序的重复可完成行切加工。
1、切削次数与子程序重复次数计算
进刀次数n=总进刀距离/步距=47/10=4.5,实际需切削6刀,进刀5次。
子程序重复次数m=n/2=5/2=2,剩余一刀进行补刀。
步距的调整:步距=总进刀距离/切削次数。
说明:
当实际切削次数约为偶数刀时,应对步距进行调整,以方便程序编写;
当实际切削次数约为奇数刀时,可加1成偶数刀,再对步距进行调整,或直接将剩下的一刀放在行切后的补刀中,此时不需调整步距。
由于行切最后一刀总是进刀动作,故行切后一般需补刀。

2、示例1.7
对图1-4零件,编程零点设在工件中央,下刀点选在左下角点,加工程序如下:
主程序
%1000
G54 G90 G0 G17 G40;
Z50 M03 S800;
G0 X-43.5 Y-33.5; 定位到下刀点
Z5;
G1 Z-10 F100;
M98 P0010;    环切加工,该程序省略
G1 X-37.5 Y-22.5; 行切起点
M98 P0020 L2;  行切加工
G1 X37.5; 补刀
Y22.5
X-37.5
G0 Z50;
M30;
子程序
%0020
G91 G1 X75 F150;
Y10;
X-75;
Y10.;
G90 M99;
1.2.3 行切宏程序实现
对图1-4零件,编程零点设在工件中央,下刀点选在左下角点,加工宏程序如下:
示例1.8(本程序未考虑分层下刀问题)
主程序
%1000
G54 G90 G0 G17 G40
Z50 M03 S800
G65 P9010 A100 B80 C0 D6 Q0.5 K10 X0 Y0 Z-10 F150
G0 Z50
M30
l宏程序调用参数说明:
A(#1)B(#2)-------矩形下陷的长与宽
C(#3)------ -------粗精加工标志,C=0,完成粗精加工,C=1,只完成精加工。
D(#7)--------------刀具半径
Q(#17)------------精加工余量
K(#6)--------------步距
X(#24)Y(#25)----下陷中心坐标
Z(#26)-------------下陷深度
F(#9)--------------走刀速度
宏程序
%9010
#4=#1/2-#7; 精加工矩形半长
#5=#2/2-#7; 精加工矩形半宽
#8=1; 环切次数
IF [#3 EQ 1] GOTO 100;
#4=#4-#17; 半精加工矩形半长
#5=#5-#17; 半精加工矩形半宽
#8=2;
N100 G90 G0 X[#24-#4] Y[#25-#5];
Z5;
G1 Z#26 F#9;
WHILE [#8 GE 1] DO1;
G1 X[#24-#4] Y[#25-#5];
X[#24+#4];
Y[#25+#5];
X[#24-#4];
Y[#25-#5];
#4=#4+#17;
#5=#5+#17;
#8=#8-1;
END1;
IF [#3 EQ 1] GOTO 200;只走精加工,程序结束
#4=#1/2-2*[#7+#17]; 行切左右极限X
#5=#/2-3*#7-2*#17+4; 行切上下极限Y
#8=-#5; 进刀起始位置
G1 X[#24-#4] Y[#25+#8];
WHILE [#8 LT #5 DO1];准备进刀的位置不到上极限时加工
G1 Y[#25+#8]; 进刀
X[#24+#4]; 切削
#8=#8+#6; 准备下一次进刀位置
#4=-#4; 准备下一刀终点X
END1;
G1 Y[#25+#5]; 进刀至上极限,准备补刀
X[#24+#4]; 补刀
G0 Z5;
N200 M99

发表于 2017-12-28 13:32:17 |
伯夷狮子谢谢回忆提供的资料。
发表于 2018-1-6 01:44:28 |
我的机械网(www.mejxw.com)是中国做好的机械论坛!
发表于 2018-1-6 13:52:26 |
爬呀爬123祝我的机械网越办越好!
发表于 2018-12-15 23:08:55 |
回忆

0

主题

5419

回帖

3万

积分

论坛元老

Rank: 8Rank: 8

积分
37463
发表于 2018-12-16 10:25:51 |
1991jian
匿名  发表于 2020-6-12 16:23:04

伯夷狮子谢谢回忆提供的资料。
匿名  发表于 2020-6-12 16:24:00

伯夷狮子谢谢回忆提供的资料。
发表于 2021-12-1 14:49:33 |
楼主写的很经典!

0

主题

5376

回帖

3万

积分

论坛元老

Rank: 8Rank: 8

积分
39127
发表于 2021-12-1 14:49:33 |
看了这么多帖子,第一次看到这么高质量内容!
快速回复 返回顶部 返回列表