第4章 数控编程基础

Download Report

Transcript 第4章 数控编程基础

数控机床的程序编程基础
湖北工业大学机械工程学院
杨光友教授
中职机电技术应用专业




3.1 概述
3.1.1 数控编程的基本概念
数控机床是按事先编好的程序进行工作的。应把待加
工零件的工艺参数、刀具轨迹、切削参数等等,按照规定的
代码及格式编写程序单,并输入到的数控装置里用于控制数
控机床。
3.1.2 编程的内容及步骤
1.确定加工方案





零件的:材料
形状
尺寸
精度要求
热处理硬度
选择:合适的数控机床
合适的刀具
合适的夹具
合适的装夹方法
2.工艺处理





确定以下参数:1)对刀点
2)换刀点
3)走刀路线
4)切削参数:主轴转速
下刀深度
3.数学处理
数学处理有两个含义:



1) 编程中需知道工件每段轮廓的起点、终点及
线形。其中一些参数是不能从零件的设计图纸直接得
出的,需要计算,如某些角度的直线到圆弧的切点。
2)数控机床一般只能加工直线或圆弧。若工件表
面的轮廓是其它线形,例如渐开线等,则应该用直线
和圆弧去拟合之。
更加复杂的轮廓面需要用计算机才能进行拟合并进
而进行数学处理。(求起点、终点、线形等)
4.编写程序

根据所用机床和刀具以及指令格式,按照
轮廓段逐段编写程序,一段轮廓一句程序。
(故有时称一句程序为一程序段)



5.制备程序控制介质
程序可以用Windows的写字板平台编制,
并保存在内存中,用3 1/5软盘或U盘作为
附件带出来
6.通过数控机床备有的RS232串行口将程序
输入到数控机床里就完成了编程工作。
3.1.3 数控编程方法
有3种编程方法:1)手工编程 2)APT语言
3)交互式图形编程







1.手工编程
当零件比较简单时可以用手工编程(零件轮廓仅由直线和圆弧
组成)。
2.APT 语言编程
此种方法现在已走下坡路,这里不作介绍
3.交互式图形编程
有的软件能在三维造型的基础上通过交互式对话自动生成数控
程序。常用的软件有Mastercam;制造工程师(CAXA);开目
CAD等。其中民族产品CAXA还是比较好用的。
3.2 数控编程基础
3.2.1 编程的几何基础

1.机床坐标系

机床使用笛卡尔直角坐标系,如图所示:

X、Y、Z为移动坐标,A、B、C为旋转坐标。实行右手定则
2.轴及方向的规定

1)Z轴

与机床主轴线平行的坐标轴为Z轴,远离工件的方向为Z轴的正向
立式铣床
卧式铣镗床
数控车床
2)X轴
X轴一般是最长的运动轴:对铣镗类机床
而言操作者面前的轴就是X轴,车床的X轴
是大拖把的运动方向






3)Y轴
用右手定则确定之。车床没有Y轴
4)回转轴
绕X轴旋转的刀具(工件)称为A轴,其+方
向由右手定则确定。
绕Y轴旋转的刀具(工件)称为B轴,其+方
向由右手定则确定。
绕Z轴旋转的刀具(工件)称为C轴,
3. 坐标系: 机床坐标系
工件坐标系(编程坐标系)

由于机床坐标系的原点在机床的固定位置(顶点
上),对于编程时的位置计算极不方便,人们习惯于
以图纸设计基准为参考点,故采用工件坐标系进行位
置计算,而将工件坐标系的原点在机床坐标系的位置
关系(相对差值)记录下来------这就是确定工件坐
标系。工件坐标系可以有几个,这可以方便几个工件
的编程。用G54;G55等代码 记录
4. 绝对坐标系及增量坐标系



绝对坐标:每一个位置点均以工件坐标原点为
参考点
增量坐标:以前一段程序的终点为参考点。如
下图,其相对坐标Ub=-15,Vb=-20
见图
5. 坐标数和多坐标加工


坐标数:可以用数字单独控制的坐标轴的数
目。
有的坐标不能参与联动,但可以作周期进给,
称为半个坐标,0.5轴。例下图中的2.5坐标
机床。

(a)2坐标加工
(b)2.5坐标加工
(c)3坐标加工
6. 直线插补及圆弧插补
7.刀具补偿:半径补偿及长度补偿
在铣工件轮廓面时,由于任何刀具均有半径,必须使刀具沿
轮廓的法线方向移动一个刀具的半径距离才能加工出规定的
形状。这就是刀具半径补偿(简称刀补)的道理所在。
用G41/G42记之
刀具
工件
轮廓
刀具长度补偿


钻头、镗刀、铣刀刀具的实际长度与编
程设定长度可能不一致,刀具的轴向位
置需要进行数据上的调整,即进行长度
补偿。
用G43/G44记之
刀具半径的选择







刀具半径r应小于轮廓最小曲率半径ρm:
r=(0.8~0.9) ρm
零件的加工高度H≤(1/4~1/6)R
对不通孔槽刀具的可用于切削的长度
L=H+5~10mm
对通孔槽L=H+Re+5~10mm(Re:刀尖半径)
粗铣内轮廓时,铣刀最大半径Dc:
Dc=2(δsinφ/2- δ1)/(1- sinφ/2)+D
加工肋板端面(厚b)时,D=(5~10)b
8.数控机床注意要点
1.)车螺纹
2
 引入距离1:2~5mm
 超越距离2= 1/4
1
2.)铣削平面



切入切出:周边外延(图4-25 P118)
铣内轮廓:法向切入切出(下图)
走刀路线:下图c最好
行切法、环切法
3.3 数控系统的指令代码








我国参照国际标准对数控程序里代码的含义及格式制定了标准。
(但是该标准无强制性,各厂家独出心裁花样百出)我们学习的
是一般情况下的指令。真正工作时需参考机床厂的使用说明书
3.3.1 程序结构与格式
1.程序的地址、数据和字
英文字母及字符:地址
1~9、+、-、.:数字
2. 程序段与程序组成
一句程序一段轮廓
------ 程序段
8. 数控编程误差及其控制



1.近似计算误差
2.插补误差(编程误差)(走弦,图a)
3.尺寸圆整误差(脉冲当量图b)













%
O0024
N10 G54 G90 G49 G80
N20 M06 T01
N30 S1000 M03
N40 G00 X0.0 Y0.0 M08
N50 Z20.
N60 G01 Z-6.F100.;
N70 X10. Y10.;
N80 G00 Z100.;
N90 M09;
N95 M30;
%













以%开始
程序编号(程序名)
以绝对坐标编程
换1#刀具
启动主轴其转速1000rpm
快速移刀到X=0 Y=0处
抬刀(向上)20mm
向下进刀26mm f=100
------加工程序已完成
以%收尾
指令代码 模态
功能说明
指令代码
模态
功能说明
G00
1
快速定位运动
G44
1
刀具长度负补偿
G01
1
直线插补
G54~59
1
选定工件坐标系
1~6
G02
1
顺时针圆弧插补
G73~85
1
固定循环用指令
G03
1
逆时针圆弧插补
G90
1
用绝对坐标编程
G04
#
暂停
G91
1
用相对坐标编程
G17~19
1
XY/XZ/YZ平面选择
G92
#
设定工件临时坐标
系
G20
1
英制
G98
1
固定循环后返初点
G21
1
公制
G99
1
固定循环后返R点
G40
1
取消刀补
G100
1
取消镜像
G41
1
刀具左补偿
G101
1
镜像
G42
1
刀具右补偿
G110~129
1
选定工件坐标系
7~30
G43
1
刀具长度正补偿
1. 主要G代码说明










G00 快速定位指令
G90 绝对坐标编程
G91 相对坐标编程
G01 直线插补指令
G02 顺时针圆弧插补指令
G03 逆时针圆弧插补指令
G04 暂停指令
G17/G18/G19 平面选择指令
G41、G42 左偏、右偏刀具半径补偿
G54 工件坐标系设定指令
1)与坐标有关的G代码 :G90和G91
G50及G54
G17/G18/G19



G90和G91:绝对坐标编程和相对坐标编程
G50及G92: 车床及铣镗类机床工件坐标系设定
例G50 X200.0Z100.0指定了该工件的坐标系原点在图中
“O”点处
G54~G59 选定工件坐标系



事先将预定的工件坐标系原点输入到坐标系中,当选用该坐标
系作为编程基准时,用G54~G59选定即可。
例:先在机床设定项目G54下输入X=66.79;Y=35.84 Z=0.0
如何在程序中调用G54即可确定该工件坐标系的原点。
2)与平面有关的G代码
G17/G18/G19

在3坐标联动机床里(大部分
机床)有时其插补平面仅需
一个平面,我们用
G17/G18/G19来指定在哪一
个平面内进行插补。
3)与刀具运动相关的指令
G00;G01;G02;G03


例如:G00 X20.Y30.其含义是令刀具快速
从现存点到达X=20.00 Y=30.00的坐标点。
“快速”的作用是节省刀具运动时间(提高
效率),运用此代码时要特别注意把刀具升
起来以避免打刀事故发生。
G01 X20.Y24.Z15.F100.代表刀具以规定
速度(100mm/min)运动到终点坐标处
(X;Y;Z坐标值规定终点坐标)

G02 顺园切削 X()Y() I() J() 『 R()』
终点坐标 圆心相对于圆弧起点的偏移量
圆心相对于圆弧起点的偏移量
R= (1) 圆弧>=1800 R<0
(2) 圆弧<1800 R>0

整园可不写终点坐标,但必须写I()J()(不能用R)

G03 逆园切削X10.0Y40.0I-30.0 ( R30.0)



40
10
I =- 3 0 J = 0
R
10
40
圆弧插补的例子
G90 G02 X79.0Y58.5 I39.0J8.5 F100.
第二条圆弧:G17G90G02 X79.0Y58.5 I-11.0J38.5F100.
第一条圆弧:G17
第二
条弧
第一条圆弧
还有:G17 G90 G02 X79.0Y58.5 R40. F100.(第一条圆弧)
G17G90G02 X79.0Y58.5 R-40.0F100.(第二条圆弧)
4)与刀具补偿有关的G代码
长度补偿代码G43/G44

刀具组合完成后刀尖的长度(刀尖到主轴端面距离)不可能一
致,显然用长度补偿的方法去修正这种误差较为方便。
偏置值为+


刀具Z方向移动的距离是:指令值+刀具偏置值
刀具偏置值存放在“刀具偏置值寄存器中”
偏置值
负值
半径补偿代码G41/G42


根据刀具半径加工工件规定轮廓,数控系统自动计算刀具中心
轨迹称为刀具半径补偿,其分为左刀补和右刀补两种情况。
例如:G01 G41 X40.0Y50. D04
左刀补
刀补半径
在这里
直线插补的终点坐标

刀补的方向是左还是右要根据刀具的前进方向和轮廓的法线方向
按照左右定之。
5)固定循环



固定循环功能:
用一个G代码程序完
成多个工步才能完成
的动作
用数控机床加工:钻
孔、锪孔、镗孔、铰
孔、攻丝
二选一
固定循环的动作
(1)X轴及Y轴定位

(2)快进到参考平面
(R平面 )
(3)以切削进给方式执
行孔加工
(4)在孔底刀具作动作
(5)返回参考平面
(6)快速返回初始点
G98/G99指令的用法
快速进给
切削进给
固定循环指令格式








G91 G98
G90 G99 G_X_Y_Z_R_Q_P_F_L_
X_Y_ 孔的位置(与G90,G91有关)
Z---孔底位置
R---R点的位置
P--在孔底的时间
Q--每次加工的深度(与G90,G91无关)
L--循环次数
孔加工固定循环指令的形式及动作

1.G98(G99)G73: 高速深孔加工
G98(G99)G73 X- Y
-
Z
-
R
-
Q
-
F
-
G98(G99)G74 X-Y-Z-R-
反攻丝循环 制作反向螺纹孔
G76 X-Y-Z-R-Q孔的大小由Q值决定(精镗孔)
G81 :X、Y定位,快进,工进,快速返回(钻孔及镗孔)
G82 X-Y-Z-R-P- 停顿的时间由P值确定(带停顿的钻孔、扩孔及镗孔)
G83:X、Y快速定位,快进,工进Q,退D值,再工进D+Q…..(加工深孔)
G84:攻正向螺纹孔
G85:镗孔

G87:反镗孔
G88:镗孔
固定循环编程举例



















%
O0026
M06 T01
G90 G00 G92 X0 Y0 T02
G43 H01 Z20 M03 S500 F30
G98 G85 X0 Y0 R3 Z-45 镗φ40孔
G80 G28 G49 Z0 M06
G00 X-60 Y50 T03
G43 H02 Z10 M03 S600
G98 G73 X-60 Y0 R-15 Z-48 Q4 F40
X60 钻φ13孔(先左后右)
G80 G28 G49 Z0 M06
G00 X-60 Y0
G43 H03 Z10 M03 S350
G98 G82 X-60 Y0 R-15 Z-32 P100 F25
X60 忽钻φ13孔(先左后右)
G80 G28 G49 Z0 M05
G91 G28 X0 Y0 M30
end
6)车削固定循环
相当于普通车床的自动进刀




(1)外经或内径自动进刀
指令G77:如G77
X_Z_F_(U_W_F_)
式中的F 是与进刀速度有关
的代码
(2)螺纹车削固定循环指令
G78:如:
G78X_Z_F_/G78U_W_
F_
式中的F 是与螺距有关的
代码
(3)车削端面(含斜端面)指令
G79 X(U)Z(W)F ;G78X(U)Z(W)-K-F
大小头的差值

复合车削循环指令G70~G76
G71
G72
G73
3.4 手工编程

3.4.1 孔的加工程序编制
1)编程选用坐标系应与图纸中标注方法尽量一致。
2)注意提高对刀精度和换刀点的位置
3)使用刀具长度补偿功能去应付换刀后的长度偏差

孔加工实例:



孔加工工步如下:
(1)中心钻点孔(Ф3中心钻)
(2)钻孔(Ф8.5麻花钻)
(3)攻螺纹(M10丝锥)

加工程序
%
O0026
说明
程序开始符号
程序号(程序名)
N5 G90 G21 G40 G49
G80 G17
程序段号、绝对坐标编程、公制、取消半径、长度、固定
循环补偿;修正X-Y平面作为插补平面
N10 G54
选定工件坐标系(该坐标系的值已输入到设定寄存器里)
N15 M06 T01
换1#刀具(中心钻)
N20 S1000 M03
主轴正转,转速1000rpm
N25 G43 G00 H01 Z128
对刀具正补偿;快速抬刀Z=128mm处
N30 X0.Y0.M08
快移到编程原点,启动冷却泵
N35 X20.Y20.
快移到A点
N40 Z20.
快移到Z=20mm处
N45 G01 Z3.F100.
进给Z=3mm处,进给速度100mm/min
N50 G81R3.Z-3.F50.
对A孔循环加工,钻深3mm,返回R参考面(Z=3mm)
N55 Y45.
仿照A孔对B孔进行加工
N60 X70.
仿照A孔对C孔进行加工
N65 Y20.
仿照A孔对D孔进行加工
加工程序
说明
N70 G80
取消固定循环
N75 G00 Z100.
快移到z=100mm处
N80M06 T01
换2#刀具(麻花钻)
N85 S600 M03
主轴正转,转速600rpm
N90 G43 G00 H01 Z128
对刀具正补偿;快速抬刀Z=128mm处
N95 X0.Y0.M08
快移到编程原点,启动冷却泵
N100 X20.Y20.
快移到A点
N105 Z20.
快移到Z=20mm处
N110G01 Z3.F100.
进给Z=3mm处,进给速度100mm/min
N115 G83 R3.Z-35.Q5F40.
对A孔循环加工,钻深35mm,返回R参考面(Z=
3mm);进给速度40mm/min
N120 Y45.
仿照A孔对B孔进行加工
N125 X70.
仿照A孔对C孔进行加工
N130 Y20.
仿照A孔对D孔进行加工
3.4.2数控车削程序的编制
车床的数控系统是两轴系统

1)车削编程的坐标系:XOZ 用G50指定工件坐标系
工件坐标系零点
指定这里为工件坐标系的零点比较便于找正和测量
2)绝对编程时使用X,Y,更一般和方便的是使用U/W(增量编程)
并且在圆弧加工中使用R比使用I、K方便

数控车床常用G代码
G代码
模态
功能
G代码
模态
功能
G00
快速定位
G55
选定工件坐标系2
G01
直线插补
G56
选定工件坐标系3
G02
顺时针圆弧插补
G57
选定工件坐标系4
G03
逆时针圆弧插补
G58
选定工件坐标系5
暂停
G59
选定工件坐标系6
G17
X-Y平面内插补
G70
精车固定循环
G18
X-Z平面内插补
G71
粗车外园固定循环
G20
英制
G72
精车端面固定循环
G21
公制
G73
固定形状固定循环
G40
取消刀补
G75
精车固定循环
G41
左刀补
G76
螺纹车削固定循环
G42
右刀补
G90
内、外园车削固定循
环
设定工件坐标系
G92
螺纹车削固定循环
选定工件坐标系1
G28
G04
G50
G54
非
非
非
返回参考点
3)车削编程实例

工步:粗车、精车端面----粗车、精车外园----倒角--园角---完工
加工程序
功能说明
%
程序开始
O0020
程序号
N005 G50 X400. 0 Z100.0
设定工件坐标系
N010 S800 M03
主轴正转,转速800r/min
N015 T01 M08
调用1#粗车刀并继续长度补偿,启动冷却泵
N020 G00 X60.0 Z5.0
快移至粗车外园起点
N025 G01 Z2.0 F50.
准备粗车外园端面
N030 X0.0
粗车端面一刀(试刀)
N035 G00 X60.
快退到第一次的进刀点
N040 G01 Z0.3 F50.
准备粗车端面
N045 X0.0
粗车端面(留0.3mm加工余量)
N050 G00 X58.6
快移到粗车倒角起点
N055 G01 X60.6 Z-1.3
粗车倒角
N060 W-53.7
粗车小端外园面
N065 G02 X70.0 Z-59.7 R4.7
粗车台阶内园角
N070 G01 X97.4
粗车台阶端面
N075 X100.6 W-1.6
N080 Z-95.
粗车倒角
粗车台阶外园面
N85 G00 X400.Z100.
返回换刀点
、、、、、、
、、、、、、
例3---4 有圆弧及螺纹的车削工件
%
程序开始
O0006
程序号
N05 G50 X200.Z350.T0101
建立工件坐标系,使用1#刀且有刀补
N10 S630 M03 M08
主轴正转630rpm 打开冷却液
N15 G00 X46. Z292.
快速移动到起刀位置
N20 G01 Z290.F100.
工进到倒角起点
N22 X48.Z289.
倒角
N25 U0.W-59.
车螺纹外园及沟槽外园
N30 X50.W0.
车台阶端面
N30 X62.W-60.
车锥面
N40 U0.Z155.
车Ф62的外园
N45 X78.W0.
车台阶端面
N50 X80.W-1.
倒角
N55 U0.W-19.
车Ф80的外园
N60G02U0.W-60.I63.25K-30.
车R70圆弧
N65 G01 U0.Z65.
车Ф80的外园
N70X106.W0.
车台阶端面
N75 G00X200.Z350.T0100
快移至换刀点,取消1#刀的刀补关冷却
N80 T0202
调用2#切槽刀,对2#刀进行刀补
N85 S315 M03
主轴正转,转速315rpm
N90 G00 X51.Z230.M08
快移到切槽起点
N95 G01X45.W0.F30.
切槽
N100 G00X56.
切槽刀退出
N105X200.Z350. T0200 M09
快移到换刀点,取消2#刀的刀补,关闭冷却液
N110 T0303
调用3#切槽刀并对其进行刀补
N115 S200 M03
主轴正转,转速200rpm
N120 G00 X50.Z293.M08
快移到螺纹起点,打开冷却液
N125 G76 X47.4 Z227. F40.
车螺纹循环,切深0.3mm,进给速度40mm/min
N130 X46.8
切深0.6mm
N135 X46.2
切深0.9mm
N140 X45.6
切深1.2mm
N145 X45
切深1.5mm
N150 X44.4
切深1.8mm
N155 X44.
切深2mm
N160 X200.Z350.T0300 M09
快移到换刀点,取消3#刀的刀补,关闭冷却液
N165 M05 M30
主轴停,程序停
%
程序结束符号
3.4.3 编程举例
APT语言应用举例










10 APT PROGRAM
REM
20 SP=POINT/0,0,0
定义坐标原点
30 L1=LINE/4,0,0,4,8,0 定义过(4,0,0)及
40 PT=POINT 4,8,0
(4,8,0)的直线L1
50 L2=LINE/PT,ATANGL,45 定义直线L2
60 L3=LINE/8,12,0,12,12,0
70 L4=LINE/14,5,0,14,10,0
80L5 LINE/4,2,0,11,2,0
90C1=CIRCLE/12,10,0,2,0 定义半径为2的园
100C2=CIRCLE/14,2,0,3,0













110
120
130
140
150
160
170
180
190
200
210
INTOL/0
轮廓内容差为0
OUTTOL/0.005
轮廓外容差为0.005mm
CUTTER/6.0
刀具直径为6
SPINDL/2000,CLW
主轴转速2000
COOLNT/ON
冷却液泵开
FEDRAT/200
进给速度200
FROM /SP
起刀点SP
GO/TO,L1
刀具从SP到L1
TLLFT,GOLET/L1,PAST,L2 刀具左拐并在L1的左边穿过L2
GORGT/L2,PAST,L3
刀具右拐并沿L2穿过L3为止
GORGT/L3,TANTO,C1 刀具右拐并沿L3运动与C1相切
。。。。。。
。。。。。。
3.5 辅助功能指令






主要辅助功能指令说明
M00 程序停止指令
M02 主轴停止指令
M03 主轴启动指令
M30 返回原位指令
主轴转速功能指令:S1200=1200r/min
进给功能指令 F300=300mm/min
镜像命令G24;取消镜像G25
%100
G00 X10Y10
G01 G42X10F1.5
……
M99
%0001
G91 G00 M03
M98 P100
G24 X0
M98 P100
G24 X0YO
……
旋转命令G68;取消旋转G69

配合使用



G90 M03
M98 P100
G68 X0YOP45
……
a
子程序的调用M98;M99
M98 调用子程序的命令
M99 子程序的结尾并返回主程序 RETUAN
%XXXX
子程序
N10 XXXX
%XXXX
………….
…….
M98 XXXX
M99