数
控
编
程
1
概 述
• 数控加工不需手工进行直接操作,而是通过给定一系列的
指令,形成数控加工程序,经数控系统处理后,使机床自
动完成零件加工。改变加工程序便可以很方便地在一台数
控机床上完成多种零件的加工。
• 从零件图纸到编制零件加工程序和制作控制介质的全部过
程,称为程序编制。
• 程序编制分为手工和自动编程两种。
• 显然,在加工前要编制零件加工程序,而编程又要先确定
工件的加工工艺。所以我们首先要熟知数控车床基础及数
控加工工艺。
2
数控车床基础
一、数控车床的功能及特点
数控车床又称CNC车床,
能自动完成对轴类与盘类零件
内外圆柱面、圆锥面、圆弧面、
螺纹等切削加工,并能进行切
槽、钻孔、和铰孔等工作。数
控车床具有加工精度稳定性好、
加工灵活、通用性强,能适应
多品种、小批生产自动化的要
求,特别适合加工形状复杂的
轴类或盘类零件。
3
数控车床基础
二、数控车床的布局
数控车床床身导轨与水平面的相对位置
①水平床身
②水平床身斜刀架
③斜床身
④立床身
4
数控车床基础
三、数控车床刀具的选择
5
数控车床基础
四、数控车床坐标系统
1、坐标系:机床中使用顺时针方向
的直角坐标系(右手直角坐标系),机
床中的运动是指刀具和工件之间的相对
运动,是刀具相对于静止的工件的运动。
6
数控车床基础
(1)Z轴的确定
Z轴是传递切削力的主轴所规定的主轴轴向。对于铣
床、镗床、钻床等是带动刀具旋转的轴;对于车床、磨床
等是带动工件旋转的轴。其方向是平行于主轴轴线,远离
工件方向为正方向。
((2)X2)X轴的确定轴的确定
X轴一般是水平的,平行于工件的装夹平面。它平行
于主要的切削方向,且以此方向为主方向。
7
数控车床基础
(3)Y轴的确定
Y轴的运动方向则根据X轴和Z轴按右手法则确定。
(4)转动方向的确定
围绕X、Y、Z轴的转动分别用A、B、C表示,它们的
正方向为右旋螺纹前进的方向
8
数控车床基础
2、机床坐标系、机床原点和机床参考点
机床坐标系是机床固有的坐标系,机床坐标系的原
点称为机床原点或机床零点。在机床经过设计、制造和
调整后,这个原点就被确定下来了,它是机床上固有的
一个点。数控车床一般将机床原点定义在卡盘后端面与
主轴旋转中心的交点上。
机床坐标系的建立方法:(1)X轴正方向朝上建立,
适用于斜床身和水平床身斜导轨的卧式数控车床,由于
刀架处于操作者的外侧,俗称上手刀;(2)X轴正方向
朝下建立,适用于水平床身的卧式数控车床,由于刀架
处于操作者的内侧,俗称下手刀;
如下图所示
9
数控车床基础
10
数控车床基础
机床参考点可以与机床零点重合,
也可以不重合,通过参数设定机床参考
点到机床零点的位置的距离。机床回到
参考点的位置,也就知道了该坐标轴的
机床零点位置。CNC就建立起了机床坐
标系。
机床参考点距机床原点在其进给方
向上的距离在出厂时已经确定,可以利
用功能键回参考点,也可以利用G28指
令使刀架回参考点。
11
数控车床基础
卧式数控车床
12
数控车床基础
3、工件坐标系(WCS)和工件原点
工件坐标系是编程人员在编程时使用的,由编程人员以工件图纸
上的某一固定点位原点(也称工件原点)所建立的坐标系,编程尺寸
都按工件坐标系中的尺寸确定。工件坐标系的各坐标轴与机床坐标系
相应的坐标轴平行。
工件原点选择的原则:
(1)工件原点选在工件图样的尺寸基础上。
(2)能使工件方便地装卡、测量和检验。
(3)工件原点尽量选在尺寸精度高、粗糙度较细的工件表面上。
(4)对于有对称形状的几何零件,工件零件最好选在对称中心上。
13
数控车床基础
• 对于车床工件零点在Z轴的位置由编程人员自由选
取,在X轴的位置始终位于旋转轴中心线上。
14
数控车床基础
• 工件的装夹:当工件装夹到机床上后,工件坐标系原点相
对于机床坐标系原点的座标值偏移量可以作为可设定的零
点偏移输入到给定的数据区,当NC程序运行时,此值可以
用一个编程指令(G54~G57)来选择。
15
数控车床基础
机床
原点
工件
原点
机床参
考点
编程
原点
数控车床坐标系及相关点的关系
16
零件的数控加工工艺
• 数控加工的中的所有工步、
切削用量、走刀路线、加
工余量和刀具选择都要预
先确定好并编入程序。
• 因此要求编程人员对机床
的性能、特点、应用、切
削规范和刀具等要非常熟
悉,否则就无法做到全面、
周到地考虑加工的全过程,
无法合理地编制零件的加
工程序。
17
零件数控加工工艺性分析
1)机床的合理选用:
既要保证加工零件的技术要求,加工出合格的产
品,又要有利于提高生产率,还要尽可能降低生产成
本。
2)选择合适的零件安装方式:
应尽量使工件 能够一次安装完成所有的待加工
面的加工。合理选择基准和夹紧方式,以减少误差环
节。
3)选择合适的刀具:
选择刀具时应考虑以下要求:工件材质、加工轮
廓类型、机床允许的切削用量以及刚性和耐用度等。
编程时要规定刀具的结构尺寸和调整尺寸。
18
零件数控加工工艺性分析
4)确定加工路线:
加工路线是指数控加工中刀具相对于工件的运动
轨迹。确定加工路线应在保证零件加工精度和表面粗
糙度的前提下,充分发挥机床的效能。
对于点位控制的机床应尽可能缩短走刀路线,减
少空行程时间,提高生产效率。
旋转体类零件应用数控车床加工,由于车销的零
件的毛坯多为棒料或锻件,加工余量大且不均匀,因
此合理的制定促加工路线是编程的关键所在。
19
程序编制
一、编制数控程序常用的指令代码
1.准备功能代码(G代码)
准备功能代码用于指定一些动作或选择一种操作方式,
它使用G代码编程。
模态代码是指某些G代码在一个程序段被指定后,直
到以后程序段出现同组的另一个代码时才失效的G代码,
如G1,G2等。
非模态代码是指只有书写了该代码时才有效的代码,
如G70,G71等。
2.辅助功能代码(M代码)
辅助功能代码(M代码)用于指令控制功能和机床功
能,多与程序执行和机械控制有关。
20
程序编制
3. F、S、T指令
1)F功能:指定进给速度
每转进给(G99):系统开机状态为G99状态,只有
输入G98指令后,才会被取消,单位为mm/r。
每分进给(G98):G98被执行一次后,系统将继续
保持G98状态,直到输入G99取消,单位为mm/min。
2)S功能:指定主轴转速
3)T功能:指数控系统进行换刀
在FANUC 0i Mate-TC系统中,采用T“2位+2位”的
形式。例如,T0101表示采用1号刀具和1号刀补。在
SIEMENS系统中采用T1D1,T2D2等。
21
程序编制
二、程序结构
NC程序由各个程序段组
成,每个程序段执行一个加
工步骤,程序段由若干个字
组成,最后一个程序段包含
程序结束符M30。程序字按
其功能的不同可分为:顺序
号字、准备功能字、尺寸字、
进给功能字、主轴转速功能
字、刀具功能字和辅助功能
字7种类型。
22
程序编制
1、程序名(FANUC 0i Mate-TC系统)
• 每个程序均有一个程序名,程序名可以按以
下规则确定:
• 开始的第一个符号必须是字母,格式为
O××××。
• 其后的为加工程序号,可以从0000~9999,
最多为5个字符。
• 不得使用分隔符。
23
程序编制
2、程序段结构
• 一个程序段中包含执行一个工序所需的全部数据,程序段
由若干个字和段结束符组成。
• 程序段中有多个指令时建议按如下顺序:
N…G…X…Y…Z…F…S…T…D…M…
• 以5或10为间隔选择程序段号,以便以后插入程序段时不
会改变程序段号的位置。
• 在不需要每次都要执行的程序段号前面可以加上斜线符
“/”,当程序段跳跃功能生效时,该段被跳过不执行。
• 可以在程序段后面加上注释对程序段进行说明。
24
程序编制
3、主程序与子程序
(1)子程序:将重复出现的程序串单独抽
出来,按一定的格式写成子程序,供主
程序调用。
(2)子程序的格式:除有子程序名外,还
要有子程序结束代码字。其余部分与主
程序相同。
(3)主程序:程序中字子程序以外的部分
便称为主程序。
25
程序编制
三、准备功能指令(G代码)
1、快速移动G0
• G0用于快速定位刀具,不对工件进行加工,可以
几个坐标轴同时运行产生一个线性轨迹。
• 快速移动的最大速度值在机床数据中规定。
• 用G0快速移动时,F地址下编程的进给率无效。
• G0为模态代码,一直有效直到被同组中其他的G指
令取代。
• 例如:
N10 G0 X100 Z60 ;快速定到X100 Z60处。
26
程序编制
编程格式为:G0 X40 Z6
O
G0指令运用
40
6
Z
X
27
程序编制
2、带进给率的线性插补:G1
• 刀具以地址F下编程的进给速度沿直线从起始点移动到目
标位置。G1为模态代码。
• G1 X…Y…Z…F…
28
程序编制
• 绝对坐标编程为:G1 X40 Z-80
• 相对坐标编程为:G1 U0 W-80
O
G1指令运用
40
Z
X
80
29
程序编制
• 编程练习
N10 M03 S800 T0101
N20 G0 X6 Z2
N30 G1 Z-6
N40 X12 Z-12
N50 Z-20
N60 X16
N70 Z-32
N80 G0 X100
N90 Z100
N100 M30
%
30
程序编制
3、圆弧插补:G02,G03
• 刀具以地址F下编程的进给速度沿圆弧轨迹
从起始点运动到终点,方向由G指令确定。
两者均为模态代码。
• 圆弧一般可以按半径和终点座标方式表示。
• 程序段格式:G02/G03 X_ Z_ R_ F_ ;
31
程序编制
32
程序编制
半径法: G02 R23
Z
X
O
60
14
33
程序编制
半径法: G03 R30 F30
Z
X
O
60
G03指令运
用 34
程序编制
4、内/外径车削固定循环G90
该循环主要用于圆柱面和圆锥面的循环切
削。
(1)直线切削循环 程序段格式:
G90 X(U)_ Z(W)_ F_
如下图所示,刀具从循环起点开始矩
形循环,最后又回到循环起点。
35
程序编制
加工如图的轮廓:
O0001;
N5 M3 S800 T0101;
N10 G0 X42 Z2;
N15 G90 X37 Z-20 ;
N20 X34 Z-20;
N25 X31 Z-20;
N30 X28 Z-20;
N35 X25 Z-20;
N40 X22 Z-20;
N45 G0 X100;
N50 Z100;
N60 M30;
%
36
程序编制
(2)锥面切削循环 程序段
格式为:
G90 X(U)_ Z(W)_ F_;
X、Z为圆锥面切削终点坐
标值;U、W为圆锥切削终点
相对于起点的增量值;其加
工顺序按1、2、3进行。R为
锥体起、终点的半径差。为
了避免崩刀,刀具在Z向应有
一定的安全距离,所以在考
虑R时,应按延伸后的值考虑
(如图中,R应是,而
不是-5)。注意R的符号,应
是起点值减去终点值。
37
程序编制
加工右图的圆锥轮廓:
O0001;
N5 M3 S800 T0101 ;
N10 G0 X41 Z5;
N15 G90 X40 Z-20 ;
N20 X35 Z-20;
N25 X30 Z-20;
N30 G0 X100;
N35 Z100;
N40 M30;
%
38
程序编制
39
程序编制
5、单行程螺纹切削指令G32
G32指令可以执行单行程螺纹切削,
螺纹切削车刀进给运动严格根据输入的螺
纹导程进行。但是螺纹车刀的切入、切出、
返回等均需要另外编入程序,编写的程序
比较多,在实际编程中一般很少使用G32指
令。
程序格式为:G32 X(U)_ Z(W)_ F_
X、Z为螺纹终点坐标;U、W为螺纹终
点相对起点的增量值;F为螺纹导程。
40
程序编制
6、螺纹切削固定循环指令G92
该指令可以切削锥螺纹和圆柱螺纹,其循环路线与
前述的单一固定循环G90基本相同,只是F后面的进给量改
为螺距值即可。
(1)直螺纹的切削循环 程序格式为:
G92 X(U)_ Z(W)_ F_;
(2)锥螺纹的切削循环 程序格式为:
G92 X(U)_ Z(W)_ R_ F_;
41
程序编制
42
程序编制
• 加工上图所示的圆柱螺纹
O0001;
N10 M3 S600 T0303; 主轴启动
N15 G0 X32 Z4; 快速到达循环起点
N20 G92 Z-27 F2; 切削螺纹第1次
N25 ; 模态指令,切削螺纹第2次
N30 ; 切削螺纹第3次
N35 ; 切削螺纹第4次
N40 ; 切削螺纹第5次(精车)
N45 G0 X100 Z100; 快速退出
N50 M30; 程序结束
% 程序结束符号
43
程序编制 7、复合循环G70、G71
44
45
编程练习1
编制图示零件的加工程序,其中点划线部分
为工件毛坯
O0001
N10 M3 S500 T0101 ;
N20 G0 X46 Z2; (到循环起点位置)
N40 G71 R2;
N50 G71 P60 Q150 ;(粗切循环加工)
N60 G1 X6 ;
N70 Z0;
N80 X10 Z-2;(粗加工倒2×45°角)
N90 Z-20; (粗加工Φ10外圆)
N100 G02 X20 Z-25 R5;(粗加工R5圆弧)
N110 G01 Z-35; (粗加工Φ20外圆)
N120 G03 X34 Z-42 R7;(粗加工R7圆弧)
N130 G01 Z-52; (粗加工Φ34外圆)
46
N140 X44 Z-62; (粗加工锥面)
N150 X46 ; (退出已加工表面,粗加工轮廓结束)
N160 G00 X80 ;
N170 Z80 ; (返回安全位置)
N180 M5 ; (主轴停止)
N190 M0 ; (程序停止)
N200 M3 S1000 T0101 ;
N210 G0 X46 Z2;
N220 G70 P60 Q150; (精车循环开始)
N230 G0 X100;
N240 Z100;
N250 M30; (主轴停、主程序结束并复位)
%
47
课堂练习
48
高级工练习试题一
49
50
宏程序编制
试题一中的椭圆加工程
序
数学公式的推导简化过
程:
51
O0001
M3 S600 T0101
G0 X20 Z2
#100=16
N10 IF[#100LT1] GOTO20
M98P0002
#100=#100-3
GOTO10
N20 M3 S800
G0 X20 Z2
#100=0
M98P0002
GO X100
Z100
M30
%
O0002
#1=8
#2=10
#4=10
N30 IF[#4LT-5] GOTO40
#3=#1*SQRT[#2*#2-#4*#4]/#2
G1 X(2*#3+#100) Z(#4-10)
#4=#
GOTO30
N40 G0 X(18+#100)
Z2
M99
%
52
高级工练习试题二
53
54
高级工练习试题三
55
56
高级工练习试题四
57
58
高级工练习试题五
59
60
谢 谢!
61