数 控 技 术 概 论
及 加 工 编 程
(4)
西华大学机械工程与自动化学院
制作,周利平
第四章 数控编程基础
? 数控加工程序的编制是数控加工中的重要一环,在数控加工
与数控机床之间起着纽带作用。
O10
G55 G90 G01 Z40 F2000
M03 S500
G01 X-50 Y0
G01 Z-5 F100
G01 G42 X-10 Y0 H01
G01 X60 Y0
G03 X80 Y20 R20
G03 X40 Y60 R40
G01 X0 Y40
G01 X0 Y-10
G01 G40 X0 Y-40
G01 Z40 F2000
M05
M30
R
2
0
R
4
0
6 0
4
0
第一节 数控程序编制的概念
一、数控程序编制的定义和方法
? 程序编制的定义
? 程序编制的步骤与要求



















制作控制介质
CRT/MDI
RS232、网卡







基点:简单平面轮廓
节点:方程曲线
列表曲线
? 程序编制的方法
? 手工编程
自动编程
语言数控自动编程
图形数控自动编程
语音数控自动编程
二、字符与代码
三、字与字的功能类别
? 字:一套有规定次序的字符,可以作为一个信息单
元存储、传递和操作。
? 字长:一个字所含字符个数。
? 常规加工程序中的 字:
一个英文字母+若干位 10进制数字组成。
? 顺序号字-地址符,N
地址

? 作用:程序校对和检索修改;在加工轨迹图几何节点处标上
相应顺序号字,可直观检查程序;可作为条件转向的目标;可
进行程序段的复归操作。
? 使用规则:数字为整数;数字可以不连续;可只在部分程序
段中设顺序号,也可全设,也可全不设。
? 模态(续效)指令,一经指定,直到出现同组其它 G
指令才失效。
? 准备功能字,G00~ G99,前置, 0”可省略
? 尺寸字,X,Y,Z,U,V,W,P,Q,R;
A,B,C,D,E;
I,J,K。
? 进给功能字,F
? 主轴转速功能字,S
? 刀具功能字,T
? 辅助功能字,M
?非模态指令
四、程序段格式
? 程序段格式:程序段中的字、字符和数据
的排列形式。
? 固定顺序格式
?分隔符程序段格式
?字地址可变程序段格式
程序段由若干个字组成;
每个字以字母(地址符)开头;
字长不固定、程序段长度可变;
字的排列不要求有固定的顺序
N,G,X,Y,Z,F,S,T,M、;
? 加工 程序的一般格式:

O10
N10 G55 G90 G00 Z40
N20 M03 S500
N30 X-50 Y0
N40 G01 Z-5 F100
N50 G01 G42 X-10 Y0 H01
N60 X60 Y0
N70 G03 X80 Y20 R20
N80 G03 X40 Y60 R40
N90 G01 X0 Y40
N100 X0 Y-10
N110 G01 G40 X0 Y-40
N120 G00 Z40
N130 M05
N140 M30

第二节 数控机床的坐标系
一、坐标系及运动方向 先确定 Z轴,再确定 X轴和 Y轴
二、坐标系的原点
? 机床原点:在机床上由机床生产厂家设置
的一个固定不变的基准点,在机床说明书上
有说明。
? 编程原点:由编程人员在工件上根据编程方便性
自行设定的编制加工程序的原点。
? 加工原点:
三、绝对坐标系和增量坐标系
G90 G00 X10 Y12
G01 X30 Y37 F100
……
G91 G00 X10 Y12
G01 X20 Y25 F100
…… G00 U10 V12
G01 U20 V25 F100
……
?G90,G91
N30 G90 G01 X40 Z-30 F500
N40 X60 Z-48
N30 G91 G01 X10 Z-30 F500
N40 X20 Z-18
?G90,G91是一对模态指令,在同一程序段中只能用一种;
?无论是绝对尺寸还是增量尺寸,同一轴向的尺寸字的地址符要
相同。
?有些系统可直接用地址符来区分,X,Y,Z—— 绝对尺寸
U,V,W—— 相对尺寸
第三节 常用编程指令
?预置寄存指令 G92(G50)
功能:使用 G92指令用来确定起刀点与编程原点的相对位置关
系,从而建立加工坐标系。
指令格式,G92 X_ Y_ Z_;
?执行 G92指令,机床不产生
任何运动;
?设定的加工原点与当前刀具
位臵有关,随刀具起始点的
位臵不同而改变,必须保证
起刀点位臵与程序中 G92指
令中的坐标值一致,重复加
工时应特别注意;
?也可用 CRT/MDI输入参数方式通过 G54~ G59设定加工坐标系。
G92 X150 Z100
G92 X150 Z20
功能:用来指定平面直线和圆弧插补、刀具补偿平面。
指令格式,G17;(设置加工平面为 XY,数控铣床默认平面)
G18;(设置加工平面为 ZX,数控车床默认平面)
G19;(设置加工平面为 YZ)
?坐标平面选择指令 G17,G18,G19
?快速点定位指令 G00
功能,在加工过程中,常需要刀具空运行到某一点,为下一步
加工做好准备,利用指令 G00可以使刀具快速移动到目标点。
指令格式,G00 X_ Y_ Z_;
执行 G00指令时,刀具的移动速度由系统参数设定,不受进给功能指令
F的影响。刀具的移动方式有三种:
1) 各轴以其最快的速度同时移动,因速度和移动距离的不同先后到达目
标点,刀具移动路线为多段直线的组合。
2) 各轴按设定的速度以联动的方式移动到位,刀具移动路线为一条直
线。
3) 各轴按输入的坐标字顺序分别快速移动到位,刀具的移动路线为阶
梯形。
?直线插补指令 G01
功能:指定直线插补,其作用是切削加工任意斜率的平面或空间
直线。
指令格式,G01 X_ Y _ Z_ F_;
N30 G90 G01 X40 Z-30 F500
N40 X60 Z-48
N30 G91 G01 X10 Z-30 F500
N40 X20 Z-18
功能,G02为顺圆插补; G03为逆圆插补,用以在指定平面内
按设定的进给速度沿圆弧轨迹切削。
?圆弧插补指令 G02,G03
指令格式:
?I,J,K:起点到圆心的增量
(矢量方向指向圆心);
?有些系统相反;
?有些系统可由 G90,G91决定
I,J,K是绝对或增量尺寸;
?有些车削系统 I可用直径值;
?圆心角 ≤180°, R为正; ≥180°, R为负;不能进行整圆加工。
G92 X0 Y0 Z0
G90 G00 X200,Y40.
G03 X140,Y100,I-60,F300.
G02 X120,Y60,I-50.
G92 X0 Y0 Z0
G91 G00 X200,Y40.
G03 X-60,Y60,I-60,F300.
G02 X-20,Y-40,I-50.
G92 X0 Y0 Z0
G90 G00 X200,Y40.
G03 X140,Y100,R60,F300.
G02 X120,Y60,R50.
G92 X0 Y0 Z0
G91 G00 X200,Y40.
G03 X-60,Y60,R60,F300.
G02 X-20,Y-40,R50.
G41
?刀具半径补偿指令 G40,G41,G42
?刀具半径补偿基本概念
G42
?指令格式,G01 G41/G42 X_ Y_ H_(D_)
…,
…,
G01 G40 X_ Y_
?刀补执行过程:
?刀补建立:
?刀补进行:
?刀补撤消:
下一程序段起
点处刀具半径
矢量顶点
?刀具半径补偿举例:
N010 G92 X0 Y0 Z10
N020 S600 M03
N030 G90 G17
N040 G41 G00 X20 Y10 D01
N050 Z-10 M08
N060 G01 Y50 F100
N070 X50
N080 Y20
N090 X10
N100 G00 Z10 M09
N110 G40 X0 Y0 M05
N120 M30
?注意事项:
?建立和撤消刀补程序段,不能使用圆弧插补指令;
?在补偿进行状态中不得变换补偿平面;
?偏臵量的改变:一般应在刀补撤消( G40后)状态下通过重
新设定进行,但也可在已偏臵状态下直接改变;
?偏臵量的符号:如果偏臵量值为负,G41和 G42可互相取代;
?由于刀具半径补偿引起的过切:
N010 G92 X0 Y0 Z10
N020 S600 M03
N030 G90 G17
N040 G41 G00 X20 Y10 D01
N050 Z-5 M08
N055 G01 Z-10 F100
N060 G01 Y50 F100
…,..
N100 G00 Z10 M09
N110 G40 X0 Y0 M05
N120 M30
N010 G92 X0 Y0 Z10
N020 S600 M03
N030 G90 G17
N040 G41 G00 X20 Y9 D01
N045 Y1
N050 Z-5 M08
N055 G01 Z-10 F100
N060 G01 Y50 F100
…,..
?刀具半径补偿的优越性:
?可直接按零件轮廓编程,不必考虑刀具半径的半径,从而简
化编程;
?当刀具磨损或重磨后,刀具半径减小,只需手工输入新的半径
值,而不必修改程序;
?可用同一程序(或稍作修改),甚至同一刀具进行粗、精加工。
?刀具长度补偿指令 G49,G43,G44-补偿刀具长度差值。
?指令格式:
G01 G43/G44 Z_ H_
……
……
G01 G49
设定 H01=-4.0(偏置值)
G91 G00 G43 Z-32 H01; 实际 Z向进给 -32.0+(-4.0)=-36.0
G01 Z-21.0 F1000; Z向将从 -36.0进给到 -57.0
G00 G49 Z53.0; Z向将退到 53.0+4.0,返回到初始位置