3.2 FANUC 0i数控系统程序编制
FANUC公司生产的CNC产品主要有FS3、FS6、FS0、FS10/11/12、FS15、FS16、FS18和FS21/210等系列,我国用户主要使用的有FS0、FS15、FS16、FS18和FS21/210等系列。下面选择以FANUC 0i系列为例,介绍FANUC 0T数控系统的HM-077数控车床的编程方法,其他系列指令用法基本相同,读者可以举一反三。
3.2.1 F功能
F功能指令用于控制切削进给量。在程序中,有下面两种使用方法。
①每转进给量
编程格式:G95 F~
F后面的数字表示的是主轴每转进给量,单位为mm/r。
例如,G95 F0.4表示进给量为0.4mm/r。
②每分钟进给量
编程格式:G94 F~
F后面的数字表示的是每分钟进给量,单位为mm/min。
例如,G94 F200表示进给量为200mm/min。
3.2.2 S功能
S功能指令用于控制主轴转速。
编程格式:S~
S后面的数字表示主轴转速,单位为r/min。在具有恒线速功能的机床上,S功能指令还有如下作用。
①最高转速限制
编程格式:G50 S~
S后面的数字表示的是最高转速,单位为r/min。
例如,G50 S2000表示最高转速限制为2000r/min。
②恒线速控制
编程格式:G96 S~
S后面的数字表示的是恒定的线速度,单位为m/min。
例如,G96 S180表示切削点线速度控制在180m/min。
③恒线速取消
编程格式:G97 S~
S后面的数字表示恒线速度控制取消后的主轴转速,单位为r/min,如S未指定,将保留G96的最终值。
例如,G97 S4500表示恒线速控制取消后主轴转速4500r/min。
3.2.3 T功能
T功能指令用于选择加工所用刀具。
编程格式:T~
T后面通常有两位数表示所选择的刀具号码。但也有T后面用四位数字,前两位是刀具号,后两位是刀具长度补偿号,又是刀尖圆弧半径补偿号。
例如,T0303表示选用3号刀及3号刀具长度补偿值和刀尖圆弧半径补偿值。T0300表示取消刀具补偿。
3.2.4 M功能
M00:程序暂停,可用NC启动命令(CYCLE START)使程序继续运行。
M01:计划暂停,与M00作用相似,但M01可以用机床“任选停止按钮”选择是否有效。
M03:主轴顺时针旋转。
M04:主轴逆时针旋转。
M05:主轴旋转停止。
M08:冷却液开。
M09:冷却液关。
M30:程序停止,程序复位到起始位置。
3.2.5 加工坐标系设置
编程格式:G50 X~ Z~
X、Z的值是起刀点相对于加工原点的位置。G50使用方法与G92类似。
在数控车床编程时,所有X坐标值均使用直径值。
3.2.6 倒角、倒圆角编程
(1)45°倒角
①由轴向切削向端面切削倒角,即由Z轴向X轴倒角,i的正负根据倒角是向X轴正向还是负向,如图3-36(a)所示。
图3-36 倒角
编程格式:G01 Z(W)~ I±i
②由端面切削向轴向切削倒角,即由X轴向Z轴倒角,k的正负根据倒角是向Z轴正向还是负向,如图3-36(b)所示。
编程格式:G01 X(U)~ K±k
(2)任意角度倒角
在直线进给程序段尾部加上C~,可自动插入任意角度的倒角。C的数值是从假设没有倒角的拐角交点距倒角始点或与终点之间的距离。
(3)倒圆角
编程格式为G01Z(W)~R±r时,圆弧倒角情况如图3-37(a)所示。
图3-37 倒圆角
编程格式为G01X(U)~R±r时,圆弧倒角情况如图3-37(b)所示。
(4)任意角度倒圆角
若程序为
G01 X50 R10 F0.2 X100 Z-100
则加工情况如图3-38所示。
图3-38 任意角度倒圆角
3.2.7 刀尖圆弧自动补偿功能
编程时,通常都将车刀刀尖作为一个点来考虑,但实际上刀尖处存在圆角。当用按理论刀尖点编出的程序进行端面、外径、内径等与轴线平行或垂直的表面加工时,是不会产生误差的。但在进行倒角、锥面及圆弧切削时,则会产生少切或过切现象,如图3-39所示。具有刀尖圆弧自动补偿功能的数控系统能根据刀尖圆弧半径计算出补偿量,避免少切或过切现象的产生。
图3-39 刀尖圆角R造成的少切与过切
G40——取消刀具半径补偿,按程序路径进给。
G41——左偏刀具半径补偿,按程序路径前进方向刀具偏在零件左侧进给。
G42——右偏刀具半径补偿,按程序路径前进方向刀具偏在零件右侧进给。
注意:在设置刀尖圆弧自动补偿值时,还要设置刀尖圆弧位置编码。
例如,应用刀尖圆弧自动补偿功能加工图3-40所示的零件。
图3-40 刀具补偿编程
刀尖位置编码:3
N10 G50 X200 Z175 T0101 N20 M03 S1500 N30 G00 G42 X58 Z10 M08 N40 G96 S200 N50 G01 Z0 F1.5 N60 X70 F0.2 N70 X78 Z-4 N80 X83 N90 X85 Z-5 N100 G02 X91 Z-18 R3 F0.15 N110 G01 X94 N120 X97 Z-19.5 N130 X100 N140 G00 G40 G97 X200 Z175 S1000 N150 M30
3.2.8 单一固定循环
单一固定循环可以将一系列连续加工动作,如“切入—切削—退刀—返回”,用一个循环指令完成,从而简化程序。
(1)圆柱面或圆锥面切削循环
圆柱面或圆锥面切削循环是一种单一固定循环,圆柱面单一固定循环如图3-41所示,圆锥面单一固定循环如图3-42所示。
图3-41 圆柱面切削循环
图3-42 圆锥面切削循环
①圆柱面切削循环
编程格式:G90 X(U)~ Z(W)~ F~
X、Z为圆柱面切削的终点坐标值;U、W为圆柱面切削的终点相对于循环起点的坐标分量。
②圆锥面切削循环
编程格式:G90 X(U)~ Z(W)~ I~ F~
X、Z为圆锥面切削的终点坐标值;U、W为圆柱面切削的终点相对于循环起点的坐标分量;I为圆锥面切削的起点相对于终点的半径差,如果切削起点的X向坐标小于终点的X向坐标,I值为负,反之为正。
(2)端面切削循环
端面切削循环是一种单一固定循环,适用于端面切削加工,平面端面切削循环,如图3-43所示,锥面端面切削循环如图3-44所示。
图3-43 端面切削循环
图3-44 锥面端面切削循环
①平面端面切削循环
编程格式:G94 X(U)~ Z(W)~ F~
X、Z为端面切削的终点坐标值;U、W为端面切削的终点相对于循环起点的坐标。
②锥面端面切削循环
编程格式:G94 X(U)~ Z(W)~ K~ F~
X、Z为端面切削的终点坐标值;U、W为端面切削的终点相对于循环起点的坐标;K为端面切削的起点相对于终点在Z轴方向的坐标分量。当起点Z向坐标小于终点Z向坐标时K为负,反之为正。
应用端面切削循环功能加工图3-45所示的零件的程序如下。
图3-45 G94的用法(锥面)
…… G94 X20 Z0 K-5 F0.2 Z-5 Z-10 ……
3.2.9 复合固定循环
在复合固定循环中,对零件的轮廓定义之后,即可完成从粗加工到精加工的全过程,使程序得到进一步简化。
(1)外圆粗切循环
外圆粗切循环是一种复合固定循环,适用于外圆柱面需多次走刀才能完成的粗加工,如图3-46所示。
图3-46 外圆粗切循环
编程格式如下。
G71 U(Δd)R(e) G71 P(ns)Q(nf)U(Δu)W(Δw)F(f)S(s)T(t)
Δd为背吃刀量;e为退刀量;ns为粗加工轮廓程序段中开始程序段的段号;nf为粗加工轮廓程序段中结束程序段的段号;Δu为X轴向粗加工余量;Δw为Z轴向粗加工余量;f、s、t为F、S、T代码。
注意:①ns→nf程序段中的F、S、T功能,即使被指定也对粗车循环无效。
②零件轮廓必须符合X轴、Z轴方向同时单调增大或单调减少;X轴、Z轴方向非单调时,ns→nf程序段中第一条指令必须在X、Z向同时有运动。
(2)端面粗切循环
端面粗切循环是一种复合固定循环。端面粗切循环适于Z向余量小、X向余量大的棒料粗加工,如图3-47所示。
图3-47 端面粗加工切削循环
编程格式如下。
G72 U(Δd) R(e) G72 P(ns) Q(nf) U(Δu) W(Δw) F(f) S(s) T(t)
Δd为背吃刀量;e为退刀量;ns为粗加工轮廓程序段中开始程序段的段号;nf为粗加工轮廓程序段中结束程序段的段号;Δu为X轴向粗加工余量;Δw为Z轴向粗加工余量;f、s、t为F、S、T代码。
注意:①ns→nf程序段中的F、S、T功能,即使被指定也对粗车循环无效。
②零件轮廓必须符合X轴、Z轴方向同时单调增大或单调减少。
(3)封闭切削循环
封闭切削循环是一种复合固定循环,如图3-48所示。封闭切削循环适于对铸、锻毛坯切削,对零件轮廓的单调性则没有要求。
图3-48 封闭切削循环
编程格式如下。
G73 U(i) W(k) R(d) G73 P(ns) Q(nf) U(Δu) W(Δw) F(f) S(s) T(t)
i为X轴向总退刀量;k为Z轴向总退刀量(半径值);d为重复加工次数;ns为粗加工轮廓程序段中开始程序段的段号;nf为粗加工轮廓程序段中结束程序段的段号;Δu为X轴向粗加工余量;Δw为Z轴向粗加工余量;f、s、t为F、S、T代码。
(4)精加工循环
由G71、G72、G73完成粗加工后,可以用G70进行精加工。精加工时,G71、G72、G73程序段中的F、S、T指令无效,只有在ns→nf程序段中的F、S、T才有效。
编程格式:G70 P(ns)Q(nf)
ns为精加工轮廓程序段中开始程序段的段号;nf为精加工轮廓程序段中结束程序段的段号。
例如,在G71、G72、G73程序应用示例中的nf程序段后再加上“G70 Pns Qnf”程序段,并在ns→nf程序段中加上精加工适用的F、S、T,就可以完成从粗加工到精加工的全过程。
3.2.10 深孔钻循环
深孔钻循环功能适用于深孔钻削加工,如图3-49所示。
图3-49 深孔钻循环
编程格式如下。
G74 R(e) G74 Z(W) Q(Δk) F
e为退刀量;Z(W)为钻削深度;Δk为每次钻削长度(不加符号)。
3.2.11 外径切槽循环
外径切削循环功能适合于在外圆面上切削沟槽或切断加工。
编程格式如下。
G75 R(e) G75 X(U) P(Δi) F~
e为退刀量;X(U)为槽深;Δi为每次循环切削量。
图3-50所示的零件切断加工的程序如下。
图3-50 切槽加工
G50 X200 Z100 T0202 M03 S600 G00 X35 Z-50 G75 R1 G75 X-1 P5 F0.1 G00 X200 Z100 M30
3.2.12 螺纹切削指令
该指令用于螺纹切削加工。
(1)基本螺纹切削指令
基本螺纹切削方法如图3-51所示。
图3-51 圆柱螺纹切削
编程格式:G32 X(U)~Z(W)~F~
X(U)、Z(W)为螺纹切削的终点坐标值;X省略时为圆柱螺纹切削,Z省略时为端面螺纹切削,X、Z均不省略时为锥螺纹切削(X坐标值依据《机械设计手册》查表确定);F为螺纹导程。
螺纹切削应注意在两端设置足够的升速进刀段δ1和降速退刀段δ2。
(2)螺纹切削循环指令
螺纹切削循环指令把“切入—螺纹切削—退刀—返回”四个动作作为一个循环,如图3-52所示,用一个程序段来指定。
图3-52 螺纹切削循环
编程格式:G92 X(U)~ Z(W)~ I~ F~
X(U)、Z(W)为螺纹切削的终点坐标值;I为螺纹部分半径之差,即螺纹切削起始点与切削终点的半径差。加工圆柱螺纹时,I为0;加工圆锥螺纹时,当X向切削起始点坐标小于切削终点坐标时,I为负,反之为正。
(3)复合螺纹切削循环指令
复合螺纹切削循环指令可以完成一个螺纹段的全部加工任务。它的进刀方法有利于改善刀具的切削条件,在编程中应优先考虑应用该指令,如图3-53所示。
图3-53 复合螺纹切削循环与进刀
编程格式如下。
G76 P(m) (r) (α) Q(Δdmin) R(d) G76 X(U) Z(W) R(i) P(k) Q(Δd) F(f)
m为精加工重复次数;r为倒角量;α为刀尖角;Δdmin为最小切入量;d为精加工余量;X(U)、Z(W)为终点坐标;i为螺纹部分半径之差,即螺纹切削起始点与切削终点的半径差,加工圆柱螺纹时,i为0,加工圆锥螺纹时,当X向切削起始点坐标小于切削终点坐标时,i为负,反之为正;k为螺牙的高度(X轴方向的半径值);Δd为第一次切入量(X轴方向的半径值);f为螺纹导程。