第六章 数控铣床编程
主 讲:程胜文
理论学时,6学时
湖北职业技术学院机电工程系
第 6章 数控铣床编程
数控铣床加工的特点
数控铣加工的刀具补偿及其他功能指令
固定循环
数控铣加工编程实例
6.1.1 数控铣床加工的对象
6.1 数控铣床加工的特点
数控铣床主要用于加工平面和曲面轮廓的零件,还可以加工复杂
型面的零件,如凸轮、样板、模具、螺旋槽等。同时也可以对零件进
行钻、扩、铰、锪和镗孔加工。
6.1.2 数控铣床加工的特点
1,零件加工的适应性强、灵活性好,能加工轮廓形状特别复杂或
难以控制尺寸的零件,如模具、壳体类零件等。
2,能加工普通机床无法加工或很难加工的零件,如用数学模型描
述的复杂曲线零件以及三维空间曲面类零件。
3,能加工一次装夹定位后,需进行多道工序加工零件。
4,加工精度高、加工质量稳定可靠。
5,生产自动化程序高。
6,生产效率高。
7,属于断续切削方式,对刀具的要求较高,具有良好的抗冲击性、
韧性和耐磨性。在干式切削下,要有红硬性。
第 6章 数控铣床编程
第 6章 数控铣床编程
6.1.3 数控铣床编程时应注意的问题
6.1 数控铣床加工的特点
*了解数控系统的功能及规格。不同的数控系统在编写数
控加工程序时,在格式及指令上是不完全相同的。
*熟悉零件的加工工艺 。
*合理选择刀具, 夹具及切削用量, 切削液 。
*编程尽量使用子程序 。
*程序零点的选择要使数据计算的简单。
第 6章 数控铣床编程
6.2.1 刀具半径补偿 G40,G41,G42
6.2 数控铣加工的刀具补偿及其他功能指令
刀具半径补偿指令格式如下,
G17 G41(或 G42) G00(或 G01) X Y D
或 G18 G41(或 G42) G00(或 G01) X Z D
或 G19 G41(或 G42) G00(或 G01) Y Z D; D为刀补号地址
G40 为取消刀具半径补偿
G 41刀具左补偿(顺铣) G 42刀具右补偿(逆铣)
第 6章 数控铣床编程
6.2.1 刀具半径补偿 G40,G41,G42
6.2 数控铣加工的刀具补偿及其他功能指令
按增量方式编程,
O0001
N10 G54 G91 G17 G00 M03 G17指定刀
补平面 ( XOY平面 )
N20 G41 X20.0 Y10.0 D01 建立刀补
( 刀补号为 01)
N30 G01 Y40.0 F200
N40 X30.0
N50 Y-30.0
N60 X-40.0
N70 G00 G40 X-10.0 Y-20.0 M05 解除刀补
N80 M02
第 6章 数控铣床编程
6.2.2 刀具长度补偿 G43,G44,G49
6.2 数控铣加工的刀具补偿及其他功能指令
格式,G43(G44) Z H
其中,Z为补偿轴的终点值 。 根据补偿的实际需要, 还可
以为 X,Y等, 但在程序中只能选一个 。 H为刀具长度偏移
量的存储器地址 。 和刀具半径补偿一样, 长度补偿的偏置
存储器号有 H00~H99共 100个, 偏移量用 MDI方式输入, 偏
移量与偏置号一一对应 。 偏置号 H00一般不用, 或对应的
偏移值设置为 0。
使用 G43指令时, 实现正向偏置;用 G44指令时, 实现负向
偏置 。
取消长度补偿指令格式,G49 Z(或 X或 Y)
实际上, 它和指令 G44/G43 Z H00的功能是一样的 。 G43、
G44,G49为模态指令, 它们可以相互注销 。
第 6章 数控铣床编程
6.2.2 刀具长度补偿 G43,G44,G49
6.2 数控铣加工的刀具补偿及其他功能指令
H01=-4.0( 偏移值 )
N10 G91 G00 X120.0 Y80.0 M03
S500;
N20 G43 Z-32.0 H01;
N30 G01 Z-21.0 F1000;
N40 G04 P2000;
N50 G00 Z21.0;
N60 X30.0 Y-50.0;
N70 G01 Z-41.0;
N80 G00 Z41.0;
N90 X50.0 Y30.0;
N100 G01 Z-25.0;
N110 G04 P2000;
N120 G00 Z57.0 H00;
N130 X-200.0 Y-60.0 M05 M03;
1,段间过渡方式指令 G09,G61,G64
第 6章 数控铣床编程
6.2.3 其他功能指令
6.2 数控铣加工的刀具补偿及其他功能指令
(1)准停检验指令 G09,G61,G64。
格式,G09;
一个包括 G09的程序段在继续执行下个程序段前,准确停止在本程序段的终
点。该功能用于加工尖锐的棱角。 G09仅在其被规定的程序段中有效。
(2)精确停止检验 G61。
格式,G61。
在 G61后的各程序段的移动指令都要准确停止在该程序段的终点,然后再继
续执行下个程序段。此时,编辑轮廓与实际轮廓相符。
G61与 G09的区别在于 G61为模态指令。 G61可由 G64注销。
(3)连续切削方式 G64。
格式,G64,
在 G64之后的各程序段间轴的运动刚开始减速时就开始执行下一程序段,
直到遇到 G61为止。
第 6章 数控铣床编程
1,段间过渡方式指令 G09,G61,G64
6.2.3 其他功能指令
6.2 数控铣加工的刀具补偿及其他功能指令
N10 G91 G01 G61 Y70 F200;
N20 X100;
N10 G91 G01 G64 Y70 F200
N20 X100
第 6章 数控铣床编程
2,简化编程的指令
6.2.3 其他功能指令
6.2 数控铣加工的刀具补偿及其他功能指令
(1)镜像功能指令 G24,G25。
格式,G24 X Y Z
M98 P
G25 X Y Z
G24建立镜像,由指令坐标轴后的
坐标值指定镜像位置,G25指令取
消镜像。 G24,G25为模态指令,
可相互取消,G25为缺省值。
% 0003 主程序
N10 G91 G17 M03;
N20 M98 P100; 加工 ①
N30 G24 X0; Y轴镜像, 位置为 X=0
N40 M98 P100; 式 加工 ②
N50 G24 X0 Y0; X,Y轴镜像, 位置为
( 0,0)
N60 M98 P100; 加工 ③
N70 G25 X0; 取消 Y轴镜像
N80 G24 Y0; X轴镜像
N90 M98 P100; 加工 ④
N100 G25 Y0; 取消镜像
N110 M05;
N120 M30;
子程序 ( ① 的加工程序 ),
% 100
N200 G41 G00 X10.0 Y4.0 D01;
N210 Y1.0
N220 Z-98.0;
N230 01 Z-7,F100;
N240 Y25.0;
N250 X10.0;
N260 G03 X10.0 Y-10.0 I10.0;
N270 G01 Y-10.0;
N280 X-25.0;
N290 G00 Z105.0;
N300 G40 X-5.0 Y-10.0;
N310 M99;
第 6章 数控铣床编程
2,简化编程的指令
6.2.3 其他功能指令
6.2 数控铣加工的刀具补偿及其他功能指令
(2) 缩放功能指令 G50,G51
格式,G51 X Y Z P
M98 P
G50
其中,G51中的 X,Y,Z给出缩
放中心的坐标值,P后跟缩放倍
数。 G51既可指定平面缩放,也
可指定空间缩放。 G51指定缩放
开,G50指定缩放关。 G51,G50
为模态指令,可 相互 注销,G50
为缺省值。
例:如图所示的三角形 ABC,
顶点为 A(30,40),B(70,40),
C(50,80),若 D(50,50) 为中
心, 放大 2倍, 则缩放程序为
G51 X50 Y50 P2
第 6章 数控铣床编程
2,简化编程的指令
6.2.3 其他功能指令
6.2 数控铣加工的刀具补偿及其他功能指令
(3) 旋转变换指令 G68,G69
G68为坐标旋转功能指令, G69为取消坐标旋转功
能指令 。
在 XY平面,
格式,G68 X Y P
G69;
其中,X,Y为 XY平面内的旋转中心坐标, P为旋转
角度, 单位是度, 0P360.000° 。 其它平面内变换
指令格式相同, 只要把坐标轴作相应的变更就可
以 。
第 6章 数控铣床编程
2,简化编程的指令
6.2.3 其他功能指令
6.2 数控铣加工的刀具补偿及其他功能指令
(3) 旋转变换指令 G68,G69
%1 主程序
N10 G90 G17 M03;
N20 M98 P100; 加工
N30 G68 X0 Y0 P45; 旋转 45°
N40 M98 P100; 加工 ②
N50 G69; 取消旋转
N60 G68 X0 Y0 P90; 旋转则 90°
M70 M98 P100; 加工 ③
N80 G69 M05 M30; 取消旋转
子程序 ( ① 的加工程序 )
%100
N100 G90 G01 X20 Y0 F100;
N110 G02 X30 Y0 15;
N120 G03 X40 Y0 15;
N130 X20 Y0-10;
N140 G00 X0 Y0;
N150 M99;
第 6章 数控铣床编程
6.3.1 概述
6.3 固定循环
图 6.9 孔加工固定循环 图 6.10 固定循环数据形式
第 6章 数控铣床编程
6.3.1 概述
6.3 固定循环
固定循环的程序格式如下,
G98( 或 G99) G73(或 G74或 G76或 G80~ G89)X Y Z R Q P I J K F L
式中第一个 G代码( G98或 G99) 指定返回点平面,G98为返回初始平面,
G99为返回 R点平面。第二个 G代码为孔加工方式,即固定循环代码 G73,G74,
G76和 G81~ G89中的任一个。
X,Y为孔位数据,指被加工孔的位置; Z为 R点到孔底的距离( G91时)或
孔底坐标( G90时); R为初始点到 R点的距离或 R点的坐标值; Q指定每次进
给深度( G73或 G83时)或指定刀具位移增量( G76或 G87时); P指定刀具在
孔底的暂停时间; I,J指定刀尖向反方向的移动量; K指定每次退刀( G76或
G87时)刀具位移增量; F为切削进给速度; L指定固定循环的次数。 G73、
G74,G76和 G81~ G89,Z,R,P,F,Q,I,J都是模态指令。 G80,G01~ G03
等代码可以取消循环固定循环。
第 6章 数控铣床编程
6.3.2 钻孔循环
6.3 固定循环
1,高速深孔加工循环 G73
该固定循环用于 Z轴的间歇进给,使
深孔加工时容易排屑,减少退刀量,提
高加工效率。 Q值为每次的进给深度,退
刀用快速,其值 K为每次的退刀量。
%0073
N10 G92 X0 Y0 Z80
N20 G00
N30 G98 G73 G90 X100 G90 R40 P2 Q-10 K5
G90 Z0 L2 F200
N40 G00 X0Y0 Z80
N50 M02
注意,如果 Z,K,Q移动量为零时该指令不执行
第 6章 数控铣床编程
6.3.2 钻孔循环
6.3 固定循环
2,钻孔循环 (钻中心孔 ) G81
G81指令的循环动作如图所示,包括
X,Y坐标定位、快进、工进和快速返回
等动作。
% 0081
N10 G92 X0 Y0 Z80
N15 G00
N20 G99 G81 G90 X100 G90 R40 G90 Z0 P2
F200 I2
N30 G90 G00 X0 Y0 Z80
N40 M02
注意,如果 Z移动位置为零该指令不执行。
第 6章 数控铣床编程
6.3.2 钻孔循环
6.3 固定循环
3,带停顿的钻孔循环 G82
该指令除了要在孔底暂停外, 其它动作与 G81相同 。 暂停时间由
地址 P给出 。 此指令主要用于加工盲孔, 以提高孔深精度 。
%082
N10 G92 X0 Y0 Z80
N15 G00
N20 G99 G82 G90 X100 G90 R40 P2 G90 Z0 F200 I2
N30 G90 G00 X0 Y0 Z80
N40 M02
第 6章 数控铣床编程
6.3.2 钻孔循环
6.3 固定循环
4,深孔加工循环 G83
深孔加工指令 G83的循环动作如图 6.13所
示, 每次进刀量用地址 Q给出, 其值 q为
增量值 。 每次进给时, 应在距已加工面 d
( mm) 处将快速进给转换为切削进给, d
是由参数确定的 。
% 0083
N10 G92 X0 Y0 Z80
N15 G00
N20 G99 G83 G91 X100 G90 R40 P2 Q-10 K5
Z0 F200 I2;
N30 G90 G00 X0 Y0 Z80
N40 M02
注意,如果 Z,Q,K为零该指令不执行 。
第 6章 数控铣床编程
6.3.3 镗孔循环
6.3 固定循环
1,精镗循环 G76
G76指令的循环动作如图所示 。 精镗时, 主
轴在孔底定向停止后, 向刀尖 反 方向移动,
然后快速退刀 。 刀尖反向位移量用地址 Q指
定, 其值只能为正值 。
% 0076
N10 G92 X0 Y0 Z80
N15 G00
N20 G99 G76 G91 X100 G91 R-40 P2 I-20 G91 Z-
40 I2 F200
N30 G00 X0 Y0 Z80
N40 M02
注意,如果 Z,Q,K为零该指令不执行 。
第 6章 数控铣床编程
6.3.3 镗孔循环
6.3 固定循环
2,镗孔循环 G86
G86指令与 G81相同, 但在孔底时主轴停止, 然后快速退回 。
% 0086
N10 G92 X0 Y0 Z80
N15 G00
N20 G98 G86 G90 X100 G90 R40 Q-10 K5 P2 G90 Z0
F200 I2
N30 G90 G00 X0 Y0 Z80
N40 M02
注意:如果 Z的移动位置为零, 该指令不执行 。
第 6章 数控铣床编程
6.3.4 攻螺纹
6.3 固定循环
攻丝循环指令 G84的循环动作如图
6.15所示 。 从 R点到 Z点攻丝时,
刀具正向进给, 主轴正转 。 到孔
底部时, 主轴反转, 刀具以反向
进给速度退出 ( 这里:进给速度 F
= 转速 ( r/min) × 螺矩 ( mm),
R应选在距工件表面 7mm以上的地
方 ) 。 G84指令中进给倍率不起作
用;进给保持只能在返回动作结
束后执行 。
第 6章 数控铣床编程
6.3.5 取消固定循环
6.3 固定循环
取消固定循环 G80。 该指令能取消固定循环, 同时 R点和 Z点也被取消 。
使用固定循环指令时应注意以下几点,
① 在固定循环中, 定位速度由前面的指令决定 。
② 固定循环指令前应使用 M03或 M04指令使主轴回转 。
③ 各固定循环指令中的参数均为非模态值, 因此每句指令的各项参数应写全 。 在固定循环程序段
中, X,Y,Z,R数据应至少指令一个才能进行孔加工 。
④ 控制主轴回转的固定循环 ( G74,G84,G86) 中, 如果连续加工一些孔间距较小, 或者初始平
面到 R点平面的距离比较短的孔时, 会出现在进入孔的切削动作前主轴还没有达到正常转速的情
况, 遇到这种情况时, 应在各孔的加工动作之间插入 G04指令, 以获得时间 。
⑤ 用 G00~ G03指令之一注销固定循环时, 若 G00~ G03指令之一和固定循环出现在同一程序段, 且
程序格式为
G00 (G02,G03) G X Y Z R Q P I J F L时, 按 G00(或 G02,G03)进行 X,Y移动 。
⑥ 在固定循环程序段中, 如果指定了辅助功能 M,则在最初定位时送出 M信号, 等待 M信号完成,
才能进行加工循环 。
⑦ 固定循环中定位方式取决于上次是 G00还是 G01,因此如果希望快速定位则在上一程序段或本程
序段加 G00。
第 6章 数控铣床编程
6.4 数控铣编程加工实例
例 1,加工如图所示孔的钻孔循环程序(设 Z轴开始点距工作表
面 100mm处,切削深度为 20mm)。
% 0001
N10 G91 G00 S300 M03
N20 G99 G81 X10.0 Y-10.0 Z-22.0
R-98.0 F200
N30 G99 G81 Y30.0 Z-22 R-98
N40 G99 G81 X10.0 Y-10.0 Z-22 R-98
N50 G99 G81 X10.0 Z-22 R-98
N60 G98 G81 X10.0 Y20.0 Z-22 R-98
N70 G80 X-40.0 Y-30.0 M05
N80 M02
第 6章 数控铣床编程
6.4 数控铣编程加工实例
例 2,加工如图所示螺纹孔的加工程序(设 Z轴开始点距工作表
面 100mm处,切削深度为 20mm)。
① 先用 G81钻孔
% 0101
N10 G91 G00 M03
N20 C98 G81 X40.0 Y40.0 Z-22.0
R-98.0 F100
N30 G98 G81 X-120.0 Z-22.0 R-98 L3
N40 G98 G81 X-120.0 Y50.0 Z-22.0
R-98
N50 G98 G81 X40.0 Z-22.0 R-98 L3
N60 G80 X-160.0 Y-90.0 M05
N70 M02
② 再用 84攻螺纹
% 0102
100 G91 G00 M03
110 G99 G84 X40.0 Y40.0 Z-27.0
R-93.0 F280
120 G99 G84 X40.0 Z-27.0 R93 L3
130 G99 G98 X-120.0 Y50.0 Z-27 R-93
N140 G99 G84 X40.0 Z-27.0 R-93 L3
150 G80 Z93.0 N81 X-160.0
Y-90.0 M05
160 M02
第 6章 数控铣床编程
6.4 数控铣编程加工实例
例 3,如图所示为某企业生产的自动扶梯的链轮轮廓的示意简
图。链轮由 24个齿均布,由局部放大图中可见,链轮的每一个齿
廓都由 6个不同曲率半径的拐点相接而成。
第 6章 数控铣床编程
6.4 数控铣编程加工实例
工艺分析,在实际加工中, 每铣一个齿后, 将坐标系旋转一定的角度, 再继
续铣削, 降低了编程的工作量 。 为使程序简化, 使用相对坐标指令 G91来旋转
坐标系, 可以省略每一齿调用子程序的编写 。 编程时, 以加工一个齿形为基准,
一个齿形加工程序的终点作为下一齿形加工的起点, 如此循环 24次, 完成链轮
的加工 。 使用 ф 10mm的硬质合金立铣刀进行加工 。
数据计算,从图可以看出,用手工计算节点是不现实的,可以使用
AutoCAD绘制。在 AutoCAD中使用偏移指令,将链轮正上方的一个齿的轮廓
线偏移一个刀具半径值 5mm(这样可以不使用刀具半径补偿 ),得到如图中双点
划线所示图形。标注各交点的坐标和各段圆弧半径,如图所示。
加工坐标原点,
X,链轮的圆心
Y,链轮的圆心
Z,链轮的下表面
第 6章 数控铣床编程
6.4 数控铣编程加工实例
加工程序,
O0063(主程序 )
G54 G90 G00 X-75 Y450
M03 1500
M08
G00 Z5
G01 Z0 F100
G01 X-71.97 Y418.862
M98 P0163 L24
G00 Z100 M09
G69
G90 G00 X100 Y0
M05
M02
O0136(子程序 )
G91 G68 R15
M98P1136
M99
O1136(子程序 )
G90 G02 X-38.892 Y423.217 R425
X-26.725 Z404.722 R42.293
G03 X-16.119 Z385.965 R62.78
X16.119 Z385.965 R21.18
X26.725 Z404.722 R62.78
G02 X38.892 Y423.217 R42.293
M99