1、数控高级编程讲义主讲 周新红数控高级编程讲义 11第一篇 铣工篇 .1专题一 行切和环切 .11.1 环切 .11.1.1 环切刀具半径补偿值的计算 11.1.2 环切刀补程序工步起点(下刀点)的确定 11.1.3 在程序中修改刀具半径补偿值 21.1.4 环切宏程序 .41.2 行切 51.2.1 矩形区域的行切计算 .51.2.2 行切的子程序实现 51.2.3 行切宏程序实现 .6专题二 相同轮廓的重复加工 .82.1 用增量方式完成相同轮廓的重复加工 82.2 用坐标系平移完成相同轮廓的重复加工 .82.3 用宏程序完成相同轮廓的重复加工 9专题三 简单平面曲线轮廓加工 .11专题四
2、简单立体曲面加工 .124.1 球面加工 .124.1.1 外球面加工 134.1.2 内球面加工 144.2 水平圆柱面的加工 .144.2.1 圆柱面的轴向走刀加工 154.2.1 圆柱面的周向走刀加工 16专题五 孔系加工 .175.1 矩形阵列孔系加工 175.2 环形阵列孔系加工 .18第二篇 车工篇 .19专题六 参数编程 .19专题七 方程曲线的车削加工 .207.1 方程曲线车削加工的走刀路线: .207.2 椭圆轮 廓的加工 20附录 FANUC 系统 G 指令和宏指令 21附录 1 刀具补偿值、刀具补偿号及在程序中赋值 G10 211、刀具补偿值的范围 .212、刀具补偿值
3、的存贮 .213、刀具补偿赋值格式: .21附录 2 缩放 G50、G51 .22附录 3 坐标系旋转 G68、G69 24数控高级编程讲义 22附录 4 宏程序 B(custom macro B) 271 宏变量(variables) .272 系统变量 SYSTEM VARIABLES 292.1 接口信号 Interface signals.292.2 刀具补偿值 Tool compensation values .292.3 宏程序报警信息 Macro alarms 302.4 时间信息 .302.5 自动运行控制 .302.6 背景(#3005) Settings 312.7 已加工
4、的零件数 Number of machined parts 322.8 模态信息 Model information.322.9 当前位置 .322.10 工件坐标系补偿值(工件坐标系零点偏置值) .333 算术和逻辑运算 .334 宏语句和 NC 语句 365 分支和循环 365.1 无条件分支 GOTO 语句 375.2 条件分支 IF 语句 .375.3 循环 WHILE 语句 386 调用宏程序 MACRO CALL .296.1 简单调用 G65 306.2 模态调用 G66 .336.3 使用 G 代码的宏调用 .356.4 使用 M 代码的宏调用 .356.5 使用 M 代码的子
5、程序调用 .366.6 使用 T 代码的子程序调用 376.7 例程 .37数控高级编程讲义 11第一篇 铣工篇专题一 行切和环切在数控加工中,行切和环切是典型的两种走刀路线。行切在手工编程时多用于规则矩形平面、台阶面和矩形下陷加工,对非矩形区域的行切一般用自动编程实现。环切主要用于轮廓的半精、精加工及粗加工,用于粗加工时,其效率比行切低,但可方便的用刀补功能实现。1.1 环切环切加工是利用已有精加工刀补程序,通过修改刀具半径补偿值的方式,控制刀具从内向外或从外向内,一层一层去除工件余量,直至完成零件加工。编写环切加工程序,需解决三个问题: 环切刀具半径补偿值的计算; 环切刀补程序工步起点(下
6、刀点)的确定; 如何在程序中修改刀具半径补偿值。1.1.1 环切刀具半径补偿值的计算确定环切刀具半径补偿值可按如下步骤进行:1、确定刀具直径、走刀步距和精加工余量;2、确定半精加工和精加工刀补值;3、确定环切第一刀的刀具中心相对零件轮廓的位置(第一刀刀补值) ;4、根据步距确定中间各刀刀补值。示例:用环切方案加工图 1-1 零件内槽,环切路线为从内向外。环切刀补值确定过程如下:1、根据内槽圆角半径 R6,选取 12键槽铣刀,精加工余量为 0.5mm,走刀步距取 10mm。2、由刀具半径 6,可知精加工和半精加工的刀补半径分别为 6 和 6.5mm;3、如图所示,为保证第一刀的左右两条轨迹按步距
7、要求重叠,则两轨迹间距离等于步距,则该刀刀补值=30-10/2=25mm。4、根据步距确定中间各刀刀补值,第二刀刀补值=25-10=15mm第三刀刀补值=15-10=5,该值小于半精加工刀补值,说明此刀不需要。由上述过程,可知,环切共需 4 刀,刀补值分别为 25、15、6.5、6mm。1.1.2 环切刀补程序工步起点(下刀点)的确定对于封闭轮廓的刀补加工程序来说,一般选择轮廓上凸出的角作为切削起点,对内轮廓,如没有这样的点,也可以选取圆弧与直线的相切点,以避免在轮廓上留下接刀痕。110409080R6R30102010图 1-1 数控高级编程讲义 22在确定切削起点后,再在该点附近确定一个合
8、适的点,来完成刀补的建立与撤消,这个专用于刀补建立与撤消的点就是刀补程序的工步起点,一般情况下也是刀补程序的下刀点。一般而言,当选择轮廓上凸出的角作为切削起点时,刀补程序的下刀点应在该角的角平分线上(45方向) ,当选取圆弧与直线的相切点或某水平/垂直直线上的点作为切削起点时,刀补程序的下刀点与切削起点的连线应与直线部分垂直。在一般的刀补程序中,为缩短空刀距离,下刀点与切削起点的距离比刀具半径略大一点,下刀时刀具与工件不发生干涉即可。但在环切刀补程序中,下刀点与切削起点的距离应大于在上一步骤中确定的最大刀具半径补偿值,以避免产生刀具干涉报警。如对图 1-1 零件,取 R30 圆弧圆心为编程零点
9、,取 R30 圆弧右侧端点作为切削起点,如刀补程序仅用于精加工,下刀点取在(22,0)即可,该点至切削起点距离=8mm。但在环切时,由于前两刀的刀具半径补偿值大于 8mm,建立刀补时,刀具实际运动方向是向左,而程序中指定的运动方向是向右,撤消刀补时与此类似,此时数控系统就会产生刀具干涉报警。因此合理的下刀点应在编程零点(0,0) 。1.1.3 在程序中修改刀具半径补偿值在程序中修改刀具半径补偿值可采用如下方法 1、在刀补表中设好环切每一刀的刀具半径补偿值,然后在刀补程序中修改刀具补偿号。示例 1.1 直接在 G41/G42 程序段修改刀具补偿号主程序%1000G54 G90 G0 G17 G4
10、0;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;子程序%0010G90 G1 Y60;X-30;Y0;G3 X30 R30;G0 G40 X0;M99;补偿号 刀具补偿半径1 252 153 6.54 6示例 1.2 用宏变量表示刀具补偿号,利用循环修改刀具补偿号数控高级编程讲义 33%100G54 G90 G0 G1
11、7 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 和子程序完成环切主程序%100G54 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
12、;G10 L10 P1 R6.5;M98 P0010;G10 L10 P1 R6;M98 P0010;M05 M09;G0 Z50;M30;子程序%0010G90 G41 X30 D1 F100;Y60;X-30;Y0;G3 X30 R30;G0 G40 X0;M99;示例 1.4 使用 G10 和循环完成环切%1000G54 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
13、 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 直接用宏变量对刀补值赋值,利用循环完成环切。数控高级编程讲义 44%1000G54 G90 G0 G17 G40;Z50 M03 S1000;X0 Y0;Z5 M08;G1 Z-10 F60;#10=25 ;粗加工起始刀补值#11=9.25 ;步距#12=6 ;精加工刀
14、补值#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 环切宏程序当使用刀具半径补偿来
15、完成环切时,不管我们采用何种方式修改刀具半径补偿值,由于受刀补建、撤的限制,它们都存在走刀路线不够简洁,空刀距离较长的问题。对于象图 1-1 所示的轮廓,其刀具中心轨迹很好计算,此时如用宏程序直接计算中心轨迹路线,则可简化走刀路线,缩短空刀距离。示例 1.6 完全使用宏程序的环切加工如图 1-2 所示,用#1、#2 表示轮廓左右和上边界尺寸,编程零点在 R30 圆心,加工起始点放在轮廓右上角(可削除接刀痕)数控高级编程讲义 55%1000G54 G90 G0 G17 G40;Z50 M03 S100;#4=30 ;左右边界#5=60 ;上边界#10=25 ;粗加工刀具中心相对轮廓偏移量(相当于
16、刀补程序中的刀补值)#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-#11END2#10=#12#20=#20-1END1G0 Z50
17、M304090 80R6R30 102010#1 #210图 1-2 1.2 行切一般来说,行切主要用于粗加工,在手工编程时多用于规则矩形平面、台阶面和矩形下陷加工,对非矩形区域的行切一般用自动编程实现。1.2.1 矩形区域的行切计算 1、矩形平面的行切区域计算如图所示,矩形平面一般采用图示直刀路线加工,在主切削方向,刀具中心需切削至零件轮廓边,在进刀方向,在起始和终止位置,刀具边沿需伸出工件一距离,以避免欠切。数控高级编程讲义 66假定工件尺寸如图所示,采用 60 面铣刀加工,步距 50mm,上、下边界刀具各伸出 10mm。则行切区域尺寸为 800560(600+10*2-60)。 2、矩形
18、下陷的行切区域计算对矩形下陷而言,由于行切只用于去除中间部分余量,下陷的轮廓是采用环切获得的,因此其行切区域为半精加工形成的矩形区域,计算方法与矩形平面类似。假定下陷尺寸 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 行切的子程序实现对于行切走刀路线而言,每来回切削一次,其切削动作形成一种重复,如果将来回切削一次做成增量子程序,则利用子程序的重复可完成行
19、切加工。 1、切削次数与子程序重复次数计算 进刀次数 n=总进刀距离/步距=47/10=4.5 ,实际需切削 6 刀,进刀 5 次。 子程序重复次数 m=n/2=5/2=2,剩余一刀进行补刀。 步距的调整:步距=总进刀距离/切削次数。说明: 当实际切削次数约为偶数刀时,应对步距进行调整,以方便程序编写; 当实际切削次数约为奇数刀时,可加 1 成偶数刀,再对步距进行调整,或直接将剩下的一刀放在行切后的补刀中,此时不需调整步距。 由于行切最后一刀总是进刀动作,故行切后一般需补刀。 2、示例 1.7对图 1-4 零件,编程零点设在工件中央,下刀点选在左下角点,加工程序如下:精 加 工 刀 具中 心
20、轨 迹 半 精 加 工 刀具 中 心 轨 迹 半 精 加 工 形成 的 轮 廓 图 1-4 数控高级编程讲义 77子程序%0020G91 G1 X75 F150;Y10;X-75;Y10.;G90 M99;主程序%1000G54 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.5X-37.5G0 Z50;M30;1.2.3 行切宏程序实现对图 1-4 零件
21、,编程零点设在工件中央,下刀点选在左下角点,加工宏程序如下:示例 1.8(本程序未考虑分层下刀问题) 主程序%1000G54 G90 G0 G17 G40Z50 M03 S800G65 P9010 A100 B80 C0 D6 Q0.5 K10 X0 Y0 Z-10 F150G0 Z50M30 宏程序调用参数说明:A(#1)B(#2)-矩形下陷的长与宽C(#3)- -粗精加工标志,C=0,完成粗精加工, C=1,只完成精加工。D(#7)-刀具半径Q(#17)-精加工余量K(#6)-步距X(#24)Y(#25)-下陷中心坐标Z(#26)-下陷深度F(#9)-走刀速度数控高级编程讲义 88 宏程序
22、%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
23、*#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; 准备下一刀终点 XEND1;G1 Y#25+#5; 进刀至上极限,准备补刀X#24+#4; 补刀G0 Z5;N200 M99;数控高级编程讲义 99专题二 相同轮廓的重复加工在实际加工中,相同轮廓的重复加工主要有两种情况: 1、同一零件上相同轮廓在不同位置出现多次; 2
24、、在连续板料上加工多个零件。实现相同轮廓重复加工的方法 1、用增量方式定制轮廓加工子程序,在主程序中用绝对方式对轮廓进行定位,再调用子程序完成加工。 2、用绝对方式定制轮廓加工子程序,并解决坐标系平移的问题来完成加工。 3、用宏程序来完成加工。2.1 用增量方式完成相同轮廓的重复加工示例 2-1,加工图 2-1 所示工件,取零件中心为编程零点,选用 12 键槽铣刀加工。子程序用中心轨迹编程。 子程序%0010G91 G0 X24;G1 Z-27 F60;G3 I-24 F200;G0 Z12;G1 X10;G3 I-34;G0 Z15;G90 M99图 2-1 主程序%1000G54 G90
25、G0 G17 G40 M03;Z50 S2000;X-150 Y-50;Z5;M98 P0010;G0 X-150 Y50;M98 P0010;G0 X0 Y50;M98 P0010;G0 X0 Y-50;M98 P0010;G0 X-150 Y-50;M98 P0010;G0 X-150 Y50;M98 P0010; G0 Z100;M30;2.2 用坐标系平移完成相同轮廓的重复加工坐标系平移有两种方式 G54+G52,用于重复次数不多,且轮廓分布无规律情况。 G54+G92,用于轮廓分布有规律且重复次数很多的情况。示例 2-2 用局部坐标系 G52 完成相同轮廓的重复加工,G54 零点设在
26、零件中心,局部坐标系零点在需加工孔的孔心。数控高级编程讲义 1010主程序%1000G54 G90G0 G17 G40;Z50 M03 M07 S1000;G52 X-150 Y-50;M98 P0020;G52 X-150 Y50;M98 P0020;G52 X0 Y50;M98 P0020;G52 X0 Y-50;M98 P0020;G52 X150 Y-50;M98 P0020;G52 X150 Y50;M98 P0020;G52 X0 Y0;恢复 G54G0 Z100;M30;子程序%0020G90 G0 X24;Z5;G1 Z-22 F100;G3 I-24;G0 Z-10;G1 X
27、34;G3 I-34;G0 Z5;M99;示例 2-3,用 G54+G92 完成相同轮廓的重复加工,G54 零点设设在零件中心,子坐标系零点在需加工孔的孔心。%1000G54 G90G0 G17 G40;Z50 M03 M07 S1000;X-150 Y-50;M98 P0030 L3;G54 G0 X-150 Y50;M98 P0030 L3;G54 G0 Z100;M30;%0030G92 X0 Y0G90 G0 X24;Z5;G1 Z-22 F100;G3 I-24;G0 Z-10;G1 X34;G3 I-34;G0 Z5;X150M99;2.3 用宏程序完成相同轮廓的重复加工示例 2-
28、4,用 G65 调用完成加工,宏程序用绝对编程。%1000 G54 G90 G0 G17 G40 M03;Z50 S2000;Z5;G65 P9010 X-150 Y-50;G65 P9010 X-150 Y50;G65 P9010 X0 Y50;G65 P9010 X0 Y-50;G65 P9010 X150 Y-50;G65 P9010 X150 Y50;G0 Z100;M30;宏程序%9010G90 G0 X#24+24 Y#25Z5G1 Z-20 F60G3 I-24 F200G0 Z-10G1 X#24+34G3 I-34G0 Z5M99数控高级编程讲义 1111示例 2-5,用 G
29、66 调用完成加工,宏程序用绝对编程。%1000G54 G90 G0 G17 G40;Z50 M03 M07 S1000;X-150 Y-50;G66 P9011;G0 X-150 Y50;X0 Y50;X0 Y-50;X150 Y-50;X150 Y50;G67;G0 Z100;M30;%9011#1=#5001; 取当前孔心坐标#2=#5002;G90 G0 X#1+24 Y#2;Z5;G1 Z-22 F100;G3 I-24;G0 Z-10;G1 X#1+34;G3 I-34;G0 Z5;M99;示例 2-6,使用循环,用一个程序完成加工%1000G54 G90 G0 G17 G40;Z
30、50 M03 M07 S1000;#1=2; 行数#2=3; 列数#3=150; 列距#4=100; 行距#5=-150;左下角孔中心坐标( 起始孔)#6=-50;#10=1; 列变量WHILE #10 LE #2 DO1;#11=1; 行变量#20=#5+#10-1*#3;待加工孔的孔心坐标 XWHILE #11 LE #1 DO2;#21=#6+#11-1*#4;孔心坐标 YG0 X#20+24 Y#21;Z2;G1 Z-22 F100;G3 I-24;G0 Z-10;G1 X#20+34;G3 I-34;G0 Z5;#11=#11+1;END2;#10=#10+1;END1;G0 Z10
31、0;M30;数控高级编程讲义 1212专题三 简单平面曲线轮廓加工对简单平面曲线轮廓进行加工,是采用小直线段逼近曲线来完成的。具体算法为:采用某种规律在曲线上取点,然后用小直线段将这些点连接起来完成加工。示例 3-1,椭圆加工,假定椭圆长(X 向)、短轴(Y 向)半长分别为 A 和 B,则椭圆的极坐标方程为 ,利用此方程可方便地完成在椭圆上取点工作。sin.cobyax编程条件:编程零点在椭圆中心,a=50,b=30,椭圆轮廓为外轮廓,下刀点在椭圆右极限点,刀具直径 18,加工深度 10mm。程序如下: %1000G54 G90 G0 G17 G40;Z50 M30 S1000;X60 Y-1
32、5;Z5 M07;G1 Z-12 F800;G42 X50 D1 F100;Y0;#1=0.5; 变量初始值 0.5 度WHILE #1 LE 360 DO1;#2=50*COS#1;#3=30*SIN#1;G1 X#2 Y#3;#1=#1+0.5;END1;G1 Y15;G0 G40 X60;Z100;M30;数控高级编程讲义 1313专题四 简单立体曲面加工4.1 球面加工 球面加工使用的刀具 粗加工可以使用键槽铣刀或立铣刀,也可以使用球头铣刀。 精加工应使用球头铣刀。 球面加工的走刀路线 一般使用一系列水平面截球面所形成的同心圆来完成走刀。 在进刀控制上有从上向下进刀和从下向上进刀两种,
33、一般应使用从下向上进刀来完成加工,此时主要利用铣刀侧刃切削,表面质量较好,端刃磨损较小,同时切削力将刀具向欠切方向推,有利于控制加工尺寸。 进刀控制算法 图 4-2 进刀点的计算: 先根据允许的加工误差和表面粗糙度,确定合理的 Z 向进刀量,再根据给定加工深度Z,计算加工圆的半径,即:r=sqrtR 2-z2。此算法走刀次数较多。 先根据允许的加工误差和表面粗糙度,确定两相邻进刀点相对球心的角度增量,再根据角度计算进刀点的 r 和 Z 值,即 Z=R*sin,r=R*cos。进刀轨迹的处理 对立铣刀加工,曲面加工是刀尖完成的,当刀尖沿圆弧运动时,其刀具中心运动轨迹也是一行径的圆弧,只是位置相差
34、一个刀具半径。 对球头刀加工,曲面加工是球刃完成的,其刀具中心是球面的同心球面,半径相差一个刀具半径。图 4-1 数控高级编程讲义 14144.1.1 外球面加工示例 4-1,加工图 4-3 所示外球面。为对刀方便,宏程序编程零点在球面最高点处,采用从下向上进刀方式。立铣刀加工宏程序号为%9013,球刀加工宏程序号%9014。 宏程序调用参数说明X(#24)/Y(#25)-球心坐标Z(#26)-球高D(#7)-刀具半径Q(#17)-角度增量,度I(#4)-球径F(#9)-走刀速度 图 4-3 主程序%1000G91 G28 Z0M06 T01G54 G90 G0 G17 G40G43 Z50
35、H1M03 S3000G65 P9013 X0 Y0 Z-30 D6 I40.5 Q3 F800G49 Z100 M05G28 Z105M06 T02G43 Z50 H2 M03 S4000G65 P9014 X0 Y0 Z-30 D6 I40 Q0.5 F1000G49 Z100 M05G28 Z105M30 宏程序%9013#1=#4+#26; 进刀点相对球心 Z 坐标#2=SQRT#4*#4-#1*#1;切削圆半径#3=ATAN#1/#2; 角度初值#2=#2+#7;G90 G0 X#24+#2+#7+2 Y#25;Z5;G1 Z#26 F300;WHILE #3 LT 90 DO1;
36、当进刀点相对水平方向夹角小于 90 度时加工G1 Z#1 F#9;X#24+#2;G2 I-#2;#3=#3+#17;#1=#4*SIN#3-1;Z= - (R - RSIN)#2=#4*COS#3+#7 ;r=RCOS+r 刀END1;G0 Z5;M99;%9014#1=#4+#26; 中间变量#2=SQRT#4*#4-#1*#1;中间变量#3=ATAN#1/#2; 角度初值#4=#4+#7; 处理球径#1=#4*SIN#3-1; Z= - (R - RSIN)#2=#4*COS#3; r=RCOSG90 G0 X#24+#2+2 Y#25;Z5;G1 Z#26 F300;WHILE #3
37、LT 90 DO1;当角小于 90度时加工G1 Z#1 F#9;X#24+#2;G2 I-#2;#3=#3+#17;#1=#4*SIN#3-1; Z= - (R - RSIN)#2=#4*COS#3 ; r=RCOSEND1;G0 Z5;M99;数控高级编程讲义 15154.1.2 内球面加工示例 4-2,加工图 4-4 所示内球面。为对刀方便,宏程序编程零点在球面最高处中心,采用从下向上进刀方式。其主程序与示例 4-1 类似,宏程序调用参数与示例 4-1 相同,本例不再给出。立铣刀加工宏程序号为%9015,球刀加工宏程序号%9016。%9015#6=#4+#26 球心在零点之上的高度#8=S
38、QRT#4*#4 - #6*#6 中间变量#3=90-ATAN#6/#8 加工终止角#8=SQRT#4*#4 - #7*#7#5=ATAN#7/#8 加工起始角G90 G0 X#24 Y#25; 加工起点Z5;G1 Z#6-#8 F50;#5=#5+#17;WHILE #5 LE #3 DO1;角度小于等于终止角时加工#1=#6 - #4*COS#5; Z#2=#4*SIN#5 - #7; XG1 Z#1 F#9;X#24+#2;G3 I-#2;#5=#5+#17;END1;G0 Z5;M99;%9016#6=#4+#26 球心在零点之上的高度#8=SQRT#4*#4 - #6*#6 中间变量
39、#3=90-ATAN#6/#8 加工终止角G90 G0 X#24 Y#25; 加工起点Z5;G1 Z#26 F50;#5=#17;#4=#4 - #7;WHILE #5 LE #3 DO1; 角度小于等于终止角时加工#1=#6 - #4*COS#5; Z#2=#4*SIN#5; XG1 Z#1 F#9;X#24+#2;G3 I-#2;#5=#5+#17;END1;G0 Z5;M99;4.2 水平圆柱面的加工水平圆柱面加工可采用行切加工 沿圆柱面轴向走刀,沿圆周方向进刀;走刀路线短,加工效率高,加工后圆柱面直线度好;用于模具加工,脱模力较大;程序可用宏程序或自动编程实现。 沿圆柱面圆周方向走刀,
40、沿轴向进刀;走刀路线通常比前一方式长,加工效率较低,但用于大直径短圆柱则较好,加工后圆柱面轮廓度较好;用于模具加工,脱模力较小;程序可用子程序重复或宏程序实现,用自动编程实现程序效率太低。图 4- a b 图 4- 数控高级编程讲义 16164.2.1 圆柱面的轴向走刀加工示例 4-3,为简化程序,以完整半圆柱加工为例(图 4-4 a)。为对刀、编程方便,主程序、宏程序零点放在工件左侧最高点,毛坯为方料,立铣刀加工宏程序号为%9017,球刀加工宏程序号%9018。 宏程序调用参数说明X(#24)/Y(#25)-圆柱轴线左端点坐标A(#1)-圆柱长D(#7)-刀具半径Q(#17)-角度增量,度I
41、(#4)-圆柱半径F(#9)-走刀速度 主程序%1000G91 G28 Z0M06 T01G54 G90 G0 G17 G40G43 Z50 H1M03 S3000G65 P9017 X-6 Y0 A126 D6 I40.5 Q3 F800G49 Z100 M05G28 Z105M06 T02G43 Z50 H2 M03 S4000G65 P9018 X0 Y0 A120 D6 I40 Q0.5 F1000G49 Z100 M05G28 Z105M30 宏程序%9017G90 G0 X#24-2 Y#25+#4+#7;Z5;G1 Z-#4 F200;#8=1; 立铣刀偏置方向#10=0; 角度
42、初值#11=#24+#1/2;轴线中央 X#12=#1/2;轴线两端相对中央距离WHILE #10 LE 180 DO1;#13=#4*SIN#10-1; Z#14=#4*COS#10; YG1 Z#13 F#9Y#25+#14+#7*#8G1 X#11+#12#10=#10+#17IF #10 LE 90 GOTO 10#8=-1N10 #12=-#12END1G0 Z5M99%9018#4=#4+#7G90 G0 X#24-2 Y#25+#4;Z5;G1 Z-#4 F200;#10=0; 角度初值#11=#24+#1/2;轴线中央 X#12=#1/2;轴线两端相对中央距离WHILE #10
43、 LE 180 DO1;#13=#4*SIN#10-1; Z#14=#4*COS#10; YG1 Z#13 F#9Y#25+#14G1 X#11+#12#10=#10+#17#12=-#12END1G0 Z5M99数控高级编程讲义 17174.2.1 圆柱面的周向走刀加工为简化程序,以完整半圆柱加工为例(图 4-4 a)。为对刀、编程方便,主程序、宏程序零点放在工件左侧最高点,毛坯为方料。 示例 4-4,子程序加工方案,立铣刀加工程序号为%0020,球刀加工程序号%0021。 主程序%1000G91 G28 Z0M06 T01G54 G90 G0 G17 G40G43 Z50 H1 M03 S
44、3000X-8 Y-46.5G1 Z-40 F200X-5M98 P0020 L28G49 Z100 M05G28 Z105M06 T02G43 Z50 H2 M03 S4000X0 Y-46G1 Z-46 F200M98 P0021 L50G49 Z100 M05G28 Z105M30 子程序%0020G90 G19 G2 Y-6.5 Z0.5 R40.5 F800G1 Y6.5G2 Y46.5 Z-40 R40.5G91 G1 X1G90 G3 Y6.5 R40.5G1 Y-6.5G3 Y-46.5 Z-40 R40.5G91 G1 X1G90 M99%0021G90 G19 G2 Y46
45、 R46 F1000G91 G1 X0.5G90 G3 Y-46 R46G91 G1 X0.5G90 M99示例 4-5,宏程序加工方案,立铣刀加工宏程序号为%9020,球刀加工宏程序号%9021。主程序和宏程序调用参数与示例 4-3 基本相同,不再给出。%9020#10=#24; 进刀起始位置 X#11=#24+#1; 进刀终止位置 X#2=2; G2/G3#3=1; 切削方向G90 G0 X#10-2 Y#25-#3*#4+#7;Z5;G1 Z-#4 F200;WHILE #10 LE #11 DO1G1 X#10 F#9 ; 进刀G#2 Y#25-#3*#7 Z0 R#4; 走 1/4
46、圆弧G1 Y#25+#3*#7; 走一个刀具直径的直线G#2Y#25+#3*#4+#7 Z-#4R#4;走 1/4 圆弧#10=#10+#17; 计算下一刀位置#2=#2+#3; 确定下一刀 G2/G3#3=-#3; 切削方向反向END1G0 Z5M99%9020#10=#24; 进刀起始位置 X#11=#24+#1; 进刀终止位置 X#2=2; G2/G3#3=1; 切削方向#4=#4+#7G90 G0 X#10-2 Y#25-#3*#4;Z5;G1 Z-#4 F200;WHILE #10 LE #11 DO1G1 X#10 F#9 ; 进刀G#2 Y#25+#3*#4 Z0 R#4; 走圆
47、弧#10=#10+#17; 计算下一刀位置#2=#2+#3; 确定下一刀 G2/G3#3=-#3; 切削方向反向END1G0 Z5M99数控高级编程讲义 1818专题五 孔系加工孔系加工可分为矩形阵列孔系和环形阵列孔系加工两种情况。5.1 矩形阵列孔系加工就单孔加工而言,其加工有一次钻进和间歇钻进之分,为使用方便,定制的宏程序应能完成此两种加工。以图 5-1所示工件为例,板厚 20,编程零点放在工件左下角。示例 5-1,矩形阵列孔系宏程序加工,阵列基准为左下角第一个孔。 主程序%1000G91 G28 Z0;M06 T1;中心钻G54 G90 G0 G17 G40G43 Z50 H1 M03 M07 S1000G65 P9022 X19.5 Y14 A9 B20 I9 J9 R2 Z-3 Q0 F60G0 G49 Z150 M05 M09G91 G28 Z0M06 T2;钻头G90 G43 Z50 H2 M03 M07 S1200G65 P9022 X19.5 Y14 A9 B20