第 4章 数控铣床及加工中心编程
4.1 数控铣床及加工中心编程基础
4.2 FANUC系统加工中心编程原理
4.3 加工中心程序编制实例
4.4 宏程序编制
4.1 数控铣床及加工中心编程基础
4.1.1 数控铣床及加工中心概述数控铣床是一种用途广泛的机床,有立式、卧式及龙门铣 3种。加工中心
( Machining Center)是一种集成化的数控加工机床,是在数控铣床的发展基础上衍化而成的,它集铣削、钻削、铰削、镗削及螺纹切削等工艺于一体,通常称镗铣类加工中心,习惯称加工中心。
1.加工中心的工艺特点
( 1)加工精度高
( 2)表面质量好
( 3)加工生产率高
( 4)工艺适应性强
( 5)劳动强度低、劳动条件好
( 6)良好的经济效益
( 7)有利于生产管理的现代化
2,加工中心的分类
( 1)按照机床形态及主轴布局形式分类
① 立式加工中心
② 卧式加工中心
③ 龙门式加工中心
④ 复合加工中心
( 2)按加工中心的换刀形式分类
① 带刀库、机械手的加工中心
② 无机械手的加工中心
③ 一般在小型加工中心上采用转塔刀库形式,主要以孔加工为主。
3.加工中心主要结构部件及其功能加工中心类型繁多,结构各异,但总体来看主要由基础部件、主轴部件、数控系统、自动换刀装置和辅助装置等几部分组成。
4.1.2 数控铣床及加工中心坐标系统
1.加工中心运动部件运动方向的规定
( 1) z轴坐标运动规定与主轴线平行的坐标轴为 z坐标
( z轴),并取刀具远离工件的方向为正方向。
当机床有几根主轴时,则选取一个垂直于工件装夹表面的主轴为 z轴(如龙门铣床)。
( 2) x轴坐标运动
x轴规定为水平平行于工件装夹表面。
( 3) y轴坐标运动
y坐标轴垂直于 x,z坐标轴。当 x轴,z
轴确定之后,按笛卡儿直角坐标系右手定则法判断,y轴方向就惟一地被确定了。
( 4)旋转运动 A,B和 C
旋转运动用 A,B和 C表示,规定其分别为绕 x,y和 z轴旋转的运动。 A,B和 C的正方向,相应地表示在 x,y和 z坐标轴的正方向上,按右手螺旋前进方向。
2.加工中心机械原点及工作坐标系
( 1)加工中心机械原点机床坐标系的原点也称机械原点、参考点或零点。
而机床坐标系的原点是三维面的交点,
无法直接感觉和测量,只有通过各坐标轴的零点,做相应的平行切面,这些切面的交点,即为机床坐标系的原点(机械原点),这个原点是机床一经设计和制造出来,就已经确定下来的。
( 2)加工中心工作坐标系编程时一般选择工件上的某一点作为程序原点,并以这个原点作为坐标系的原点,建立一个新的坐标系,这个新的坐标系就是工作坐标系(编程坐标系)。
( 3)绝对坐标与增量坐标
4.2 FANUC系统加工中心编程原理
4.2.1 程序结构
1.程序号程序号作为程序的标记需要预先设定,
一个程序号必须在字母,O”后面紧接最多
8个阿拉伯数字。
2.程序段号程序段号是每个程序功能段的参考代码,一个程序段号必须在字母,N”后紧接最多 5个阿拉伯数字。
3.程序段一个程序段能完成某一个功能,程序段中含有执行一个工序所需的全部数据,
程序段由若干个字及段结束符,LF”组成。
/N10 G03 X10.0 Y30.0 CR=25.0 F100 ;
(注释) LF
其中:
,/” 表示程序段在执行过程中可以被跳过;
,N10” 表示程序段号,主程序段中可以有字符;
,” 表示中间间隔(可以省略);
,G03” 表示程序段具体指令;
“(注释)” 表示对程序段进行必要的说明;
,LF” 表示程序段结束。
4.坐标字用于在轴方向移动和设置坐标系的命令称为坐标字,坐标字包括轴的地址符及代表移动量的数值,其基本构成见表 4-1。
4.2.2 准备功能指令 ——G代码
1.尺寸数据输入方式 G90/G91
2.英制 /公制选择 G20/G21
G20设定为英制尺寸,G21设定为公制尺寸,这两个指令均为模态指令。
3.快速点定位 G00
指令格式:
G00 X( U) Z(W) ;
4.直线插补 G01
指令格式:
G01X( U) Z(W) F ;
5.平面选择 G17~ G19
在计算刀具长度补偿和刀具半径补偿时必须首先确定一个平面,即确定一个两坐标轴的坐标平面,在此平面中可以进行刀具半径补偿,G17到
G19各自的含义见表 4-3。
6.圆弧插补 G02/G03
圆弧插补指令 G02/G03是圆弧运动指令。它是用来指令刀具在给定平面内以 F
进给的速度,作圆弧插补运动的指令。
G02/G03是一种模态指令。
( 1)指令格式
G02 I J F ;
( G17) X Y
G03 R F ;
在指令格式中,I,J为圆弧中心地址,
R为圆弧半径,其他内容及字符的含义见表 4-4。
( 2)顺、逆时针圆弧插补的判断在使用 G02或 G03指令之前需要判别刀具在加工零件时,是沿什么路径在作圆弧插补运动的,是按顺时针还是逆时针方向路线在前进的。其判别方法简述为:视线沿着垂直于圆弧所在平面的坐标轴的负方向观察,刀具插补方向为顺时针即为
G02,相反则为 G03。
7.暂停功能 G04
( 1)按时间计的暂停指令:
( G94) G04
指令格式:
G94 G04 X_ 或 G94 G04 P_;
在每分进给方式( G94)中,指定指令
G04按设定的时间延迟了下一个程序段的执行,对于地址 P,不能用小数点,否则将忽略小数点后的部分。编程规范如下:
G04 X500; 暂停时间 =0.5sec
G04 X5000; 暂停时间 =5.0 sec
G04 X5.0; 暂停时间 =5.0 sec
G04 P5000; 暂停时间 =5.0 sec
G04 P12.345; 暂停时间 =0.012 sec
( 2)按圈数计的暂停指令
( G95) G04
在每转进给方式( G95)下,推迟到主轴已经旋转了设定的圈数以后,才开始下一个程序的执行,对于地址 P,不能用小数点,否则将忽略小数点之后的部分。
编程规范如下:
G04 X500; 暂停时间 =0.5r
G04 X5000; 暂停时间 =5.0 r
G04 X5.0; 暂停时间 =5.0 r
G04 P5000; 暂停时间 =5.0 r
G04 P12.345; 暂停时间 =0.012 r
8.刀具补偿功能
( 1)刀具长度补偿 /取消:
G43,G44/G49
G43刀具长度正补偿;
G44刀具长度负补偿;
G49取消刀具长度补偿。
( 2)刀尖半径补偿 /取消刀具补偿地址 D中的半径补偿值必须与 G41/G42一起执行方能生效。
9,可 设 定 的 零 点 偏 置
G54~G59
G54; 第一可设定零点偏置
G55; 第二可设定零点偏置
G56; 第三可设定零点偏置
G57; 第四可设定零点偏置
G58; 第五可设定零点偏置
G59; 第六可设定零点偏置
10.自动返回参考点 G28
指令格式:
G91 G28 X…Y…Z…
4.2.3 主轴及辅助功能指令
1.主轴功能指令指令格式,S_M03( M04)
2.辅助功能指令
( 1)关于停止的辅助功能指令( M00、
M01,M02,M30)
M00:程序停止。在程序执行过程中,
系统读取到 M00指令时,无条件停止程序执行,待重启动后继续执行;
M01:选择停止。在程序执行过程中,
系统读取到 M01指令时,有条件停止程序执行,待重启动后继续执行;
M02:程序结束。程序执行完毕,光标定于程序结尾处;
M30:程序结束。程序执行完毕,光标返回至程序开始处。
( 2)主轴旋转 M代码
( M03,M04,M05)
M03—— 主轴正转;
M04—— 主轴反转;
M05—— 主轴停止旋转。
( 3)冷却控制 M代码
( M07,M08,M09)
M07—— 冷却汽雾开;
M08—— 冷却液开;
M09—— 关闭冷却液、汽。
( 4)子程序功能 M代码。
M98—— 子程序调用 M代码。
指令格式,M98 P…L… ;
在这条指令中,子程序程序号由 P定义,并且执行 L次。如 L省略,执行次数为
1次,子程序最多可重复 4次。
M99—— 子程序结束。
4.2.4 进给功能指令
1.快速进给率每个轴的快速进给率能够分别设定,可设定的快速进给率的范围是从 1mm/min到
240000 mm/min。快速进给率应用于 G00,
G27,G28,G29,G30和 G60等指令。
2.切削进给率 F
切削进给率必须用地址 F和一个八位数字( F8直接指定)来指定。
3.非同步 /同步进给 G94/G95
进给运动速度指令字的单位由切削进给速度转换功能指令( G94/G95)定义,
如:
G94—— 定义分进给,即每分钟进给量( mm/min)。
G95—— 定义转进给,即每转进给量
( mm/r)。
4.2.5 刀具功能指令指令格式,T03 M06 T00;
调用刀位号为 03的刀具刀具功能也叫 T— 代码功能。此功能用来选择刀具号,对此 NC系统,T功能允许用地址 T后跟三位数的指令选择最多
1000个刀号( 0到 999)。可是,对本机床能够选择的刀号的最大数量仅为 24。
4.2.6 固定循环切削功能指令
1.点钻循环 G81
指令格式,G81 [Xx Yy] Rr Zz;执行过程如图 4-18所示。
Xx Yy—— 点钻孔的坐标;
Rr —— 点钻参考平面高度;
Zz —— 孔的最后钻深。
2.间歇钻循环 G83
G83 [Xx Yy] Rr Zz Qtz Ffo [Ddo
Kko Iio Jjo( Bb0) ]
Xx Yy—— 点钻孔的坐标;
Rr —— 点钻参考平面高度;
Zz—— 孔的最后钻深;
tz—— 每次进刀的切削深度;
io—— 进给倍率的距离;
do—— 快速进给停止的余量;
jo(b0)—— 进给倍率( %);
ko—— 从 R点到切削进给起点的距离;
fo—— 进给率。
3.高速间歇钻 G73
G73 [Xx Yy] Rr Zz [Qtz] [Ptc] Ffo
[ Ddo Kko Iio Jjo( Bb0) ]
tz—— 每次进刀的切削深度;
jo(bo) —— 进给倍率( %);
tc—— 停顿时间或主轴旋转的圈数;
fo—— 进给率;
do—— 返回距离;
f1—— 加倍率后的进给率;
ko—— 从 R点到切削进给起点的距离;
f2—— 返回速度(固定的);
io—— 进给倍率的距离。
4.镗孔循环 G76
G76 [Xx Yy] Rr Zz [Ptc Qq0] Ff1
[Ddo Jjo( Bb0) ]
tc—— 停顿时间或主轴旋转的圈数;
jo(b0)—— 如果设 0或不设,则在结束加工之后,M03输出,如果设除了 0以外的值,则在结束加工之后,M04输出;
f1—— 进给率;
q0—— 在 x?y平面上的让刀量;
do—— 离 R点的距离。
5.铰孔循环 G85
G85 [Xx Yy] Rr Zz [Ptz] Ffo [Ef1
Ddo ]
执行过程如图 4-24所示。
tz—— 停顿时间或主轴旋转的圈数;
do—— 离 R点的距离;
fo—— 进给率 0;
f1—— 进给率 1。
6.攻丝循环 G84
G84 [Xx Yy] Rr Zz [Ptc] Ffo [Jjo
( Bb0) Ddo Hho Kko]
Tc—— 停留时间;
d0—— 离 R点的距离;
f0—— 进给率;
h0—— 同步 /非同步攻丝的选择标志和在同步攻丝循环期间的返回速度倍率( %):
h0=0表示非同步攻丝循环
h0>表示同步攻丝循环
jo(b0)—— 1,M04输出之前在孔底的停顿
—— 2,M04输出之后在孔底的停顿
—— 3,M03输出之前在 R点的停顿
k0—— 离 R点的距离。
4.2.7 子程序在程序编写过程中,常把一些在程序执行时经常重复使用的程序段写成独立的一个程序,在适当时候利用一些指令直接调用,这样的独立程序即为子程序。
4.3 加工中心程序编制实例编程实例:利用 LGMAZAK VTC-
16A型加工中心加工如图 4-27所示工件。
工件毛坯材料为?65× 30mm的 45钢,端面及外圆轮廓均要求铣削。
1.刀具选择
( 1)端面加工选用?65mm硬质合金机夹式端面铣刀;
( 2)外圆及轮廓铣削粗加工选用
16mm两刃立铣刀;
( 3)外圆及轮廓铣削精加工选用
8mm四刃立铣刀;
( 4)?10孔粗加工选用?5mm中心钻及?9.8mm麻花钻;
( 5)?10孔精加工选用?10mm高速钢机用铰刀;
2.工艺路线安排
1)调用?65mm硬质合金机夹式端面铣刀粗、精加工工件端面;
2)调用?16mm两刃立铣刀粗加工外圆及轮廓;
3)调用?5mm中心钻钻削?10孔的中心孔;
4)调用?9.8mm麻花钻钻削?10孔的铰孔基孔;
5)调用?8mm四刃立铣刀精铣外圆及轮廓;
6)调用?10mm高速钢机用铰刀铰削
10+0.015 0孔至尺寸。
4.4 宏程序编制
1.宏程序概述在程序中使用变量,通过对变量进行赋值及处理的方法达到程序功能,这种有变量的程序叫宏程序。
( 1)宏程序的使用格式宏程序格式与子程序一样,结尾用
M99返回主程序。
O0100;主程序
T01M06T00;
G90 G54 G00 …

G65 P8500(引数和引数值);
M30;
O8500;宏程序

[变量 ]
[运算指令 ]
[控制指令 ]

M99
( 2)选择程序号程序在存储器中的位置决定了该程序的一些权限,根据程序的重要程度和使用频率用户可选择合适的程序号,具体见表
4-8。
( 3)宏程序调用方法
① 非模态调用(单纯调用):指一次性调用宏程序主体,即宏程序只在一个程序段内有效,叫非模态调用。其格式为:
G65 P_ _ _ _(宏程序号) L_(重复次数) _<指定引数值 >
一个引数是一个字母,对应于宏程序中变量的地址,引数后边的数值赋给宏程序中对应的变量,同一语句中可以有多个引数 。
2.变量
( 1)变量的表示一个变量由 #符号和变量号组成,如:
# i (i =1,2,3…),也可用表达式来表示变量 。
( 2)变量的使用
( 3)变量的赋值
① 直接赋值
② 引数赋值
( 4)变量的种类变量有局部变量、公用变量(全局变量)和系统变量 3种。
① 局部变量 #1~ #33:局部变量是一个在宏程序中局部使用的变量。
② 公用变量(全局变量),#100~ #149、
#500~ #509公用变量贯穿整个程序过程,包括多重调用。
③ 系统变量:宏程序能够对机床内部变量进行读取和赋值,从而可完成复杂任务。
( 5)未定义变量的性质未定义变量又叫空变量,有其特殊性质,它与变量值为零的变量是有区别的。
变量 #0总是空变量 。
3.运算指令宏程序具有赋值、算术运算、逻辑运算、函数运算等功能 。
4.控制指令控制指令起到控制程序流向的作用。
( 1)分支语句( GOTO)
其格式为:
IF [ <条件表达式 > ]GOTO n
( 2)循环指令
WHILE [ <条件表达式 > ] DO m
(m=1,2,3…) ;
...
END m;