《数控编程技术》教案第四章 1页共17 第4章数控编程常用指令 【教学目标】通过本章节的教学:使学生掌握数控编程常用指令准备功能G代码 辅助功能M代码及主轴功能S、进给功能F、刀具功能T代码的使用 格式,各代码所表述的意义以及在编程的过程中要注意的事项 【教学重点】G代码、M代码、F、S、T功能代码的使用格式 【教学难点】G代码的使用格式及意义 【教学时数】理论10学时 【课程类型】理论课程 【教学方法】理论联系实际,讲、例、练三结合 【教学内容】 4.1概述 1、数控编程常用的指令代码主要有准备功能G代码,辅助功能M代码及主轴 功能S、进给功能F、刀具功能T代码 2、G代码分为模态代码和非模态代码 模态代码除了在本程序段有效外,在后续程序段也起作用,直到出现同组的另 一个代码时才失效。 非模态代码只在本程序段有效,如G04,其功能仅在所出现的程序段内才有作 用 3、M功能也有模态和非模态两种形式。另外,M功能还可以分为前作用M功 能和后作用M功能。前作用M功能是在程序段中编制的轴运动之前执行,后作用 M功能是在程序段中编制的轴运动之后执行 表41为我国JB3208-1983准备功能G代码
《数控编程技术》教案 第四章 第1页 共17 第 4 章 数控编程常用指令 【教学目标】 通过本章节的教学:使学生掌握数控编程常用指令准备功能 G 代码, 辅助功能 M 代码及主轴功能 S、进给功能 F、刀具功能 T 代码的使用 格式,各代码所表述的意义以及在编程的过程中要注意的事项。 【教学重点】 G 代码、M 代码、F、S、T 功能代码的使用格式 【教学难点】 G 代码的使用格式及意义 【教学时数】 理论 10 学时 【课程类型】 理论课程 【教学方法】 理论联系实际,讲、例、练三结合 【教学内容】 4.1 概述 1、数控编程常用的指令代码主要有准备功能 G 代码,辅助功能 M 代码及主轴 功能 S、进给功能 F、刀具功能 T 代码。 2、G 代码分为模态代码和非模态代码。 模态代码除了在本程序段有效外,在后续程序段也起作用,直到出现同组的另 一个代码时才失效。 非模态代码只在本程序段有效,如 G04,其功能仅在所出现的程序段内才有作 用。 3、M 功能也有模态和非模态两种形式。另外,M 功能还可以分为前作用 M 功 能和后作用 M 功能。前作用 M 功能是在程序段中编制的轴运动之前执行,后作用 M 功能是在程序段中编制的轴运动之后执行。 表 4.1 为我国 JB3208-1983 准备功能 G 代码
数控编程技术》教案第四章 2页共17 表42为我国JB3208-1983辅助功能M代码 4.2与坐标和坐标系有关的指令 4.2.1工件坐标系设定指令 G2指令用来设定刀具在工件坐标系中的坐标值,属于模态指令,其设定值在 重新设定之前一致有效 程序段格式为:G92XYZ X、Y、Z为刀位点在工件坐标系中的初始位置。例如: G92X25.0Z350.0;设定工件坐标系为XOZ1; G92X25.0Z10.0:设定工件坐标系为X2O2Z2 以上两程序段所设定的工件坐标系如图4.1所示。工件坐标系建立以后,程序 内所有用绝对值指定的坐标值,均为这个坐标系中的坐标值 必须注意的是,数控机床在执行G92指令时并不动作,只是显示器上的坐标值 发生了变化。 图4.1工件坐标系设定 工件坐标系选择指令 工件坐标系选择指令有G54、G55、G56、G57、G58、G59。均为模态指令。 指令与所选坐标系对应的关系是 G54:选定工件坐标系1
《数控编程技术》教案 第四章 第2页 共17 表 4.2 为我国 JB3208-1983 辅助功能 M 代码。 4.2 与坐标和坐标系有关的指令 4.2.1 工件坐标系设定指令 G92 指令用来设定刀具在工件坐标系中的坐标值,属于模态指令,其设定值在 重新设定之前一致有效。 程序段格式为:G92 X Y Z X、Y、Z 为刀位点在工件坐标系中的初始位置。例如: G92 X25.0 Z350.0;设定工件坐标系为 X1O1Z1; G92 X25.0 Z10.0;设定工件坐标系为 X2O2Z2。 以上两程序段所设定的工件坐标系如图 4.1 所示。工件坐标系建立以后,程序 内所有用绝对值指定的坐标值,均为这个坐标系中的坐标值。 必须注意的是,数控机床在执行 G92 指令时并不动作,只是显示器上的坐标值 发生了变化。 4.2.2 工件坐标系选择指令 工件坐标系选择指令有 G54、G55、G56、G57、G58、G59。均为模态指令。 指令与所选坐标系对应的关系是: G54:选定工件坐标系 1; 图 4.1 工件坐标系设定 350 10 O1 O2 Z1、Z2 X1 X2 25
《数控编程技术》教案第四章 第3页共17 G55:选定工件坐标系2 G56:选定工件坐标系3 G57:选定工件坐标系4 G58:选定工件坐标系5 G59:选定工件坐标系6; 程序段格式为: G54 加工之前,通过MD(手动键盘输入)方式设定这6个坐标系原点在机床坐标系 中的位置,系统则将它们分别存储在6个寄存器中。程序中出现G54~G59中某 指令时,就相应地选择了这6个坐标系中的一个。 如用MDI方式将工件坐标系1的原点在机床坐标系中设定为X100Y200 Z150,程序中用G54设定坐标,就相当于执行程序段G92X10.0Y20.0Z150。 G54为缺省值。 4.2.3局部坐标设定指令 局部坐标设定指令为G52。属于非模态指令,仅在本程序段中有效 程序段格式为:G52 XYZABC X、Y、Z为局部坐标系原点在工件坐标系中的有向距离,A、B、C是相对于 X、Y、Z三个轴的旋转坐标 G52指令可以在G54~G59指定的工件坐标系中设定局部坐标系。局部坐标系 建立以后,绝对值方式编程的移动指令就是在该局部坐标系中的坐标值 4.2.4直接机床坐标系编程指令 直接机床坐标系编程指令G53,属于非模态指令,只在本程序段中有效。在含 有G53指令的程序段中,利用绝对值编程的移动指令的坐标位置是相对于机床坐 标系的。 4.2.5坐标平面选择指令
《数控编程技术》教案 第四章 第3页 共17 G55:选定工件坐标系 2; G56:选定工件坐标系 3; G57:选定工件坐标系 4; G58:选定工件坐标系 5; G59:选定工件坐标系 6; 程序段格式为: G54 加工之前,通过 MDI(手动键盘输入)方式设定这 6 个坐标系原点在机床坐标系 中的位置,系统则将它们分别存储在 6 个寄存器中。程序中出现 G54~G59 中某一 指令时,就相应地选择了这 6 个坐标系中的一个。 如用 MDI 方式将工件坐标系 1 的原点在机床坐标系中设定为 X10.0 Y20.0 Z15.0,程序中用 G54 设定坐标,就相当于执行程序段 G92 X10.0 Y20.0 Z15.0。 G54 为缺省值。 4.2.3 局部坐标设定指令 局部坐标设定指令为 G52。属于非模态指令,仅在本程序段中有效。 程序段格式为:G52 X Y Z A B C X、Y、Z 为局部坐标系原点在工件坐标系中的有向距离,A、B、C 是相对于 X、Y、Z 三个轴的旋转坐标。 G52 指令可以在 G54~G59 指定的工件坐标系中设定局部坐标系。局部坐标系 建立以后,绝对值方式编程的移动指令就是在该局部坐标系中的坐标值。 4.2.4 直接机床坐标系编程指令 直接机床坐标系编程指令 G53,属于非模态指令,只在本程序段中有效。在含 有 G53 指令的程序段中,利用绝对值编程的移动指令的坐标位置是相对于机床坐 标系的。 4.2.5 坐标平面选择指令
《数控编程技术》教案第1 第4页共17 G17、Gl8、G19指令功能为指定坐标平面,都是模态指令,相互之间可以注销。 G17、G18、G19分别指定空间坐标系中的XY平面、ZX平面和Y平面,如图4.3所 示,其作用是让机床在指定坐标平面上进行插补加工和加工补偿。 对于三坐标数控铣床和铣镗加工中心,开机后数控装置自动将机床设置成G17 状态,如果在XY坐标平面内进行轮廓加工,就不需要由程序设定G17。同样,数 控车床总是在XZ坐标平面内运动,在程序中也不需要用G18指令指定 G17 图43坐标平面指令 要说明的是,移动指令和平面选择指令无关,例如选择了XY平面之后,Z轴 仍旧可以移动 4.2.6绝对值编程指令与增量值编程指令 绝对值编程指令是G90,增量值编程指令是G91,它们是一对模态指令。G90 出现后,其后的所有坐标值都是绝对坐标,当G91出现以后,G91以后的坐标值则 为相对坐标,直到下一个G90出现,坐标又改回到绝对坐标。G90为缺省值。 4.3运动路径控制指令 4.3.1单位设定指令 与单位有关的指令主要有尺寸单位设定指令和进给速度单位设定指令。 1、尺寸单位设定指令 尺寸单位设定指令有G20、G21。其中G20表示英制尺寸,G21表示公制尺寸 G2l为缺省值
《数控编程技术》教案 第四章 第4页 共17 G17、G18、G19 指令功能为指定坐标平面,都是模态指令,相互之间可以注销。 G17、G18、G19 分别指定空间坐标系中的 XY 平面、ZX 平面和 YZ 平面,如图 4.3 所 示,其作用是让机床在指定坐标平面上进行插补加工和加工补偿。 对于三坐标数控铣床和铣镗加工中心,开机后数控装置自动将机床设置成 G17 状态,如果在 XY 坐标平面内进行轮廓加工,就不需要由程序设定 G17。同样,数 控车床总是在 XZ 坐标平面内运动,在程序中也不需要用 G18 指令指定。 要说明的是,移动指令和平面选择指令无关,例如选择了 XY 平面之后,Z 轴 仍旧可以移动。 4.2.6 绝对值编程指令与增量值编程指令 绝对值编程指令是 G90,增量值编程指令是 G91,它们是一对模态指令。G90 出现后,其后的所有坐标值都是绝对坐标,当 G91 出现以后,G91 以后的坐标值则 为相对坐标,直到下一个 G90 出现,坐标又改回到绝对坐标。G90 为缺省值。 4.3 运动路径控制指令 4.3.1 单位设定指令 与单位有关的指令主要有尺寸单位设定指令和进给速度单位设定指令。 1、尺寸单位设定指令 尺寸单位设定指令有 G20、G21。其中 G20 表示英制尺寸,G21 表示公制尺寸。 G21 为缺省值。 X Y Z O G17 G18 G19 图 4.3 坐标平面指令
《数控编程技术》教案第四章 第5页共17 公制与英制单位的换算关系为: lmm≈0.394in lin.≈25.4mm 1)有些系统要求这2个代码必须在程序的开头坐标系设定之前用单独的程序 段指令,一经指定,不允许在程序的中途切换。 2)有些系统的公制漢英制尺寸不采用G2l/G20编程,如 SIMENS和 FAGOR系 统采用G71G70代码。 2、进给速度单位的设定指令 给速度单位的设定指令是G94、G95。均为模态指令,G94为缺省值。 程序段格式为: G94F:或G95F G94设定每分钟进给量,单位依G20、G21的设定分别为in/min、mm/min G95设定每转进给量,单位依G20、G21的设定分别为in、mmh。要说明的 是这个功能必须在主轴装有编码器时才能使用 3、半径和直径编程 半径和直径编程指令分别为G22和G23。注意,华中数控世纪星HNC-21/22T 系统的直径/半径编程采用G36G37代码 如图44所示,刀尖从A到B时,以绝对值编程为例,程序段为: 直径编程G90G01X36Z8 半径编程G90G01X18Z8
《数控编程技术》教案 第四章 第5页 共17 公制与英制单位的换算关系为: 1 mm≈0.394 in. 1 in. ≈25.4mm 注意: 1) 有些系统要求这 2 个代码必须在程序的开头坐标系设定之前用单独的程序 段指令,一经指定,不允许在程序的中途切换。 2) 有些系统的公制/英制尺寸不采用 G21/G20 编程,如 SIMENS 和 FAGOR 系 统采用 G71/G70 代码。 2、进给速度单位的设定指令 进给速度单位的设定指令是 G94、G95。均为模态指令,G94 为缺省值。 程序段格式为: G94 F;或 G95 F G94 设定每分钟进给量,单位依 G20、G21 的设定分别为 in/min、mm/min。 G95 设定每转进给量,单位依 G20、G21 的设定分别为 in/r、mm/r。要说明的 是这个功能必须在主轴装有编码器时才能使用。 3、半径和直径编程 半径和直径编程指令分别为 G22 和 G23。注意,华中数控世纪星 HNC-21/22T 系统的直径/半径编程采用 G36/G37 代码。 如图 4.4 所示,刀尖从 A 到 B 时,以绝对值编程为例,程序段为: 直径编程 G90 G01 X36 Z8 半径编程 G90 G01 X18 Z8
《数控编程技术》教案第四章 第6页共17 图44直径和半径编程方式 4.3.2快速定位指令 G00为快速定位指令,该指令的功能是要求刀具以点位控制方式从刀具所在位 置以各轴设定的最高允许速度移动到指定位置,属于模态指令。它只实现快速移动, 并保证在指定的位置停止 程序段格式为 GOo x Y XYZ为目标点坐标 快速点定位的移动速度不能用程序指令设定,而是根据数控系统预先设定的速 度来执行。若在快速点定位程序段前设定了进给速度F,指令F对600程序段无效 快速点定位对刀具的运动轨迹没有严格的精度要求,其执行过程是刀具由起始点开 始加速移动至最大速度,然后保持快速移动,最后减速到达终点,实现快速点定位 这样可以提高数控机床的定位精度 4.3.3方向定位指令 方向定位指令G60与G00的功能相似,它们都是快速地进行定位。只不过G60 定位的方式不同,它先快速到达一个中间点,然后再以一固定速度移到定位点。至 于这个中间点在定位点的哪一侧,距定位点有多远是由机床的控制系统预先设定
《数控编程技术》教案 第四章 第6页 共17 图 4.4 直径和半径编程方式 4.3.2 快速定位指令 G00 为快速定位指令,该指令的功能是要求刀具以点位控制方式从刀具所在位 置以各轴设定的最高允许速度移动到指定位置,属于模态指令。它只实现快速移动, 并保证在指定的位置停止。 程序段格式为: G00 X Y Z X Y Z 为目标点坐标。 快速点定位的移动速度不能用程序指令设定,而是根据数控系统预先设定的速 度来执行。若在快速点定位程序段前设定了进给速度 F,指令 F 对 G00 程序段无效。 快速点定位对刀具的运动轨迹没有严格的精度要求,其执行过程是刀具由起始点开 始加速移动至最大速度,然后保持快速移动,最后减速到达终点,实现快速点定位, 这样可以提高数控机床的定位精度。 4.3.3 方向定位指令 方向定位指令 G60 与 G00 的功能相似,它们都是快速地进行定位。只不过 G60 定位的方式不同,它先快速到达一个中间点,然后再以一固定速度移到定位点。至 于这个中间点在定位点的哪一侧,距定位点有多远是由机床的控制系统预先设定
《数控编程技术》教案第四章 第7页共17 的。该指令为非模态指令,仅在本程序段中有效 程序段格式为 G60XYZ 其中Ⅹ、Y、Z为定位终点 在G90状态下定位点为终点在工件坐标系中的坐标:在G91状态下为终点相 对于起点的偏移量 4.3.4线性进给指令 线性进给指令G01指令即直线插补指令,该指令的功能是指令刀具相对于工件 以直线插补运算联动方式,按程序段中规定的进给速度F,由某坐标点移动到另 坐标点,插补加工出任意斜率的直线 机床在执行G01指令时,在该程序段中必须具有或在该程序段前已经有F指令 如无F指令则认为进给速度为零。G01和F均为模态代码。 程序段格式为 XYZF XYZ为目标点坐标。 例如图4.6所示路径,要求用G01,坐标系原点O是程序起始点,要求刀具由 O点快速移动到A点,然后沿AB、BC、CD、DA实现直线切削,再由A点快速返回 程序起始点O,其程序如下: 图4.6G01编程图例
《数控编程技术》教案 第四章 第7页 共17 的。该指令为非模态指令,仅在本程序段中有效。 程序段格式为: G60 X Y Z 其中 X、Y、Z 为定位终点。 在 G90 状态下定位点为终点在工件坐标系中的坐标;在 G91 状态下为终点相 对于起点的偏移量。 4.3.4 线性进给指令 线性进给指令 G01 指令即直线插补指令,该指令的功能是指令刀具相对于工件 以直线插补运算联动方式,按程序段中规定的进给速度 F,由某坐标点移动到另一 坐标点,插补加工出任意斜率的直线。 机床在执行G01指令时,在该程序段中必须具有或在该程序段前已经有F指令, 如无 F 指令则认为进给速度为零。G01 和 F 均为模态代码。 程序段格式为: G01 X Y Z F X Y Z 为目标点坐标。 例如图 4.6 所示路径,要求用 G01,坐标系原点 O 是程序起始点,要求刀具由 O 点快速移动到 A 点,然后沿 AB、BC、CD、DA 实现直线切削,再由 A 点快速返回 程序起始点 O,其程序如下: O X Y A D C B 12 28 10 42 图 4.6 G01 编程图例
数控编程技术》教案第四章 第8页共17 按绝对值编程方式 ‰0001 ;程序名 NO1 G92 XO YO ;坐标系设定 N10G90G00X10¥12S600T01M03:快速移至A点,主轴正转 1号刀,转速600r/min N20GO1Y28F100 :直线进给A→B,进给速度100m/min N30X42 直线进给B→C,进给速度不变 N40Y12 直线进给C→D,进给速度不变 N50X10 直线进给D→A,进给速度不变 N60G00X0Y0 返回原点0 N70 MO5 :主轴停止 N80 M02 程序结東 按增量值编程方式:(略) 直线插补指令601,一般作为直线轮廓的切削加工运动指令,有时也用作很短 距离的空行程运动指令,以防止G00指令在短距离高速运动时可能出现的惯性过冲 现象 4.3.5圆弧进给及螺旋线进给指令 1、圆弧插补指令 G02、G03为圆弧插补指令,该指令的功能是使机床在给定的坐标平面内进行 圆弧插补运动。圆弧插补指令首先要指定圆弧插补的平面,插补平面由G17、G18、 G19选定。圆弧插补有两种方式,一是顺时针圆弧插补,一是逆时针插补。编程格 式有两种,一是I、J、K格式,另一种是R格式
《数控编程技术》教案 第四章 第8页 共17 按绝对值编程方式: %0001 ;程序名 N01 G92 X0 Y0 ;坐标系设定 N10 G90 G00 X10 Y12 S600 T01 M03 ;快速移至 A 点,主轴正转, 1 号刀,转速 600r/min。 N20 G01 Y28 F100 ;直线进给 A→B,进给速度 100mm/min N30 X42 ;直线进给 B→C,进给速度不变 N40 Y12 ;直线进给 C→D,进给速度不变 N50 X10 ;直线进给 D→A,进给速度不变 N60 G00 X0 Y0 ;返回原点 O N70 MO5 ;主轴停止 N80 M02 ;程序结束 按增量值编程方式:(略) 直线插补指令 G01,一般作为直线轮廓的切削加工运动指令,有时也用作很短 距离的空行程运动指令,以防止 G00 指令在短距离高速运动时可能出现的惯性过冲 现象。 4.3.5 圆弧进给及螺旋线进给指令 1、圆弧插补指令 G02、G03 为圆弧插补指令,该指令的功能是使机床在给定的坐标平面内进行 圆弧插补运动。圆弧插补指令首先要指定圆弧插补的平面,插补平面由 G17、G18、 G19 选定。圆弧插补有两种方式,一是顺时针圆弧插补,一是逆时针插补。编程格 式有两种,一是 I、J、K 格式,另一种是 R 格式
《数控编程技术》教案第四章 第9页共17 Y 图4.7圆弧插补方向判别 程序段格式 IJF或 03 X Y JF或G03 X、Y为圆弧终点坐标值。在绝对值编程G90方式下,圆弧终点坐标是绝对坐 尺寸:在增量值编程G91方式下,圆弧终点坐标是相对于圆弧起点的增量值。Ⅰ、 J表示圆弧圆心相对于圆弧起点在X、Y方向上的增量坐标。即I表示圆弧起点到 圆心的距离在X轴上的投影:J表示圆弧起点到圆心的距离在Y轴上的投影:K表 示圆弧起点到圆心的距离在Z轴上的投影。I、J、K的方向与X、Y、Z轴的正负方 向相对应。如图3.25所示,图上I、J均为负值。要注意的是I、J、K的值属于X、 Y、Z方向上的坐标增量,与G90和G91方式无关。 终点(X,Y) 圆心 图48圆弧编程方式
《数控编程技术》教案 第四章 第9页 共17 程序段格式: G02 X Y I J F 或 G02 X Y R F G03 X Y I J F 或 G03 X Y R F X、Y 为圆弧终点坐标值。在绝对值编程 G90 方式下,圆弧终点坐标是绝对坐 标尺寸;在增量值编程 G91 方式下,圆弧终点坐标是相对于圆弧起点的增量值。I、 J 表示圆弧圆心相对于圆弧起点在 X、Y 方向上的增量坐标。即 I 表示圆弧起点到 圆心的距离在 X 轴上的投影;J 表示圆弧起点到圆心的距离在 Y 轴上的投影;K 表 示圆弧起点到圆心的距离在 Z 轴上的投影。I、J、K 的方向与 X、Y、Z 轴的正负方 向相对应。如图 3.25 所示,图上 I、J 均为负值。要注意的是 I、J、K 的值属于 X、 Y、Z 方向上的坐标增量,与 G90 和 G91 方式无关。 圆心 I J 起始点 终点(X,Y) 图 4.8 圆弧编程方式 Y X G02 G02 G02 G03 G03 G03 Z X Y O 图 4.7 圆弧插补方向判别
《数控编程技术》教案第1 10页共17 I、J、K为零时可以省略,但不能同时为零,否则刀具原地不动或系统发出错 误信息 下面举例说明G02、G03的编程方法: 如图4.9所示图例,设刀具由坐标原点0相对工件快速进给到A点,从A点开 始沿着A、B、C、D、E、F、A的线路切削,最终回到原点0 E 图49G02、G03编程图例 为了讨论的方便,在这里我们不考虑刀具半径对编程轨迹的影响,编程时假定 刀具中心与工件轮廓轨迹重合。实际加工时,刀具中心与工件轮廓轨迹间总是相差 一个刀具半径的,这就要用到刀具半径补偿功能。 绝对值编程方式编程如下:(略) 用增量值编程方式编程如下: ‰0001 ;程序名 N10G92X0Y0 ;建立坐标系 N20 G90 G17 M03 绝对值方式,XOY平面,主轴正转 N30G00X15Y1 快速移动到A N40G01X43F180S400:直线插补到B,进给速度180m/min,主轴 400r/min N50G02X20Y20I20F80;顺时针插补B→C,进给速度80mm/min
《数控编程技术》教案 第四章 第10页 共17 I、J、K 为零时可以省略,但不能同时为零,否则刀具原地不动或系统发出错 误信息。 下面举例说明 G02、G03 的编程方法: 如图 4.9 所示图例,设刀具由坐标原点 O 相对工件快速进给到 A 点,从 A 点开 始沿着 A、B、C、D、E、F、A 的线路切削,最终回到原点 O。 为了讨论的方便,在这里我们不考虑刀具半径对编程轨迹的影响,编程时假定 刀具中心与工件轮廓轨迹重合。实际加工时,刀具中心与工件轮廓轨迹间总是相差 一个刀具半径的,这就要用到刀具半径补偿功能。 用绝对值编程方式编程如下:(略) 用增量值编程方式编程如下: %0001 ;程序名 N10 G92 X0 Y0 ;建立坐标系 N20 G90 G17 M03 ;绝对值方式,XOY 平面,主轴正转 N30 GOO X15 Y10 ;快速移动到 A N40 G01 X43 F180 S400 ;直线插补到 B,进给速度 180mm/min,主轴 400r/min N50 G02 X20 Y20 I20 F80 ;顺时针插补 B→C,进给速度 80mm/min O X Y 15 38 78 R20 48 R23 30 10 25 图 4.9 G02、G03 编程图例 A B C D E 58 F