1、沈建峰 虞俊 主编 了解FANUC 0i系统常用功能指令;掌握FANUC 0i系统内、外圆固定循环指令,切槽固定循环指令,螺纹切削与螺纹切削固定循环指令,及A、B类宏程序编程。目目 录录一、准备功能指令二、辅助功能指令三、其他功能指令一、内、外圆单一固定循环(G90、G94)二、外圆粗、精车循环与端面粗、精车循环(G71、G72、G70)三、仿形车粗、精车复合固定循环(G73、G70)一、径向切槽循环指令(G75)二、端面切槽循环指令(G74)三、使用切槽复合固定循环指令(G74、G75)时的注意事项四、编程实例一、螺纹切削指令(G32、G34)二、螺纹切削单一固定循环指令(G92)三、螺纹切
2、削复合固定循环指令(G76)四、综合编程实例一、子程序二、编程实例一、用户宏程序简介二、A类宏程序三、编程实例一、B类宏程序二、编程实例一、极坐标插补二、圆柱插补三、B功能指令及M功能指令四、编程实例一、FANUC Oi数控系统控制面板按钮及功能介绍二、FANUC Oi数控系统机床操作关于准备功能的说明如下:1)G代码有A、B和C三种系列,表41所列出的为A系列的G代码。2)当电源接通或复位时,CNC进入清零状态,此时的开机默认代码在表中以符号“”表示。但此时,原来的G21或G20保持有效。3)除了G10和G11以外的00组G代码都是非模态G代码。4)当指定了没有在列表中的G代码,数控车床显示
3、P/S010报警。5)不同组的G代码在同一程序段中可以指令多个。如果在同一程序段中指令了多个同组的G代码,仅执行最后指定的G代码。6)如果在固定循环中指令了01组的G代码,则固定循环取消,该功能与指令G80相同。7)G代码按组号显示。以代码“M”表示 刀具功能指令、转速功能指令、进给功能指令(1)内、外圆切削循环(G90)1)指令格式G90 X(U)Z(W)FG90 X(U)Z(W)R F R表示圆锥面切削起点(图42中的B点)处的X坐标减终点(图4-2中的C点)处X坐标之值的二分之一。注意:图4-2种的R值为负值 图4-2 圆锥面切削循环 2)指令说明:该指令既可用于圆柱面切削循环,也可用于
4、圆锥面切削循环。对于数控车床的所有循环指令,要特别注意正确选择程序循环起始点的位置,因为该点既是程序循环的起点,又是程序循环的终点。对于该点,一般宜选择在离开毛坯表面12mm的地方。(2)端面切削循环(G94)1)指令格式如下:G94 X(U)Z(W)F;G94 X(U)Z(W)R F;2)指令说明 图4-3 平端面切削循环的轨迹(3)使用单一固定循环(G90、G94)的注意事项1)应根据坯件的形状和工件的加工轮廓进行适当地选择使用G90或G94,一般情况下的选择如图45所示。图4-5 固定循环的选择a)圆柱面切削循环G90b)圆锥面切削循环G90(R)c)平端面切削循环G94d)斜端面切削循
5、环G94(R)2)由于X(U)、Z(W)和R的数值在固定循环期间是模态的,所以,如果没有重新指令X(U)、Z(W)和R,则原来指定的数据有效。3)对于圆锥切削循环中的R,在FANUC系统数控车床上,有时也用“I”或“K”来执行R的功能。4)如果在使用固定循环的程序段中指定了EOB或零运动指令,则重复执行同一固定循环。5)如果在固定循环方式下,又同时指令了M、S、T功能,则固定循环和M、S、T功能同时完成。6)如果在单段运行方式下执行循环,则每一次循环分4段进行,执行过程中必须按4次循环启动按钮。(4)编程实例 例试根据FANUC系统的规定编写如图46所示课题的数控车加工程序。图4-6 内、外圆
6、单一固定循环实例图 本例编程与加工思路:主要使用内、外圆切削循环指令G90和端面切削循环指令G94进行编程(1)内、外圆粗、精车复合固定循环(G71)1)指令格式如下:G71 U(d)R(e);G71 P(ns)Q(nf)U(u)W(w)F S T;G70 P(ns)Q(nf);G70为精车循环,该指令不能单独使用,需跟在粗车复合循环指令G71、G72、G73之后 2)指令说明 指令中的F和S值是指粗加工循环中的F和S值,该值一经指定,则在程序段段号“ns”和“nf”之间所有的F和S值均无效。当加工图示凹圆弧AB段时,阴影部分的加工余量在粗车循环时,因其X向的递增与递减形式并存,故无法进行分层
7、切削而在半精车时一次性进行切削。图4-7 粗车循环轨迹图 图4-8 粗车凹槽 在FANUC系列的G71循环中,顺序号“ns”程序段必须沿X向进刀,且不能出现Z轴的运动指令,否则会出现程序报警。3)编程实例 例试用复合固定循环指令编写图49所示工件的粗、精加工程序。图4-9 粗车复合循环实例(2)端面粗车循环(G72)1)指令格式如下:G72 W(d)R(e);G72 P(ns)Q(nf)U(u)W(w)F S T;2)指令说明 G72循环所加工的轮廓形状,必须采用单调递增或单调递减的形式。图4-10 平端面粗车循环轨迹图 在FANUC系统的G72循环指令中,顺序号“ns”所指程序段必须沿Z向进
8、刀,且不能出现X轴的运动指令,否则会出现程序报警。(3)综合编程实例 例试用外圆粗、精车循环与端面粗、精车循环指令编写图412所示工件的数控车加工程序(预钻孔为40)。1)本例编程与加工思路。编写本课题的加工程序时,首先采用CAD找点的方法找出各基点坐标,其部分基点的坐标值如图412c所示。2)加工工艺分析。图4-12 外圆粗、精车循环与平端面粗、精车循环编程实例a)课题平面图b)课题实体图c)课题部分基点坐标(1)仿形车复合循环(G73、G70)1)指令格式如下:G73 U(i)W(k)R(d);G73 P(ns)Q(nf)U(u)W(w)F S T;2)指令说明 图4-13 多重复合循环的
9、轨迹图 G73循环主要用于车削固定轨迹的轮廓。这种复合循环,可以高效地切削铸造成形、锻造成形或已粗车成形的工件。G73程序段中,“ns”所指程序段可以向X轴或Z轴的任意方向进刀。G73循环加工的轮廓形状,没有单调递增或单调递减形式的限制。3)编程实例 例试用 G73指令编写如图414所示内凹圆弧工件(除内凹圆弧外的其余轮廓已采用G71和G70指令加工成形,加工刀具采用V型刀片可换车刀)的加工程序。图4-14 多重复合循环编程实例(2)使用内、外圆复合固定循环(G71、G72、G73、G70)的注意事项 1)应根据毛坯的形状、工件的加工轮廓及其加工要求选用内、外圆复合固定循环。2)使用内、外圆复
10、合固定循环进行编程时,在其nsnf之间的程序段中,不能含有以下指令:固定循环指令。参考点返回指令。螺纹切削指令。宏程序调用或子程序调用指令。3)执行G71、G72、G73循环时,只有在G71、G72、G73指令的程序段中F、S、T才是有效的,在调用的程序段nsnf之间编入的F、S、T功能将被全部忽略。4)在G71、G72、G73程序段中,d(i)、u都用地址符U进行指定,而k、w都用地址符W进行指定,系统是根据G71、G72、G73程序段中是否指定P、Q以区分d(i)、u及k、w的。5)在G71、G72、G73程序段中的W、U是指精加工余量值,该值按其余量的方向有正、负之分。(3)编程实例 例
11、试用仿形车粗、精车复合固定循环指令编写如图415所示工件的数控车床加工程序(切槽程序略)。图4-15 仿形车复合固定循环编程实例 本例编程与加工思路:编写本例加工程序时,由于工件轮廓表面不是单调递增或递减的表面,所以无法采用G71或G72循环指令来加工。因此,本课题采用仿形车复合循环G73指令编程较为合适。1.指令格式G75 R(e);G75 X(U)Z(W)P(i)Q(k)R(d)F;2.指令说明图4-17 径向切槽循环轨迹图 对于程序段中的i、k值,在FANUC系统中,不能输入小数点,而直接输入最小编程单位,如P1500表示径向每次切深量为1.5mm。1.指令格式G74 R(e);G74
12、X(U)Z(W)P(i)Q(k)R(d)F;2.指令说明图4-18 端面切槽循环轨迹图 当G75指令用于端面啄式深孔钻削循环指令时,装夹在刀架(尾座无效)上的刀具一定要精确定位到工件的旋转中心 1)在FANUC或三菱系统中,当出现以下情况而执行切槽复合固定循环指令时,将会出现程序报警。X(U)或Z(W)指定,而i或k值未指定或指定为0。k值大于Z轴的移动量(W)或k值设定为负值。i值大于U/2或i值设定为负值。退刀量大于进刀量 2)由于i和k为无符号值,所以,刀具切深完成后的偏移方向由系统根据刀具起刀点及切槽终点的坐标自动判断。3)切槽过程中,刀具或工件受较大的单方向切削力,容易在切削过程中产
13、生振动,因此,切槽加工中进给速度F的取值应略小(特别是在端面切槽时),通常取50100mm/min。例试用切槽循环指令编写图419所示工件外圆槽和端面槽的数控车加工程序。图4-19 切槽固定循环编程实例 加工外圆槽时,要特别注意循环起点的Z向坐标与刀宽的关系。而加工端面槽时,为了避免车刀与工件沟槽的较大圆弧面相碰,刀尖处的副后刀面应根据端面槽圆弧的大小磨成圆弧形,并保证一定的后角。1.等螺距直螺纹这类螺纹包括普通圆柱螺纹和端面螺纹。(1)指令格式G32 X(U)Z(W)F Q;该值为不带小数点的非模态值,其单位为0.001。(2)指令说明 刀具从B点以每转进给一个导程/螺距的速度切削至C点 均
14、需特别注意其螺纹车刀的安装方法(正、反向)和主轴的旋转方向应与车床刀架的配置方式(前、后置)相适应。如采用图4-21所示后置刀架车削其右旋螺纹时,不仅螺纹车刀必须反向(即前刀面向下)安装,车床主轴也必须用M04指令其旋向。如果螺纹车刀正向安装,主轴用M03指令,则起刀点亦应改为图4-20中D点。想一想:如果刀具正装,主轴正转,A点起刀,则加工出螺纹是左旋还是右旋呢?图4-20 G32圆柱螺纹的运动轨迹与编程示例(3)编程实例(4)G32指令的其他用途 1)圆锥螺纹 2)多线螺纹 3)端面螺纹 4)连续螺纹切削 2.变螺距圆锥螺纹这类螺纹主要指变螺距圆柱螺纹及变螺距圆锥螺纹。(1)指令格式G34
15、 X(U)Z(W)F K;(2)指令说明 3.使用螺纹切削指令(G32、G34)时的注意事项 1)在螺纹切削过程中,进给速度倍率无效。2)在螺纹切削过程中,进给暂停功能无效,如果在螺纹切削过程中按下进给暂停按钮,刀具将在执行了非螺纹切削的程序段后停止。3)在螺纹切削过程中,主轴速度倍率功能失效。4)在螺纹切削过程中,不宜使用恒线速度控制功能,而采用恒转速控制功能较为合适。1.指令格式G92 X(U)Z(W)F R;2.指令说明 对于圆锥螺纹中的R值,在编程时除要注意有正、负值之分外,还要根据不同长度来确定R值的大小。3.编程实例4.使用螺纹切削单一固定循环(G92)时的注意事项1)在螺纹切削过
16、程中,按下循环暂停键时,刀具立即按斜线退回,然后先回到X轴的起点,再回到Z轴的起点。在退回期间,不能进行另外的暂停。2)如果在单段方式下执行G92循环,则每执行一次循环必须按4次循环启动按钮。3)G92指令是模态指令,当Z轴移动量没有变化时,只需对X轴指定其移动指令即可重复执行固定循环动作。4)执行G92循环时,在螺纹切削的退尾处,刀具沿接近45的方向斜向退刀,Z向退刀距离r=0.1S12.7S(导程),如图421所示,该值由系统参数设定。5)在G92指令执行过程中,进给速度倍率和主轴速度倍率均无效。1.指令格式 G76 P(m)(r)(a)Q(dmin)R(d);G76 X(U)Z(W)R(
17、i)P(k)Q(d)F;使用G76指令时,应熟悉指令中每一个参数的含义2.指令说明图4-23 G76循环的运动轨迹及进刀轨迹 第一刀切削循环时,背吃刀量为d(图223b),第二刀的背吃刀量为(2-1)d,第n刀的背吃刀量为(n-n-1)d。因此,执行G76循环的背吃刀量是逐步递减的。在G76循环指令中,m,r,a由地址符P及后面各两位数字指定,每个两位数中的前置0不能省略。3.编程示例4.使用螺纹复合循环指令(G76)时的注意事项1)G76可以在MDI方式下使用。2)在执行G76循环时,如按下循环暂停键,则刀具在螺纹切削后的程序段暂停。3)G76指令为非模态指令,所以必须每次指定。4)在执行G
18、76时,如要进行手动操作,刀具应返回到循环操作停止的位置。如果没有返回到循环停止位置就重新启动循环操作,手动操作的位移将叠加在该条程序段停止时的位置上,刀具轨迹就多移动了一个手动操作的位移量。例试用螺纹切削循环指令编写如图425所示的外梯形螺纹和内三角形螺纹的数控车床加工程序。本例编程与加工思路:加工梯形螺纹时,由于螺纹的加工深度较大,无法采用直进法加工。因此,梯形螺纹宜选用G76指令采用斜进法进行编程与加工。1.子程序的概念(1)子程序的定义(2)子程序的嵌套 为了进一步简化加工程序,可以允许其子程序再调用另一个子程序,这一功能称为子程序的嵌套。图4-26子程序的嵌套a)主程序b)一级嵌套c
19、)二级嵌套d)三级嵌套e)四级嵌套 2.子程序的调用(1)子程序的格式(2)子程序在FANUC系统中的调用 格式一 M98 P L;格式二 M98 P;3.子程序调用的特殊用法(1)子程序返回到主程序中的某一程序(2)自动返回到程序开始段(3)强制改变子程序重复执行的次数 4.编写子程序时的注意事项1)在编写子程序的过程中,最好采用增量坐标方式进行编程,以避免失误。2)在刀尖圆弧半径补偿模式中的程序不能被分隔指令。例试用子程序的编程方式编写如图427所示工件的数控车加工程序。课题编程与加工思路:由于工件轮廓有许多相类似的形状组成。因此,采用子程序方式进行编程可实现简化编程的目的。图4-27 子
20、程序编程实例 一组以子程序的形式存储并带有变量的程序称为用户宏程序,简称宏程序;调用宏程序的指令称为“用户宏程序指令”或宏程序调用指令(简称宏指令)。用户宏程序分为A、B两类。通常情况下,FANUC 0TD系统采用A类宏程序,而FANUC 0i系统则采用B类宏程序。1.变量(1)变量的表示(2)变量的引用(3)变量的种类 变量分为局部变量、公共变量(全局变量)和系统变量三种。在A、B类宏程序中,其分类均相同。1)局部变量 2)公共变量 3)系统变量 2.用户宏程序的格式及调用(1)宏程序格式(2)宏程序的调用 宏程序的调用有两种形式:一种与子程序调用方法相同,即用M98进行调用。另一种用指令G
21、65进行调用,如:G65 P0070 L5 X100.0 Y100.0 Z-30.0;此处的X、Y、Z并不代表坐标功能字3.宏程序的运算和转移指令(表48)(1)宏程序的运算指令 G65 H(m)P(#i)Q(#j)R(#k);变量值是不含小数点的数值,它以系统的最小输入单位为其值的单位。(2)宏程序的转移指令 1)无条件转移指令。指令格式:G65 H80 Pn 2)条件转移指令。指令格式:G65 H8-Pn Q#J R#k 4.A类宏程序编程示例 例试用A类宏程序编写如图429所示的椭圆加工的数控车床加工程序。宏程序编程时,最主要的编程思路课题分析:本例以Z为自变量,每次增量为-0.1mm。
22、X为应变量(注意公式中的X为半径量),直径量X=2 =图4-29 A类宏程序编程示例16Z-64Z-例试用A类宏程序的编程方法编写如图430所示的椭圆手柄的数控车床精加工程序。课题编程与加工思路:引入宏程序编程的方式进行曲线拟合编程。1.变量(1)变量的表示 B类宏程序其表达式必须全部写入方括号“”中。程序中的圆括号“()”仅用于注释。(2)变量的引用 2.变量的赋值(1)直接赋值(2)引数赋值 该处的X、Y、Z不代表坐标字,F也不代表进给字,而是对应于宏程序中的变量号,变量的具体数值由引数后的数值决定。3.运算指令 B类宏程序的运算指令与A类宏程序的运算指令有很大的区别,它的运算类似于数学运
23、算,仍用各种数学符号来表示。常用运算指令见表412。1)函数SIN、COS等的角度单位是 2)宏程序数学计算的次序依次为:函数运算(SIN、COS、ATAN等),乘和除运算(、/、AND等),加和减运算(+、-、OR、XOR等)。3)函数中的括号 括号用于改变运算次序,函数中的括号允许嵌套使用,但最多只允许嵌套5层。4)宏程序中的上、下取整运算CNC处理数值运算时,若操作产生的整数大于原数时为上取整,反之则为下取整。4.控制指令控制指令起到控制程序流向的作用。(1)分支语句格式一GOTO n 格式二IF条件表达式GOTO n(2)循环指令循环指令格式为:WHILE条件表达式 DO m(m=1、
24、2、3);END m;5.B类宏程序编程示例 例试用B类宏程序编写如图431所示的玩具喇叭凸模曲线的精加工程序。图4-31 B类宏程序编程示例实例分析:以Z值为自变量,每次变化0.1mm,X值为应变量,通过变量运算计算出相应的X值。例试用B类宏程序编写图432所示绕线筒曲线轮廓的数控车床加工程序。本例编程与加工思路:采用坐标平移指令(G52)编写出类似于仿形车复合循环G73指令的加工程序。图4-32 应用B类宏程序的示例件G112或G12.1;G113或G13.1;2.指令说明 切削平面(XY平面)第一轴为X轴,该值为直径值,坐标单位为mm。第二坐标轴为虚拟轴,也采用回转轴的地址“C”表示,该
25、值为半径值,坐标单位为mm。回转轴的地址与所选择的平面无关,均设为C轴,坐标单位为度()。注意此处的极坐标与教学意义上的极坐标的区别1)必须在极坐标指令中指定刀具半径补偿指令。2)在极坐标插补执行过程中不能进行程序的再启动。3)用于极坐标插补的坐标系,必须在极坐标插补前指定,在极坐标插补过程中的坐标系不能改变,即不能指定G54、G92、G52、G53等坐标系设定指令。1.指令格式3.极坐标插补编程注意事项(1)终点和张角的圆弧插补指令格式:G02/G03 XZAR=;通过起点、终点和圆弧包角来确定圆弧通过起点、圆心点和圆弧包角来确定圆弧(2)圆心和张角的圆弧插补指令格式:G02 IKAR=;图
26、5-1 终点和张角编程示例图5-2 圆心和张角编程示例图4-33 极坐标插补4.极坐标插补编程举例圆柱插补功能可以用圆柱体的展开面编程。IP为回转轴地址,通常情况下,该地址为“C”。r为圆柱体的半径。1)在圆柱插补方式中,圆弧半径不能用地址I、J和K指定,而必须1.指令格式2.指令说明G107IPr;G107IP0;3.圆柱插补注意事项 用R指定。2)刀具补偿只能在圆柱插补方式内指定,而不能在圆柱插补方式外指定。3)圆柱插补方式中不能指定坐标系设定指令。4)圆柱插补方式中不能在指定快速移动定位方式,也不能指定孔加工固定循环。图4-34 圆柱凸轮槽4.编程实例 例如图434所示凸轮(圆柱体半径为
27、60mm,槽深5mm,凸 轮轴总长为150mm,其展开图如图434b所示),试编写其车铣复合加工程序。1.M功能指令M53:指令动力刀具正转并打开切削液。M54:指令动力刀具反转并打开切削液。M55:指令动力刀具停转并关闭切削液。B功能指令由地址B及其后的8位数字组成,常用于分度功能。如图435所示工件的两键槽,采用10mm的键槽铣刀进行加工,试编写其加工程序。例试编写如图435所示工件的车削中工中心程序。(1)本例编程与加工思路 本例在轴类零件工件端面加工正六边形外形,并在轴类零件的侧面加工出键槽。对于这类零件,采用车铣中心进行加工较为合适。(2)车削中心的特点具有铣削功能。2.B功能指令3
28、.编程示例图4-35 车铣中心加工实例(1)机床控制面板上的按钮(2)系统操作面板上的MDI功能键(3)CRT屏幕相对应的软键图4-36 FANUC 0i-TA数控系统面板图1.机床控制面板功能介绍2.数控系统MDI功能键3.CRT显示器中的软键功能1.机床及系统电源的开/关图4-37 开机后的屏幕显示画面(1)返回参考点操作(2)手轮进给操作手轮进给操作(3)手动连续进给与手动快速进给3.程序的编辑操作(1)电源开(2)电源关2.手动操作(1)建立一个新程序(2)调用内存中储存的程序(3)删除程序(4)程序段的操作(5)程序字的操作图4-39 手动/手轮进给的屏幕显示画面图4-40 建立新程
29、序的屏幕显示画面图4-41 光标扫描键(1)在“MDI”方式下输入主轴功能指令(2)在“MDI”方式下将1号刀转到当前位置(3)设置X、Z向的刀具偏移值(设定工作坐标系)图4-42 数控车床对刀操作图4-43 刀具补偿参数设置画面如果刀具使用一段时间后,产生了磨耗,则可直接将磨耗值输入到对应的位置,对刀具进行磨耗补偿。4.设置刀具偏移值5.设置刀具刀尖圆弧半径补偿参数6.自动加工(1)机床试运行 机床的试运行检查还可以在空运行状态下进行,两者虽然都被用于程序自动运行前的检查,但检查的内容却有区别:机床锁住运行主要用于检查程序编制是否正确,程序有无编写格式错误等;而机床空运行主要用于检查刀具轨迹
30、是否与要求相符。(2)机床的自动运行(3)图形显示功能图4-45 图形显示参数设置画面1.试写出内、外圆加工时所用单一固定循环的指令格式,并说明该循环中R值的确定方法。2.试写出内、外圆复合粗加工循环(G71)的指令格式,并说明指令中各参数的含义。3.试写出多重复合循环(G73)的指令格式,并说明指令中各参数的含义。4.采用内、外圆复合固定循环(G71、G72、G73、G70)时的注意事项有哪些?5.试写出切槽循环指令(G75)的指令格式,并说明指令中各参数的含义。6.采用切槽循环指令(G74、G75)时的注意事项有哪些?7.试说明在数控车削过程中,双线螺纹、左旋螺纹是如何编程及加工的?8.试
31、写出螺纹切削复合固定循环(G76)的指令格式,并说明指令中各参数的含义。9.在使用螺纹切削单一固定循环(G92)过程中的注意事项有哪些?10.如何用三针测量法来测量梯形螺纹的中径?11.什么叫子程序?FANUC系统是如何进行子程序调用的?12.什么叫用户宏程序?它的最大特点是什么?13.宏程序的变量可分为哪几类?各有何特点?14.A类宏程序是如何实现程序转移的?15.B类宏程序是如何实现程序转移的?16.试根据程序段“G65 P0030 A50.0 B20.0 D40.0 I100.0 K0 I20.0”写出各参数的名称及其参数值。17.MDI面板上的INSERT与INPUT键有何区别,各适用在何种场合?18.MDI面板上的DELETE与CAN键有何区别,各适用在何种场合?19.如何进行程序的检索?如何进行程序段的检索?20.如何进行机床的手动回参考点操作?如何编写程序中的回参考点程序段?21.试叙述刀具偏移值设定的操作过程。