前言
数控装置是数控机床的核心.它的主要功能是正确识别和解释数控加工程序,并对解释结果进行各种数据计算和逻辑判断处理,从而完成各种输入、输出任务.而数控装置的主要核心部分就是数控加工程序.
数控加工程序是按数控中规定使用的指令代码、程序段格式和加工程序格式来编制的.因此,数控编程指令的核心中的核心.
为了更好地对数控编程概念的全面认识,全面掌握数控机床的程序的编制方法、熟记数控编程指令在不同系统的编程差异,及其熟练地应用数控指令,我们必须对数控编程典型指令加以总结.
一、数控编程的基础与基本编程功能的总结
<1>数控编程的基础
①机床坐标系的建立
数控车床欲对工件车削进行程序控制必须建立机床坐标系,数控车床的机床原点一般设在主轴前端面的中心,
数控铣床每次通电之后,机床的三个坐标轴都要依次走到机床正方向的一个极限位置这个位置就是机床原点,是机床出场时设定的固定位置,通常在数控铣床上的机床原点和机床参考点是重合的.
②工件坐标系的建立
数控车床的工件原点一般设在主轴中心线与工件左端面或右端面的交点处,而建立工件坐标系使用G50功能,指令编程格式 G50 X~ Z~ 式中X、Z的值是起刀点相对于加工原点的位置.G50和G92的使用方法基本相似在数控车床编程时,所有X坐标值均使用直径值,如下图所示。
例:按图设置加工坐标的程序段如下:
G50 X 121.8 Z 33.9
数控铣床的工件原点一般设在工件外轮廓的某一个角上或工件对称中心处,进刀深度方向上的零点大多取在工件表面. 坐标系设定 G92 指令格式:G92 X_ Z_ X、Z:对刀点到工件坐标系原点的有向距离。G92 指令为非模态指令
小注: G92与G54~G59之间的优缺点
G54~G59是在加工前设定好的坐标系,而G92是在程序中设定的坐标系,用了G54~G59就没有必要再使用G92,否则G54~G59会被替换,应当避免。
注(1)假如一旦使用了G92设定坐标系,再使用G54~ G59将不起任何作用,除非断电重新启动系统,或接着用G92设定所需新的工件坐标系。
(2)使用G92的程序结束后,若机床没有回到G92设定的原点,就再次启动此程序,机床当前所在位置就成为新的工件坐标原点,易发生事故。所以,G92Z指令要慎用。
③基本坐标系指令
<1>绝对值编程和增量值编程-G90、G91
指令格式:G90/G91 G00/G01 X_Y_Z_
X、Y、Z---在G90方式下为运动终点的坐标值;在G91方式下运动的终点减去运动起点的坐标值,它是一个矢量
<2>选择机床坐标系指令---G53
指令格式:G53<G90> X_Y_Z_
X、Y、Z---机床坐标系中的坐标值
<3>选择工件坐标系指令-G54、G55、G56、G57、G58、G59
指令格式:G54/G55/G56/G57/G58/G59 G00/G01 X_Y_Z_
例如, 用G54指令设定如图所示的工件坐标系。
首先设置G54原点偏置寄存器:
G54 X0 Z85.0;
然后再在程序中调用:
N010 G54;
说明 1、G54~G59是系统预置的六个坐标系,可根据需要选用。
2、 G54~G59建立的工件坐标原点是相对于机床原点而言的,在程序运行前已设定好,在程序运行中是无法重置的。
3、G54~G59预置建立的工件坐标原点在机床坐标系中的坐标值可用 MDI 方式输入,系统自动记忆。
4、使用该组指令前,必须先回参考点。
5、G54~G59为模态指令,可相互注销。
<2> 进给功能---F功能
① 设定每分钟进给量<mm/r> 指令格式:G99 F_,_
F后面的数字代表主轴每转进给量
② 设定每分钟进给速度<mm/min> 指令格式;G98 F_
F后面的数字代表每分钟进给量
③ 进给速度单位的设定 指令格式: G94 F_ G95 F_
G94:每分钟进给;
G95:每转进给。
注:G94、G95 为模态功能,可相互注销,G94 为缺省值。
④ 恒线速度指令 指令格式:G96 S G97 S
G96:恒线速度有效
G97:取消恒线速度功能
S:G96 后面的S 值为切削的恒定线速度,单位为m/min;
注:使用恒线速度功能,主轴必须能自动变速。
<3>主轴功能---S功能
① 恒切削速度控制 指令格式:G96 S_
S后面数字表示恒定线速度m/min
② 最高转速控制 指令格式:G50 S_
S后面的数字表示的是最高转速r/min
注: 采用恒线速度控制加工端面、锥面和圆弧时,由于X坐标<工件直径>的不断变化,因此,当刀具逐渐移近工件旋转中心时,主轴的转速就会越来越高,离心率过大,工件有可能从卡盘飞出.为了防止防止事故,必须将主轴的最高转速限定在一个固定值.这是可以用G50指令来限制主轴最高转速.
③直接转速控制 指令格式G97 S_
S后面的数字表示恒线速度控制取消后的主轴转速,如S未指定,将保留G96的最终值
<4>刀具功能---T
指令格式:T_
T用于选刀其后的四位数字,前两位表示刀具序号,后两位号表示刀具的补偿号
<5>辅助功能M
M00 程序停止 M01 条件程序停止
M02 程序结束 M03 主轴正转
M04 主轴反转 M05 主轴停止
M06 刀具交换 M08 冷却开
M09 冷却关 M18 主轴定向解除
M19 主轴定向
M30 程序结束并返回程序头 M98 调用子程序
M99 子程序结束返回/重复执行这是普通的指令编程,还有利用变量编制的程序,统宏程序编程
二、数控编程典型指令的应用
<1>快速点定位指令---G00
<2>直线插补指令---G01
<3>圆弧插补指令---G02/G03 (G02, G03)
<4>刀具半径补偿指令G40、G41
<5>镜像指令
镜像加工指令M21、M22、M23。当只对X轴或Y轴进行镜像时,切削时的走刀顺序(顺铣与逆铣),刀补方向,圆弧插补转向都会与实际程序相反,
注意:使用镜像指令后必须用M23进行取消,以免影响后面的程序。在G90模式下,使用镜像或取消指令,都要回到工件坐标系原点才能使用。否则,数控系统无法计算后面的运动轨迹,会出现乱走刀现象。这时必须实行手动原点复回操纵予以解决。主轴转向不随着镜像指令变化。
<6>复合循环
运用这组复合循环指令,只需指定精加工路线和粗加工的吃刀量,系统会自动计算粗加工路线和走刀次数。
1、内(外)径粗车复合循环G71
无凹槽加工时G71 U(Δ d) R(r) P(ns) Q(nf) X(Δ x) Z(Δ z) F(f) S(s) T(t)
△d:切削深度(每次切削量),指定时不加符号
r:每次X向退刀量;
ns:精加工路径第一程序段 nf:精加工路径最后程序段
△x:X 方向精加工余量<直径量> △z:Z 方向精加工余量;
f,s,t:粗加工时G71 中编程的F、S、T 有效,而精加工时处于ns 到nf 程序段之间的F、S、T 有效。
有凹槽加工时G71 U(Δ d) R(r) P(ns) Q(nf) E(e) F(f) S(s) T(t);
Δ d:切削深度(每次切削量),指定时不加符号,
r:每次退刀量;
ns:精加工路径第一程序段的顺序号
nf:精加工路径最后程序段的顺序号;
e:精加工余量,其为X 方向的等高距离;外径切削时为正,内径切削时为负
f,s,t:粗加工时G71 中编程的F、S、T 有效,而精加工时处于ns 到nf 程序段之间的F、S、T 有效。
注:
(1) G71 指令必须带有P,Q 地址ns、nf,且与精加工路径起、止顺序号对应,否则不能进行该循环加工。
(2) ns的程序段必须为G00/G01指令,即从A到A'的动作必须是直线或点定位运动。
(3) 在顺序号为ns 到顺序号为nf 的程序段中,不应包含子程序
。
外圆粗车循环加工路线 端面粗车加工循环路线
2 、端面粗车复合循环G72
G72 W(Δ d) R(r) P(ns) Q(nf) X(Δ x) Z(Δ z) F(f) S(s) T(t)
△d:切削深度(每次切削量),指定时不加符号
r:每次退刀量
ns:精加工路径第一程序段的顺序号
nf:精加工路径最后程序段的顺序号
△x:X 方向精加工余量 △z:Z 方向精加工余量;
f、s、t:粗加工时G71 中编程的F、S、T 有效,而精加工处于ns 到nf 程序段之间的F、S、T 有效。
注:(1)G72 指令必须带有P,Q 地址,否则不能进行该循环加工。
(2)在ns的程序段中应包含G00/G01指令,进行由A到A'的动作,且该程序段中不应编有X向移动指令。
(3) 在顺序号为ns 到顺序号为nf 的程序段中,可以有G02/G03指令,但不应包含子程序。
3 、闭环车削复合循环G73
G73 U(Δ I) W(Δ K) R(r) P(ns) Q(nf) X(Δ x) Z(z) F(f) S(s) T(t)
Δ I:X 轴方向的粗加工总余量
Δ k:Z 轴方向的粗加工总余量;r:粗切削次数;
ns:精加工路径第一程序段的顺序号
nf:精加工路径最后程序段的顺序号;
Δx:X 方向精加工余量 Δz:Z 方向精加工余量;
f,s,t:粗加工时G71 中 编程的F、S、T 有效,而精加工时处于ns 到nf 程序段之间的F、S、T 有效。
注:
ΔI和ΔK表示粗加工 时总的切削量,粗加工次数为r,则每次X,Z方向的切削量为ΔI/r,ΔK/r;
按G73段中的P 和Q指令值
实现循环加工,要注意△x
和△z,△I 和△K的 正负
号。
<7> 镗孔加工动作
1 G85循环 G85X_Y_Z_ R_ F_
执行G85循环,刀具以切削进给方式加工到孔底,然后仍以切削进给方式返回到R平面或初始平面.因此该指令除可用于较精密的镗孔外,还可用于铰孔的加工
G85循环路线 G89循环路线
2 G89循环G89X_Y_Z_P_R_ F_
G98动作与G85动作基本相似,不同的是G98动作在孔底增加了暂停该指令常用于阶梯孔的加工.
3 G86循环G86X_Y_Z_P_R_F_
执行G86循环,刀具以切削进给方式加工到孔底,然后主轴停转,刀具快速退到R点平面或初始平面后主轴正转.由于刀具在退回过程中容易在工件表面划出条痕,所以该指令常用于精度或粗糙度不高的镗孔加工.
4 G76循环G85X_Y_Z_P_R_Q_F_
G76指令主要用于精密镗孔加工.执行G76循环,刀具以切削进给方式加工到孔底,实现主轴准停,刀具向刀尖相反方向移动Q到使刀具脱离工件表面,保证刀具不擦伤工件表面,然后快速退刀至R平面或初始平面,主轴正转.
5 G88循环 G85X_Y_Z_P_R_F_
执行G 88循环,刀具以切削进给方式加工到孔底,刀具在孔底暂停后主轴停转,这时可通过手动方式从孔中安全退出刀具,主轴恢复正转.此种方式虽能相应提高孔的加工精度,但加工效率较低.
G86循环路线 G76循环路线 G88循环路线
6 G87循环 G85X_Y_Z_P_R_Q_F_
G87循环比较特殊,是从上向下反向镗削,称为反镗循环.执行G87循环,可分为八个动作;
①刀具在XY平面内定位后,主轴 准停
②刀具向刀尖相反方向偏移Q
③刀具快速移动到R点,注意R点的位置:
④刀具向刀尖方向移动Q值:
⑤主轴正转并切削进给到孔底
⑥主轴准停,并沿刀尖相反方向偏移Q
⑦快速提刀至初始平面,该循 环不能用G99进行编程
⑧向刀尖方向偏移Q返回到XY平面的定位点,主轴开始正转,循环结束.
<8> 螺纹切削指令
1. 等螺距螺纹切削指令
指令:G32(U)_Z(W)_F_;
X,Z为螺纹终点的绝对坐标,
例如: G32 X29.Z-35.F2.
G00 X40
Z5
X28.2
G32Z-35.F0.2
G00X40
Z5
X28.2;
2. 螺纹切削固定循环指令
指令:G92X(U)_Z(W)_R_F_R=0时切削圆柱螺纹
例如:G92X29.Z-35.F0.2
X28.2
X27.6
X27.4
3. 多线螺纹切削指令
指令:X(U)_Z(W)_F_P_F长轴方向的导程 P螺纹线数和起始角。 例如: G33X34.Z-26.F6.P2=0;
G01X28.F0.2;
G00Z8.;
G01X34.F0.2;
G33Z-26.F6.P2=18000;
G01X28.F0.2;
G00Z8.;
4. G76指令格式 螺纹切削复合循环
指令: G76GmraQ_R_;
G76X(U)_Z(W)_R_P_Q_F_;
m精加工重复次数,r倒角量 a螺纹刀尖角度,
Q最小被吃刀量(半径值),单位为微米。
R精加工余量(半径值),单位为毫米。
G76X(U)_Z(W)_R_P_Q_F_;
R螺纹半径值(半径值)P螺纹牙深(半径值)
Q第一次切削深度(半径值),单位为微米。
F螺纹导程。单位为毫米。
5. 变导程螺纹加工(G34)
指令:G34 X(U)_Z(W)_F_K_;
F长轴方向导程,单位为毫米
K主轴每转导程的增量或减量,单位为毫米每转
(9)调用子程序
O-
…
M98 P_
…
M02/M30
O-后跟4位数字表示程序号和子程序
M99-子程序结束指令它不必单独用一个程序段
M98-子程序调用指令
P-后跟7位数字前三位表示调用次数,省略只表示调用一次,后四位表示子程序号
三、数控编程典型指令在车床中的特例
加工外圆和切槽程序
%7101
G92 X100 Z100
M03 S500
M06 T0101
G90 G00 X50 Z2
G80 X42.5 Z-40.5 F200
G80 X34.5 Z-34 F200
G01 X31 Z1 F200
X35 Z-1
X42
Z-34
Z-40.5
X45
G00 X100 Z100
T0100
M06 T0202
G00 X45 Z-34
G01 X33 F50
X48
G00 Z-42.5
G01 X0 F50
G00 X100 Z100
T0200
M05
M02
加工内孔程序
%7102
G92 X100 Z100
M03 S500
M06 T0101
G90 G00 X44 Z0
G01 X20 F50
G00 Z50
X100
T0100
M06 T0202
G00 X18 Z2
G00 X21.6 Z-41 F200
G01 X26 Z1 F50
X22 Z-1
Z-40.5
G01 X18
Z100
X100
T0100
M06 T0303
G00 X18 Z2
Z-16.5
G01 X23.5 F50
X20
G81 X23.5 Z20.5F50
G81 X23.5 Z-24.5F50
G81 X23.5 Z-28F50
G01 Z-28
X24
Z-16
X20
G00 Z100
T0000
M05
M02
精车外圆程序
%7103
G92 X100 Z100
M03 S1000
M06 T0101
G00 Z2
X36
G01 X30 Z1 F50
X34 Z-1
Z-34
G01 X45
G00 X100 Z100
T0000
M05
M02