数控机床电气控制简明教程
上QQ阅读APP看书,第一时间看更新

1.2 数控机床的编程基础

1.2.1 直径编程及坐标

1.概述

由于数控车床加工的零件通常为横截面为圆形的轴类零件,因此数控车床的编程可用直径编程方式,也可以用半径编程方式,车床出厂时均设定为直径编程,所以在编程时与X轴有关的各项尺寸一定要用直径值编程。

如果需用半径编程,则改变系统中相关的几项参数或用指令,使系统处于半径编程状态。显然半径编程比较麻烦,因为编程时把零件图样上的直径尺寸除以2再去编程,给编程带来不必要的麻烦,且易出现失误。

所以,目前数控车床上广泛采用直径编程方式。下面以FANUC(发那科)0i Mate TC系统车床编程车床数控系统为例进行介绍。

2.绝对坐标与增量坐标、混合坐标

(1)绝对坐标

格式:(Xa,Zb) (有方向性)

将刀具运动位置的坐标值表示为相对于坐标原点的距离,这种坐标的表示法称之为绝对坐标表示法。

(2)增量坐标 (或相对坐标)

格式:(Ua,Wb)(有方向性)

增量坐标表示法:将刀具运动位置的坐标值表示为相对于前一位置坐标的增量,即为目标点绝对坐标值与当前点绝对坐标值的差值,这种坐标的表示法称之为相对坐标表示法。数控系统用X、Z表示绝对坐标代码,用U、W表示相对坐标代码。在一个加工程序中可以混合使用这两种坐标表示法编程。

(3)混合坐标

格式:(Ua,Zb)或(Xa,Wb) (有方向性)

绝对坐标和增量坐标混合起来表示刀具运动位置的坐标值,这种坐标的表示法称之为混合坐标表示法。

实例】 用绝对坐标和相对坐标来表达图1-18各个节点的坐标

绝对坐标:(假设O点位坐标原点)

O(X0,Z0)

A(X20,Z0) B(X20,Z-25)

C(X36,Z-25) D(X36,Z-40)

E(X50,Z-40) F(X50,Z-60)

相对坐标:(假设O点位坐标原点)

O(X0,Z0)

A(U20,W0) B(U0,W-25)

C(U16,W0) D(U0,W-15)

E(U14,W0) F(U0,W-20)

混合坐标:(假设O点位坐标原点)

O(X0,Z0)

A(X20,W0)或(U20,Z0) B(X20,W-25)或(U0,Z-25)

C(X36,W0)或(U16,Z-25) D(X36,W-15)或(U0,Z-40)

E(X50,W0)或(U14,Z-25) F(X50,W-20)或(U0,Z-60)

978-7-111-39894-3-Chapter01-20.jpg

图1-18 坐标示意

1.2.2 数控编程与程序的构成

1.程序段结构

一个完整的加工程序由若干个程序段组成。程序的开头是程序名,中间是程序内容,最后是程序结束指令。

(1)程序号

程序开始的部分,为了区别存储器中的程序,每个程序都要有程序编号,在编号前采用程序编号地址码,FANUC数控系统以字母“O”开头,其号码可以为0001~9999。

(2)程序内容

这是整个程序的核心,由许多程序段组成,每个程序段由一个或多个指令组成,以实现数控机床要完成的全部动作。

1)一个程序段是由若干个程序字组成的,一个程序段中含有执行一个工序所需要的全部数据;程序字通常由英文字母表示的地址和地址符后面的数字和符号组成。

2)主要功能和地址见表1-1。

表1-1 主要功能和地址

978-7-111-39894-3-Chapter01-21.jpg

通常情况下,字地址程序段中程序字的顺序及形式举例如下:

N20 G01 X35 Z46 F100 S500 T03 M03;

3)主要地址和指令范围见表1-2。

表1-2 主要地址和指令范围

978-7-111-39894-3-Chapter01-22.jpg

注:表中的数字表示CNC方面的限制范围,它完全不同于实际机床方面的限制范围,也就是对于实际的机床来说,通常情况下限制范围要缩小很多。

4)程序结束。以程序结束指令M02或M30作为整个程序结束的符号,来结束整个程序。

2.M指令(或辅助功能)

定义:辅助功能是用地址字M及二位数字表示的它主要用于机床加工操作时的工艺性指令其特点是靠继电器的通、断来实现其控制过程。这些是辅助机床操作的功能,像主轴的启停、程序终止、切削液开/关等。表1-3为M指令集合。

表1-3 M指令集合

978-7-111-39894-3-Chapter01-23.jpg

3.S指令(主轴功能)

主轴功能主要是表示主轴旋转速度。

编程格式S~

S后面的数字表示主轴,单位为r/min。在具有恒线速功能的机床上,S功能指令还有如下作用。

a、最高转速限制

编程格式G50 S~

S后面的数字表示的是最高转速:r/min。

例:G50 S3000表示最高转速限制为3000r/min。

b、恒线速控制

编程格式G96 S~

S后面的数字表示的是恒定的线速度:m/min。

例:G96 S150表示切削点线速度控制在150m/min。

c、恒线速取消

编程格式G97 S~

S后面的数字表示恒线速度控制取消后的主轴转速,如S未指定,将保留G96的最终值。

例:G97 S3000表示恒线速控制取消后主轴转速3000r/min。

4.T指令(刀具功能)

数控车床进行零件加工时,通常需要多个工序、使用多把刀具,编写加工程序时各刀具的外形尺寸、安装位置通常是不确定的,在加工过程中有时需要重新安装刀具,刀具使用一段时间后也会因为磨损使刀尖的实际位置发生变化,如果随时根据每一把刀具与零件的相对位置来编写、修改加工程序,加工程序的编写和修改工作将会非常繁琐。

本系统的刀具功能(T指令)具有刀具自动交换和刀具长度补偿两个作用,可控制4~8刀位的自动刀架在加工过程中实现换刀,并对刀具的实际位置偏差进行补偿(称为刀具长度补偿)。使用刀具长度补偿功能,允许在编程时不考虑刀具的实际位置,只需在加工前通过对刀操作获得每一把刀具的位置偏置数据(称为刀具偏置或刀偏),使用刀具加工前,先执行刀具长度补偿,即按刀具偏置对系统的坐标进行偏移,使刀尖的运动轨迹与编程轨迹一致。更换刀具后,只需要重新对刀、修改刀具偏置,不需要修改加工程序。如果因为刀具磨损导致加工尺寸出现偏差,可以直接根据尺寸偏差修改刀具偏置,以消除加工尺寸偏差。

指令功能:自动刀架换刀到目标刀具号刀位,并按指令的刀具偏置号对应的刀具偏置执行刀具长度补偿。刀具偏置号可以和刀具号相同,也可以不同,即一把刀具可以对应多个偏置号。对应刀具偏置号为00的刀具偏置为X=0、Z=0,系统为无刀具补偿状态,即:系统的坐标偏移为0(未进行坐标偏移)。在执行了刀具长度补偿后,执行T□□00,系统将按当前的刀具偏置反向偏移系统坐标,系统由已执行刀具长度补偿状态改变为未补偿状态,显示的刀具偏置号为00。

这个过程称为取消刀具长度补偿,简称:取消刀补。

如:T0101表示选择1号刀并执行1号刀偏;

T0102表示选择1号刀并执行2号刀偏;

T0301表示选择3号刀并执行1号刀偏。

上电时,T指令显示的刀具号为掉电前的状态,刀具偏置号为00。

在一个程序段中只能一个T指令有效,在程序段中出现两个或两个以上的T指令时,最后一个T指令有效。

T功能指令用于选择加工所用刀具。

编程格式T~

前两位是刀具号,后两位是刀具补偿号,又是刀尖圆弧半径补偿号。

T后面通常用四位数字,

实例】 T0303表示选用3号刀及3号刀具长度补偿值和刀尖圆弧半径补偿值。T0300表示取消刀具补偿。

1.2.3 数控编程G指令

1.G指令概述(表1-4)

表1-4 G指令代码组与功能

978-7-111-39894-3-Chapter01-24.jpg

(续)

978-7-111-39894-3-Chapter01-25.jpg

2.模态、非模态及初态

G指令字执行后,其定义的功能或状态保持有效,直到被同组的其他G指令所改变,这种G指令字称为模态G指令字。模态G指令字执行以后,其定义的功能或状态被改变以前,后续的程序段执行该G指令字时,不需要再次输入该G指令字。

G指令字执行后,其定义的功能或状态一次性有效,每次执行该G指令字时,必须输入该G指令字,这种G指令字称为非模态G指令字。

3.快速定位指令G00

定义:G00指令命令机床以最快速度运动到下一个目标位置,运动过程中有加速和减速,该指令对运动轨迹没有要求。其指令格式:

(1)格式:G00X__Z__;

这个指令把刀具从当前位置移动到指令指定的位置(在绝对坐标方式下),或者移动到某个距离处(在增量坐标方式下),具体如图1-19所示。

(2)非直线切削形式的定位

采用独立的快速移动速率来决定每一个轴的位置。刀具路径不是直线,根据到达的顺序,机器轴依次停止在指令指定的位置。

978-7-111-39894-3-Chapter01-26.jpg

图1-19 G00代码

(3)直线定位

刀具路径类似直线切削(G01)那样,以最短的时间(不超过每一个轴快速移动速率)定位于要求的位置。

(4)举例N10G00X-100.Z-65.

4.直线插补指令G01

定义:G01指令命令机床刀具以一定的进给速度从当前所在位置沿直线移动到指令给出的目标位置。

格式:G01X(U)__Z(W)__F__;

直线插补以直线方式和指令给定的移动速率,从当前位置移动到指令位置(图1-20)。

X、Z:要求移动到的位置的绝对坐标值;U、W:要求移动到的位置的增量坐标值。

实例】 按照图1-21进行刀具移动路径A→B→C编程。

978-7-111-39894-3-Chapter01-27.jpg

图1-20 G01代码

978-7-111-39894-3-Chapter01-28.jpg

图1-21 直线插补实例

(1)绝对坐标程序

N10G01X50.Z75.F0.2; A→B

N20X100.; B→C

(2)增量坐标程序

N10G01U0.0W-75.F0.2; A→B

N20U50.; B→C

5.圆弧插补指令G02/G03

圆弧插补指令命令刀具在指定平面里按给定的F进给速度做圆弧插补运动,用于加工圆弧轮廓。圆弧插补命令分为逆时针圆弧插补指令G02和顺时针圆弧插补指令G03两种,并以前刀座坐标系为标准(见表1-5)。刀具进行圆弧插补时,必须规定所在的平面,然后再确定回转方向。

表1-5 以前刀座坐标系为标准

978-7-111-39894-3-Chapter01-29.jpg

格式:G02(G03)X(U)__Z(W)__I__K__F__;G02(G03)X(U)__Z(W)__R__F__;

X、Z—指定的终点;U、W—起点与终点之间的距离;I—圆弧起点到圆心之X轴的距离;K—圆弧起点到圆心之Z轴的距离;R—圆弧半径(最大180°)。圆弧插补如图1-22所示。

978-7-111-39894-3-Chapter01-30.jpg

图1-22 圆弧插补

实例】 对图1-23所示的圆弧插补进行编程。

(1)绝对坐标系程序

G02X100.Z90.I50.K0.F0.2;

或G02X100.Z90.R50.F0.2;

(2)增量坐标系程序

G02U40.W-30.I50.K0.F0.2;

或G02U40.W-30.R50.F0.2;

978-7-111-39894-3-Chapter01-31.jpg

图1-23 圆弧插补实例

6.暂停指令G04

利用暂停指令,可以推迟下个程序段的执行,推迟时间为指令的时间,其格式如下:G04X__(单位:s);或G04U__单位:s);G04P__单位:ms);

指令范围从0.001~99999.999s。

用法举例:G04X1.0;(暂停1s);G04U1.0;(暂停1s)G04P1000;(暂停1s)。

可用于切槽、台阶端面等需要刀具在加工表面做短暂停留的场合。

7.G32切螺纹

格式:G32X(U)__Z(W)__F(E)__;

F-公制螺纹导程(螺距);E-英制螺纹导程;X(U)、Z(W)-螺纹切削的终点坐标值,起点和终点的X坐标值相同(不输入X或U)时进行直螺纹切削,X省略时为圆柱螺纹切削,Z省略时为端面螺纹切削,X、Z均不省略时为锥螺纹切削。

在编制切螺纹程序时应当带主轴脉冲编码器,因为螺纹切削开始是从检测出主轴上的位置编码器一转信号后才开始的,因此即使进行多次螺纹切削,零件圆周上的切削点仍然相同,工件上的螺纹轨迹也是相同的。从粗车到精车,用同一轨迹要进行多次螺纹切削,主轴的转速必须是一定的。当主轴转速变化时,有时螺纹会或多或少产生偏差。在螺纹切削方式下移动速率控制和主轴速率控制功能将被忽略。而且在进给保持按钮起作用时,其移动过程在完成一个切削循环后就停止了。

螺纹加工应注意的事项:

1)主轴转速:不应过高,尤其是大导程螺纹,过高的转速使进给速度太快而引起不正常,一些资料推荐的最高转速为:主轴转速(转/分)≤1200/导程-80。

2)切入、切出的空刀量,为了能在伺服电动机正常运转的情况下切削螺纹,应在Z轴方向有足够的空切削长度,一些资料推荐的数据为:切入空刀量≥2倍导程;切出空刀量≥0.5倍导程。

螺纹切削应注意在两端设置足够的升速进刀段δ1和降速退刀段δ2

实例】 试编写图1-24所示圆锥螺纹的加工程序(螺纹螺距:4mm。δ1=3.5mm,δ2=3.5mm,总切深1mm(单边),分两次切入)。

978-7-111-39894-3-Chapter01-32.jpg

图1-24 圆锥螺纹

G00X28.Z3.; 第一次切入0.5mm

G32X51.W-77.F4.0; 锥螺纹第一次切削

G00X55.; 刀具退出

W77.; Z向回起点

X27.; 第二次再进刀0.5mm

G32X50.W-77.F4.0; 锥螺纹第二次切削

G00X55.; 刀具退出

W77.; Z向回起点

… …

8.G40/G41/G42刀具半径偏置功能

编程时,通常都将车刀刀尖作为一点来考虑,但实际上刀尖处存在圆角,如图1-25所示。

当用按理论刀尖点编出的程序进行端面,外径、内径等与轴线平行或垂直的表面加工时,是不会产生误差的。但在进行倒角、锥面及圆弧切削时,则会产生少切或过切现象。具有刀尖圆弧自动补偿功能的数控系统能根据刀尖圆弧半径计算出补偿量,避免少切或过切现象的产生。

(1)格式:G40X(U)__Z(W)__;G41X(U)__Z(W)__;G42X(U)__Z(W)__

当刀刃是假想刀尖时,切削进程按照程序指定的形状执行不会发生问题。不过,真实的刀刃是由圆弧构成的(刀尖半径),就像图1-25所示,在圆弧插补的情况下刀尖路径会带来误差。

(2)补偿方向

从刀具沿工件表面切削运动方向看,刀具在工件的左边还是在右边,因坐标系变化而不同,见表1-6和图1-26。

978-7-111-39894-3-Chapter01-33.jpg

图1-25 刀尖处存在圆角

表1-6 刀具的补偿变化

978-7-111-39894-3-Chapter01-34.jpg

978-7-111-39894-3-Chapter01-35.jpg

图1-26 G41和G42补偿示意

补偿的原则取决于刀尖圆弧中心的动向,它总是与切削表面法向里的半径矢量不重合。因此,补偿的基准点是刀尖中心。通常,刀具长度和刀尖半径的补偿是按一个假想的刀刃为基准,因此为测量带来一些困难。

把这个原则用于刀具补偿,应当分别以X和Z的基准点来测量刀具长度刀尖半径R,以及用于假想刀尖半径补偿所需的刀尖形式号0~8。刀尖方向代码如图1-27所示。

这些内容应当在加工前输入进刀具偏置表中,进入刀具偏置页面,将刀尖圆弧半径值输入R地址中,刀尖方向代码输入在T地址中。

G40/G41/G42只能同G00/G01结合编程,不允许同G02/G03等其他指令结合编程。因此,在编入G40/G41/G42的G00与G01前后两个程序段中X、Z至少有一值变化。在调用新刀具前必须用G40取消补偿。在使用G40前,刀具必须已经离开工件加工表面。

实例】 对刀具进行补偿。

G00G41X5.Z5.; 加入刀具左偏

G02X25.Z25.R25.;

G00G40X10.Z10.; 撤销刀偏

9.G54~G59工件坐标系选择

通过使用G54~G59命令,最多可设置6个工件坐标系(1~6)。在接通电源和完成了原点返回后,系统自动选择工件坐标系1(G54)。在有“模态”命令对这些坐标做出改变之前,它们将保持其有效性(见图1-28)。

格式:G54(G55~G59)X__Z__

978-7-111-39894-3-Chapter01-36.jpg

图1-27 刀尖方向代码

978-7-111-39894-3-Chapter01-37.jpg

图1-28 工件坐标系选择

10.G96/G97/G50恒线速度控制和高转速限制

数控车床主轴分成低速和高速区;在每一个区内的速率可以自由改变。若零件要求锥面或端面的粗糙度一至,则必须用恒线速来进行切削。

1)G96恒线速度控制:只通过改变转速来控制相应的工件直径变化时维持稳定和恒定的切削速率,和G50指令配合使用。

格式:G96S~;

S后面的数字表示的是恒定的线速度:m/min。

实例】 G96 S150表示切削点线速度控制在150m/min

对图1-29中所示的零件,为保持A、B、C各点的线速度在150m/min,则各点在加工时的主轴转速分别为:

A:n=1000×150÷(π×40)=1193r/min

B:n=1000×150÷(π×60)=795r/min

C:n=1000×150÷(π×70)=682r/min

2)G97取消恒线速度控制:仅仅控制转速的稳定。

978-7-111-39894-3-Chapter01-38.jpg

图1-29 G96恒线速度控制

格式G97 S~

S后面的数字表示恒线速度控制取消后的主轴转速,如S未指定,将保留G96的最终值。

实例】 G97 S3000表示恒线速控制取消后主轴转速3000r/min。

3)最高转速限制:当主轴转速高于G50后指定速度,则被限制在最高速度,不再升高。

格式G50S~

S后面的数字表示的是最高转速:r/min。

实例

G50 S2000;(限制最高转速为2000r/min)

G96 S150;(恒线速开始,指定切削速度为150m/min)

G01 X10;

G97 S200;(取消恒线速,指定转速为200r/min)

注意:

1)G96指定的线速度在G97时也记忆,再执行G96时,若不指定线速度,则执行前次的线速度;

2)G97指定的线速度在G96时也记忆。

11.G98/G99切削进给速度

每分钟进给率/每转进给率设置(G98/G99)。

切削进给速度可用G98代码来指令每分钟的移动速率(mm/min),或者用G99代码来指令每转移动速率(mm/r)。G99的每转进给率主要用于数控车床加工。图1-30所示为G98/G99代码含义。

切削速度计算(表1-7)。

978-7-111-39894-3-Chapter01-39.jpg

图1-30 G98/G99代码含义

表1-7 切削速度计算

978-7-111-39894-3-Chapter01-40.jpg

12.加工循环指令

(1)G71外圆粗车固定循环

G71指令的粗车是以多次Z轴方向走刀以切除工件余量,为精车提供一个良好的条件,适用于毛坯是圆钢的工件。

格式:G71 U(Δd)R(e);G71 P(ns)Q(nf)U(Δu)W(Δw)F(f)S(s)T(t)

从顺序号ns到nf的程序段,指定A及B间的移动指令。

Δd:吃刀量(半径指定),无符号。切削方向依照AA'的方向决定,在另一个值指定前不会改变。参数(No.5132)指定。

e:退刀量。本指定是状态指定,在另一个值指定前不会改变。

ns:精加工形状程序的第一个段号。

nf:精加工形状程序的最后一个段号。

Δu:X方向精加工预留量的距离及方向。(直径/半径)

Δw:Z方向精加工预留量的距离及方向。

图1-31和图1-32所示为外圆粗车固定循环示意,需要注意的是:

1)Δu、Δw精加工余量的正负判断:

2)ns~nf程序段中F、S或T功能在(G71)循环时无效,而在(G70)循环时ns~nf程序段中的F、S或T功能有效。恒线速功能同样无效。不能调用子程序。

3)起刀点A和退刀点B必须平行;

4)零件轮廓A~B必须符合X轴、Z轴方向同时单向增大或单向减少;

5)ns程序段中可含有G00、G01指令,不许含有Z轴运动指令。

978-7-111-39894-3-Chapter01-41.jpg

图1-31 外圆粗车固定循环示意一

978-7-111-39894-3-Chapter01-42.jpg

图1-32 外圆粗车固定循环示意二

实例】 按图1-33所示尺寸编写外圆粗切循环加工程序。

N10 T0101 M03 S450

N20 G00 G42 X121.Z10.M08 起刀位置

N30 G71 U2.R0.5 外圆粗车固定循环

N40 G71 P50 Q110 U2.W2.F0.2

N50 G00 X40. //ns第一段,此段不允许有Z方向的定位。

N60 G01Z-30.

N70 X60.Z-60.

N80 Z-80.

N90 X100.Z-90.

N100 Z-110.

N110 X120.Z-130. //nf最后一段

N120 G00 G40 X200.Z140.M09

N130 M05 主轴停

N140 M30

978-7-111-39894-3-Chapter01-43.jpg

图1-33 外圆粗切循环加工

(2)G70精加工循环

用G71、G72或G73粗车削后,G70精车削。

格式:G70P(ns)Q(nf)

ns:精加工形状程序的第一个段号;nf:精加工形状程序的最后一个段号。其中ns~nf程序段中的F、S或T功能有效。

(3)其他循环指令

其他循环指令包括G72端面车削固定循环、G73成型加工复式循环、G74端面啄式钻孔和Z向切槽循环、G75外经/内径啄式钻孔与X向切槽循环、G76螺纹切削循环、G90内外直径的切削循环、G92切削螺纹循环、G94台阶切削循环等不在此一一介绍,可以参考FANUC相关编程手册。