数控技术培训系列教程 世纪星车床数控系统 HNC-21/22T 编程说明书 华中科技大学国家数控系统工程技术研究中心 武汉华中数控股份有限公司 2001 年 11 月 前 言 非常感谢您选用了本公司生产的 HNC-21/22 世纪星 系列数控系统。 本说明书详细介绍了数控编程基本知识、指令体系、 各指令功能的特点、注意事项和宏指令编程方法,并配 以大量典型编程实例和图例加以说明。既可作为世纪星 车床数控系统产品说明书,也可作为数控编程的培训教 材。 在使用本产品前,请先仔细阅读本说明书,以达到 最佳使用效果。 请妥善保存说明书,并交最终使用者认真阅读。 本说明书版权为武汉华中数控股份有限公司所有。 华中科技大学国家数控系统工程技术研究中心 武汉华中数控股份有限公司 2002 年11 月 世纪星车床数控系统 (HNC-21/22T)编程说明书 I 目 录 第一章 概述............................................ 1 1.1 数控编程概述 ............................................................................................1 1.2 数控编程基本知识 .....................................................................................1 1.2.1 机床坐标轴 ............................................................................................................... 1 1.2.2 机床坐标系、机床零点和机床参考点 ................................................................... 3 1.2.3 工件坐标系、程序原点和对刀点 ........................................................................... 4 第二章 零件程序的结构.................................. 5 2.1 指令字的格式 ............................................................................................5 2.2 程序段的格式 ............................................................................................6 2.3 程序的一般结构 ........................................................................................7 2.4 程序的文件名 ............................................................................................7 第三章 HNC-21T 的编程指令体系 .......................... 8 3.1 辅助功能 M 代码 ......................................................................................8 3.1.1 CNC 内定的辅助功能 .............................................................................................. 9 (1) 程序暂停 M00 ......................................................................................................... 9 (2) 程序结束 M02 ......................................................................................................... 9 (3) 程序结束并返回到零件程序头 M30 .................................................................... 9 (4) 子程序调用 M98 及从子程序返回 M99 .............................................................. 9 3.1.2 PLC 设定的辅助功能 ............................................................................................. 11 (1) 主轴控制指令 M03、 M04、 M05....................................................................... 11 (2) 冷却液打开、停止指令 M07、 M09 .................................................................. 11 3.2 主轴功能 S、进给功能 F 和刀具功能 T............................................... 11 3.2.1 主轴功能 S ............................................................................................................. 11 3.2.2 进给速度 F ............................................................................................................. 12 3.2.3 刀具功能 (T 机能 ) .................................................................................................. 12 3.3 准备功能 G 代码 .....................................................................................13 3.3.1 有关单位的设定 ...................................................................................................... 14 (1) 尺寸单位选择 G20, G21.................................................................................... 14 (2) 进给速度单位的设定 G94、 G95........................................................................ 15 3.3.2 有关坐标系和坐标的指令 ..................................................................................... 15 (1) 绝对编程 G90 与增量编程 G91 指令 ................................................................. 15 世纪星车床数控系统 (HNC-21/22T)编程说明书 II (2) 工件坐标系设定 G92........................................................................................... 15 (3) 零点偏置 G54~G59.............................................................................................. 18 (4) 直径方式和半径方式编程 ................................................................................... 20 3.3.3 进给控制指令 ......................................................................................................... 21 (1) 快速定位 G00....................................................................................................... 21 (2) 线性进给及倒角 G01........................................................................................... 22 (3) 圆弧进给 G02/G03............................................................................................... 25 (4) 螺纹切削 G32....................................................................................................... 27 3. 3.4 回参考点控制指令 ................................................................................................ 30 (1) 自动返回参考点 G28........................................................................................... 30 (2) 自动从参考点返回 G29...................................................................................... 31 3.3.5 暂停指令 G04.......................................................................................................... 32 3.3.6 恒线速度功能 G96、 G97....................................................................................... 32 3.3.7 简单循环 ................................................................................................................. 34 (1) 内(外)径切削循环 G80................................................................................... 34 ★ 圆柱面内(外)径切削循环 ............................................................ 34 ★ 园锥面内(外)径切削循环 ............................................................ 35 (2) 端面切削循环 G81............................................................................................... 37 ★ 端平面切削循环 ................................................................................ 37 ★ 园锥端面切削循环 ............................................................................ 38 (3) 螺纹切削循环 G82............................................................................................... 40 ★ 直螺纹切削循环 ................................................................................ 40 ★ 锥螺纹切削循环 ................................................................................ 41 3.3.8 复合循环 .................................................................................................................. 43 (1) 内(外)径粗车复合循环 G71........................................................................... 43 (2) 端面粗车复合循环 G72....................................................................................... 50 (3) 闭环车削复合循环 G73....................................................................................... 54 (4) 螺纹切削复合循环 G76....................................................................................... 57 (5) 复合循环指令注意事项 ....................................................................................... 60 3.3.9 刀具补偿功能指令 ................................................................................................. 60 刀具偏置补偿和刀具磨损补偿 ................................................................................. 60 (3) 刀尖半径补偿 G40, G41, G42......................................................................... 63 世纪星车床数控系统 (HNC-21/22T)编程说明书 III 3.3.9 综合编程实例 ......................................................................................................... 64 第一章 概述............................................ 1 1.1 数控编程概述 ............................................................................................1 1.2 数控编程基本知识 .....................................................................................1 1.2.1 机床坐标轴 ............................................................................................................... 1 1.2.2 机床坐标系、机床零点和机床参考点 ................................................................... 3 1.2.3 工件坐标系、程序原点和对刀点 ........................................................................... 4 第二章 零件程序的结构.................................. 5 2.1 指令字的格式 ............................................................................................5 2.2 程序段的格式 ............................................................................................6 2.3 程序的一般结构 ........................................................................................7 2.4 程序的文件名 ............................................................................................7 第三章 HNC-21/22T 数控系统的编程指令体系 ............... 8 3.1 辅助功能 M 代码 ......................................................................................8 3.1.1 CNC 内定的辅助功能 .............................................................................................. 9 (1) 程序暂停 M00 ......................................................................................................... 9 (2) 程序结束 M02 ......................................................................................................... 9 (3) 程序结束并返回到零件程序头 M30 .................................................................... 9 (4) 子程序调用 M98 及从子程序返回 M99 .............................................................. 9 3.1.2 PLC 设定的辅助功能 ............................................................................................. 11 (1) 主轴控制指令 M03、 M04、 M05....................................................................... 11 (2) 冷却液打开、停止指令 M07、 M09 .................................................................. 11 3.2 主轴功能 S、进给功能 F 和刀具功能 T............................................... 11 3.2.1 主轴功能 S ............................................................................................................. 11 3.2.2 进给速度 F ............................................................................................................. 12 3.2.3 刀具功能 (T 机能 ) .................................................................................................. 12 3.3 准备功能 G 代码 .....................................................................................13 3.3.1 有关单位设定的 G 功能 ......................................................................................... 14 (1) 尺寸单位选择 G20, G21.................................................................................... 14 (2) 进给速度单位的设定 G94、 G95........................................................................ 15 3.3.2 有关坐标系和坐标的 G 功能 ................................................................................ 15 (1) 绝对值编程 G90 与相对值编程 G91.................................................................. 15 世纪星车床数控系统 (HNC-21/22T)编程说明书 IV (2) 坐标系设定 G92................................................................................................... 16 (3) 坐标系选择 G54~G59.......................................................................................... 18 (4) 直接机床坐标系编程 G53................................................................................... 19 (5) 直径方式和半径方式编程 ................................................................................... 20 3.3.3 进给控制指令 ......................................................................................................... 21 (1) 快速定位 G00....................................................................................................... 21 (2) 线性进给及倒角 G01........................................................................................... 22 (3) 圆弧进给 G02/G03............................................................................................... 25 (4) 螺纹切削 G32....................................................................................................... 27 3. 3.4 回参考点控制指令 ................................................................................................ 30 (1) 自动返回参考点 G28........................................................................................... 30 (2) 自动从参考点返回 G29...................................................................................... 31 3.3.5 暂停指令 G04.......................................................................................................... 32 3.3.6 恒线速度指令 G96、 G97...................................................................................... 32 3.3.7 简单循环 ................................................................................................................. 34 (1) 内(外)径切削循环 G80................................................................................... 34 ★ 圆柱面内(外)径切削循环 ............................................................ 34 ★ 园锥面内(外)径切削循环 ............................................................ 35 (2) 端面切削循环 G81............................................................................................... 37 ★ 端平面切削循环 ................................................................................ 37 ★ 园锥端面切削循环 ......................................................................... 38 (3) 螺纹切削循环 G82............................................................................................... 40 ★ 直螺纹切削循环 ................................................................................ 40 ★ 锥螺纹切削循环 ................................................................................ 41 3.3.7 复合循环 .................................................................................................................. 43 (1) 内(外)径粗车复合循环 G71........................................................................... 43 (2) 端面粗车复合循环 G72....................................................................................... 50 (3) 闭环车削复合循环 G73....................................................................................... 54 (4) 螺纹切削复合循环 G76....................................................................................... 57 (5) 复合循环指令注意事项 ....................................................................................... 60 3.3.8 刀具补偿功能指令 ................................................................................................. 60 刀具偏置补偿和刀具磨损补偿 ................................................................................. 60 世纪星车床数控系统 (HNC-21/22T)编程说明书 V 刀尖圆弧半径补偿 G40, G41, G42........................................................................ 63 编程步骤 ..................................................................................................................... 67 综合编程实例.......................................... 68 3.4 宏指令编程 ..............................................................................................70 3.4.1 宏变量及常量 ......................................................................................................... 70 (1) 宏变量 ................................................................................................................... 70 (2) 常量 ....................................................................................................................... 73 3.4.2 运算符与表达式 ..................................................................................................... 73 (1) 算术运算符: ....................................................................................................... 73 (2) 条件运算符 ........................................................................................................... 73 (3) 逻辑运算符 ........................................................................................................... 74 (4) 函数 ....................................................................................................................... 74 (5) 表达式 ................................................................................................................... 74 3.4.3 赋值语句 ................................................................................................................. 74 3.4.4 条件判别语句 IF, ELSE, ENDIF................................................................... 74 3.4.5 循环语句 WHILE, ENDW...................................................................................... 74 附表 1 准备功能一览表 ................................ 76 附表 2 直径编程注意条件 .............................. 78 附录 1 HNC-21T 车削循环宏程序 ......................... 78 (1) 车削循环指令的实现及子程序调用的参数传递 .................................................... 78 (2) 车削循环指令的宏程序实现 .................................................................................... 83 世纪星车床数控系统 (HNC-21/22T)编程说明书 1 第一章 概述 本书针对 HNC-21/22T 世纪星数控车床系统进行编程说明, 其 编程语言为广泛使用的 ISO 码。 本章旨在对本说明书中提到的一些基本概念进行解释。 1.1 数控编程概述 零件程序是由数控装置专用编程语言书写的一系列指令组成 的(应用得最广泛的是 ISO 码:国际标准化组织规定的代码) 。 ] 数控装置将零件程序转化为对机床的控制动作。 最常使用的程序存储介质是磁盘和网络。 1.2 数控编程基本知识 1.2.1 机床坐标轴 为简化编程和保证程序的通用性,对数控机床的坐标轴和方 向命名制订了统一的标准,规定直线进给坐标轴用 X, Y, Z 表示, 常称基本坐标轴。 X, Y, Z 坐标轴的相互关系用右手定则决定,如 图 1.2.1 所示,图中大姆指的指向为 X 轴的正方向,食指指向为 Y 轴的正方向,中指指向为 Z 轴的正方向。 +X +X +Y' +Z +Y +Z +Y +C +Z' +A +B +C +X +Y +Z +A +B +X' 图 1.2.1 机床坐标轴 围绕 X, Y, Z 轴旋转的圆周进给坐标轴分别用 A, B, C 表示, 根据右手螺旋定则,如图所示,以大姆指指向 +X, +Y, +Z 方向, 则食指、中指等的指向是圆周进给运动的 +A, +B, +C 方向。 世纪星车床数控系统 (HNC-21/22T)编程说明书 2 数控机床的进给运动,有的由主轴带动刀具运动来实现,有 的由工作台带着工件运动来实现 。上述坐标轴正方向,是假定工 件不动,刀具相对于工件做进给 运动的方向。如果是工件移动则 用加“′”的字母表示,按相对 运动的关系,工件运动的正方向 恰好与刀具运动的正方向相反,即有: +X =-X′, + Y =-Y′, + Z =-Z′, +A =-A′, + B =-B′, + C =-C′ 同样两者运动的负方向也彼此相反。 机床坐标轴的方向取决于机床的类型和各组成部分的布局, 对车床而言: —— Z 轴与主轴轴线重合, 沿着 Z 轴正方向移动将增大零件和 刀具间的距离; —— X 轴垂直于 Z 轴,对应于转塔刀架的径向移动,沿着 X 轴正方向移动将增大零件和刀具间的距离; —— Y 轴 (通常是虚设的 )与 X 轴和 Z 轴一起构成遵循右手定则 的坐标系统。 图 1.2.2 车床坐标轴及其方向 世纪星车床数控系统 (HNC-21/22T)编程说明书 3 注: 1、本说明书针对数控车床进行说明 ,其为 X、 Z 两轴联动 2、其中实例图形中坐标系情况如下 : 实线刀具代表上位刀架机床,其坐标系为: X 轴向上为正, Z 轴向右为正; 虚线刀具代表下位刀架机床,其坐标系为: X 轴向下为正, Z 轴向右为正。 两种刀架方向的机床,其程序及相应设置相同。 1.2.2 机床坐标系、机床零点和机床参考点 机床坐标系是机床固有的坐标系,机床坐标系的原点称为机 床原点或机床零点。在机床经过 设计、制造和调整后,这个原点 便被确定下来,它是固定的点。 数控装置上电时并不知道机床零点,为了正确地在机床工作 时建立机床坐标系,通常在每个 坐标轴的移动范围内设置一个机 床参考点(测量起点) ,机床起动时,通常要进行机动或手动回参 考点,以建立机床坐标系。 机床参考点可以与机床零点重合,也可以不重合,通过参数 指定机床参考点到机床零点的距离。 机床回到了参考点位置,也就知道了该坐标轴的零点位置, 找到所有坐标轴的参考点, CNC 就建立起了机床坐标系。 机床坐标轴的机械行程是由最大和最小限位开关来限定的。 机床坐标轴的有效行程范围是由 软件限位来界定的,其值由制造 商定义。机床零点( OM) 、机床参考点( Om) 、机床坐标轴的机 械行程及有效行程的关系如图 1.2.3 所示。 世纪星车床数控系统 (HNC-21/22T)编程说明书 4 图 1.2.3 机床零点 OM 和机床参考点 Om 1.2.3 工件坐标系、程序原点和对刀点 工件坐标系是编程人员在编程时使用的,编程人员选择工件 上的某一已知点为原点(也称程序原点) ,建立一个新的坐标系, 称为工件坐标系。工件坐标系一 旦建立便一直有效,直到被新的 工件坐标系所取代。 工件坐标系的原点选择要尽量满足编程简单,尺寸换算少, 引起的加工误差小等条件。一般 情况下,程序原点应选在尺寸标 注的基准或定位基准上。对车床 编程而言,工件坐标系原点一般 选在,工件轴线与工件的前端面、后端面、卡爪前端面的交点上。 对刀点是零件程序加工的起始点,对刀的目的是确定程序原 点在机床坐标系中的位置,对刀 点可与程序原点重合,也可在任 何便于对刀之处,但该点与程序原点之间必须有确定的坐标联系。 可以通过 CNC 将相对于程序原点的任意点的坐标转换为相对 于机床零点的坐标。 加工开始时要设置工件坐标系,用 G92 指令可建立工件坐标 系;用 G54~G59 及刀具指令可选择工件坐标系。 世纪星车床数控系统 (HNC-21/22T)编程说明书 5 第二章 零件程序的结构 一个零件程序是一组被传送到数控装置中去的指令和数据。 一个零件程序是由遵循一定结构、句法和格式规则的若干个 程序段组成的,而每个程序段是由若干个指令字组成的。如图 2.1 所示。 2.1 指令字的格式 一个指令字是由地址符 (指令字符 )和带符号(如定义尺寸的 字)或不带符号(如准备功能字 G 代码)的数字数据组成的。 程序段中不同的指令字符及其后续数值确定了每个指令字的 含义。在数控程序段中包含的主要指令字符如表 2.1 所示。 %1000 N01 G00 U50 W60 N10 G01U100 W500 F150 S300 M03 N...... N200 M30 程序 程序段 指令字 图2.1 程序的结构 世纪星车床数控系统 (HNC-21/22T)编程说明书 6 表 2.1 指令字符一览表 机 能 地 址 意 义 零件程序号 % 程序编号: %1~4294967295 程序段号 N 程序段编号: N0~4294967295 准备机能 G 指令动作方式 (直线、圆弧等 ) G00-99 尺寸字 X, Y, Z A, B, C U, V, W 坐标轴的移动命令± 99999.999 R 圆弧的半径,固定循环的参数 I, J, K 圆心相对于起点的坐标,固定循环的参数 进给速度 F 进给速度的指定 F0~24000 主轴机能 S 主轴旋转速度的指定 S0~9999 刀具机能 T 刀具编号的指定 T0~99 辅助机能 M 机床侧开 /关控制的指定 M0~99 补偿号 D 刀具半径补偿号的指定 00~99 暂停 P, X 暂停时间的指定 秒 程序号的指定 P 子程序号的指定 P1~4294967295 重复次数 L 子程序的重复次数,固定循环的重复次数 参数 P, Q, R, U, W, I, K,C,A 车削复合循环参数 倒角控制 C,R 2.2 程序段的格式 一个程序段定义一个将由数控装置执行的指令行。 程序段的格式定义了每个程序段中功能字的句法,如图 2.2.1 所示。 世纪星车床数控系统 (HNC-21/22T)编程说明书 7 N.. G.. X.. F.. M.. S.. 程序段 辅助功能字 主轴功能字 工艺功能字 尺寸字 准备功能 程序段号 图 2.2.1 程序段格式 2.3 程序的一般结构 一个零件程序必须包括起始符和结束符。 一个零件程序是按程序段的输入顺序执行的,而不是按程序 段号的顺序执行的,但书写程序时,建议按升序书写程序段号。 华中世纪星数控装置 HNC-21T 的程序结构: 程序起始符: %(或 O)符, %(或 O)后跟程序号; 程序结束: M02 或 M30; 注释符:括号 ( )内或分号;后的内容为注释文字; 2.4 程序的文件名 CNC 装置可以装入许多程序文件,以磁盘文件的方式读写。 文件名格式为 (有别于 DOS 的其他文件名 ): O××××(地址 O 后面必须有四位数字或字母 ) 本系统通过调用文件名来调用程序,进行加工或编辑。 世纪星车床数控系统 (HNC-21/22T)编程说明书 8 第三章 HNC-21/22T 数控系统的编程指令体系 3.1 辅助功能 M 代码 辅助功能由地址字 M 和其后的一或两位数字组成,主要用于 控制零件程序的走向,以及机床各种辅助功能的开关动作。 M 功能有 非模态 M 功能和模态 M 功能 二种形式。 z 非模态 M 功能 (当段有效代码 ) : 只在书写了该代码的程 序段中有效; z 模态 M 功能 (续效代码 ):一组可相互注销的 M 功能,这 些功能在被同一组的另一个功能注销前一直有效。 模态 M 功能组中包含一个缺省功能(见表 3.1) ,系统上电时 将被初始化为该功能。 另外, M 功能还可分为 前作用 M 功能和后作用 M 功能 二类。 z 前作用 M 功能:在程序段编制的轴运动之前执行; z 后作用 M 功能:在程序段编制的轴运动之后执行。 华中世纪星 HNC-21T数控装置 M指令功能如表 3.1所示 ( 标 记者为缺省值) : 表 3.1 M 代码及功能 代 码 模态 功 能 说 明 代 码 模态 功 能 说 明 M00 非模态 程序停止 M03 模态 主轴正转起动 M02 非模态 程序结束 M04 模态 主轴反转起动 M05 模态 主轴停止转动 M30 非模态 程序结束并返 回程序起点 M06 非模态 换刀 M98 非模态 调用子程序 M07 模态 切削液打开 M99 非模态 子程序结束 M09 模态 切削液停止 其中: z M00、 M02、 M30、 M98、 M99 用于控制零件程序的走向, 是 CNC 内定的辅助功能,不由机床制造商设计决定,也 就是说,与 PLC 程序无关; z 其余 M 代码用于机床各种辅助功能的开关动作,其功能 不由 CNC 内定,而是由 PLC 程序指定,所以有可能因机 世纪星车床数控系统 (HNC-21/22T)编程说明书 9 床制造厂不同而有差异 (表内为标准 PLC 指定的功能 ), 请 使用者参考机床说明书。 3.1.1 CNC 内定的辅助功能 (1) 程序暂停 M00 当 CNC 执行到 M00 指令时,将暂停执行当前程序,以方便操 作者进行刀具和工件的尺寸测量、工件调头、手动变速等操作。 暂停时,机床的进给停止,而全部现存的模态信息保持不变, 欲继续执行后续程序,重按操作面板上的“ 循环启动 ”键。 M00 为非模态后作用 M 功能。 (2) 程序结束 M02 M02 一般放在主程序的最后一个程序段中。 当 CNC 执行到 M02 指令时,机床的主轴、进给、冷却液全部 停止,加工结束。 使用 M02 的程序结束后,若要重新执行该程序,就得重新调 用该程序, 或在自动加工子菜单下按子菜单 F4键 (请参考 HNC-21T 操作说明书) ,然后再按操作面板上的“ 循环启动 ”键。 M02 为非模态后作用 M 功能。 。 (3) 程序结束并返回到零件程序头 M30 M30 和 M02 功能基本相同, 只是 M30 指令还兼有控制返回到 零件程序头 (%)的作用。 使用 M30 的程序结束后,若要重新执行该程序,只需再次按 操作面板上的“ 循环启动 ”键。 (4) 子程序调用 M98 及从子程序返回 M99 M98 用来调用子程序。 M99 表示子程序结束,执行 M99 使控制返回到主程序。 (i) 子程序的格式 %**** …… M99 在子程序开头,必须规定子程序号,以作为调用入口地址。 在子程序的结尾用 M99,以控制执行完该子程序后返回主程序。 世纪星车床数控系统 (HNC-21/22T)编程说明书 10 (ii) 调用子程序的格式 M98 P_ L_ P:被调用的子程序号 L:重复调用次数 注: 可以带参数调用子程序,请参考附录 1。 G65 指令的功能和参数与 M98 相同。 例 1: 如图 3.1.1(该例为半径编程) %3110 ( 主程序程序名 ) N1 G92 X16 Z1 ( 设立坐标系,定义对刀点的位置 ) N2 G37 G00 Z0 M03( 移到子程序起点处、主轴正转 ) N3 M98 P0003 L6 ( 调用子程序,并循环 6 次 ) N4 G00 X16 Z1 ( 返回对刀点 ) N5 G36 ( 取消半径编程 ) N6 M05 ( 主轴停 ) N7 M30 ( 主程序结束并复位 ) %0003 ( 子程序名 ) N1 G01 U-12 F100 ( 进刀到切削起点处,注意留下后面切削的余量 ) N2 G03 U7.385 W-4.923 R8( 加工 R8 园弧段 ) N3 U3.215 W-39.877 R60 ( 加工 R60 园弧段 ) 73.436 44.8 4.923 R8 R60 R40 24 Φ 21. 2 Φ 14.77 Φ 图 3.1.1 世纪星车床数控系统 (HNC-21/22T)编程说明书 11 N4 G02 U1.4 W-28.636 R40(加工 切 R40 园弧段 ) N5 G00 U4 ( 离开已加工表面 ) N6 W73.436 ( 回到循环起点 Z 轴处 ) N7 G01 U-4.8 F100 ( 调整每次循环的切削量 ) N8 M99 ( 子程序结束,并回到主程序 ) 3.1.2 PLC 设定的辅助功能 (1) 主轴控制指令 M03、 M04、 M05 M03 启动主轴以程序中编制的主轴速度顺时针方向(从 Z 轴 正向朝 Z 轴负向看)旋转。 M04 启动主轴以程序中编制的主轴速度逆时针方向旋转。 M05 使主轴停止旋转。 M03、 M04 为模态前作用 M 功能; M05 为模态后作用 M 功能, M05 为缺省功能。 M03、 M04、 M05 可相互注销。 (2) 冷却液打开、停止指令 M07、 M09 M07 指令将打开冷却液管道。 M09 指令将关闭冷却液管道。 M07 为模态前作用 M 功能; M09 为模态后作用 M 功能, M09 为缺省功能。 3.2 主轴功能 S、进给功能 F 和刀具功能 T 3.2.1 主轴功能 S 主轴功能 S 控制主轴转速,其后的数值表示主轴速度,单位为 转 /每分钟 (r/min)。 恒线速度功能时 S 指定切削线速度,其后的数值单位为米 /每 分钟 (m/min)。 ( G96 恒线速度有效、 G97 取消恒线速度) S 是模态指令, S 功能只有在主轴速度可调节时有效。 S所编程的主轴转速可以借助机床控制面板上的主轴倍率开关 进行修调。 世纪星车床数控系统 (HNC-21/22T)编程说明书 12 3.2.2 进给速度 F F 指令表示工件被加工时刀具相对于工件的合成进给速度, F 的单位取决于 G94(每分钟进给量 mm/min)或 G95(主轴每转一转刀 具的进给量 mm/r)。 使用下式可以实现每转进给量与每分钟进给量的转化。 fm=fr× S fm:每分钟的进给量: (mm/min ) fr:每转进给量: (mm/r ) S:主轴转数, (r/min) 当工作在 G01, G02 或 G03 方式下,编程的 F 一直有效,直到 被新的 F 值所取代,而工作在 G00 方式下,快速定位的速度是各 轴的最高速度,与所编 F 无关。 借助机床控制面板上的倍率按键, F 可在一定范围内进行倍率 修调。当执行攻丝循环 G76、 G82,螺纹切削 G32 时,倍率开关失 效,进给倍率固定在 100%。 [注 ] 1、当使用每转进给量方式时,必须在主轴上安装一个位 置编码器。 2、直径编程时, X 轴方向的进给速度为:半径的变化量 / 分、半径的变化量 /转 3.2.3 刀具功能 (T 机能 ) T 代码用于选刀, 其后的 4 位数字分别表示选择的刀具号和刀 具补偿号。 T 代码与刀具的关系是由机床制造厂规定的,请参考机 床厂家的说明书。 执行 T 指令,转动转塔刀架,选用指定的刀具。 当一个程序段同时包含 T 代码与刀具移动指令时:先执行 T 代码指令,而后执行刀具移动指令。 T 指令同时调入刀补寄存器中的补偿值。 刀具补偿功能将在 3.3.5 节详述。 世纪星车床数控系统 (HNC-21/22T)编程说明书 13 3.3 准备功能 G 代码 准备功能 G 指令由 G 后一或二位数值组成,它用来规定刀具 和工件的相对运动轨迹、机床坐 标系、坐标平面、刀具补偿、坐 标偏置等多种加工操作。 G 功能根据功能的不同分成若干组,其中 00 组的 G 功能称 非 模态 G 功能, 其余组的 称模态 G 功能 。 z 非模态 G 功能:只在所规定的程序段中有效,程序段结束 时被注销; z 模态 G 功能:一组可相互注销的 G 功能,这些功能一旦被 执行,则一直有效,直到被同一组的 G 功能注销为止。 模态 G 功能组中包含一个缺省 G 功能,上电时将被初始化为 该功能。 没有共同地址符 的不同组 G 代码可以放在同一程序段中,而 且与顺序无关。例如, G90、 G17 可与 G01 放在同一程序段。 华中世纪星 HNC-21T 数控装置 G 功能指令见表 3.2。 表 3.2 准备功能一览表 G 代码 组 功能 参数(后续地址字) G00 快速定位 X, Z G01 01 直线插补 同上 G02 顺圆插补 X, Z, I, K, R G03 逆圆插补 同上 G04 00 暂停 P G20 英寸输入 G21 08 毫米输入 G28 00 返回到参考点 X, Z G29 由参考点返回 同上 G32 01 螺纹切削 X, Z, R, E, P, F G36 G37 16 直径编程 半径编程 G40 刀尖半径补偿取消 G41 09 左刀补 D 世纪星车床数控系统 (HNC-21/22T)编程说明书 14 G42 右刀补 D G53 00 直接机床坐标系编程 G54 坐标系选择 G55 坐标系选择 G56 11 坐标系选择 G57 坐标系选择 G58 坐标系选择 G59 坐标系选择 G71 外径 /内径车削复合循环 G72 06 端面车削复合循环 X, Z, U, W, C, P, Q, R, E G73 闭环车削复合循环 G76 螺纹切削复合循环 G80 内 /外径车削固定循环 X, Z, I, K C, P, R, E G81 01 端面车削固定循环 G82 螺纹切削固定循环 G90 13 绝对值编程 G91 增量值编程 G92 00 工件坐标系设定 X, Z G94 14 每分钟进给 G95 每转进给 G96 恒线速度有效 S G97 取消恒线速度 注意 : [1] 00 组中的 G 代码是非模态的,其他组的 G 代码是模态的; [2] 标记者为缺省值。 3.3.1 有关单位设定的 G 功能 (1) 尺寸单位选择 G20, G21 格式: G20 G21 世纪星车床数控系统 (HNC-21/22T)编程说明书 15 说明: G20:英制输入制式; G21:公制输入制式; 两种制式下线性轴、旋转轴的尺寸单位如表 3.3 所示。 表 3.3 尺寸输入制式及其单位 线性轴 旋转轴 英制 (G20) 英寸 度 公制 (G21) 毫米 度 G20、 G21 为模态功能,可相互注销, G21 为缺省值。 (2) 进给速度单位的设定 G94、 G95 格式: G94 [ F_ ]; G95 [ F_ ]; 说明: G94:每分钟进给; G95:每转进给。 G94 为每分钟进给。对于线性轴, F 的单位依 G20/G21 的设 定而为 mm/min 或 in/min;对于旋转轴, F 的单位为度 /min。 G95 为每转进给,即主轴转一周时刀具的进给量。 F 的单位依 G20/G21 的设定而为 mm/r 或 in/r。这个功能只在主轴装有编码器 时才能使用。 G94、 G95 为模态功能,可相互注销, G94 为缺省值。 3.3.2 有关坐标系和坐标的 G 功能 (1) 绝对值编程 G90 与相对值编程 G91 格式: G90 G91 说明: G90:绝对值编程,每个编程坐标轴上的编程值是相对于 程序原点的。 G91:相对值编程,每个编程坐标轴上的编程值是相对于 前一位置而言的,该值等于沿轴移动的距离。 世纪星车床数控系统 (HNC-21/22T)编程说明书 16 绝对编程时,用 G90 指令后面的 X、 Z 表示 X 轴、 Z 轴的坐 标值; 增量编程时, 用 U、 W 或 G91 指令后面的 X、 Z 表示 X 轴、 Z 轴的增量值; 其中表示增量的字符 U、 W 不能用于循环指令 G80、 G81、 G82、 G71、 G72、 G73、 G76 程序段中,但可用于定义精加工轮廓 的程序中 G90、 G91 为模态功能,可相互注销, G90 为缺省值。 例1. 如图 3.3.1 所示,使用 G90、 G91 编程:要求刀具由原 点按顺序移动到1、2、3点,然后回到原点。 %0001 N 1 G92 X0 Z0 N 2 G01 X15 Z20 N 3 X45 Z40 N 4 X25 Z60 N 5 X15 Z20 N 6 M30 G90 编程 %0001 N 1 G91 N2 G01 X15 Z20 N 2 X30 Z20 N 3 X-20 Z20 N 4 X-25 Z-60 N 5 M30 G91 编程 混合编程 %0001 N 1 G92 X0 Z0 N 2 G01 X15 Z20 N 3 U30 Z40 N 4 X25 W20 N 5 X15 Z20 N 6 M30 1 2 3 Z X O 20 40 60 15 25 45 图 3.3.0 G90/G91 编程 选择合适的编程方式可使编程简化。当图纸尺寸由一个固定 基准给定时,采用绝对方式编程 较为方便;而当图纸尺寸是以轮 廓顶点之间的间距给出时,采用相对方式编程较为方便。 G90、 G91 可用于同一程序段中,但要注意其顺序所造成的差 异。 (2) 坐标系设定 G92 格式: G92 X_ Z_ 说明: X、 Z:对刀点到工件坐标系原点的有向距离。 当执行 G92 Xα Zβ 指令后,系统内部即对 (α , β )进行记 忆,并建立一个使刀具当前点坐标值为 (α , β )的坐标系,系统控 制刀具在此坐标系中按程序进行 加工。执行该指令只建立一个坐 标系,刀具并不产生运动。 G92 指令为非模态指令, 世纪星车床数控系统 (HNC-21/22T)编程说明书 17 执行该指令时,若刀具当前点恰好在工件坐标系的 α 和 β 坐标 值上,既刀具当前点在对刀点位 置上,此时建立的坐标系即为工 件坐标系,加工原点与程序原点 重合。若刀具当前点不在工件坐 标系的 α 和 β 坐标值上,则加工原点与程序原点不一致,加工出的 产品就有误差或报废,甚至出现 危险。因此执行该指令时,刀具 当前点必须恰好在对刀点上即工件坐标系的 α 和 β 坐标值上, 由上可知要正确加工,加工原点与程序原点必须一致,故编程 时加工原点与程序原点考虑为同 一点。实际操作时怎样使两点一 致,由操作时对刀完成。 图 3.3.1 G92 设立坐标系 例如,图 3.3.1 所示坐标系的设定,当以工件左端面为工件原点 时,应按下行建立工件坐标系。 G92 X180 Z254; 当以工件右端面为工件原点时,应按下行建立工件坐标系。 G92 X 180 Z44; 显然,当 α 、 β 不同,或改变刀具位置时,既刀具当前点不在 对刀点位置上,则加工原点与程 序原点不一致。因此在执行程序 段 G92 Xα Zβ 前,必须先对刀。 +X 44 254 Φ 180 +Z 左端面 原点 右端面 原点 世纪星车床数控系统 (HNC-21/22T)编程说明书 18 X、 Z 值的确定,即确定对刀点在工件坐标系下的坐标值。其 选择的一般原则为: 1、方便数学计算和简化编程; 2、容易找正对刀; 3、便于加工检查; 4、引起的加工误差小; 5、不要与机床、工件发生碰撞; 6、方便拆卸工件; 7、空行程不要太长; (3) 坐标系选择 G54~G59 格式: G G G G G G 54 55 56 57 58 59 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 说明: G54~G59 是系统预定的 6 个坐标系 (如图 3.3.2),可根据 需要任意选用。 加工时其坐标系的原点,必须设为工件坐标系的原点在 机床坐标系中的坐标值,否则加工出的产品就 有误差或报废,甚至出现危险。 这 6 个预定工件坐标系的原点在机床坐标系中的值 (工件 零点偏置值 )可用 MDI 方式输入,系统自动记 忆。 工件坐标系一旦选定,后续程序段中绝对值编程时的指令值 均为相对此工件坐标系原点的值。 G54~G59 为模态功能,可相互注销, G54 为缺省值。 世纪星车床数控系统 (HNC-21/22T)编程说明书 19 工件零点偏置 机床原点 X Y Z X Y Z 图 3.3.2 工件坐标系选择 (G54~G59) G54 原点 G59 原点 G59 工件坐标系 G54 工件坐标系 。。。 例3 . 如图 3.3.3 所示,使用工件坐标系编程:要求刀具从当 前点移动到 A 点,再从 A 点移动到 B 点。 G54 O A X Z Z G59 O 30 40 30 30 B X 机床原点 图 3.3.3 使用工件坐标系编程 i0i0i0i0i0i0i0 i0i0i0 i0i0i0 i0i0i0 i0i0i0 i0i0i0 i0i0i0 %3303 N01 G54 G00 G90 X40 Z30 N02 G59 N03 G00 X30 Z30 N04 M30 当前点→ A→ B 注意: 1、使用该组指令前,先用 MDI 方式输入各坐标系的坐标原点 在机床坐标系中的坐标值。 2、使用该组指令前,必须先回参考点 (4) 直接机床坐标系编程 G53 G53 是机床坐标系编程,在含有 G53 的程序段中,绝对值编程 时的指令值是在机床坐标系中的坐标值。其为非模态指令。 世纪星车床数控系统 (HNC-21/22T)编程说明书 20 (5) 直径方式和半径方式编程 格式: G36 G37 说明: G36 直径编程 G37 半径编程 数控车床的工件外形通常是旋转体,其 X 轴尺寸可以用两种 方式加以指定:直径方式和半径方式。 G36 为缺省值,机床出厂一 般设为直径编程。 本说明书例题,未经说明均为直径编程。 例 4:按同样的轨迹分别用直径、半径编程,加工图 3.3.4 工 件, 图 3.3.4 直径 /半径编程 Φ 180 160 +X 44 254 Φ 20 50 Φ 世纪星车床数控系统 (HNC-21/22T)编程说明书 21 注意: 1、在直径编程下,应注意的条件请见本书后面的附表 2 2、使用直径、半径编程时,系统参数设置要求与之对应 3.3.3 进给控制指令 (1) 快速定位 G00 格式: G00 X( U) _ Z( W) _ 说明: X、 Z: 为绝对编程时,快速定位终点在工件坐标系中的 坐标; U、 W: 为增量编程时,快速定位终点相对于起点的位移 量; G00 指令刀具相对于工件以各轴预先设定的速度, 从当前位置 快速移动到程序段指令的定位目标点。 G00 指令中的快移速度由机床参数“快移进给速度”对各轴分 别设定,不能用 F 规定。 G00 一般用于加工前快速定位或加工后快速退刀。 快移速度可由面板上的快速修调按钮修正。 G00 为模态功能,可由 G01、 G02、 G03 或 G32 功能注销。 注意: 在执行 G00 指令时,由于各轴以各自速度移动,不能保证各 轴同时到达终点,因而联动直线 轴的合成轨迹不一定是直线。操 作者必须格外小心,以免刀具与 工件发生碰撞。常见的做法是, 将 X 轴移动到安全位置,再放心地执行 G00 指令。 一、直径编程 %3341 N1 G92 X180 Z254 N2 G36 G01 X20 W-44 N3 U30 Z204 N4 G00 X180 Z254 N5 M30 二、半径编程 %3342 N1 G92 X90 Z254 N2 G37 G01 X10 W-44 N3 U15 Z204 N4 G00 X90 Z254 N5 M30 世纪星车床数控系统 (HNC-21/22T)编程说明书 22 (2) 线性进给及倒角 G01 ★ 线性进给 格式: G01 X( U) _ Z( W) _ F_ ; 说明: X、 Z: 为绝对编程时终点在工件坐标系中的坐标; U、 W: 为增量编程时终点相对于起点的位移量; F_:合成进给速度。 G01 指令刀具以联动的方式,按 F 规定的合成进给速度,从 当前位置按线性路线 (联动直线轴的合成轨迹为直线 )移动到程序 段指令的终点。 G01 是模态代码,可由 G00、 G02、 G03 或 G32 功能注销。 例5 .如 图 3.3.5 所示,用直线插补指令编程。 %3305 N1 G92 X100 Z10 ( 设立坐标系,定义对刀点的位置 ) N2 G00 X16 Z2 M03 ( 移到倒角延长线, Z 轴 2mm 处) N3 G01 U10 W-5 F300 ( 倒 3×45°角 ) N4 Z-48 ( 加工Φ 26 外圆 ) N5 U34 W-10 ( 切第一段锥 ) N6 U20 Z-73 ( 切第二段锥 ) N7 X90 ( 退刀 ) N8 G00 X100 Z10 ( 回对刀点 ) N9 M05 ( 主轴停 ) N10 M30 ( 主程序结束并复位 ) 图 3.3.5 G01 编程实例 3×45° Φ 60 Φ 26 58 48 73 Φ 80 Φ 100 10 世纪星车床数控系统 (HNC-21/22T)编程说明书 23 ★倒直角 格式: G01 X( U) ____ Z( W) ____C____; 说明:直线倒角 G01,指令刀具从 A 点到 B 点,然后到 C 点 (见图3.3.6) 。 X、 Z: 为绝对编程时,未倒角前两相邻轨迹程序段的交点 G 的坐标值; U、 W:为增量编程时, G 点相对于起始直线轨迹的始点 A 点的移动距离。 C: 是相邻两直线的交点 G, 相对于倒角始点 B 的距离。 图 3.3.6 倒角参数说明 ★倒圆角 格式: G01 X( U) ____ Z( W) ____R____; 说明:直线倒角 G01,指令刀具从 A 点到 B 点,然后到 C 点 (见图3.3.6) 。 X、 Z: 为绝对编程时,未倒角前两相邻轨迹程序段的交点 G 的坐标值; U、 W:为增量编程时, G 点相对于起始直线轨迹的始点 A 点的移动距离。 R: 是倒角圆弧的半径值。 w C z u/2 x/2 G A B D c +X +Z z u/2 x/2 w G A B C D R +X +Z 世纪星车床数控系统 (HNC-21/22T)编程说明书 24 例6 .如 图 3.3.7 所示,用倒角指令编程。 图 3.3.7 倒角编程实例 %3307 N1 G00 U-70 W-10 (从编程规划起点,移到工件前端面中心处) N2 G01 U26 C3 F100 (倒 3×45°直角) N3 W-22 R3 (倒 R3 圆角) N4 U39 W-14 C3 (倒边长为 3 等腰直角) N5 W-34 (加工Φ 65 外圆) N6 G00 U5 W80 (回到编程规划起点) N7 M30 (主轴停、主程序结束并复位) 注意: (1) 在螺纹切削程序段中不得出现倒角控制指令; (2) 见图 3.3.6, X, Z轴指定的移动量比指定的 R或 C小时,系 统将报警,即 GA长度必须大于 GB长度。 R3 Φ 26 36 22 3 70 Φ 65 Φ 70 10 世纪星车床数控系统 (HNC-21/22T)编程说明书 25 (3) 圆弧进给 G02/G03 格式: F_ R_ I_K_ __ZX G03 G02 ? ? ? ? ? ? ? ? ? ? ? ? )()( WU 说明: G02/G03 指令刀具,按顺时针 /逆时针进行圆弧加工。 圆弧插补 G02/G03 的判断,是在加工平面内,根据其插补时的旋 转方向为顺时针 /逆时针来区分的。加工平面为观察者迎着 Y 轴的 指向,所面对的平面。见图3.3.8 图 3.3.8 G02/G03 插补方向 图 3.3.9 G02/G03 参数说明 w +X kz 圆心 O +Z i z w u/2 x/2 A B +X R + Z k 圆心 O i u/2 x/2 A B R +X +Y G02 G02 G02 G02 G03 G03 G03 G03 + Z G02 G03 G02 +Y +X G02 G02 G03 G03 G03 + Z 世纪星车床数控系统 (HNC-21/22T)编程说明书 26 G02: 顺时针圆弧插补 (如图 3.3.8 所示 ); G03: 逆时针圆弧插补 (如图 3.3.8 所示 ); X、 Z: 为绝对编程时,圆弧终点在工件坐标系中的坐标; U、 W: 为增量编程时,圆弧终点相对于圆弧起点的位移 量; I、 K: 圆心相对于圆弧起点的增加量 (等于圆心的坐标减去 圆弧起点的坐标,如图 3.3.9 所示 ) ,在绝对、增量编程时都是以 增量方式指定,在直径、半径编程时 I 都是半径值 R: 圆弧半径, F: 被编程的两个轴的合成进给速度; 注意: (1) 顺时针或逆时针是从垂直于圆弧所在平面的坐标轴的正 方向看到的回转方向; (2) 同时编入 R 与 I、 K 时, R 有效。 例7 .如 图 3.3.10 所示,用圆弧插补指令编程。 图 3.3.10 G02/G03 编程实例 27 R15 40 31 R5 Φ 2 6 Φ 22 世纪星车床数控系统 (HNC-21/22T)编程说明书 27 %3310 N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置) N2 M03 S400 (主轴以 400r/min 旋转) N3 G00 X0 (到达工件中心) N4 G01 Z0 F60 (工进接触工件毛坯) N5 G03 U24 W-24 R15 (加工 R15 圆弧段) N6 G02 X26 Z-31 R5 (加工 R5 圆弧段) N7 G01 Z-40 (加工Φ 26 外圆) N8 X40 Z5 (回对刀点) N9 M30 (主轴停、主程序结束并复位) (4) 螺纹切削 G32 格式: G32 X( U) __Z( W) __R__E__P__F__ 说明: X、 Z: 为绝对编程时,有效螺纹终点在工件坐标系中 的坐标; U、 W: 为增量编程时,有效螺纹终点相对于螺纹切削 起点的位移量; F: 螺纹导程,即主轴每转一圈,刀具相对于工件 的进给值; R、 E: 螺纹切削的退尾量, R 表示 Z 向退尾量; E 为 X 向退尾量, R、 E 在绝对或增量编程时都是以增量 方式指定,其为正表示沿 Z、 X 正向回退,为负表示 沿 Z、 X 负向回退。使用 R、 E 可免去退刀槽。 R、 E 可以省略,表示不用回退功能;根据螺纹标准 R 一般 取 0.75~1.75 倍的螺距, E 取螺纹的牙型高。 P:主轴基准脉冲处距离螺纹切削起始点的主轴转角。 使用 G32指令能加工圆柱螺纹、锥螺纹和端面螺纹。图 3.3.12 所示为锥螺纹切削时各参数的意义。 世纪星车床数控系统 (HNC-21/22T)编程说明书 28 α +X +Z z w u/2 L A r B x/2 e δ i0i0i0i0i0 图 3.3.11 螺纹切削参数 螺纹车削加工为成型车削, 且切削进给量较大, 刀具强度较差, 一般要求分数次进给加工。 表 3.3.1 为常用螺纹切削的进给次数与吃刀量 米制螺纹 螺距 1.0 1.5 2 2.5 3 3.5 4 牙深 (半径量 ) 0.649 0.974 1.299 1.624 1.949 2.273 2.598 1 次 0.7 0.8 0.9 1.0 1.2 1.5 1.5 2 次 0.4 0.6 0.6 0.7 0.7 0.7 0.8 3 次 0.2 0.4 0.6 0.6 0.6 0.6 0.6 4 次 0.16 0.4 0.4 0.4 0.6 0.6 5 次 0.1 0.4 0.4 0.4 0.4 6 次 0.15 0.4 0.4 0.4 7 次 0.2 0.2 0.4 8 次 0.15 0.3 ( 直 径 量 ) 切 削 次 数 及 吃 刀 量 9 次 0.2 英制螺纹 牙 /in 24 18 16 14 12 10 8 牙深 (半径量 ) 0.678 0.904 1.016 1.162 1.355 1.626 2.033 1 次 0.8 0.8 0.8 0.8 0.9 1.0 1.2 2 次 0.4 0.6 0.6 0.6 0.6 0.7 0.7 ( 直 径 量 ) 切 削 次 3 次 0.16 0.3 0.5 0.5 0.6 0.6 0.6 世纪星车床数控系统 (HNC-21/22T)编程说明书 29 4 次 0.11 0.14 0.3 0.4 0.4 0.5 5 次 0.13 0.21 0.4 0.5 6 次 0.16 0.4 7 次 0.17 注 : 1. 从螺纹粗加工到精加工,主轴的转速必须保持一常数; 2. 在没有停止主轴的情况下,停止螺纹的切削将非常危险; 因此螺纹切削时进给保持功能无效,如果按下进给保持 按键,刀具在加工完螺纹后停止运动; 3. 在螺纹加工中不使用恒定线速度控制功能; 4. 在螺纹加工轨迹中应设置足够的升速进刀段 δ 和降速退刀 段 δ ′,以消除伺服滞后造成的螺距误差; 例8 对图 3.3.12所示的圆柱螺纹编程。螺纹导程为 1.5mm, δ =1.5mm, δ ′ =1mm ,每次吃刀量 (直径值 )分别为 0.8mm、 0.6 mm 、 0.4mm、 0.16mm、 图 3.3.12 螺纹编程实例 80 100 M30 × 1.5 世纪星车床数控系统 (HNC-21/22T)编程说明书 30 %3312 N1 G92 X50 Z120 (设立坐标系,定义对刀点的位置) N2 M03 S300 (主轴以 300r/min旋转) N3 G00 X29.2 Z101.5(到螺纹起点,升速段 1.5mm,吃刀深 0.8mm) N4 G32 Z19 F1.5 (切削螺纹到螺纹切削终点,降速段 1mm) N5 G00 X40 ( X轴方向快退) N6 Z101.5 ( Z轴方向快退到螺纹起点处) N7 X28.6 ( X轴方向快进到螺纹起点处,吃刀深 0.6mm) N8 G32 Z19 F1.5 (切削螺纹到螺纹切削终点) N9 G00 X40 ( X轴方向快退) N10 Z101.5 ( Z轴方向快退到螺纹起点处) N11 X28.2 ( X轴方向快进到螺纹起点处,吃刀深 0.4mm) N12 G32 Z19 F1.5 (切削螺纹到螺纹切削终点) N13 G00 X40 ( X轴方向快退) N14 Z101.5 ( Z轴方向快退到螺纹起点处) N15 U-11.96 ( X轴方向快进到螺纹起点处, 吃刀深 0.16mm) N16 G32 W-82.5 F1.5 (切削螺纹到螺纹切削终点) N17 G00 X40 ( X轴方向快退) N18 X50 Z120 (回对刀点) N19 M05 (主轴停) N20 M30 (主程序结束并复位) 3. 3.4 回参考点控制指令 (1) 自动返回参考点 G28 格式: G28 X_Z_ 说明: X、 Z: 绝对编程时为中间点在工件坐标系中的坐标; U、 W: 增量编程时为中间点相对于起点的位移量。 G28 指令首先使所有的编程轴都快速定位到中间点, 然后再从 中间点返回到参考点。 一般, G28 指令用于刀具自动更换或者消除机械误差,在执行 该指令之前应取消刀尖半径补偿。 世纪星车床数控系统 (HNC-21/22T)编程说明书 31 在 G28 的程序段中不仅产生坐标轴移动指令,而且记忆了中 间点坐标值,以供 G29 使用。 电源接通后,在没有手动返回参考点的状态下,指定 G28 时, 从中间点自动返回参考点,与手动返回参考点相同。这时从中间 点到参考点的方向就是机床参数“回参考点方向”设定的方向。 G28 指令仅在其被规定的程序段中有效。 (2) 自动从参考点返回 G29 格式: G29 X_Z_ 说明: X、 Z: 绝对编程时为定位终点在工件坐标系中的坐标; U、 W: 增量编程时为定位终点相对于 G28 中间点的位移 量。 G29 可使所有编程轴以快速进给经过由 G28 指令定义的中间 点,然后再到达指定点。通常该指令紧跟在 G28 指令之后。 G29 指令仅在其被规定的程序段中有效。 例9 :用 G28、 G29 对图 3.3.13 所示的路径编程:要求由 A 经 过中间点 B 并返回参考点,然后从参考点经由中间点 B 返回到 C。 图 3.3.13 G28/G29编程实例 40 Φ 中间点B 目标点C 参考点R 当前点A 250 100 50 Φ 200 80 Φ +X +Z 世纪星车床数控系统 (HNC-21/22T)编程说明书 32 %3313 N1 G92 X50 Z100 (设立坐标系,定义对刀点 A 的位置) N2 G28 X80 Z200 (从 A 点到达 B 点再快速移动到参考点 ) N3 G29 X40 Z250 (从参考点 R 经中间点 B 到达目标点 C) N4 G00 X50Z100 (回对刀点) N5 M30 (主轴停、主程序结束并复位) 本例表明,编程员不必计算从中间点到参考点的实际距离。 3.3.5 暂停指令 G04 格式: G04 P_ 说明: P:暂停时间,单位为 s。 G04 在前一程序段的进给速度降到零之后才开始暂停动作。 在执行含 G04 指令的程序段时,先执行暂停功能。 G04 为非模态指令,仅在其被规定的程序段中有效。 G04 可使刀具作短暂停留,以获得圆整而光滑的表面。该指令 除用于切槽、钻镗孔外,还可用于拐角轨迹控制。 3.3.6 恒线速度指令 G96、 G97 格式: G96 S G97 S 说明: G96:恒线速度有效 G97:取消恒线速度功能 S: G96 后面的 S 值为切削的恒定线速度,单位为 m/min; G97后面的 S 值为取消恒线速度后, 指定的主轴转速, 单位为 r/min;如缺省,则为执行 G96 指令前的主 轴转速度。 注意:使用恒线速度功能,主轴必须能自动变速。 (如:伺服 主轴、变频主轴) 在系统参数中设定主轴最高限速。 世纪星车床数控系统 (HNC-21/22T)编程说明书 33 图 3.3.14 恒线速度编程实例 例10 .如 图 3.3.14所示,用恒线速度功能编程 %3314 N1 G92 X40 Z5(设立坐标系,定义对刀点的位置) N2 M03 S400 (主轴以 400r/min旋转) N3 G96 S80 (恒线速度有效,线速度为 80m/min) N4 G00 X0 (刀到中心,转速升高,直到主轴到最大限速) N5 G01 Z0 F60 (工进接触工件) N6 G03 U24 W-24 R15 (加工 R15 圆弧段) N7 G02 X26 Z-31 R5 (加工 R5 圆弧段) N8 G01 Z-40 (加工Φ 26 外圆) N9 X40 Z5 (回对刀点) N10 G97 S300 (取消恒线速度功能, 设定主轴按 300r/min 旋转) N11 M30 (主轴停、主程序结束并复位) 27 R15 40 31 R5 Φ 2 6 Φ 22 世纪星车床数控系统 (HNC-21/22T)编程说明书 34 3.3.7 简单循环 有三类简单循环,分别是 G80:内(外)径切削循环; G81:端面切削循环; G82:螺纹切削循环。 切削循环通常是用一个含 G 代码的程序段完成用多个程序段 指令的加工操作,使程序得以简化。 声明: 下述图形中 U, W表示程序段中 X、 Z字符的相对值; X, Z表示绝对坐标值; R 表示快速移动; F 表示以指定速度 F移动。 (1) 内(外)径切削循环 G80 ★ 圆柱面内(外)径切削循环 格式: G80 X__Z__F__; 说明: X、 Z:绝对值编程时,为切削终点 C 在工件坐标系下的 坐标; 增量值编程时,为切削终点 C 相对于循环起点 A 的有向距离,图形中用 U、 W 表示,其符号由轨 迹 1 和 2 的方向确定。 该指令执行如图 3.3.15 所示 A→B→C→D→A 的轨迹动作。 世纪星车床数控系统 (HNC-21/22T)编程说明书 35 +X +Z z w u/2 3R 1R 2F 4R A D B C x/2 切削终点 退刀点 切削起点 循环起点 i0i0i0i0 i0i0i0i0 i0i0i0i0 图 3.3.15 圆柱面内(外)径切削循环 ★ 园锥面内(外)径切削循环 格式: G80 X__Z__ I___F__; 说明: X、 Z:绝对值编程时,为切削终点 C 在工件坐标系下的 坐标; 增量值编程时,为切削终点 C 相对于循环起点 A 的有向距离,图形中用 U、 W 表示。 I:为切削起点 B 与切削终点 C 的半径差。其符号为差的 符号 (无论是绝对值编程还是增量值编程 )。 该指令执行如图 3.3.16 所示 A→B→C→D→A 的轨迹动作。 世纪星车床数控系统 (HNC-21/22T)编程说明书 36 +X +Z z w u/2 3R 1R 2F 4R A D B C x/2 i i0i0i0 i0i0i0 i0i0i0i0 图 3.3.16 园锥面内(外)径切削循环 图 3.3.17 G80切削循环编程实例 Φ 14 Φ 24 Φ 40 30 3 Φ 33 世纪星车床数控系统 (HNC-21/22T)编程说明书 37 例11 .如 图 3.3.17所示,用 G80指令编程,点画线代表毛坯。 %3317 M03 S400 (主轴以 400r/min 旋转) G91 G80 X-10 Z-33 I-5.5 F100 (加工第一次循环,吃刀深 3mm) X-13 Z-33 I-5.5 (加工第二次循环,吃刀深 3mm) X-16 Z-33 I-5.5 (加工第三次循环,吃刀深 3mm) M30 (主轴停、主程序结束并复位) (2) 端面切削循环 G81 ★ 端平面切削循环 格式: G81 X__Z__F__; +X z w u/2 3F 1R 2F 4R A D B C x/2 +Z 切削终点 退刀点 切削起点 循环起点 i0i0i0i0 i0i0i0 i0i0i0 图 3.3.18 端平面切削循环 世纪星车床数控系统 (HNC-21/22T)编程说明书 38 说明: X、 Z:绝对值编程时,为切削终点 C 在工件坐标系下的 坐标; 增量值编程时,为切削终点 C 相对于循环起点 A 的有向距离,图形中用 U、 W 表示,其符号由轨 迹 1 和 2 的方向确定。 该指令执行如图 3.3.18 所示 A→B→C→D→A 的轨迹动作。 ★ 园锥端面切削循环 格式: G81 X__Z__ K__F__; 说明: X、 Z:绝对值编程时,为切削终点 C 在工件坐标系下的 坐标; 增量值编程时,为切削终点 C 相对于循环起点 A 的有向距离,图形中用 U、 W 表示。 K:为切削起点 B 相对于切削终点 C 的 Z 向有向距离。 该指令执行如图 3.3.19 所示 A→B→C→D→A 的轨迹动作。 +X z k u/2 3F 1R 2F 4R A D B C x/2 +Z i0i0i0i0i0i0i0 w 图 3.3.19 园锥端面切削循环 世纪星车床数控系统 (HNC-21/22T)编程说明书 39 例 12: 如 图 3.3.20 所示,用 G81 指令编程,点画线代表毛坯。 图 3.3.20 G81 切削循环编程实例 %3320 N1 G54 G90 G00 X60 Z45 M03(选定坐标系,主轴正转,到循环起点) N2 G81 X25 Z31.5 K-3.5 F100 (加工第一次循环,吃刀深 2mm) N3 X25 Z29.5 K-3.5 (每次吃刀均为 2mm, ) N4 X25 Z27.5 K-3.5 (每次切削起点位,距工件外圆面 5mm,故 K 值为 -3.5) N5 X25 Z25.5 K-3.5 (加工第四次循环,吃刀深 2mm) N6 M05 (主轴停) N7 M30 (主程序结束并复位) 3 8 Φ 25 Φ 55 33.5 世纪星车床数控系统 (HNC-21/22T)编程说明书 40 (3) 螺纹切削循环 G82 ★ 直螺纹切削循环 格式: G82 X( U) __Z( W) __R__E__C__P__F__; 说明: X、 Z:绝对值编程时,为螺纹终点 C 在工件坐标系下的 坐标; 增量值编程时,为螺纹终点 C 相对于循环起点 A 的有向距离,图形中用 U、 W 表示,其符号由轨 迹 1 和 2 的方向确定; R, E:螺纹切削的退尾量, R、 E 均为向量, R 为 Z 向回 退量; E 为 X 向回退量, R、 E 可以省略,表示不用 回退功能; C:螺纹头数,为 0 或 1 时切削单头螺纹; P:单头螺纹切削时,为主轴基准脉冲处距离切削起始点 的主轴转角 (缺省值为 0);多头螺纹切削时,为相邻螺 纹头的切削起始点之间对应的主轴转角。 F:螺纹导程; 该指令执行图 3.3.21 所示 A→B→C→D→E→A 的轨迹动作。 X +Z z w u/2 3R 1R 2F L 4R A B C D r e x/2 i0i0i0i0 i0i0i0i0 i0i0i0 图 3.3.21 直螺纹切削循环 世纪星车床数控系统 (HNC-21/22T)编程说明书 41 注意: 螺纹切削循环同 G32螺纹切削一样,在进给保持状态下,该循 环在完成全部动作之后才停止运动。 ★ 锥螺纹切削循环 格式: G82 X__Z__ I__R__E__C__P__F__; 说明: X、 Z:绝对值编程时,为螺纹终点 C 在工件坐标系下的 坐标; 增量值编程时,为螺纹终点 C 相对于循环起点 A 的有向距离,图形中用 U、 W 表示。 I:为螺纹起点 B 与螺纹终点 C 的半径差。其符号为差的 符号 (无论是绝对值编程还是增量值编程 ); R, E:螺纹切削的退尾量, R、 E 均为向量, R 为 Z 向回 退量; E 为 X 向回退量, R、 E 可以省略,表示不用 回退功能; C:螺纹头数,为 0 或 1 时切削单头螺纹; P:单头螺纹切削时,为主轴基准脉冲处距离切削起始点 的主轴转角 (缺省值为 0);多头螺纹切削时,为相 邻螺纹头的切削起始点之间对应的主轴转角。 F:螺纹导程 ; 该指令执行图 3.3.22 所示 A→B→C→D→A 的轨迹动作。 世纪星车床数控系统 (HNC-21/22T)编程说明书 42 +X +Z z w u/2 3R 1R 2F L 4R A D r e B C x/2 i i0i0i0 i0i0i0i0 i0i0i0i0 图 3.3.22 锥螺纹切削循环 例 13: 如 图 3.3.23 所示,用 G82 指令编程,毛坯外形已加工完成。 图 3.3.23 G82 切削循环编程实例 %3323 N1 G55 G00 X35 Z104 (选定坐标系 G55,到循环起点) N2 M03 S300 (主轴以 300r/min 正转) N3 G82 X29.2 Z18.5 C2 P180 F3(第一次循环切螺纹, 切深 0.8mm) N4 X28.6 Z18.5 C2 P180 F3 (第二次循环切螺纹,切深 0.4mm) N5 X28.2 Z18.5 C2 P180 F3 (第三次循环切螺纹,切深 0.4mm) N6 X28.04 Z18.5 C2 P180 F3 (第四次循环切螺纹, 切深 0.16mm) N7 M30 (主轴停、主程序结束并复位) 80 100 M30 × 1.5( 双头 ) 世纪星车床数控系统 (HNC-21/22T)编程说明书 43 3.3.7 复合循环 有四类复合循环,分别是 G71:内(外)径粗车复合循环; G72:端面粗车复合循环; G73:封闭轮廓复合循环; G76:螺纹切削复合循环; 运用这组复合循环指令, 只需指定精加工路线和粗加工的吃刀 量,系统会自动计算粗加工路线和走刀次数。 (1) 内(外)径粗车复合循环 G71 ★ 无凹槽加工时 格式: G71 U( ? d) R(r) P(ns) Q(nf) X( ? x) Z( ? z) F(f) S(s) T(t); 说明: 该指令执行如图 3.3.24 所示的粗加工和精加工,其中精 加工路径为 A→A'→B'→B 的轨迹。 △ d:切削深度 (每次切削量 ),指定时不加符号,方向由矢 量 AA′决定; r:每次退刀量; ns:精加工路径第一程序段 (即图中的 AA')的顺序号; nf:精加工路径最后程序段 (即图中的 B'B)的顺序号; △ x: X 方向精加工余量; △ z: Z 方向精加工余量; f, s, t:粗加工时 G71 中编程的 F、 S、 T 有效,而精加工时 处于 ns 到 nf 程序段之间的 F、 S、 T 有效。 G71切削循环下, 切削进给方向平行于 Z轴, X(?U)和 Z(?W) 的 符号如图 3.3.25所示。其中 (+)表示沿轴正方向移动, (-)表示沿轴负 方向移动。 世纪星车床数控系统 (HNC-21/22T)编程说明书 44 图 3.3.24 内、外径粗切复合循环 B Z X A′ A′ A′ A B X(+) Z(-) A X(-) Z(-) A B X(+) Z(+) B A X(-)Z(+) A′ B Z X A′ A′ A′ A B X(+) Z(-) A X(-) Z(-) A B X(+) Z(+) B A X(-)Z(+) A′ 图 3.3.25 G71复合循环下 X(?U)和 Z(?W) 的符号 14 15 7 9 13 12 11 6 8 10 5 4 3 2 1 O ● A′ r △ d △ d ● A △ x/2 +X △ z + r 世纪星车床数控系统 (HNC-21/22T)编程说明书 45 ★ 有凹槽加工时 格式: G71 U( ? d) R(r) P(ns) Q(nf) E(e) F(f) S(s) T(t); 说明: 该指令执行如图 3.3.26 所示的粗加工和精加工,其中精 加工路径为 A→A'→B'→B 的轨迹。 图 3.3.26 内(外)径粗车复合循环 G71 ? d:切削深度 (每次切削量 ),指定时不加符号,方向由矢 量 AA′决定; r:每次退刀量; ns:精加工路径第一程序段 (即图中的 AA')的顺序号; nf:精加工路径最后程序段 (即图中的 B'B)的顺序号; 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 的程序段中,不应包含子程 序。 r B` 13 14 15 14 10 14 14 10 10 10 6 B 6 6 16 6 6 3 9 4 10 5 11 12 7 8 14 2 1 A A` e △ u 世纪星车床数控系统 (HNC-21/22T)编程说明书 46 例14 :用外径粗加工复合循环编制图 3.3.27 所示零件的加工 程序:要求循环起始点在 A(46, 3),切削深度为 1.5mm(半径量) 。 退刀量为 1mm, X 方向精加工余量为 0.4mm, Z 方向精加工余量 为 0.1mm,其中点划线部分为工件毛坯。 图 3.3.27 G71 外径复合循环编程实例 %3327(见图 3.3.27) N1 G59 G00 X80 Z80 (选定坐标系 G55,到程序起点位置) N2 M03 S400 (主轴以 400r/min 正转) N3 G01 X46 Z3 F100 (刀具到循环起点位置) N4 G71U1.5R1P5Q13X0.4 Z0.1(粗切量: 1.5mm 精切量: X0.4mm Z0.1mm) N5 G00 X0 (精加工轮廓起始行,到倒角延长线) N6 G01 X10 Z-2 (精加工 2× 45°倒角) N7 Z-20 (精加工Φ 10 外圆) N8 G02 U10 W-5 R5 (精加工 R5 圆弧) N9 G01 W-10 (精加工Φ 20 外圆) N10 G03 U14 W-7 R7 (精加工 R7 圆弧) N11 G01 Z-52 (精加工Φ 34 外圆) N12 U10 W-10 (精加工外圆锥) Φ 10 Φ 20 Φ 34 Φ 44 R7 R5 25 62 35 52 82 2× 45° 世纪星车床数控系统 (HNC-21/22T)编程说明书 47 N13 W-20 (精加工Φ 44 外圆,精加工轮廓结束行) N14 X50 (退出已加工面) N15G00 X80 Z80 (回对刀点) N16 M05 (主轴停) N17 M30 (主程序结束并复位) 例15 :用内径粗加工复合循环编制图 3.3.28 所示零件的加工 程序:要求循环起始点在 A(46, 3),切削深度为 1.5mm(半径量) 。 退刀量为 1mm, X 方向精加工余量为 0.4mm, Z 方向精加工余量 为 0.1mm,其中点划线部分为工件毛坯。 图 3.3.28 G71 内径复合循环编程实例 %3328(见图 3.3.28) N1 T0101 (换一号刀,确定其坐标系) N2 G00 X80 Z80 (到程序起点或换刀点位置) N3 M03 S400 (主轴以 400r/min 正转) N4 X6 Z5 (到循环起点位置) Φ 10 Φ 20 Φ 34 Φ 44 R7 R5 25 62 35 52 82 2× 45° Φ 8 世纪星车床数控系统 (HNC-21/22T)编程说明书 48 G71U1R1P8Q16X-0.4Z0.1 F100 (内径粗切循环加工) N5 G00 X80 Z80 (粗切后,到换刀点位置) N6 T0202 (换二号刀,确定其坐标系) N7 G00 G42 X6 Z5 (二号刀加入刀尖园弧半径补偿) N8 G00 X44 (精加工轮廓开始,到Φ 44 外圆处) N9 G01 W-20 F80 (精加工Φ 44 外圆) N10 U-10 W-10 (精加工外圆锥) N11 W-10 (精加工Φ 34 外圆) N12 G03 U-14 W-7 R7 (精加工 R7 圆弧) N13 G01 W-10 (精加工Φ 20 外圆) N14 G02 U-10 W-5 R5 (精加工 R5 圆弧) N15 G01 Z-80 (精加工Φ 10 外圆) N16 U-4 W-2 (精加工倒 2× 45°角,精加工轮廓结束) N17 G40 X4 (退出已加工表面,取消刀尖园弧半径补偿) N18 G00 Z80 (退出工件内孔) N19 X80 (回程序起点或换刀点位置) N20 M30 (主轴停、主程序结束并复位) 例16 :用有凹槽的外径粗加工复合循环编制图 3.3.29 所示零 件的加工程序,其中点划线部分为工件毛坯。 图 3.3.29 G71有凹槽复合循环编程实例 Φ 40 Φ 22.66 45° Φ 30.66 (8) 10 5 Φ 18 Φ 20 Φ 28 Φ 26.66 R10 R4 32.5 61.5 17 12 30° 2× 45° 世纪星车床数控系统 (HNC-21/22T)编程说明书 49 %3329(见图 3.3.29) N1 T0101 (换一号刀,确定其坐标系) N2 G00 X80 Z100 (到程序起点或换刀点位置) M03 S400 (主轴以 400r/min 正转) N3 G00 X42 Z3 (到循环起点位置) N4G71U1R1P8Q19E0.3F100 (有凹槽粗切循环加工) N5 G00 X80 Z100 (粗加工后,到换刀点位置) N6 T0202 (换二号刀,确定其坐标系) N7 G00 G42 X42 Z3 (二号刀加入刀尖园弧半径补偿) N8 G00 X10 (精加工轮廓开始,到倒角延长线处) N9 G01 X20 Z-2 F80 (精加工倒 2× 45°角) N10 Z-8 (精加工Φ 20 外圆) N11 G02 X28 Z-12 R4 (精加工 R4 圆弧) N12 G01 Z-17 (精加工Φ 28 外圆) N13 U-10 W-5 (精加工下切锥) N14 W-8 (精加工Φ 18 外圆槽) N15 U8.66 W-2.5 (精加工上切锥) N16 Z-37.5 (精加工Φ 26.66 外圆) N17 G02 X30.66 W-14 R10(精加工 R10 下切圆弧) N18 G01 W-10 (精加工Φ 30.66 外圆) N19 X40 (退出已加工表面,精加工轮廓结束) N20 G00 G40 X80 Z100 (取消半径补偿,返回换刀点位置) N21 M30 (主轴停、主程序结束并复位) 世纪星车床数控系统 (HNC-21/22T)编程说明书 50 (2) 端面粗车复合循环 G72 格式: G72 W( ? d) R(r) P(ns) Q(nf) X( ? x) Z( ? z) F(f) S(s) T(t); 说明: 该循环与 G71 的区别仅在于切削方向平行于 X 轴。该指 令执行如图 3.3.30 所示的粗加工和精加工,其中精加工 路径为 A→A'→B'→B 的轨迹。 其中: △ d:切削深度 (每次切削量 ),指定时不加符号,方向由矢 量 AA′决定; r:每次退刀量; ns:精加工路径第一程序段 (即图中的 AA')的顺序号; nf:精加工路径最后程序段 (即图中的 B'B)的顺序号; △ x: X 方向精加工余量; △ z: Z 方向精加工余量; f、 s、 t:粗加工时 G71 中编程的 F、 S、 T 有效,而精加工时 处于 ns 到 nf 程序段之间的 F、 S、 T 有效。 图 3.3.30 端面粗车复合循环 G72 △ z △ d 23 22 20 10 △ d +X 19 16 14 11 12 1 2 3 5 6 7 8 9 17 18 +Z 13 4 r r △ x 15 21 世纪星车床数控系统 (HNC-21/22T)编程说明书 51 G72切削循环下,切削进给方向平行于 X轴, X(?U)和 Z(?W) 的符号如图 3.3.31所示。其中 (+)表示沿轴的正方向移动, (-)表示沿 轴负方向移动。 A Z X X(-) Z(+) B B X(-) Z(-) A' A' A' A A A B X(+) Z(+) B X(+) Z(-) A' A Z X X(-) Z(+) B B X(-) Z(-) A' A' A' A A A B X(+) Z(+) B X(+) Z(-) A' 图 3.3.31 G72复合循环下 X(?U)和 Z(?W) 的符号 世纪星车床数控系统 (HNC-21/22T)编程说明书 52 注意: (1) G72 指令必须带有 P, Q 地址,否则不能进行该循环加工。 (2) 在 ns的程序段中应包含 G00/G01指令,进行由 A到 A'的动 作,且该程序段中不应编有 X向移动指令。 (3) 在顺序号为 ns到顺序号为 nf的程序段中, 可以有 G02/G03 指令,但不应包含子程序。 例17 :编制图 3.3.32 所示零件的加工程序:要求循环起始点 在 A(80, 1),切削深度为 1.2mm。退刀量为 1mm, X 方向精加工 余量为 0.2mm, Z 方向精加工余量为 0.5mm,其中点划线部分为工 件毛坯 图 3.3.32 G72外径粗切复合循环编程实例 %3331(见图 3.3.32 ) N1 T0101 (换一号刀,确定其坐标系) N2 G00 X100 Z80 (到程序起点或换刀点位置) N3 M03 S400 (主轴以 400r/min 正转) N4 X80 Z1 (到循环起点位置) N5 G72W1.2R1P8Q17X0.2Z0.5F100 (外端面粗切循环加工) N6 G00 X100 Z80 (粗加工后,到换刀点位置) N7 G42 X80 Z1 (加入刀尖园弧半径补偿) Φ 10 Φ 30 Φ 54 Φ 74 R4 R2 15 50 26 40 60 2× 45° 世纪星车床数控系统 (HNC-21/22T)编程说明书 53 N8 G00 Z-56 (精加工轮廓开始,到锥面延长线处) N9 G01 X54 Z-40 F80 (精加工锥面) N10 Z-30 (精加工Φ 54 外圆) N11 G02 U-8 W4 R4 (精加工 R4 圆弧) N12 G01 X30 (精加工 Z26 处端面) N13 Z-15 (精加工Φ 30 外圆) N14 U-16 (精加工 Z15 处端面) N15 G03 U-4 W2 R2 (精加工 R2 圆弧) N16 Z-2 (精加工Φ 10 外圆) N17 U-6 W3 (精加工倒 2× 45°角,精加工轮廓结束) N18 G00 X50 (退出已加工表面) N19 G40 X100 Z80 (取消半径补偿,返回程序起点位置) N20 M30 (主轴停、主程序结束并复位) 例18 :编制图 3.3.33 所示零件的加工程序:要求循环起始点 在 A(6, 3),切削深度为 1.2mm。退刀量为 1mm, X 方向精加工余 量为 0.2mm, Z 方向精加工余量为 0.5mm,其中点划线部分为工件 毛坯 图 3.3.33 G72内径粗切复合循环编程实例 10 45 2× 45° R4 R2 Φ 10 Φ 30 Φ 54 Φ 74 20 60 Φ 8 34 世纪星车床数控系统 (HNC-21/22T)编程说明书 54 %3333 N1 G92 X100 Z80 (设立坐标系,定义对刀点的位置) N2 M03 S400 (主轴以 400r/min 正转) N3 G00 X6 Z3 (到循环起点位置) G72W1.2R1P5Q15X-0.2Z0.5F100(内端面粗切循环加工) N5 G00 Z-61 (精加工轮廓开始,到倒角延长线处) N6 G01 U6 W3 F80 (精加工倒 2× 45°角) N7 W10 (精加工Φ 10 外圆) N8 G03 U4 W2 R2 (精加工 R2 圆弧) N9 G01 X30 (精加工 Z45 处端面) N10 Z-34 (精加工Φ 30 外圆) N11 X46 (精加工 Z34 处端面) N12 G02 U8 W4 R4 (精加工 R4 圆弧) N13 G01 Z-20 (精加工Φ 54 外圆) N14 U20 W10 (精加工锥面) N15 Z3 (精加工Φ 74 外圆,精加工轮廓结束) N16 G00 X100 Z80 (返回对刀点位置) N17 M30 (主轴停、主程序结束并复位) (3) 闭环车削复合循环 G73 格式: G73 U( ? I) W( ? K) R(r) P(ns) Q(nf) X( ? x) Z( ? z) F(f) S(s) T(t) 说明: 该功能在切削工件时刀具轨迹为如图 3.3.34 所示的封闭 回路,刀具逐渐进给,使封闭切削回路逐渐向零件最终 形状靠近,最终切削成工件的形状,其精加工路径为 A→A'→B'→B。 这种指令能对铸造,锻造等粗加工中已初步成形的工件, 进行高效率切削。 世纪星车床数控系统 (HNC-21/22T)编程说明书 55 图 3.3.34 闭环车削复合循环 G73 其中: ? I: X 轴方向的粗加工总余量; ? k: Z 轴方向的粗加工总余量; r:粗切削次数; ns:精加工路径第一程序段 (即图中的 AA')的顺序号; nf:精加工路径最后程序段 (即图中的 B'B)的顺序号; Δ 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的正负号。 1 A ′ 1 A ● A Δz Δx/2 Δz Δk+Δz ΔI+Δx/2 Δx/2 O A′ +X 世纪星车床数控系统 (HNC-21/22T)编程说明书 56 例19 :编制图 3.3.35 所示零件的加工程序:设切削起始点在 A(60, 5); X、 Z 方向粗加工余量分别为 3mm、 0.9mm; 粗加工次数为 3; X、 Z 方向精加工余量分别为 0.6mm、 0.1mm。其中点划线部分为工件毛坯 图 3.3.35 G73编程实例 %3335 N1 G58 G00 X80 Z80 (选定坐标系,到程序起点位置) N2 M03 S400 (主轴以 400r/min正转) N3 G00 X60 Z5 (到循环起点位置) N4 G73U3W0.9R3P5Q13X0.6Z0.1F120(闭环粗切循环加工) N5 G00 X0 Z3 (精加工轮廓开始,到倒角延长线处) N6 G01 U10 Z-2 F80 (精加工倒 2× 45°角) N7 Z-20 (精加工Φ 10外圆) N8 G02 U10 W-5 R5 (精加工 R5圆弧) N9 G01 Z-35 (精加工Φ 20外圆) N10 G03 U14 W-7 R7 (精加工 R7圆弧) N11 G01 Z-52 (精加工Φ 34外圆) N12 U10 W-10 (精加工锥面) N13 U10 (退出已加工表面,精加工轮廓结束) N14 G00 X80 Z80 (返回程序起点位置) N15 M30 (主轴停、主程序结束并复位) Φ 10 Φ 20 Φ 34 Φ 44 R7 R5 25 62 35 52 2× 45° 世纪星车床数控系统 (HNC-21/22T)编程说明书 57 (4) 螺纹切削复合循环 G76 格式: G76C(c)R(r)E(e)A(a)X(x)Z(z)I(i)K(k)U(d)V( ? dmin)Q( ? d)P(p)F(L); 说明: 螺纹切削固定循环 G76 执行如图 3.3.36 所示的加工轨迹。 其单边切削及参数如图 3.3.37 所示。 其中: c:精整次数 (1~99),为模态值; r:螺纹 Z向退尾长度 (00~99),为模态值; e:螺纹 X向退尾长度 (00~99),为模态值; a:刀尖角度 (二位数字 ),为模态值; 在 80°、 60°、 55°、 30°、 29°和 0°六个角度中选一个; x、 z:绝对值编程时,为有效螺纹终点 C 的坐标; 增量值编程时,为有效螺纹终点 C 相对于循环起 点 A 的有向距离; (用 G91 指令定义为增量编程, 使用后用 G90 定义为绝对编程。 ) i:螺纹两端的半径差; 如 i=0,为直螺纹 (圆柱螺纹 )切削方式; k:螺纹高度; 该值由 x轴方向上的半径值指定; ?dmin:最小切削深度 (半径值 ); 当第 n次切削深度 (??dn dn??1),小于 ?dmin时, 则切削深度设定为 ?dmin; d:精加工余量 (半径值 ); ?d:第一次切削深度 (半径值 ); p:主轴基准脉冲处距离切削起始点的主轴转角; L:螺纹导程 (同 G32); 世纪星车床数控系统 (HNC-21/22T)编程说明书 58 d B C (R) i e u/2 A D K (R) (F) (R) +Z w r +X z x/2 i0i0i0i0 i0i0i0i0i0 i0i0i0i0i0 图 3.3.36 螺纹切削复合循环 G76 α d Δ d n k Δ d n 1 2 图 3.3.37 G76循环单边切削及其参数 注意: 按 G76段中的 X(x)和 Z(z)指令实现循环加工,增量编程时,要注意 u 和 w的正负号 (由刀具轨迹 AC和 CD段的方向决定 )。 G76循环进行单边切削,减小了刀尖的受力。第一次切削时切削深 度为 ?d,第 n次的切削总深度为 ?dn ,每次循环的背吃刀量 为 )( 1??? nnd 世纪星车床数控系统 (HNC-21/22T)编程说明书 59 图 3.3.36中, C到 D点的切削速度由 F代码指定,而其它轨迹均为快 速进给。 例20 :用螺纹切削复合循环 G76 指令编程,加工螺纹为 ZM60× 2,工件尺寸见图 3.3.38,其中括弧内尺寸根据标 准得到。 图 3.3.38 G76循环切削编程实例 %3338 N1 T0101 (换一号刀,确定其坐标系) N2 G00 X100 Z100 (到程序起点或换刀点位置) N3 M03 S400 (主轴以 400r/min 正转) N4 G00 X90 Z4 (到简单循环起点位置) N5 G80 X61.125 Z-30 I-0.94 F80(加工锥螺纹外表面) N6 G00 X100 Z100 M05 (到程序起点或换刀点位置) N7 T0202 (换二号刀,确定其坐标系) N8 M03 S300 (主轴以 300r/min 正转) N9 G00 X90 Z4 (到螺纹循环起点位置) N10 G76C2R-3E1.3A60X58.15Z-24I-0.94K1.299U0.1V0.1Q0.9F2 N11 G00 X100 Z100 (返回程序起点位置或换刀点位置) N12 M05 (主轴停) N13 M30 (主程序结束并复位) 有效长度 基面 4 (1.79°) (Φ 60) (Φ 59.25) (12) (18) ZM60 × 2 30 Φ 90 6 世纪星车床数控系统 (HNC-21/22T)编程说明书 60 (5) 复合循环指令注意事项 G71, G72, G73复合循环中地址 P指定的程序段,应有准备机 能 01组的 G00或 G01指令,否则产生报警。 在 MDI方式下,不能运行 G71, G72, G73指令,可运行 G76 指令。 在复合循环 G71, G72, G73中由 P, Q指定顺序号的程序段之 间,不应包含 M98子程序调用及 M99子程序返回指令。 3.3.8 刀具补偿功能指令 刀具的补偿包括刀具的偏置和磨损补偿,刀尖半径补偿。 声明: 刀具的偏置和磨损补偿,是由 T 代码指定的功能,而 不是由 G代码规定的准备功能,但为了方便用户阅读,保持整个 说明书的系统性和连贯性,改在此处描述。 刀具偏置补偿和刀具磨损补偿 我们编程时,设定刀架上各刀在工作位时,其刀尖位置是一 致的。但由于刀具的几何形状、 及安装的不同,其刀尖位置是不 一致的,其相对于工件原点的距 离也是不同的。因此需要将各刀 具的位置值进行比较或设定,称 为刀具偏置补偿。刀具偏置补偿 可使加工程序不随刀尖位置的不 同而改变。刀具偏置补偿有两种 形式: 其一、相对补偿形式。如图 3.3.39 所示,在对刀时,确定一 把刀为标准刀具,并以其刀尖位置 A 为依据建立坐标系。这样, 当其它各刀转到加工位置时,刀尖位置 B 相对标刀刀尖位置 A 就 会出现偏置,原来建立的坐标系 就不再适用,因此应对非标刀具 相对于标准刀具之间的偏置值△x、△z 进行补偿。使刀尖位置 B 移至位置 A。 标刀偏置值为机床回到机床零点时,工件坐标系零点相对于 工作位上标刀刀尖位置的有向距离。 世纪星车床数控系统 (HNC-21/22T)编程说明书 61 标准刀具 非标刀具 Z轴偏置补偿 X轴偏置补偿 A B △ z △ x 图 3.3.39 刀具偏置的相对补偿形式 其二、绝对补偿形式 即机床回到机床零点时,工件坐标系零点,相对于刀架工作 位上各刀刀尖位置的有向距离。 当执行刀偏补偿时,各刀以此值 设定各自的加工坐标系。见图 3.3.40 图 3.3.40 刀具偏置的绝对补偿形式 刀具使用一段时间后磨损,也会使产品尺寸产生误差,因此 需要对其进行补偿。该补偿与刀 具偏置补偿存放在同一个寄存器 的地址号中。各刀的磨损补偿只对该刀有效(包括标刀) 。 1 Z 2 Z 2/ 2 X 2/ 1 X 工件零点 机床零点 1号刀Z 轴偏置值 2号刀X 轴偏置值 2号刀Z 轴偏置值 1号刀X 轴偏置值 世纪星车床数控系统 (HNC-21/22T)编程说明书 62 刀具的补偿功能由 T 代码指定,其后的 4 位数字分别表示选 择的刀具号和刀具偏置补偿号。 T 代码的说明如下: TXX + XX 刀具号 刀具补偿号 刀具补偿号是刀具偏置补偿寄存器的地址号,该寄存器存放 刀具的 X 轴和 Z 轴偏置补偿值、刀具的 X 轴和 Z 轴磨损补偿值。 T 加补偿号表示开始补偿功能。补偿号为 00 表示补偿量为 0, 即取消补偿功能。 系统对刀具的补偿或取消都是通过拖板的移动来实现的。 补偿号可以和刀具号相同,也可以不同,即一把刀具可以对 应多个补偿号(值) 。 如图 3.3.40 所示,如果刀具轨迹相对编程轨迹具有 X、 Z 方向 上补偿值 (由 X, Z 方向上的补偿分量构成的矢量称为补偿矢量 ), 那么程序段中的终点位置加或减去由 T 代码指定的补偿量 (补偿矢 量 )即为刀具轨迹段终点位置。 补偿轨迹 编程轨迹 补偿矢量(由 X,Z 方向的分量组成) 包含 T代码的程序段 图 3.3.41 经偏置磨损补偿后的刀具轨迹 例21 如图 3.3.42,先建立刀具偏置磨损补偿,后取消刀具 偏置磨损补偿。 世纪星车床数控系统 (HNC-21/22T)编程说明书 63 编程轨迹 刀补轨迹 Z X 50 100 100 200 250 T0202 G01 X50 Z100 Z200 X100 Z250 T0200 M30 图 3.3.42 刀具偏置磨损补偿编程 刀尖 圆弧半径补偿 G40, G41, G42 格式: ? ? ? ? ? ? ? ? ? ? 42 41 40 G G G G G 00 01 ? ? ? ? ? ? X_Z_ 说明: 数控程序一般是针对刀具上的某一点即刀位点,按工件轮廓 尺寸编制的。车刀的刀位点一般为理想状态下的假想刀尖 A 点或 刀尖圆弧圆心 O 点。但实际加工中的车刀,由于工艺或其他要求, 刀尖往往不是一理想点,而是一 段圆弧。当切削加工时刀具切削 点在刀尖圆弧上变动;造成实际 切削点与刀位点之间的位置有偏 差,故造成过切或少切。这种由 于刀尖不是一理想点而是一段圆 弧,造成的加工误差,可用刀尖园弧半径补偿功能来消除。 刀尖园弧半径补偿是通过 G41、 G42、 G40 代码及 T 代码指定 的刀尖园弧半径补偿号,加入或取消半径补偿。 G40:取消刀尖半径补偿; G41:左刀补 (在刀具前进方向左侧补偿 ),如图 3.3.43; G42:右刀补 (在刀具前进方向右侧补偿 ),如图 3.3.43; X, Z: G00/G01 的参数,即建立刀补或取消刀补的终点; 注意: G40、 G41、 G42 都是模态代码,可相互注销。 世纪星车床数控系统 (HNC-21/22T)编程说明书 64 G41 沿着刀具运动方向看 刀具在工件左侧 G42 沿着刀具运动方向看 刀具在工件右侧 X Z G42沿着刀具运动方向看 刀具在工件左侧 G41 沿着刀具运动方向看 刀具在工件右侧 X Z 图 3.3.43 左刀补和右刀补 注意: (1) G41/G42 不带参数, 其补偿号 (代表所用刀具对应的刀尖半 径补偿值 )由 T 代码指定。其刀尖圆弧补偿号与刀具偏置 补偿号对应。 (2) 刀尖半径补偿的建立与取消只能用 G00 或 G01 指令,不 得是 G02 或 G03。 刀尖圆弧半径补偿寄存器中,定义了车刀圆弧半径及刀尖的 方向号。 车刀刀尖的方向号定义了刀具刀位点与刀尖圆弧中心的位置 关系,其从 0~9 有十个方向,如图 3.3.44 所示。 世纪星车床数控系统 (HNC-21/22T)编程说明书 65 7 ● X 0 9 Z ● ● ● ● ● ● ● ● 8 3 4 5 6 2 1 ●代表刀具刀位点A, + 代表刀尖园弧圆心O 7 ● X 0 9 Z ● ● ● ● ● ● ● ● 5 6 8 2 3 4 1 ●代表刀具刀位点A, + 代表刀尖园弧圆心O 图 3.3.44 车刀刀尖位置码定义 例22 :考虑刀尖半径补偿,编制图 3.3.45 所示零件的加工程 序 世纪星车床数控系统 (HNC-21/22T)编程说明书 66 图 3.3.45 刀具园弧半径补偿编程实例 %3345 N1 T0101 (换一号刀,确定其坐标系) N2 M03 S400 (主轴以 400r/min 正转) N3 G00 X40 Z5 (到程序起点位置) N4 G00 X0 (刀具移到工件中心) N5 G01 G42 Z0 F60 (加入刀具园弧半径补偿,工进接触工件) N6 G03 U24 W-24 R15 (加工 R15 圆弧段) N7 G02 X26 Z-31 R5 (加工 R5 圆弧段) N8 G01 Z-40 (加工Φ 26 外圆) N9 G00 X30 (退出已加工表面) N10 G40 X40 Z5 (取消半径补偿,返回程序起点位置) N11 M30 (主轴停、主程序结束并复位) 27 R15 40 31 R5 Φ 2 6 Φ 22 世纪星车床数控系统 (HNC-21/22T)编程说明书 67 3.3.9 综合编程实例 编程步骤 产品图样分析 1) 尺寸是否完整? 2) 产品精度、粗糙度等要求。 3) 产品材质、硬度等。 工艺处理 1) 加工方式及设备确定。 2) 毛坯尺寸及材料确定。 3) 装夹定位的确定。 4) 加工路径及起刀点、换刀点的确定。 5) 刀具数量、材料、几何参数的确定。 6) 切削参数的确定。 (1) 背吃刀量: 影响背吃刀量的因素有:粗、精车工艺、刀具强度、 机床性能、工件材料及表面粗糙度。 ( 2)进给量:进给量影响表面粗糙度。 影响进给量的因素有: a、 粗、精车工艺。粗车进给量应较大,以缩短切削时间; 精车进给量应较小以降低表面粗超度。一般情况下, 精车进给量小于 0.2mm/r 为宜, 但要考虑刀尖圆弧半径 的影响;粗车进给量大与 0.25mm/r。 b、机床性能。如功率、刚性。 c、 工件的装夹方式。 d、刀具材料及几何形状。 e、 背吃刀量。 f、 工件材料。工件材料较软时,可选择较大进给量;反 之,可选较小进给量。 ( 3)切削速度:切削速度的大小可影响切削效率、切削温 度、刀具耐用度等。 影响切削速度的因素有:刀具材料、工件材料、刀具耐 用度、背吃刀量与进给量、刀具形状、切削液、机床性能。 数学处理 1)编程零点及工件坐标系的确定 世纪星车床数控系统 (HNC-21/22T)编程说明书 68 2)各节点数值计算 其它主要内容 1) 按规定格式编写程序单 2)按“程序编辑步骤”输入程序,并检查程序。 3)修改程序。 综合编程实例 例:编制图 3.3.46 所示零件的加工程序。工艺条件:工件材 质为 45#钢,或铝;毛坯为直径 Φ 54mm,长 200mm 的 棒料;刀具选用: 1 号端面刀加工工件端面, 2 号端面外 圆刀粗加工工件轮廓, 3 号端面外圆刀精加工工件轮廓, 4 号外圆螺纹刀加工导程为 3mm,螺距为 1mm 的三头 螺纹。 图 3.3.46 综合编程实例 Φ 54 2* 45° M 20 × 1 ( 三头 ) 26 33 Φ 42 Φ 30 R2 10 Φ 36 R25 R6 R15 11 20 24 133 12 50 10 Φ 36 Φ 46 Φ 52 1× 45° 世纪星车床数控系统 (HNC-21/22T)编程说明书 69 %3346 N1 T0101 (换一号端面刀,确定其坐标系) N2 M03 S500 (主轴以 400r/min正转) N3 G00 X100 Z80 (到程序起点或换刀点位置) N4 G00 X60 Z5 (到简单端面循环起点位置) N5 G81 X0 Z1.5 F100 (简单端面循环,加工过长毛坯) N6 G81 X0 Z0 (简单端面循环加工,加工过长毛坯) N7 G00 X100 Z80 (到程序起点或换刀点位置) N8 T0202 (换二号外圆粗加工刀,确定其坐标系) N9 G00 X60 Z3 (到简单外圆循环起点位置) N10 G80 X52.6 Z-133 F100 (简单外圆循环,加工过大毛坯直径) N11 G01 X54 (到复合循环起点位置) N12 G71 U1 R1 P16 Q32 E0.3(有凹槽外径粗切复合循环加工) N13 G00 X100 Z80 (粗加工后,到换刀点位置) N14 T0303 (换三号外圆精加工刀,确定其坐标系) N15 G00 G42 X70 Z3 (到精加工始点,加入刀尖园弧半径补偿) N16 G01 X10 F100 (精加工轮廓开始,到倒角延长线处) N17 X19.95 Z-2 (精加工倒 2× 45°角) N18 Z-33 (精加工螺纹外径) N19 G01 X30 (精加工 Z33处端面) N20 Z-43 (精加工Φ 30外圆) N21 G03 X42 Z-49 R6 (精加工 R6圆弧) N22 G01 Z-53 (精加工Φ 42外圆) N23 X36 Z-65 (精加工下切锥面) N24 Z-73 (精加工Φ 36槽径) N25 G02 X40 Z-75 R2 (精加工 R2过渡圆弧) N26 G01 X44 (精加工 Z75处端面) N27 X46 Z-76 (精加工倒 1× 45°角) N28 Z-84 (精加工Φ 46槽径) N29 G02 Z-113 R25 (精加工 R25圆弧凹槽) N30 G03 X52 Z-122 R15 (精加工 R15圆弧) N31 G01 Z-133 (精加工Φ 52外圆) 世纪星车床数控系统 (HNC-21/22T)编程说明书 70 N32 G01 X54 (退出已加工表面,精加工轮廓结束) N33 G00 G40 X100 Z80 (取消半径补偿,返回换刀点位置) N34 M05 (主轴停) N35 T0404 (换四号螺纹刀,确定其坐标系) N36 M03 S200 (主轴以 200r/min正转) N37 G00 X30 Z5 (到简单螺纹循环起点位置) N38G82X19.3Z-20R-3E1C2P120F3(加工两头螺纹,吃刀深 0.7) N39G82X18.9Z-20R-3E1C2P120F3(加工两头螺纹,吃刀深 0.4) N40G82X18.7Z-20R-3E1C2P120F3(加工两头螺纹,吃刀深 0.2) N41G82X18.7Z-20R-3E1C2P120F3(光整加工螺纹) N42 G76C2R-3E1A60X18.7Z-20 K0.65U0.1V0.1Q0.6P240F3 N43 G00 X100 Z80 (返回程序起点位置) N44 M30 (主轴停、 主程序结束并复位) 3.4 宏指令编程 HNC-21/22T 为用户配备了强有力的类似于高级语言的宏程序 功能,用户可以使用变量进行算 术运算、逻辑运算和函数的混合 运算,此外宏程序还提供了循环 语句、分支语句和子程序调用语 句,利于编制各种复杂的零件加 工程序,减少乃至免除手工编程 时进行繁琐的数值计算,以及精简程序量。 3.4.1 宏变量及常量 (1) 宏变量 #0~ #49 当前局部变量 #50~ #199 全局变量 #200~ #249 0 层局部变量 #250~ #299 1 层局部变量 #300~ #349 2 层局部变量 #350~ #399 3 层局部变量 世纪星车床数控系统 (HNC-21/22T)编程说明书 71 #400~ #449 4 层局部变量 #450~ #499 5 层局部变量 #500~ #549 6 层局部变量 #550~ #599 7 层局部变量 #600~ #699 刀具长度寄存器 H0~ H99 #700~ #799 刀具半径寄存器 D0~ D99 #800~ #899 刀具寿命寄存器 #1000“机床当前位置 X” #1001“机床当前位置 Y” #1002“机床当前位置 Z” #1003“机床当前位置 A” #1004“机床当前位置 B” #1005“机床当前位置 C” #1006“机床当前位置 U” #1007“机床当前位置 V” #1008“机床当前位置 W” #1009“直径编程” #1010“程编机床位置 X” #1011“程编机床位置 Y” #1012“程编机床位置 Z” #1013“程编机床位置 A” #1014“程编机床位置 B” #1015“程编机床位置 C” #1016“程编机床位置 U” #1017“程编机床位置 V” #1018“程编机床位置 W” #1019 保留 #1020“程编工件位置 X” #1021“程编工件位置 Y” #1022“程编工件位置 Z” #1023“程编工件位置 A” #1024“程编工件位置 B” #1025“程编工件位置 C” #1026“程编工件位置 U” #1027“程编工件位置 V” #1028“程编工件位置 W” #1029 保留 #1030“当前工件零点 X” #1031“当前工件零点 Y” #1032“当前工件零点 Z” #1033“当前工件零点 A” #1034“当前工件零点 B” #1035“当前工件零点 C” #1036“当前工件零点 U” #1037“当前工件零点 V” #1038“当前工件零点 W” #1039 “坐标系建立轴” #1040“ G54 零点 X” #1041“ G54 零点 Y” #1042“ G54 零点 Z” #1043“ G54 零点 A” #1044“ G54 零点 B” #1045“ G54 零点 C” #1046“ G54 零点 U” #1047“ G54 零点 V” #1048“ G54 零点 W” #1049 保留 #1050“ G55 零点 X” #1051“ G55 零点 Y” #1052“ G55 零点 Z” #1053“ G55 零点 A” #1054“ G55 零点 B” #1055“ G55 零点 C” #1056“ G55 零点 U” #1057“ G55 零点 V” #1058“ G55 零点 W” #1059 保留 #1060“ G56 零点 X” #1061“ G56 零点 Y” #1062“ G56 零点 Z” #1063“ G56 零点 A” #1064“ G56 零点 B” #1065“ G56 零点 C” #1066“ G56 零点 U” #1067“ G56 零点 V” #1068“ G56 零点 W” 世纪星车床数控系统 (HNC-21/22T)编程说明书 72 #1069 保留 #1070“ G57 零点 X” #1071“ G57 零点 Y” #1072“ G57 零点 Z” #1073“ G57 零点 A” #1074“ G57 零点 B” #1075“ G57 零点 C” #1076“ G57 零点 U” #1077“ G57 零点 V” #1078“ G57 零点 W” #1079 保留 #1080“ G58 零点 X” #1081“ G58 零点 Y” #1082“ G58 零点 Z” #1083“ G58 零点 A” #1084“ G58 零点 B” #1085“ G58 零点 C” #1086“ G58 零点 U” #1087“ G58 零点 V” #1088“ G58 零点 W” #1089 保留 #1090“ G59 零点 X” #1091“ G59 零点 Y” #1092“ G59 零点 Z” #1093“ G59 零点 A” #1094“ G59 零点 B” #1095“ G59 零点 C” #1096“ G59 零点 U” #1097“ G59 零点 V” #1098“ G59 零点 W” #1099 保留 #1100“中断点位置 X” #1101“中断点位置 Y” #1102“中断点位置 Z” #1103“中断点位置 A” #1104“中断点位置 B” #1105“中断点位置 C” #1106“中断点位置 U” #1107“中断点位置 V” #1108“中断点位置 W” #1109“坐标系建立轴” #1110 “ G28 中间点位置 X” #1111 “G28中间点位置 Y” #1112“ G28 中间点位置 Z” #1113 “ G28 中间点位置 A” #1114 “G28中间点位置 B” #1115“ G28 中间点位置 C” #1116 “ G28 中间点位置 U” #1117 “G28中间点位置 V” #1118“ G28 中间点位置 W” #1119 “G28屏蔽字 ” #1120 “镜像点位置 X” #1121“镜像点位置 Y” #1122“镜像点位置 Z” #1123 “镜像点位置 A” #1124“镜像点位置 B” #1125“镜像点位置 C” #1126 “镜像点位置 U” #1127“镜像点位置 V” #1128“镜像点位置 W” #1129“镜像屏蔽字” #1130 “旋转中心 (轴 1)” #1131“旋转中心 (轴 2)” #1132“旋转角度” #1133“旋转轴屏蔽字” #1134 保留 #1135“缩放中心 (轴 1)” #1136“缩放中心 (轴 2)” #1137“缩放中心 (轴 3)” #1138“缩放比例” #1139“缩放轴屏蔽字” #1140“坐标变换代码 1” #1141“坐标变换代码 2” #1142“坐标变换代码 3” #1143 保留 #1144“刀具长度补偿号” #1145“刀具半径补偿号” #1146“当前平面轴 1” #1147“当前平面轴 2” #1148“虚拟轴屏蔽字” #1149“进给速度指定” #1150“ G代码模态值 0” #1151“ G代码模态值 1” #1152“ G代码模态值 2” #1153“ G代码模态值 3” #1154“ G代码模态值 4” #1155“ G代码模态值 5 世纪星车床数控系统 (HNC-21/22T)编程说明书 73 #1156“ G代码模态值 6” #1157“ G代码模态值 7” #1158“ G代码模态值 8” #1159“ G代码模态值 9” #1160 “G代码模态值 10” #1161 “G代码模态值 11” #1162 “G代码模态值 12” #1163 “G代码模态值 13” #1164 “G代码模态值 14” #1165 “G代码模态值 15” #1166 “G代码模态值 16” #1167 “G代码模态值 17” #1168 “G代码模态值 18” #1169 “G代码模态值 19” #1170“剩余 CACHE” #1171“备用 CACHE” #1172“剩余缓冲区” #1173“备用缓冲区” #1174 保留 #1175 保留 #1176 保留 #1177 保留 #1178 保留 #1179 保留 #1180 保留 #1181 保留 #1182 保留 #1183 保留 #1184 保留 #1185 保留 #1186 保留 #1187 保留 #1188 保留 #1189 保留 #1190“用户自定义输入” #1191“用户自定义输出” #1192“自定义输出屏蔽” #1193 保留 #1194 保留 #2000~ #2600 复合循环数据区 #2000:轮廓点数 #2001~2100:轮廓线类型 (0: G00, 1:G01, 2:G02, 3:G03) #2101~2200:轮廓点 X(直径方式为直径值;半径方式为半径值 ) #2201~2300:轮廓点 Z #2301~2400:轮廓点 R #2401~2500:轮廓点 I #2501~2600:轮廓点 J (2) 常量 PI:圆周率π TRUE:条件成立 (真 ) FALSE:条件不成立 (假 ) 3.4.2 运算符与表达式 (1) 算术运算符: +,-, *, / (2) 条件运算符 EQ( =) , NE(≠) , GT(>) , 世纪星车床数控系统 (HNC-21/22T)编程说明书 74 GE(≥) , LT(<) , LE(≤) (3) 逻辑运算符 AND, OR, NOT (4) 函数 SIN, COS, TAN, ATAN, ATAN2, ABS, INT, SIGN, SQRT, EXP (5) 表达式 用运算符连接起来的常数,宏变量构成表达式。 例如: 175/SQRT[2] * COS[55 * PI/180 ]; #3*6 GT 14; 3.4.3 赋值语句 格式:宏变量 =常数或表达式 把常数或表达式的值送给一个宏变量称为赋值。 例如: #2 = 175/SQRT[2] * COS[55 * PI/180 ]; #3 = 124.0; 3.4.4 条件判别语句 IF, ELSE, ENDIF 格式 (i): IF条件表达式 … ELSE … ENDIF 格式 (ii) : IF条件表达式 … ENDIF 3.4.5 循环语句 WHILE, ENDW 格式: WHILE 条件表达式 … ENDW 条件判别语句的使用参见宏程序编程举例。 循环语句的使用参见宏程序编程举例。 世纪星车床数控系统 (HNC-21/22T)编程说明书 75 例18 用宏程序编制如图 3.3.39 所示抛物线 Z=X 2 /8 在区间 [0, 16]内的程序。 Z X 图 3.3.39 宏程序编制例图 16 0 32 %8002 #10=0 ; X 坐标 #11=0 ; Z 坐标 N10 G92 X0.0 Z0.0 M03 S600 WHILE #10 LE 16 G90 G01 X[#10] Z[#11] F500 #10=#10+0.08 #11=#10*#10/8 ENDW G00 Z0 M05 G00 X0 M30 世纪星车床数控系统 (HNC-21/22T)编程说明书 76 附表 1 准备功能一览表 G 代码 组 功能 参数(后续地址字) 索引 G00 快速定位 X, Z 3.3.3 节 G01 01 直线插补 同上 G02 顺圆插补 X, Z, I, K, R G03 逆圆插补 同上 G04 00 暂停 P 3.3.6 节 G20 英寸输入 3.3.1 节 G21 08 毫米输入 G28 00 返回到参考点 X, Z 3.3.4 节 G29 由参考点返回 同上 G32 01 螺纹切削 X, Z 3.3.3 节 G40 刀尖半径补偿取消 3.3.5 节 G41 09 左刀补 D G42 右刀补 D G52 00 局部坐标系设定 X, Z 3.3.2 节 G54 3.3.2 节 G55 G56 11 零点偏置 G57 G58 G59 G65 00 宏指令简单调用 P, A~ Z 3.1.1 节 G71 外径 /内径车削复合循环 3.3.8 节 G72 06 端面车削复合循环 X, Z, U, W, P, Q, R G73 闭环车削复合循环 G76 螺纹切削复合循环 G80 内 /外径车削固定循环 X, Z, I, K 3.3.7 节 G81 01 端面车削固定循环 G82 螺纹切削固定循环 G90 13 绝对值编程 3.3.2 节 世纪星车床数控系统 (HNC-21/22T)编程说明书 77 G91 增量值编程 G92 00 工件坐标系设定 X, Z 3.3.2 节 G94 14 每分钟进给 3.3.1 节 G95 每转进给 G36 16 直径编程 3.3.2 节 G37 半径编程 3.3.2 节 注意 : [1] 00 组中的 G 代码是非模态的,其他组的 G 代码是模态的; [2] 标记者为缺省值。 世纪星车床数控系统 (HNC-21/22T)编程说明书 78 附表 2 直径编程注意条件 项 目 注 意 事 项 Z 轴指令 与直径、半径无关 X 轴指令 用直径值指令 坐标系的设定 用直径值指令 圆弧插补的半径指令 ( R、 I、 K) 用半径值指令 X 轴方向的进给速度 半径的变化 /转 半径的变化 /分 X 轴的位置显示 用直径值显示 附录 1 HNC-21T 车削循环宏程序 (1) 车削循环指令的实现及子程序调用的参数传递 HNC-21T 的固定循环指令采用宏程序方法实现,这些宏程序 调用具有模态功能。 由于各数控公司定义的固定循环含义不尽一致,采用宏程序 实现固定循环,用户可按自己的 要求定制固定循环,十分方便。 华中数控随售出的数控装置赠送固定循环宏程序的源代码 staticcy。 为便于用户阅读下面固定循环宏程序的源代码,先介绍一下 HNC-21T 宏程序 /子程序调用的参数传递规则。 G 代码在调用宏 (子程序或固定循环,下同 )时,系统会将当前 程序段各字段 (A~Z 共 26 字段,如果没有定义则为零 )的内容拷贝 到宏执行时的局部变量 #0-#25, 同时拷贝调用宏时当前通道九个轴 的绝对位置 (机床绝对坐标 )到宏执行时的局部变量 #30-#38。 调用一般子程序时,不保存系统模态值,即子程序可修改系统 模态并保持有效;而调用固定循 环时,保存系统模态值,即固定 循环子程序不修改系统模态。 下表列出了宏当前局部变量 #0~#38 所对应的宏调用者传递的 字段参数名。 世纪星车床数控系统 (HNC-21/22T)编程说明书 79 宏当前局部变量 宏调用时所传递的字段名或系统变量 #0 A #1 B #2 C #3 D #4 E #5 F #6 G #7 H #8 I #9 J #10 K #11 L #12 M #13 N #14 O #15 P #16 Q #17 R #18 S #19 T #20 U #21 V #22 W #23 X #24 Y #25 Z #26 固定循环指令初始平面 Z 模态值 #27 不用 #28 不用 #29 不用 #30 调用子程序时轴 0 的绝对坐标 世纪星车床数控系统 (HNC-21/22T)编程说明书 80 #31 调用子程序时轴 1 的绝对坐标 #32 调用子程序时轴 2 的绝对坐标 #33 调用子程序时轴 3 的绝对坐标 #34 调用子程序时轴 4 的绝对坐标 #35 调用子程序时轴 5 的绝对坐标 #36 调用子程序时轴 6 的绝对坐标 #37 调用子程序时轴 7 的绝对坐标 #38 调用子程序时轴 8 的绝对坐标 对于每个局部变量,都可用系统宏 AR[]来判别该变量是否被 定义,是被定义为增量或绝对方式。该系统宏的调用格式如下: AR[#变量号 ] 返回: 0: 表示该变量没有被定义; 90:表示该变量被定义为绝对方式 G90; 91:表示该变量被定义为相对方式 G91。 例:下面的主程序 O1000 在调用子程序 O9990 时,设置了 I、 K 之值,子程序 O9990 可分别通过当前局部变量 #8、 #10 来访问主 程序的 I、 K 之值。 %1000 G92 X0 Z0 M98 P9990 I20 K40 M30 %9990 IF [AR[#8] EQ 0] OR [AR[#10] EQ 0] ; 如果没有定义 I、 K 值, M99 ; 则返回 ENDIF N10 G91 ; 用增量方式编写宏程序 IF AR[#8] EQ 90 ; 如果 I 值是绝对方式 G90 #8=#8-#30 ;将 I 值转换为增量方式 , #30 为 X 的绝对坐标 ENDIF … 世纪星车床数控系统 (HNC-21/22T)编程说明书 81 M99 HNC-21/22T 子程序嵌套调用的深度最多可以有九层,每一层 子程序都有自己独立的局部变量(变量个数为 50) 。当前局部变量 为 #0-#49,第一层局部变量为 #200-#249,第二层局部变量为 #250-#299,第三层局部变量 #300-#349,依此类推。 在子程序中如何确定上层的局部变量,要依上层的层数而定, 例: o0099 g92 X0 Z0 N100 #10=98 M98 P100 M30 o100 N200 #10=100 ;此时 N100所在段的局部变量 #10为第一层 #210 M98 P110 M99 o110 N300 #10=200 ;此时 N200 所在段的局部变量为第二层 #260 ; N100 所在段的局部变量 #10 为第一层 #210 M99 为了更深入地了解 HNC-21/22T 宏程序, 这里给出一个利用小 直线段逼近整园的数控加工程序: O1000 G92 X0 Z0 M98 P2 X-50 Z0 R50 ;宏程序调用,加工整圆 M30 O2 ; 加工整圆子程序,园心为 (X,Z),半径为 R 世纪星车床数控系统 (HNC-21/22T)编程说明书 82 ; X -> #23 Z -> #25 R -> #17 IF [AR[#17] EQ 0] OR [#17 EQ 0] ;如果没有定义 R M99 ENDIF IF [ AR[#23] EQ 0 ] OR [ AR[#25] EQ 0 ] ;如果没有定义圆心 M99 ENDIF #46=#1163 ; 记录模态码 #1163,是 G90 OR G91? G91 ;用相对编程 G91 IF [ AR[#23] EQ 90 ] ;如果 X 为绝对编程方式 #23=#23-#30 ; 则转为相对编程方式 ENDIF IF [ AR[#25] EQ 90 ] ; 如果 Z 为绝对编程方式 #25 = #25-#32 ; 则转为相对编程方式 ENDIF #0=#23+#17*COS[0]; #1=#25+#17*SIN[0]; G01 X[#0] Z[#1]; #10=1 WHILE [#10 LE 100] ;用 100 段小直线逼近圆 #0 = #17*[ COS[#10*2*PI/100]-COS[[#10-1]*2*PI/100] ] #1 = #17*[ SIN[#10*2*PI/100]-SIN[[#10-1]*2*PI/100] ] G01 X[#0] Z[#1] #10=#10+1 ENDW 世纪星车床数控系统 (HNC-21/22T)编程说明书 83 G[#46] ; 恢复模态 M99 (2) 车削循环指令的宏程序实现 下面是 HNC-21/22T 的固定循环宏程序源代码的内容。 %0000 ;" 固定循环宏程序定义 G73,G74,G76,G80,G81,G82; ; _____________________________________________________________ %0080 ; 内(外)径切削循环 G80 宏程序实现源代码 ; 调用本程序之前,必须转动主轴 M03 或 M04 #40 = #1152 IF [AR[#25] EQ 0] OR [AR[#23] EQ 0] ; 如果没有定义 Z值和 X 值, M99 ; 则返回 ENDIF N10 G90 ; 用绝对方式编写宏程序 IF AR[#23] EQ 91 ; 如果 X值是增量方式 G91 #23=#23+#30 ; 则将 X值转换为绝对方式 ; #30 为调用本程序时 X的绝对坐标 ENDIF IF AR[#25] EQ 91 ; 如果 Z值是增量方式 G91 #25=#25+#32 ; 则将 Z值转换为绝对方式 ; #32 为调用本程序时 Z的绝对坐标 ENDIF IF AR[#8] EQ 0 ; 如果 I值没有定义 #8 = 0; ; I=0 ENDIF IF #1009 EQ 0 #41 = 2 ;半径编程 世纪星车床数控系统 (HNC-21/22T)编程说明书 84 ELSE #41 = 1 ;直径编程 ENDIF g01 X[#30*2/#41] Z[#32] #42=[#23+#8]*2/[#41] N20 g00 X[#42]Z[#32] ;移到加工点 #42=[#23]*2/[#41] N30 G01 Z[#25]X[#42] #42=[#30]*2/[#41] N40 G01 X[#42] ;加工 N50 G00 Z[#32] ;返回初始点 G[#40] M99 ; _____________________________________________________________ %0081 ; 端面切削循环 G81 宏程序实现源代码 ; 调用本程序之前,必须转动主轴 M03 或 M04 #40=#1152 IF [AR[#25] EQ 0] OR [AR[#23] EQ 0] ; 如果没有定义 Z值和 X 值 M99 ; 则返回 ENDIF N10 G90 ; 用绝对方式编写宏程序 IF AR[#23] EQ 91 ; 如果 X值是增量方式 G91 #23=#23+#30 ; 则将 X值转换为绝对方式 ; #30 为调用本程序时 X的绝对坐标 ENDIF 世纪星车床数控系统 (HNC-21/22T)编程说明书 85 IF AR[#25] EQ 91 ; 如果 Z值是增量方式 G91 #25=#25+#32 ; 则将 Z值转换为绝对方式 ; #32 为调用本程序时 Z的绝对坐标 ENDIF IF AR[#10] EQ 0 ; 如果 K值没有定义 #10 = 0 ; K=0 ENDIF IF #1009 EQ 0 ; #41 = 2 ;半径编程 ELSE #41 = 1 ;直径编程 ENDIF G90g01 X[#30*2/#41] Z[#32] N20 G00 X[#30*2/#41] Z[#25+#10] ;移到加工点 #42=[#23]*2/[#41] ; N30 G01 X[#42]Z[#25] N40 G01 Z[#32] ;加工 #42=[#30]*2/[#41] ; N50 G00 X[#42] ;返回初始点 G[#40] M99 ; _____________________________________________________________ %0082 ;螺纹切削循环 G82 宏程序实现源代码 ;调用本程序之前,必须转动主轴 M03 或M04 #40=#1152 IF [AR[#25] EQ 0] OR [AR[#23] EQ 0] ; 如果没有定义 Z值和 X 值 M99 ; 则返回 世纪星车床数控系统 (HNC-21/22T)编程说明书 86 ENDIF IF AR[#5] EQ 0 ; 如果螺距 F值没有定义 M99 ; 返回 ENDIF N10 G90 ; 用绝对方式编写宏程序 IF AR[#23] EQ 91 ; 如果 X值是增量方式 G91 #23=#23+#30 ; 则将 X值转换为绝对方式 ; #30 为 X的绝对坐标 ENDIF IF AR[#25] EQ 91 ; 如果 Z值是增量方式 G91 #25=#25+#32 ; 则将 Z值转换为绝对方式 ; #32 为 Z的绝对坐标 ENDIF IF AR[#8] EQ 0 ; 如果 I值没有定义 #8 = 0; ENDIF IF AR[#4] EQ 0 ; 如果 X向退尾量 E 值没有定义 #4 = 0 ; ENDIF IF AR[#17] EQ 0 ; 如果 Z向退尾量 R 值没有定义 #17 = 0; ENDIF IF AR[#2] EQ 0 ; 如果螺纹头数没有定义 #2 = 1 ; 则为单头 ENDIF IF [[#2 LT 2] or [#2 GT 99]] #2 = 1; 世纪星车床数控系统 (HNC-21/22T)编程说明书 87 ENDIF IF AR[#15] EQ 0 ; 如果多头螺纹间距角没有定义 #15 = 0 ; 则为 0 ENDIF #28 = 0; IF [#2 EQ 1] #28 = #15 ; 起始角度 #15 = 0 ENDIF IF #1009 EQ 0 ; #41 = 2 ;半径编程 ELSE #41 = 1 ;直径编程 ENDIF G90g01 X[#30*2/#41] Z[#32] WHILE [#2 GE 1] #42=[#23+#8]*2/[#41] ; N20 G00 X[#42] Z[#32] ;移到加工点 #42=[#23]*2/[#41] ; N30 G32 X[#42] Z[#25] E[#4] R[#17] P[#28] F[#5] #42=[#30]*2/[#41] ; N40 G01 X[#42] Z[#25+#17] ;加工 N50 G00 Z[#32] ;返回初始点 #2 = #2 -1 #28 = #28 +#15; ENDW G[#40] M99 世纪星车床数控系统 (HNC-21/22T)编程说明书 88 ; _____________________________________________________________ %0071 ;内(外)径粗车削复合循环 G71 宏程序实现源代码 ;调用本程序之前,必须转动主轴 M03 或M04 IF [AR[#20] EQ 0] OR [AR[#17] EQ 0] ; 若没有定义切削深度 U 和退刀量 R M99 ; 则返回 ENDIF IF [AR[#23] EQ 0] OR [AR[#25] EQ 0] ; 如果没有定义 X值和 Z 值 M99 ; 则返回 ENDIF IF [#20 LE 0] OR [#17 LE 0] ; 如果 U、R 小于零 M99 ; 则返回 ENDIF #49 = #1152 ;保存 G 值 IF #1009 EQ 0 ; #41 = 2 ;半径编程 ELSE #41 = 1 ;直径编程 ENDIF G90g01 X[#30*2/#41] Z[#32] #0=0 #1=#2000 ;点数 IF #1 LE 1 ;点数小于等于 1,直接返回 M99; ENDIF #2=[#20+#17]*2/[#41] ;每次的进刀量 U+R IF [#30*2/#41] GT #2101 ;进刀方向判断 X> #2=-#2 ENDIF 世纪星车床数控系统 (HNC-21/22T)编程说明书 89 #3=[#17]*2/[#41] ;X 方向每次的退刀量 R IF [#23 LT 0] ;退刀方向判断: 退刀方向为负 #3=-#17 ENDIF #4=#17 ;Z 方向每次的退刀量 IF [#25] LT 0 ;退刀方向判断: Z<0 时 #4=-#17 ;退刀方向为负 ENDIF #5=[#30+#23]*2/[#41] ;当前 X 的绝对坐标 #12=#32+#25 ;当前 Z 的绝对坐标 N20 G00 G90 X[#5] Z[#12] ;移到C点 #5 = #5 + #2 ;下一步要移到的 X位置 #40 = 1; IF [#[2100+#1] GE #[2101]] ; #40 = -1 ;X递减 ELSE #40 = 1 ;X 递增 ENDIF IF [#5 GT [#[2100+#1]+[#23]*2/#41]] AND [#40 EQ [-1]] ; 第一点 X 和当前 X相差较远 #5 = #[2100+#1]+[#23]*2/#41 ELSE IF [#5 LT [#[2100+#1]+[#23]*2/#41]] AND [#40 EQ 1] #5 = #[2100+#1]+[#23]*2/#41 ENDIF ENDIF WHILE [[#1] GT 1] #6=#[2100+#1]+[#23]*2/#41 ;前一点 X的绝对坐标 #7=#[2200+#1]+#25 ;前一点 Z的绝对坐标 #8=#[2100+#1-1]+[#23]*2/#41 ;下一点 X的绝对坐标 #9=#[2200+#1-1]+#25 ;下一点 Z的绝对坐标 WHILE [[[#5 GE #8] AND [#5 LE #6]] OR [[#5 LE #8] AND [#5 GE #6]] ] 世纪星车床数控系统 (HNC-21/22T)编程说明书 90 ; X 在两点之间,有交点 #10=#[2000+#1] IF #10 LT 2 ; 直线 IF #6 EQ #8 #11=#7 ELSE #11 = #7+[#9-#7]*[#5-#6]/[#8-#6] ; 交点 Z ENDIF ELSE ;圆弧 #43=#8*#41/2+[#[2400+#1]] #44=#9+#[2500+#1] #45=[#[2300+#1]] ;R值 #47=[#5*#41/2]-#43 #46=[#45*#45]-[#47*#47] IF [#46 LT 0] #46 = 0 ENDIF ; x0=x2+i; ; z0=z2+k; ; *result=z0-sqrt(r*r-(y-x0)*(y-x0)); IF #10 EQ 2 ;顺时针 #11 = #44+[#40*SQRT[#46]] ; 交点 Z ELSE ; *result=z0+sqrt(r*r-(y-x0)*(y-x0)); #11 = #44-[#40*SQRT[#46]] ENDIF ENDIF G00 X[#5] ;移到加工点 G01 Z[#11] ;加工到交点 #5 = #5 + #3 ;下一步要移到的 X位置 #11 = #11 + #4 ;下一步要移到的 Z位置 G00 X[#5] Z[#11] ;退刀 G00 Z[#12] ;返回 #5 = #5 + #2 ;下移X值 世纪星车床数控系统 (HNC-21/22T)编程说明书 91 ENDW #1 = #1 -1; ENDW ;采用绝对方式沿轨迹[留有精加工余量]加工最后一次 #0=1 WHILE #0 LE #2000 #10=#[2000+#0] #11=#[2100+#0]+[#23]*2/[#41] ;加 X方向的精加工余量必须考虑 ;直径编程问题 #12=#[2200+#0] + [#25] ;加 Z方向的精加工余量 #13=#[2300+#0] IF #10 LT 2 ;直线 G[#10] X[#11] Z[#12] ELSE ; 圆弧 G[#10] X[#11] Z[#12] R[#13] ENDIF #0=[#0]+1 ENDW #5 = [#30]*2/[#41] ; 初始点 X 值必须考虑直径编程问题 G00 X[#5] Z[#32] ; 回到初始点 G[#49] ; G90G91 模态恢复 M99 ; _____________________________________________________________ %0072 ;端面粗车削复合循环 G72 宏程序实现源代码 ;调用本程序之前,必须转动主轴 M03 或M04 IF [AR[#22] EQ 0] OR [AR[#17] EQ 0] ;没有定义切削深度和退刀量 M99 ;则返回 ENDIF 世纪星车床数控系统 (HNC-21/22T)编程说明书 92 IF [AR[#23] EQ 0] OR [AR[#25] EQ 0] ;如果没有定义 X 值和 Z值 M99 ;则返回 ENDIF IF [#22 LE 0] OR [#17 LE 0] M99 ;如果 W、R 小于零,则返回 ENDIF #49 = #1152 IF [#1009 EQ 0] #41 = 2 ;半径编程 ELSE #41 = 1 ;直径编程 ENDIF G90g01 X[#30*2/#41] Z[#32] #0=0 #1=#2000 ;点数 IF #1 LE 1 ;点数小于等于 1,直接返回 M99 ENDIF #2=[#22+#17] ;每次的进刀量 W+R IF #32 GT #2201 ;进刀方向判断 Z> #2=-#2 ENDIF #3=[#17]*2/[#41] ;X 方向每次的退刀量 R IF [#23 LT 0] ;退刀方向判断: X<0 时 #3=-#17 ;退刀方向为负 ENDIF #4=#17 ;Z 方向每次的退刀量 IF #25 LT 0 ;退刀方向判断: Z<0 时 #4=-#17 ;退刀方向为负 ENDIF 世纪星车床数控系统 (HNC-21/22T)编程说明书 93 #5=[#30+#23]*2/[#41] ;当前 X 的绝对坐标 #12=#32+#25 ;当前 Z 的绝对坐标 N20 G00 G90 X[#5] Z[#12] ;移到C点 #12 = #12 + #2 ;下一步要移到的 Z位置 #40 = 1; IF [#[2200+#1] GE #[2201]] #40 = -1; ;Z 递减 ELSE #40 = 1; ;Z递增 ENDIF IF [#12 GT [#[2200+#1]+[#25]]] AND [#40 EQ [-1]] ;第一点 Z和当前 Z相差较远 #12 = #[2200+#1]+[#25] ELSE IF [#12 LT [#[2200+#1]+[#25]]] AND [#40 EQ 1] #12 = #[2200+#1]+[#25] ENDIF ENDIF WHILE [[#1] GT 1] #6=#[2100+#1]+[#23]*2/#41 ;前一点 X的绝对坐标 #7=#[2200+#1]+#25 ;前一点 Z的绝对坐标 #8=#[2100+#1-1]+[#23]*2/#41 ;下一点 X的绝对坐标 #9=#[2200+#1-1]+#25 ;下一点 Z的绝对坐标 WHILE [ [[#12 GE #9] AND [#12 LE #7]] OR [[#12 LE #9] AND [#12 GE #7]] ] ;Z 在两点之间,有交点 #10=#[2000+#1] IF #10 LT 2 ;直线 IF #7 EQ #9 #11=#6 ELSE ;*result = x1+(x2-x1)*(y-z1)/(z2-z1); #11=#6+[#8-#6]*[#12-#7]/[#9-#7] ENDIF ;交点 X ELSE ;圆弧 世纪星车床数控系统 (HNC-21/22T)编程说明书 94 #43=#8+[#[2400+#1]*2/#41] #44=#9+#[2500+#1] #45=#[2300+#1] ;R 值 #46=[#45*#45]-[[#12-#44]*[#12-#44]] IF [#46 LT 0] #46 =0; ENDIF ; x0=x2+i; ; z0=z2+k; ; *result=x0+sqrt(r*r-(y-z0)*(y-z0)); IF #10 EQ 2 ;顺时针,交点 X #11=#43-[#40*SQRT[#46]*2/#41] ELSE ; *result=x0-sqrt(r*r-(y-z0)*(y-z0)); #11 = #43+[#40*SQRT[#46]*2/#41] ENDIF ENDIF G00 Z[#12] ;移到加工点 G01 X[#11] ;加工到交点 #12 = #12 + #4 ;下一步要移到的 Z位置 #11 = #11 + #3 ;下一步要移到的 X位置 G00 X[#11] Z[#12] ;退刀 G00 X[#5] ;返回 #12 = #12 + #2 ;下移 X 值 ENDW #1 = #1 -1; ENDW ;采用绝对方式沿轨迹加工最后一次 #0=1 WHILE #0 LE #2000 #10=#[2000+#0] #11=#[2100+#0] + [#23]*2/[#41] #12=#[2200+#0] + [#25] 世纪星车床数控系统 (HNC-21/22T)编程说明书 95 #13=#[2300+#0] IF #10 LT 2 ;直线 G[#10] X[#11] Z[#12] ELSE G[#10] X[#11] Z[#12] R[#13] ENDIF #0=[#0]+1 ENDW #5 = [#30]*2/[#41] ;初始点 X值必须考虑直径编程 G00 X[#5] Z[#32] ;回到初始点 G[#49] M99 ; _____________________________________________________________ %0073 ;封闭轮廓循环 G73 宏程序实现源代码 ;调用本程序之前,必须转动主轴 M03 或M04 IF [AR[#22] EQ 0] OR [AR[#17] EQ 0] OR [AR[#20] EQ 0] ;如果没有定义切削深度 U、W、循环次数 R M99 ;则返回 ENDIF IF [AR[#23] EQ 0] OR [AR[#25] EQ 0] ;如果没有定义 X 值和 Z值 M99 ;则返回 ENDIF IF #17 LE 0 M99 ;如果 R 小于等于零,则返回 ENDIF #49 = #1152 IF #1009 EQ 0 世纪星车床数控系统 (HNC-21/22T)编程说明书 96 #41 = 2 ;半径编程 ELSE #41 = 1 ;直径编程 ENDIF G90g01 X[#30*2/#41] Z[#32] #0=#17 #1=1 #2=[#30+#23+#20]*2/#41 ;当前 X 坐标,即 A1 点 X值 #3=#32+#25+#22 ;当前 Z 坐标,即 A1 点 Z值 G90 G00 X[#2] Z[#3] ;移到 A1 点 WHILE #0 GT 0 WHILE #1 LE #2000 #4=[[#20*2/#41]/#17] ;X 方向的进给量 #5=[#22/#17] ;Z 方向的进给量 #6=#[2100+#1]+[#23]*2/[#41]+[#4*#0] ;下一点 X的坐标 #7=#[2200+#1]+#25+[#5*#0] ;下一点 Z的坐标 #8=#[2000+#1] ;G 值 #9=#[2300+#1] ;R 值 IF #8 LT 2 ;直线 G[#8] X[#6] Z[#7] ELSE G[#8] X[#6] Z[#7] R[#9] ENDIF #1=#1+1 ENDW #2=#2-[[#20*2/#41]/#17]; #3=#3-[#22/#17] G00 X[#2] Z[#3] ;移到下一个起始点 #1=1 #0=#0-1 ENDW 世纪星车床数控系统 (HNC-21/22T)编程说明书 97 #0=1 WHILE #0 LE #2000 ;最后一次 #9=#[2000+#0] #10=#[2300+#0] #6=#[2100+#0]+[#23]*2/[#41]; ;有精加工余量的下一点 X #7=#[2200+#0]+[#25] ;有精加工余量的下一点 Z IF #9 LT 2 ;直线 G[#9] X[#6] Z[#7] ELSE G[#9] X[#6] Z[#7] R[#10] ENDIF #0=#0+1 ENDW #5 = [#30]*2/[#41] ;初始点 X值必须考虑直径编程 G00 X[#5] Z[#32] ;回到初始点 G[#49] M99 ; _____________________________________________________________ %0076 ;螺纹切削复合循环 G76 宏程序实现源代码 ;调用本程序之前,必须转动主轴 M03 或M04 IF [AR[#0] EQ 0] ;如果没有定义刀尖角度 A 值 M99 ;则返回 ENDIF IF [AR[#23] EQ 0] OR [AR[#25] EQ 0] ;如果没有定义 X 值和 Z值 M99 ;则返回 ENDIF IF [AR[#10] EQ 0] ;如果没有定义 K 值 M99 ;则返回 世纪星车床数控系统 (HNC-21/22T)编程说明书 98 ENDIF IF [AR[#20] EQ 0] OR [AR[#21] EQ 0] OR [AR[#16] EQ 0] ;如果没有定义 U 值、V 值和 Q值 M99 ;则返回 ENDIF IF [AR[#5] EQ 0] ;如果没有定义 F 值,则返回 M99 ENDIF IF [AR[#17] EQ 0] ;如果没有定义退尾长度 R 值 #17 = 0 ;退尾长度为零 ENDIF ;IF [#17 GT 99] OR [#17 LT 0] ;如果退尾长度大于 99 或小于 0 ; M99 ;则返回 ;ENDIF IF [AR[#2] EQ 0] ;如果没有定义精整次数 C 值 #2 = 1 ;精整次数为零 ENDIF IF [#2 GT 99] OR [#2 LT 0] ;若精整次数 R大于 99 或小于 0 M99 ;则返回 ENDIF IF [AR[#8] EQ 0] ;如果没有定义螺纹锥度 I 值 #8 = 0 ;则 I=0 ENDIF IF [#0 LT 10] OR [#0 GT 80] ;若刀尖角度 A小于 10 或大于 80 M99 ;则返回 ENDIF IF AR[#4] EQ 0 ;如果 X 向退尾量 E 值没有定义 世纪星车床数控系统 (HNC-21/22T)编程说明书 99 #4 = #10; ENDIF IF AR[#15] EQ 0 ;如果多头螺纹间距角没有定义 #15 = 0 ;则为 0 ENDIF IF [#1009 EQ 0] #39 = 2 ;半径编程 ELSE #39 = 1 ;直径编程 ENDIF G90g01 X[#30*2/#39] Z[#32] N10 G90 ;用绝对方式编写宏程序 IF AR[#23] EQ 91 ;如果 X 值是增量方式 G91 #23=#23+#30 ;则将 X 值转换为绝对方式 ;#30 为调用本程序时 X的绝对坐标 ENDIF IF AR[#25] EQ 91 ;如果 Z 值是方式 G91 #25=#25+#32 ;则将 Z 值转换为绝对增量方式 ;#32 为调用本程序时 Z的绝对坐标 ENDIF IF[#30 GT #23] ;进给方向确定 #27 = -1 ELSE #27 = 1 ENDIF IF[#32 GT #25] #28 = -1 ELSE #28 = 1 ENDIF 世纪星车床数控系统 (HNC-21/22T)编程说明书 100 #47=INT[[#10/#16]*[#10/#16]] ;算出N值 #48=1 #49=#47 #1=#0/2*PI/180 ;K<Q*sqrt(n) WHILE #49 GT 1 #40=#16*[SQRT[#48]] ;X 方向切削深度 #41=#16*[SQRT[#48-1]] IF [#40-#41] LT #21 ;如果一次切削深度小于 V 值 #40=#41+#21 ;则设定为 V 值 #47=0 #42=#40*[TAN[#1]] ;Z 方向切削深度 WHILE #40 LT #10 #38=[#30+[#27]*[#40]]*2/#39 G90 G00 X[#38] Z[#32+[#28]*#42] ;沿牙坡移动 #38=[#23+#8+#10+#20+[#27]*[#40]]*2/#39 G00 X[#38] ;移到螺纹起点 #38=[#23+#10+#20+[#27]*[#40]]*2/#39 G32 X[#38] Z[#25+[#28]*#42] E[#4] P[#15] R[#17] F[#5] ;加工螺纹 G00 X[[#30]*2/#39] Z[#32] ;回到 A 点 #40=#40+#21 #42=#40*[TAN[#1]] ;Z 方向切削深度 ENDW #40=#10 #47=0 #42=#40*[TAN[#1]] ;Z 方向切削深度 WHILE #47 LT #2 ;精加工 #38=[#30+[#27]*[#40]]*2/#39 G90 G00 X[#38] Z[#32+[#28]*#42] ;沿牙坡移动 #38=[#23+#8+#10+#20+[#27]*[#40]]*2/#39 G00 X[#38] ;移到螺纹起点 #38=[#23+#10+#20+[#27]*[#40]]*2/#39 G32 X[#38] Z[#25+[#28]*#42] E[#4] P[#15] R[#17] F[#5] 世纪星车床数控系统 (HNC-21/22T)编程说明书 101 ;加工螺纹 G00 X[[#30]*2/#39] Z[#32] ;回到 A 点 #47=#47+1 ENDW M99 ENDIF #42=#40*[TAN[#1]] ;Z 方向切削深度 #38=[#30+[#27]*[#40]]*2/#39 G90 G00 X[#38] Z[#32+[#28]*#42] ;沿牙坡移动 #38=[#23+#8+#10+#20+[#27]*[#40]]*2/#39 G00 X[#38] ;移到螺纹起点 #38=[#23+#10+#20+[#27]*[#40]]*2/#39 G32 X[#38] Z[#25+[#28]*#42] E[#4] P[#15] R[#17] F[#5] ;加工螺纹 G00 X[[#30]*2/#39] Z[#32] ;回到 A 点 #48=#48+1 #49=#49-1 ENDW M99