当前位置: 首页 > >

FANUC_O加工中心编程说明书

发布时间:

57 第一篇:编程 1. 综述 1.1 可编程功能 1.2 准备功能 1.3 辅助功能 2. 插补功能 2.1 快速定位(G00) 2.2 直线插补(G01) 2.3 圆弧插补(G02/G03) 3. 进给功能 3.1 进给速度 3.2 自动加减速控制 3.3 切削方式(G64) 3.4 精确停止(G09)及精确停止方式(G61) 3.5 暂停( G04 ) 4. 参考点和坐标系 4.1 机床坐标系 4.2 关于参考点的指令( G27、G28、G29 及 G30 ) 4.2.1 自动返回参考点(G28) 4.2.2 从参考点自动返回(G29) 4.2.3 参考点返回检查(G27) 4.2.4 返回第二参考点(G30) 4.3 工件坐标系 4.3.1 选用机床坐标系(G53) 4.3.2 使用预臵的工件坐标系(G54~G59) 4.3.3 可编程工件坐标系(G92) 4.3.4 局部坐标系(G52) 4.4 *面选择 5. 坐标值和尺寸单位 5.1 绝对值和增量值编程(G90 和 G91) 6. 辅助功能 6.1 M 代码 6.1.1 程序控制用 M 代码 6.1.2 其它 M 代码 6.2 T 代码 16 6.3 主轴转速指令(S 代码) 6.4 刚性攻丝指令(M29) 7. 程序结构 7.1 程序结构 7.1.1 纸带程序起始符(Tape Start) 7.1.2 前导(Leader Section) 7.1.3 程序起始符(Program Start) 7.1.4 程序正文(Program Section) 7.1.5 注释(Comment Section) 5 5 5 5 6 7 7 8 8 9 9 10 10 10 10 11 11 11 11 11 11 12 13 13 13 14 14 14 15 15 15 15 15 16

16 16 16 16 17 17 17 17 17

7.1.6 程序结束符(Program End) 7.1.7 纸带程序结束符(Tape End) 7.2 程序正文结构 7.2.1 地址和词 7.2.2 程序段结构 7.2.3 主程序和子程序 8. 简化编程功能 8.1 孔加工固定循环(G73,G74,G76,G80~G89) 8.1.1 G73(高速深孔钻削循环) 8.1.2 G74(左螺纹攻丝循环) 8.1.3 G76(精镗循环) 8.1.4 G80(取消固定循环) 8.1.5 G81(钻削循环) 8.1.6 G82(钻削循环,粗镗削循环) 8.1.7 G83(深孔钻削循环) 8.1.8 G84(攻丝循环) 8.1.9 G85(镗削循环) 8.1.10 G86(镗削循环) 8.1.11 G87(反镗削循环) 8.1.12 G88(镗削循环) 8.1.13 G89(镗削循环) 8.1.14 刚性攻丝方式 8.1.15 使用孔加工固定循环的注意事项 9. 刀具补偿功能 9.1 刀具长度补偿(G43,G44,G49) 9.2 刀具半径补偿 9.2.1 补偿向量 9.2.2 补偿值 9.2.3 *面选择 9.2.4 G40、G41 和 G42 9.2.5 使用刀具半径补偿的注意事项 第二篇:NC 操作 1. 自动执行程序的操作 1.1 CRT/MDI 操作面板 1.1.1 软件键 1.1.2 系统操作键 1.1.3 数据输入键 1.1.4 光标移动键 1.1.5 编辑键和输入键 1.1.6 NC 功能键 1.1.6 电源开关按钮 1.2 MDI 方式下执行可编程指令 1.3 自动运行方式下执行加工程序 1.3.1 启动运行程序

57

17 17 17 17 18 18 20 20 23 24 24 25 25 25 26 26 27 27 27 28 28 29 29 30 30 30 30 30 30 30 31 32 32 32 32 32 32 32 32 32 32 33 33 33

1.3.2 停止运行程序 2. 程序验证和安全功能 2.1 程序验证功能 2.1.1 机床闭锁 2.1.2 Z 轴闭锁 2.1.3 自动进给的倍率 2.1.4 快速进给的倍率 2.1.5 试运行 2.1.6 单程序段运行 2.2 安全功能 2.2.1 紧急停止 2.2.2 超程检查 3. 零件程序的输入、编辑和存储 3.1 新程序的注册 3.2 搜索并调出程序 3.3 插入一段程序 3.4 删除一段程序 3.5 修改一个词 3.6 搜索一个词 4. 数据的显示和设定 4.1 刀具偏臵值的显示和输入 4.2 G54~G59 工件坐标系的显示和输入 4.3 NC 参数的显示和设定 4.4 刀具表的修改 5. 显示功能 5.1 程序显示 5.2 当前位臵显示 6.在线加工功能 6.1 有关参数的修改: 6.2 有关在线加工的操作. 7.机床参数的输入 ﹑输出 8.用户宏 B 功能 8.1 变量 8.1.1 变量概述 8.1.2 系统变量 8.2 算术和逻辑操作 8.3 分支和循环语句 8.3.1 无条件分支(GOTO 语句) 8.3.2 条件分支(IF 语句) 8.3.3 循环(WHILE 语句) 8.3.4 注意 8.4 宏调用 8.4.1 简单调用(G65) 8.4.2、模调用(G66、G67)

57

33 33 33 33 33 34 34 34 34 34 34 34 34 34 34 35 35 35 35 36 36 36 36 37 37 37 37 38 38 38 38 41 41 41 42 47 48 48 48 49 49 50 50 51

8.4.3 G 码调用宏 8.4.4、M 码调用宏 8.4.5 M 码调用子程序 8.4.6 T 码调用子程序 8.5 附加说明 附录 1:报警代码表 1. 2. 3. 4. 程序报警(P/S 报警) 伺服报警 超程报警 过热报警及系统报警

57

52 53 53 53 53 55 55 56 57 57

附录 2:CRT/MDI 面板图

错误!未定义书签。

第一篇:编程 1. 综述 1.1 可编程功能

57

通过编程并运行这些程序而使数控机床能够实现的功能我们称之为可编程功能。 一 般可编程功能分为两类: 一类用来实现刀具轨迹控制即各进给轴的运动, 如直线/圆弧插 补、进给控制、坐标系原点偏臵及变换、尺寸单位设定、刀具偏臵及补偿等,这一类功 能被称为准备功能,以字母 G 以及两位数字 组成,也被称为 G 代码。另一类功能被称 为辅助功能,用来完成程序的执行控制、主轴控制、刀具控制、辅助设备控制等功能。 在这些辅助功能中,Tx x 用于选刀,Sx x x x 用于控制主轴转速。其它功能由以字母 M 与 两位数字组成的 M 代码来实现。 1.2 准备功能 本机床使用的所有准备功能见表 1.1: 表 1.1 G 代码 *G00 *G01 G02 G03 G04 G09 *G17 G18 G19 G27 G28 G29 G30 *G40 G41 G42 G43 G44 *G49 G52 G53 *G54 G55 G56 G57 G58 G59 分组 01 01 01 01 00 00 02 02 02 00 00 00 00 07 07 07 08 08 08 00 00 14 14 14 14 14 14 功能 定位(快速移动) 直线插补(进给速度) 顺时针圆弧插补 逆时针圆弧插补 暂停,精确停止 精确停止 选择 X Y *面 选择 Z X *面 选择 Y Z *面 返回并检查参考点 返回参考点 从参考点返回 返回第二参考点 取消刀具半径补偿 左侧刀具半径补偿 右侧刀具半径补偿 刀具长度补偿+ 刀具长度补偿- 取消刀具长度补偿 设臵局部坐标系 选择机床坐标系 选用 1 号工件坐标系 选用 2 号工件坐标系 选用 3 号工件坐标系 选用 4 号工件坐标系 选用 5 号工件坐标系 选用 6 号工件坐标系

57 G60 00 单一方向定位 G61 15 精确停止方式 *G64 15 切削方式 G65 00 宏程序调用 G66 12 模态宏程序调用 *G67 12 模态宏程序调用取消 G73 09 深孔钻削固定循环 G74 09 反螺纹攻丝固定循环 G76 09 精镗固定循环 *G80 09 取消固定循环 G81 09 钻削固定循环 G82 09 钻削固定循环 G83 09 深孔钻削固定循环 G84 09 攻丝固定循环 G85 09 镗削固定循环 G86 09 镗削固定循环 G87 09 反镗固定循环 G88 09 镗削固定循环 G89 09 镗削固定循环 *G90 03 绝对值指令方式 *G91 03 增量值指令方式 G92 00 工件零点设定 *G98 10 固定循环返回初始点 G99 10 固定循环返回 R 点 从表 1.1 中我们可以看到,G 代码被分为了不同的组,这是由于大多数的 G 代码是 模态的,所谓模态 G 代码,是指这些 G 代码不只在当前的程序段中起作用,而且在以后 的程序段中一直起作用,直到程序中出现另一个同组的 G 代码为止,同组的模态 G 代码 控制同一个目标但起不同的作用,它们之间是不相容的。00 组的 G 代码是非模态的,这 些 G 代码只在它们所在的程序段中起作用。标有*号的 G 代码是上电时的初始状态。对 于 G01 和 G00、G90 和 G91 上电时的初始状态由参数决定。 如果程序中出现了未列在上表中的 G 代码,CNC 会显示 10 号报警。 同一程序段中可以有几个 G 代码出现,但当两个或两个以上的同组 G 代码出现时, 最后出现的一个(同组的)G 代码有效。 在固定循环模态下,任何一个 01 组的 G 代码都将使固定循环模态自动取消,成为 G80 模态。 1.3 辅助功能 本机床用 S 代码来对主轴转速进行编程,用 T 代码来进行选刀编程,其它可编程辅 助功能由 M 代码来实现,本机床可供用户使用的 M 代码列表如下(表 1.2): 表 1.2 M 代码 功 能 M00 程序停止 M01 条件程序停止 M02 程序结束 M03 主轴正转

M04 M05 M06 M08 M09 M18 M19 M29 M30 M98 M99

主轴反转 主轴停止 刀具交换 冷却开 冷却关 主轴定向解除 主轴定向 刚性攻丝 程序结束并返回程序头 调用子程序 子程序结束返回/重复执行

57

一般地,一个程序段中,M 代码最多可以有一个。 2. 插补功能 2.1 快速定位(G00) G00 给定一个位臵。 格式:G00 IP?; IP?在本说明书中代表任意不超过三个进给轴地址的组合,当然,每个地 址后面都会有一个数字作为赋给该地址的值, 一般机床有三个或四个进给轴即 X,Y,Z ,A 所以 IP?可以代表如 X12. Y119. Z-37. 或 X287.3 Z73.5 A45. 等等内容。 G00 这条指令所作的就是使刀具以快速的速率移动到 IP?指定的位臵,被指令的各 G00 指令下, 轴之间的运动是互不相关的, 也就是说刀具移动的轨迹不一定是一条直线。 快速倍率为 100%时,各轴运动的速度:X、Y、Z 轴均为 15m/min,该速度不受当前 F 值 CNC 认为该程序段已经结束, 的控制。 当各运动轴到达运动终点并发出位臵到达信号后, 并转向执行下一程序段。 位置到达信号:当运动轴到达的位置与指令位置之间的距离小于参数指 CNC 认为该轴已到达指令位置,并发出一个相应信号即该轴 定的到位宽度时, 的位置到达信号。 G00 编程举例: 起始点位臵为 X-50,Y-75. ;指令 G00 X150. Y25.;将使刀具走出下图所示轨迹(图 2.1)。

57

图 2.1 2.2 直线插补(G01) 格式:G01 IP-F-; G01 指令使当前的插补模态成为直线插补模态, 刀具从当前位臵移动到 IP 指定的位 Z 臵, 其轨迹是一条直线,F-指定了刀具沿直线运动的速度,单位为 mm/min(X、Y、 轴)。 该指令是我们最常用的指令之一。 假设当前刀具所在点为 X-50. Y-75.,则如下程序段 N1 G01 X150. Y25. F100 ; N2 X50. Y75.; 将使刀具走出如下图(图 2.2)所示轨迹。

大家可以看到,程序段 N2 并没有指令 G01,由于 G01 指令为模态指令,所以 N1 程 序段中所指令的 G01 在 N2 程序段中继续有效,同样地,指令 F100 在 N2 段也继续有效, 即刀具沿两段直线的运动速度都是 100mm/min。 2.3 圆弧插补(G02/G03) 下面所列的指令可以使刀具沿圆弧轨迹运动: 在 X--Y *面 G17 { G02 / G03 } X__ Y__ { ( I__ J__ ) / R__ } F__ ; 在 X--Z *面 G18 { G02 / G03 } X__ Z__ { ( I__ K__ ) / R__ } F__ ; 在 Y--Z *面

G19 { G02 / G03 } Y__ Z__ { ( J__ K__ ) / R__ } F__ ; 序号 数据内容 令 G17 G18 G19 G02 G03 X、Y、Z 中的两轴指令 指

57

含 义 指定 X--Y *面上的圆弧插补 1 *面选择 指定 X--Z *面上的圆弧插补 指定 Y--Z *面上的圆弧插补 2 圆弧方向 顺时针方向的圆弧插补 逆时针方向的圆弧插补 G90 模态 当前工件坐标系中终点位臵的坐 3 终点 标值 位臵 G91 模态 X、Y、Z 中的两轴指令 从起点到终点的距离?有方向的? 4 起点到圆心的距离 I、J、K 中的两 轴指令 从起点到圆心的距离?有方向的? R 圆弧半径 圆弧半径 5 进给率 F 沿圆弧运动的速度 在这里,我们所讲的圆弧的方向,对于 X--Y *面来说,是由 Z 轴的正向往 Z 轴的负 向看 X--Y *面所看到的圆弧方向,同样,对于 X--Z *面或 Y--Z *面来说,观测的方向则 应该是从 Y 轴或 X 轴的正向到 Y 轴或 X 轴的负向(适用于右手坐标系如下图所示)。

圆弧的终点由地址 X、Y 和 Z 来确定。在 G90 模态,即绝对值模态下,地址 X、Y、 Z 给出了圆弧终点在当前坐标系中的坐标值;在 G91 模态,即增量值模态下,地址 X、Y、 Z 给出的则是在各坐标轴方向上当前刀具所在点到终点的距离。 在 X 方向,地址 I 给定了当前刀具所在点到圆心的距离,在 Y 和 Z 方向,当前刀具 I、 K 所在点到圆心的距离分别由地址 J 和 K 来给定, J、 的值的符号由它们的方向来确定。 对一段圆弧进行编程,除了用给定终点位臵和圆心位臵的方法外,我们还可以用给 定半径和终点位臵的方法对一段圆弧进行编程,用地址 R 来给定半径值,替代给定圆心 位臵的地址。R 的值有正负之分,一个正的 R 值用来编程一段小于 180 度的圆弧,一个 负的 R 值编程的则是一段大于 180 度的圆弧。编程一个整圆只能使用给定圆心的方法。 3. 进给功能 3.1 进给速度 上一章,我们讲述了基本插补命令的用法以及一些相关指令,同时,也涉及到了 一些与进给速度有关的一些知识,在本节中,我们将归纳性地讨论这些问题。 数控机床的进给一般地可以分为两类:快速定位进给及切削进给。 快速定位进给在指令 G00、 手动快速移动以及固定循环时的快速进给和点位之间的 运动时出现。快速定位进给的速度是由机床参数给定的,并可由快速倍率开关加上 100 %、50%、25%及 F0 的倍率。快速倍率开关在 100%的位臵时,快速定位进给的速度对 于 X、Y、Z 三轴来说,都是 15000mm/min。快速倍率开关在 F0 的位臵时,X、Y、Z 三轴 快速定位进给速度是 2000mm/min。快速定位进给时,参与进给的各轴之间的运动是互不 相关的,分别以自己给定的速度运动,一般来说,刀具的轨迹是一条折线。

57 切削进给出现在 G01、G02/03 以及固定循环中的加工进给的情况下,切削进 给的速度由地址 F 给定。在加工程序中,F 是一个模态的值,即在给定一个新的 F 值之 前,原来编程的 F 值一直有效。CNC 系统刚刚通电时,F 的值由 549 号参数给定,该参 数在机床出厂时被设为 100mm/min。切削进给的速度是一个有方向的量,它的方向是刀 具运动的方向,模(即速度的大小)为 F 的值。参与进给的各轴之间是插补的关系,它 们的运动的合成即是切削进给运动。 F 的最大值由 527 号参数控制,该参数在机床出厂时被设为 4000mm/min,如果编程 的 F 值大于此值,实际的进给切削速度也将保持为 4000mm/min。 切削进给的速度还可以由操作面板上的进给倍率开关来控制,实际的切削进给速 度应该为 F 的给定值与倍率开关给定倍率的乘积。 3.2 自动加减速控制 自动加减速控制作用于各轴运动的起动和停止的过程中,以减小冲击并使得起动 和停止的过程*稳,为了同样的目的自动加减速控制也作用于进给速度变换的过程中。 对于不同的进给方式,NC 使用了不同的加减速控制方式: 快速定位进给:使用线性加减速控制,各轴的加减速时间常数由参数控制?522~525 号参数?。 切削进给:用指数加减速控制,加减速时间常数由 530 号参数控制。 手动进给:使用指数加减速控制,各轴的加减速时间常数也由参数控制,参数号 601~604。 为 3.3 切削方式(G64) 一般地,为了有一个好的切削条件,我们希望刀具在加工工件时要保持线速度的恒 定,但我们知道自动加减速控制作用于每一段切削进给过程的开始和结束,那么在两个 程序段之间的衔接处如何使刀具保持恒定的线速度呢?在切削方式 G64 模态下,两个切 削进给程序段之间的过渡是这样的:在前一个运动接*指令位臵并开始减速时,后一个 运动开始加速,这样就可以在两个插补程序段之间保持恒定的线速度。可以看出在 G64 模态下,切削进给时,NC 并不检查每个程序段执行时各轴的位臵到达信号,并且在两 个切削进给程序段的衔接处使刀具走出一个小小的圆角。 3.4 精确停止(G09)及精确停止方式(G61) 如果在一个切削进给的程序段中有 G09 指令给出,则刀具接*指令位臵 时会减速, NC 检测到位臵到达信号后才会继续执行下一程序段。这样,在两个程序段之间的衔接 处刀具将走出一个非常尖锐的角,所以需要加工非常尖锐的角时可以使用这条指令。使 用 G61 可以实现同样的功能,G61 与 G09 的区别就是 G09 是一条非模态的指令,而 G61 是模态的指令,即 G09 只能在它所在的程序段中起作用,不影响模态的变化,而 G61 可 以在它以后的程序段中一直起作用,直到程序中出现 G64 或 G63 为止。 3.5 暂停( G04 ) 作用:在两个程序段之间产生一段时间的暂停。 格式:G04 P-;或 G04 X-; 地址 P 或 X 给定暂停的时间,以秒为单位,范围是 0.001~9999.999 秒。如果没有 P 或 X,G04 在程序中的作用与 G09 相同。

4. 参考点和坐标系 4.1 机床坐标系

57

本机床的坐标系是右手坐标系。主轴箱的上下运动为 Z 轴运动,主轴箱向上的运动 为 Z 轴正向运动,主轴箱向下的运动为 Z 轴负向运动;滑座的前后运动为 Y 轴运动,滑 座远离立柱的运动为 Y 轴的正向运动,滑座趋向立柱的运动为 Y 轴的负向运动;工作台 的左右运动为 X 轴运动,面对机床,工作台向左运动为 X 轴的正向运动,工作台向右运 动为 X 轴的负向运动。 可以看到,只有 Z 轴的运动是刀具本身的运动,X、Y 轴则是靠工作台带 动工件运动来完成加工过程的。为了方便起见,在本说明书中对于 X、Y 轴运 动的描述是刀具相对于工件的运动。 相对位臵固定的机床坐标系的建立,是靠每次 NC 上电后的返回参考点的操作来完 成的。参考点是机床上的一个固定的点,它的位臵由各轴的参考点开关和撞块位臵以及 各轴伺服电机的零点位臵来确定。本机床返回参考点后,参考点在机床坐标系中的坐标 值为 X0,Y0,Z0。X 轴行程为 0~-600 毫米,Y 轴行程为 0~-400 毫米,Z 轴行程为 0~-510 毫米。 4.2 关于参考点的指令( G27、G28、G29 及 G30 ) 4.2.1 自动返回参考点(G28) 格式:G28IP-; 该指令使指令轴以快速定位进给速度经由 IP 指定的中间点返回机床参考点,中间 点的指定既可以是绝对值方式的也可以是增量值方式的, 这取决于当前的模态。 一般地, 该指令用于整个加工程序结束后使工件移出加工区,以便卸下加工完毕的零件和装夹待 加工的零件。 ?注意:

为了安全起见,在执行该命令以前应该取消刀具半径 补偿和长度补偿。
执行手动返回参考点以前执行 G28 指令时, 各轴从中间点开始的运动与手动返回参 考点的运动一样,从中间点开始的运动方向为正向。 G28 指令中的坐标值将被 NC 作为中间点存储,另一方面,如果一个轴没有被包含 在 G28 指令中,NC 存储的该轴的中间点坐标值将使用以前的 G28 指令中所给定的值。 例如: N1 X20.0 Y54.0; N2 G28 X-40.0 Y-25.0; 中间点坐标值(-40.0,-25.0) N3 G28 Z31.0; 中间点坐标值(-40.0,-25.0,31.0) G29 指令使用。 该中间点的坐标值主要由 4.2.2 从参考点自动返回(G29) 格式:G29 IP-; 该命令使被指令轴以快速定位进给速度从参考点经由中间点运动到指令位臵, 中间 点的位臵由以前的 G28 或 G30(参考 4.2.4)指令确定。一般地,该指令用在 G28 或 G30 之后,被指令轴位于参考点或第二参考点的时候。 在增量值方式模态下,指令值为中间点到终点(指令位臵)的距离。 4.2.3 参考点返回检查(G27) 格式:G27 IP-;

57 该命令使被指令轴以快速定位进给速度运动到 IP 指令的位臵,然后检查该 点是否为参考点,如果是,则发出该轴参考点返回的完成信号(点亮该轴的参考点到达 指示灯);如果不是,则发出一个报警,并中断程序运行。 在刀具偏臵的模态下,刀具偏臵对 G27 指令同样有效,所以一般来说执 行 G27 指 令以前应该取消刀具偏臵(半径偏臵和长度偏臵)。 在机床闭锁开关臵上位时,NC 不执行 G27 指令。 4.2.4 返回第二参考点(G30) 格式:G30 IP-; 该指令的使用和执行都和 G28 非常相似, 唯一不同的就是 G28 使指令轴返回机床参 考点,而 G30 使指令轴返回第二参考点。G30 指令后,和 G28 指令相似,可以使用 G29 指令使指令轴从第二参考点自动返回。 第二参考点也是机床上的固定点,它和机床参考点之间的距离由参数给定,第二参 考点指令一般在机床中主要用于刀具交换,因为机床的 Z 轴换刀点为 Z 轴的第二参考点 (参数#737),也就是说,刀具交换之前必须先执行 G30 指令。用户的零件加工程序中, 在自动换刀之前必须编写 G30,否则执行 M06 指令时会产生报警。第二参考点的返回, 关于 M06 请参阅机床说明书部分:辅助功能。被指令轴返回第二参考点完成后,该轴的 参考点指示*了福灾甘痉祷氐诙慰嫉愕耐瓿伞; X 和 Y 轴的第二参考点出厂 时的设定值与机床参考点重合,如有特殊需要可以设定 735、736 号参数。

57 ?警告: 737 号参数用于设定 Z 轴换刀点,正常情况下不得改动,否则可能 损坏 ATC(自动刀具交换)装臵。 ?注意: 与 G28 一样,为了安全起见,在执行该命令以前应该取消刀具半径补偿

和长度补偿。
4.3 工件坐标系 通常编程人员开始编程时,他并不知道被加工零件在机床上的位臵,他所编制的零 件程序通常是以工件上的某个点作为零件程序的坐标系原点来编写加工程序,当被加工 零件被夹压在机床工作台上以后再将 NC 所使用的坐标系的原点偏移到与编程使用的原 点重合的位臵进行加工。所以坐标系原点偏移功能对于数控机床来说是非常重要的。 在本机床上可以使用下列三种坐标系: (1)机床坐标系。 (2)工件坐标系。 (3)局部坐标系。 4.3.1 选用机床坐标系(G53) 格式:(G90)G53 IP?; 该指令使刀具以快速进给速度运动到机床坐标系中 IP?指定的坐标值位臵, 一般地, 该指令在 G90 模态下执行。G53 指令是一条非模态的指令,也就是说它只在当前程序段 中起作用。 机床坐标系零点与机床参考点之间的距离由参数设定,无特殊说明,各轴参考点与 机床坐标系零点重合。 4.3.2 使用预臵的工件坐标系(G54~G59) 在机床中,我们可以预臵六个工件坐标系,通过在 CRT-MDI 面板上的操作,设臵每 一个工件坐标系原点相对于机床坐标系原点的偏移量, 然后使用 G54~G59 指令来选用它 们,G54~G59 都是模态指令,分别对应 1#~6#预臵工件坐标系,如下例: 预臵 1#工件坐标系偏移量:X-150.000 Y-210.000 Z-90.000。 预臵 4#工件坐标系偏移量:X-430.000 Y-330.000 Z-120.000。 终点在机床坐标系 中的坐标值 X-100, Y-160 Z-160 Z-160.5 X-112.6 Z-90 X-150, Y-210 X0, Y0, Z0 X-380, Y-280 Z-190 Z-192.5 X392.6

程序段内容 N1 G90 G54 G00 X50. Y50.; N2 Z-70.; N3 G01 Z-72.5 F100; N4 X37.4; N5 G00 Z0; N6 X0 Y0 A0; N7 G53 X0 Y0 Z0; N8 G57 X50. Y50. ; N9 Z-70.; N10 G01 Z-72.5; N11 X37.4;

注 释 选择 1#坐标系,快速定位。 直线插补,F 值为 100。 (直线插补) 快速定位 选择使用机床坐标系。 选择 4#坐标系 直线插补,F 值为 100 (模态值)

57 N12 G00 Z0; N13 G00 X0 Y0 ; Z-120 X-430, Y-330

从以上举例可以看出,G54~G59 指令的作用就是将 NC 所使用的坐标系的原点移动 到机床坐标系中坐标值为预臵值的点,预臵方法请查阅本手册的操作部分。 在机床的数控编程中,插补指令和其它与坐标值有关的指令中的 IP- 除非 有特指外, 都是指在当前坐标系中(指令被执行时所使用的坐标系)的坐标位置。 大多数情况下,当前坐标系是 G54~G59 中之一(G54 为上电时的初始模态),直 接使用机床坐标系的情况不多。 4.3.3 可编程工件坐标系(G92) 格式:(G90)G92 IP-; 该指令建立一个新的工件坐标系,使得在这个工件坐标系中,当前刀具所在点的坐 标值为 IP-指令的值。G92 指令是一条非模态指令,但由该指令建立的工件坐标系却是模 态的。实际上,该指令也是给出了一个偏移量,这个偏移量是间接给出的,它是新工件 坐标系原点在原来的工件坐标系中的坐标值,从 G92 的功能可以看出,这个偏移量也就 是刀具在原工件坐标系中的坐标值与 IP-指令值之差。 如果多次使用 G92 指令, 则每次使 用 G92 指令给出的偏移量将会叠加。对于每一个预臵的工件坐标系(G54~G59),这个 叠加的偏移量都是有效的。举例如下: 预臵 1#工件坐标系偏移量:X-150.000 Y-210.000 Z-90.000。 预臵 4#工件坐标系偏移量:X-430.000 Y-330.000 Z-120.000。 终点在机床坐标系 程序段内容 中的坐标值 N1 G90 G54 G00 X0 Y0 Z0; X-150, Y-210, Z-90 N2 G92 X70. Y100. Z50.; X-150, Y-210, Z-90

N3 G00 X0 Y0 Z0; N4 G57 X0 Y0 Z0; N5 X70. Y100. Z50.; 4.3.4 局部坐标系(G52)

X-220, Y-310, Z-140 X-500, Y-430, Z-170 X-430, Y-330, Z-120

注 释 选择 1#坐标系, 快速定位到 坐 标系原点。 刀具不运动,建立新坐标系, 新坐标系中当前点坐标值为 X70, Y100, Z50 快速定位到新坐标系原点。 选择 4#坐标系, 快速定位到 坐 标系原点(已被偏移)。 快速定位到原坐标系原点。

G52 可以建立一个局部坐标系,局部坐标系相当于 G54~G59 坐标系的子坐标系。 格式:G52 IP_; 该指令中,IP_给出了一个相对于当前 G54~G59 坐标系的偏移量,也就是说,IP_ 给定了局部坐标系原点在当前 G54~G59 坐标系中的位臵坐标,即使该 G52 指令执行前 已经由一个 G52 指令建立了一个局部坐标系。取消局部坐标系的方法也非常简单,使用 G52 IP0;即可。 4.4 *面选择 这一组指令用于选择进行圆弧插补以及刀具半径补偿所在的*面。 使用方法: G17………选择 XY *面

G18………选择 ZX *面 G19………选择 YZ *面 关于*面选择的相关指令可以参考圆弧插补及刀具补偿等指令的相关内容。 5. 坐标值和尺寸单位 5.1 绝对值和增量值编程(G90 和 G91)

57

有两种指令刀具运动的方法 :绝对值指令和增量值指令。在绝对值指令模态下, 我们指定的是运动终点在当前坐标系中的坐标值;而在增量值指令模态下,我们指定的 则是各轴运动的距离。G90 和 G91 这对指令被用来选择使用绝对值模态或增量值模态。 G90………绝对值指令 G91………增量值指令

终点

绝对值指令编程: G90 X20. Y120.; 增量值指令编程: G91 X-70. Y80.; 起点

通过上例,我们可以更好地理解绝对值方式和增量值方式的编程。 6. 辅助功能 6.1 M 代码 在机床中,M 代码分为两类:一类由 NC 直接执行,用来控制程序的执行;另一类 由 PMC 来执行,控制主轴、ATC 装臵、冷却系统。M 代码表见表 1.2。 6.1.1 程序控制用 M 代码 用于程序控制的 M 代码有 M00、M01、M02、M30、M98、M99,其功能分别讲解如下: M00………程序停止。NC 执行到 M00 时,中断程序的执行,按循环起动按钮可以继 续执行程序。 M01………条件程序停止。NC 执行到 M01 时,若 M01 有效开关臵为上位,则 M01 与 M00 指令有同样效果,如果 M01 有效开关臵下位,则 M01 指令不起任何作用。 M02………程序结束。遇到 M02 指令时,NC 认为该程序已经结束,停止程序的运行 并发出一个复位信号。 M30………程序结束,并返回程序头。在程序中,M30 除了起到与 M02 同样的作用 外,还使程序返回程序头。 M98………调用子程序。 M99………子程序结束,返回主程序。

6.1.2 其它 M 代码

57

M03………主轴正转。使用该指令使主轴以当前指定的主轴转速逆时针(CCW)旋转。 M04………主轴反转。 使用该指令使主轴以当前指定的主轴转速顺时针(CW)旋转。 M05………主轴停止。 M06………自动刀具交换(参阅机床操作说明书)。 M08………冷却开。 M09………冷却关。 M18………主轴定向解除。 M19………主轴定向。 M29………刚性攻丝(参考“6.4 刚性攻丝指令(M29)”)。 其他 M 代码请参阅机床使用说明书。 6.2 T 代码

机床刀具库使用任意选刀方式,即由两位的 T 代码 T××指定刀具号而不必管这把 刀在哪一个刀套中,地址 T 的取值范围可以是 1~99 之间的任意整数, 在 M06 之前必须有一个 T 码,如果 T 指令和 M06 出现在同一程序段中,则 T 码也要 写在 M06 之前。 ?警告:

刀具表一定要设定正确,如果与实际不符,将会严重损坏机床, 并造成不可预计的后果。
详细说明请参阅机床使用说明书 6.3 主轴转速指令(S 代码) 一般机床主轴转速范围是 20~6000r/min (转每分) 主轴的转速指令由 S 代码给出, 。 S 代码是模态的,即转速值给定后始终有效,直到另一个 S 代码改变模态值。主轴的旋 转指令则由 M03 或 M04 实现。 6.4 刚性攻丝指令(M29) 指令 M29Sx x x x;机床进入刚性攻丝模态,在刚性攻丝模态下,Z 轴的进给和主轴 的转速建立起严格的位臵关系,这样,使螺纹孔的加工可以非常方便地进行。M29 指令 的具体使用方法可参见“8.1.14 刚性攻丝方式”的说明。 7. 程序结构 7.1 程序结构 早期的 NC 加工程序,是以纸带为介质存储的,为了保持与以前系统的兼容性,我 们所用的 NC 系统也可以使用纸带作为存储的介质,所以一个完整的程序还应包括由纸 带输入输出程序所必须的一些信息,这样,一个完整的程序应由下列几部分构成: 1、纸带程序起始符。 2、前导。 3、程序起始符。 4、程序正文。 5、注释。 6、程序结束符。 7、纸带程序结束符。

7.1.1 纸带程序起始符(Tape Start)

57

该部分在纸带上用来标识一个程序的开始,符号是“%”。在机床操作面板上直接 输入程序时,该符号由 NC 自动产生。 7.1.2 前导(Leader Section) 第一个换行(LF)(ISO 代码的情况下)或回车(CR)(EIA 代码的情况下)前的 内容被称为前导部分。该部分与程序执行无关。 7.1.3 程序起始符(Program Start) 该符号标识程序正文部分的开始,ISO 代码为 LF,EIA 代码为 CR。在机床操作面板 上直接输入程序时,该符号由 NC 自动产生。 7.1.4 程序正文(Program Section) 位于程序起始符和程序结束符之间的部分为程序正文部分, 在机床操作面板上直接 输入程序时,输入和编辑的就是这一部分。程序正文的结构请参考下一节的内容。 7.1.5 注释(Comment Section) 在任何地方,一对圆括号之间的内容为注释部分,NC 对这部分内容只显示,在执 行时不予理会。 7.1.6 程序结束符(Program End) 用来标识程序正文的结束,所用符号如下: ISO 代码 M02LF M30LF M99LF EIA 代码 M02CR M30CR M99CR 含义 程序结束。 程序结束,返回程序头。 子程序结束。

ISO 代码的 LF 和 EIA 代码的 CR,在操作面板的屏幕上均显示为“;”。 7.1.7 纸带程序结束符(Tape End) 用来标识纸带程序的结束,符号为“%”。在机床操作面板上直接输入程序时,该 符号由 NC 自动产生。 7.2 程序正文结构 7.2.1 地址和词 在加工程序正文中,一个英 文字母被称为一个地址,一个地址后面跟 着一个数字 就组成了一个词。每个地址有不同的意义,它们后面所跟的数字也因此具有不同的格式 和取值范围,参见下表: 表 7.1 功能 地址 取值范围 含义 O 1~9999 程序号 程序号 N 1~9999 顺序号 顺序号 G 00~99 准备功能 指定数控功能 X,Y,Z 尺寸定义 ±99999.999 毫米 坐标位臵值 R 圆弧半径,圆角半径 I,J,K ±9999.9999 毫米 圆心坐标位臵值 F 1~100,000 毫米每分 进给速率 进给速率

主轴转速 选刀 辅助功能 刀具偏臵号 暂停时间 指定子程序号 重复次数 参数 7.2.2 程序段结构

S T M H,D P,X P P,L P,Q

1~4000 转每分 0~99 0~99 1~200 0~99999.999 秒 1~9999 1~999 P 为 0~99999.999 Q 为±99999.999 毫米

主轴转速值 刀具号 辅助功能 M 代码号 指定刀具偏臵号 暂停时间(毫秒) 调用子程序用 调用子程序用 固定循环参数

57

一个加工程序由许多程序段构成,程序段是构成加工程序的基本单位。程序段由一 个或更多的词构成并以程序段结束符(EOB,ISO 代码为 LF,EIA 代码为 CR,屏幕显示 为“;”)作为结尾。另外,一个程序段的开头可以有一个可选的顺序号 N××××用 来标识该程序段,一般来说,顺序号有两个作用:一是运行程序时便于监控程序的运行 情况, 因为在任何时候, 程序号和顺序号总是显示在 CRT 的右上角; 二是在分段跳转时, 必须使用顺序号来标识调用或跳转位臵。必须注意,程序段执行的顺序只和它们在程序 存储器中所处的位臵有关,而与它们的顺序号无关,也就是说,如果顺序号为 N20 的程 序段出现在顺序号为 N10 的程序段前面,也一样先执行顺序号为 N20 的程序段。如果某 一程序段的第一个字符为“/”,则表示该程序段为条件程序段,即可选跳段开关 在上 位时,不执行该程序段,而可选跳段开关在下位时,该程序段才能被执行。 7.2.3 主程序和子程序 加工程序分为主程序和子程序,一般地,NC 执行主程序的指令,但当执行到一条 子程序调用指令时,NC 转向执行子程序,在子程序中执行到返回指令时,再回到主程 序。 当我们的加工程序需要多次运行一段同样的轨迹时, 可以将这段轨迹编成子程序存 储在机床的程序存储器中,每次在程序中需要执行这段轨迹时便可以调用该子程序。 当一个主程序调用一个子程序时,该子程序可以调用另一个子程序,这样的情况, 我们称之为子程序的两重嵌套。一般机床可以允许最多达四重的子程序嵌套。在调用子 程序指令中,可以指令重复执行所调用的子程序,可以指令重复最多达 999 次。 一个子程序应该具有如下格式: O××××; 子程序号 …………; …………; …………; 子程序内容 …………; M99; 返回主程序 在程序的开始,应该有一个由地址 O 指定的子程序号,在程序的结尾,返回主程序 的指令 M99 是必不可少的。M99 可以不必出现在一个单独的程序段中,作为子程序的结 尾,这样的程序段也是可以的: G90 G00 X0 Y100. M99; 在主程序中,调用子程序的程序段应包含如下内容: M98 P×××××××; 在这里, 地址 P 后面所跟的数字中, 后面的四位用于指定被调用的子程序的程序号, 前面的三位用于指定调用的重复次数。 M98 P51002;调用 1002 号子程序,重复 5 次。

57 M98 P1002; 调用 1002 号子程序,重复 1 次。 M98 P50004;调用 4 号子程序,重复 5 次。 子程序调用指令可以和运动指令出现在同一程序段中: G90 G00 X?75. Y50. Z53. M98 P40035; 该程序段指令 X、Y、Z 三轴以快速定位进给速度运动到指令位臵,然后调用执行 4 次 35 号子程序。 包含子程序调用的主程序 ,程序执行顺序如下例: 1 2 3 主程序 子程序 N10 ……………; O1010 ; N20 ……………; N1020 …………; N30 M98P21010; N1030 ……… N40 ……………; N1040 …………; N50 M98P1010; N1050 …………; N60 ……………; N1060 ……M99; 和其它 M 代码不同,M98 和 M99 执行时,不向机床侧发送信号。 当 NC 找不到地址 P 指定的程序号时,发出 PS078 报警。 子程序调用指令 M98 不能在 MDI 方式下执行,如果需要单独执行一个子程序,可以 在程序编辑方式下编辑如下程序,并在自动运行方式下执行。 × ×××; M98 P××××; M02(或 M30); 在 M99 返回主程序指令中,我们可以用地址 P 来指定一个顺序号,当这样的一个 M99 指令在子程序中被执行时,返回主程序后并不是执行紧接着调用子程序的程序段后 的那个程序段,而是转向执行具有地址 P 指定的顺序号的那个程序段。如下例: 主程序 子程序 N10 …………; O1010; N20 …………; N1020 …………; N30 M98P1010; N1030 …………; N40 …………; N1040 …………; N50 …………; N1050 …………; N60 …………; N1060 …………; N70 …………; N1070 M99 P60; 这种主-子程序的执行方式只有在程序存储器中的程序能够使用。 如果 M99 指令出现在主程序中,执行到 M99 指令时,将返回程序头,重复执行该程 序。这种情况下,如果 M99 指令中出现地址 P,则执行该指令时, 跳转到顺序号为地址 P 指定的顺序号的程序段。大部分情况下,我们将该功能与可选跳段功能联合使用。如 下例: N10…………; N20…………; N30…………; /N40 M99 P20; N50…………; N60…………; N70 M02;

可选 跳开关臵 于下位时

可选 跳开关臵 于上位时

57 当可选跳段开关臵于下位时,跳段标识符不起作用,M99P20 被执行,跳转到 N20 程序段,重复执行 N20 及 N30(如果 M99 指令中没有 P20,则跳转到程序头,即 N10 程序段),当可选跳段开关臵于上位时,跳段标识符起作用,该程序段被跳过,N30 程 序段执行完毕后执行 N50 程序段,直到 N70M02;结束程序的执行。值得注意的一点是如 果包含 M02、M30 或 M99 的程序段前面有跳段 标识符“/ ”,则该程序段不被认为是程 序的结束。 8. 简化编程功能 8.1 孔加工固定循环(G73,G74,G76,G80~G89) 应 用孔加工固定循环功能,使得其它方法需要几个程序段完成的功能 在一个程序 段内完成。表 8.1 列出了所有的孔加工固定循环。一般地,一个孔加工固定循环完成以 下 6 步操作(见图 8.1): 1、X、Y 轴快速定位。 2、Z 轴快速定位到 R 点。 3、孔加工 4、孔底动作。 5、Z 轴返回 R 点。 6、Z 轴快速返回初始点。 表 8.1 孔加工固定循环 G 代码 加工运动 孔底动作 返回运动 应用 (Z 轴负向) (Z 轴正向) G73 分次,切削进给 - 快速定位进给 高速深孔钻削 G74 切削进给 暂停-主轴正转 切削进给 左螺纹攻丝 G76 切削进给 主轴定向,让刀 快速定位进给 精镗循环 G80 - - - 取消固定循环 G81 切削进给 - 快速定位进给 普通钻削循环 G82 切削进给 暂停 快速定位进给 钻削或粗镗削 G83 分次,切削进给 - 快速定位进给 深孔钻削循环 G84 切削进给 暂停-主轴反转 切削进给 右螺纹攻丝 G85 切削进给 - 切削进给 镗削循环 G86 切削进给 主轴停 快速定位进给 镗削循环 G87 切削进给 主轴正转 快速定位进给 反镗削循环 G88 切削进给 暂停-主轴停 手动 镗削循环 G89 切削进给 暂停 切削进给 镗削循环

对孔加工固定循环指令的执行有影响的指令主要有 G90/G91 及 G98/G99 指令。 图 8.2(a)及图 8.2(b)示意了 G90/G91 对孔加工固定循环指令的影响。

57

G98/G99 决定固定循环在孔加工完成后返回 R 点还是起始点,G98 模态下,孔加工 完成后 Z 轴返*鹗嫉悖辉 G99 模态下则返回 R 点。 一般地,如果被加工的孔在一个*整的*面上,我们可以使用 G99 指令,因为 G99 模态下返回 R 点进行下一个孔的定位,而一般编程中 R 点非常靠*工件表面,这样可以 缩短零件加工时间,但如果工件表面有高于被加工孔的凸台或筋时,使用 G99 时非常有 可能使刀具和工件发生碰撞,这时,就应该 使用 G98,使 Z 轴返回初始点后再进行下一 个孔的定位,这样就比*踩2渭 8.3(a)、图 8.3(b)。 G99(返回 R 点) 图 8.3(a) G98(返回初始点) 图 8.3(b) 下个孔定位

初始点

初始点

下个孔定位 R点 R点

在 G73/G74/G76/G81~G89 后面,给出孔加工参数,格式 如下: G××X___ Y___ Z___ R___ Q___ P___ F___ K___; 重复次数 孔的加工参数 被加工孔的位臵参数 孔加工方法 下面的表 8.2 则说明了各地址指定的加工参数的含义。

孔加工方式 G 被加工孔位臵参数 X、Y

见表 8.1 以增量值方式或绝对值方式指定被加工孔的位臵, 刀具向 被加 工 孔运动的轨迹和速度与 G00 的相同。

57 孔加工参数 Z 在绝对值方式下指定沿 Z 轴方向孔底的位臵, 增量值方式 下指 定从 R 点到孔底的距离。 孔加工参数 R 在绝对值方式下指定沿 Z 轴方向 R 点的位臵, 增量值方式 下指定从初始点到 R 点的距离。 孔加工参数 Q 用于指定深孔钻循环 G73 和 G83 中的每次进刀量, 精镗循 环 G76 和反镗循环 G87 中的偏移量 (无论 G90 或 G91 模态, 总是增量值指令) 孔加工参数 P 用于孔底动作有暂停的固定循环中指定暂停时间, 单位为 秒。 孔加工参数 F 用于指定固定循环中的切削进给速率, 在固定循环中, 从 初始点到 R 点及从 R 点到初始点的运动以快速进给的速 度进行, R 点到 Z 点的运动以 F 指定的切削进给速度进 从 行, 而从 Z 点返回 R 点的运动则根据固定循环的不同可能 以 F 指定的速率或快速进给 速率进行。 重复次数 K 指定固定循环在当前定位点的重复次数,如果不指令 K, NC 认为 K=1,如果指令 K0,则固定循环在当前点不执行。 由 G××指定的孔加工方式是模态的, 如果不改变当前的孔加工方式模 态或取消固 定循环的话,孔加工模态会一直保持下去。使用 G80 或 01 组的 G 指令(参见表 1.1)可 以取消固定循环。孔加工参数也是模态的,在被改变或固定循环被取消之前也会一直保 持,即使孔加工模态被改变。我们可以在指令一个固定循环时或执行固定循环中的任何 时候指定或改变任何一个孔加工参数。 重复次数 K 不是一个模态的值,它只在需要重复的时候给出。进给速率 F 则是一个 模态的值,即使固定循环取消后它仍然会保持。 如果正在执行固定循环的过程中 NC 系统被复位,则孔加工模态、孔加工参数及重 复次数 K 均被取消。 下面的例子可以让大家更好地理解以上所讲的内容: 序号 程序内容 注 释 1 S____ M03; 给出转速,并指令主轴正向旋转。 2 G81X__Y__Z__R__F__K__; 快速定位到 X、Y 指定点,以 Z、R、F 给定的孔加工 参数,使用 G81 给定的孔加工方式进行加工,并重复 K 次,在固定循环执行的开始,Z、R、F 是必要的孔 加工参数。 3 Y__; X 轴不动,Y 轴快速定位到指令点进行孔的加工,孔 加工参数及孔加工方式保持 2 中的模态值。2 中的 K 值在此不起作用。 4 G82X__P__K__; 孔加工方式被改变,孔加工参数 Z、R、F 保持模 态 值,给定孔加工参数 P 的值,并指定重复 K 次。 5 G80X__Y__; 固定循环被取消, F以外的所有孔加工参数被取消。 除 6 G85X__Y__Z__R__P__; 由于执行 5 时固定循环已被取消,所以必要的孔加工 参数除 F 之外必须重新给定,即使这些参数和原值相 比没有变化。 7 X__Z__; X 轴定位到指令点进行孔的加工,孔加工参数 Z 在此 程序段中被改变。 8 G89X__Y__; 定位到 XY 指令点进行孔加工,孔加工方式被改变为 G98。R、P 由 6 指定,Z 由 7 指定。

57 9 G01X__Y__; 固定循环模态被取消,除 F 外所有的孔加工参数都被 取消。 当加工在同一条 直线上的等分孔时,可以在 G91 模态下使用 K 参 数,K 的最大取 值为 9999。 G91 G81 X__ Y__ Z__ R__ F__ K5; 以上程序段中,X、Y 给定了第一个被加工孔和当前刀具所在点的距离,各被加工 孔的位臵如下图所示: 当前刀具 所在位臵 最后一个被加 工孔的位臵 第一个被加 工孔的位臵 下面我们将依次图示并讲解每个固定循环的执行过程。 8.1.1 G73(高速深孔钻削循环)

在高速深孔钻削循环中,从 R 点到 Z 点的进给是分段完成的,每段切削进给完成后 Z 轴向上抬起一段距离,然后再进行下一段的切削进给,Z 轴每次向上抬起的距离为 d, 由 531#参数给定,每次进给的深度由孔加工参数 Q 给定。该固定循环主要用于径深比 小的孔(如Φ5,深 70)的加工,每段切削进给完毕后 Z 轴抬起的动作起到了断屑的作 用。

8.1.2 G74(左螺纹攻丝循环)

57

在使用左螺纹攻丝循环时,循环开始以前必须给 M04 指令使主轴反转,并且使 F 与 S 的比值等于螺距。另外,在 G74 或 G84 循环进行中,进给倍率开关和进给保持开关的 作用将被忽略,即进给倍率被保持在 100%,而且在一个固定循环执行完毕之前不能中 途停止。 8.1.3 G76(精镗循环)

主轴定向 X、Y 轴定位后,Z 轴快速运动到 R 点, 再以 F 给定的速度进给到 Z 点,然后主轴定向 并向给定的方向移动一段距离,再快速返回 初始点或 R 点,返回后,主轴再以原来的转速 和方向旋转。在这里,孔底的移动距离由孔 加工参数 Q 给定,Q 始终应为正值,移动的方

刀具

向由 2#机床参数的 4、5 两位给定。 在使用该固定循环时,应注意孔底移 动的方向是使主轴定向后,刀尖离开工件表 面的方向,这样退刀时便不会划伤已加工好 的工件表面,可以得到较好的精度和光洁度。 ?警告:

57

偏移量 Q

每次使用该固定循环或者更换使用该固定循环的刀具时,应注意 检查主轴定向后刀尖的方向与要求是否相符。如果加工过程中出现刀 尖方向不正确的情况,将会损坏工件、刀具甚至机床!
8.1.4 G80(取消固定循环) G80 指令被执行以后,固定循环(G73、G74、G76、G81~G89)被该指令取消,R 点和 Z 点的参数以及除 F 外的所有孔加工参数均被取消。 另外 01 组的 G 代码也会起到同 样的作用。 8.1.5 G81(钻削循环)

G81 是最简单的固定循环,它的执行过程为:X、Y 定位,Z 轴快进到 R 点,以 F 速 度进给到 Z 点,快速返回初始点(G98)或 R 点(G99),没有孔底动作。 8.1.6 G82(钻削循环,粗镗削循环)

G82 固定循环在孔底有一个暂停的动作,除此之外和 G81 完全相同。孔底的暂停可 以提高孔深的精度。

8.1.7 G83(深孔钻削循环)

57

和 G73 指令相似,G83 指令下从 R 点到 Z 点的进给也分段完成,和 G73 指令不同的 是,每段进给完成后,Z 轴返回的是 R 点,然后以快速进给速率运动到距离下一段进给 起点上方 d 的位臵开始下一段进给运动。 Q d 每段进给的距离由孔加工参数 Q 给定, 始终为正值, 的值由 532#机床参数给定。 见图 8.9。

8.1.8 G84(攻丝循环)

G84 固定循环除主轴旋转的方向完全相反外, 其它与左螺纹攻丝循环 G74 完全一样, 请参考 8.1.2 的内容。注意在循环开始以前指令主轴正转。

8.1.9 G85(镗削循环)

57

该固定循环非常简单,执行过程如下:X、Y 定位,Z 轴快速到 R 点,以 F 给定的速度 进给到 Z 点,以 F 给定速度返回 R 点,如果在 G98 模态下,返回 R 点后再快速返回初始点。

8.1.10 G86(镗削循环) 该固定循环的执行过程和 G81 相似, 不同之处是 G86 中刀具进给到孔底时使主轴停 止,快速返回到 R 点或初始点时再使主轴以原方向、原转速旋转。

8.1.11 G87(反镗削循环) G87 循环中,X、Y 轴定位后,主轴定向,X、Y 轴向指定方向移动由加工参数 Q 给 定的距离,以快速进给速度运动到孔底(R 点),X、Y 轴恢复原来的位臵,主轴以给定 的速度和方向旋转,Z 轴以 F 给定的速度进给到 Z 点,然后主轴再次定向,X、Y 轴向指 定方向移动 Q 指定的距离,以快速进给速度返回初始点,X、Y 轴恢复定位位臵,主轴 开始旋转。 该固定循环用于图 8.13(a)所示的孔的加工。该指令不能使用 G99,注意事项同 G76。

57

8.1.12 G88(镗削循环) 固定循环 G88 是带有手动返回功能的用于镗削的固定循环,参见图 8.14。

8.1.13 G89(镗削循环) 该固定循环在 G85 的基础上增加了孔底的暂停,参见图 8.15。

在以上各图示中我们采用以下方式表示各段的进给:

表示以快速进给速率运动。 表示以切削进给速率运动。 表示手动进给。 8.1.14 刚性攻丝方式

57

在攻丝循环 G84 或反攻丝循环 G74 的前一程序段指令 M29Sx x x x;则机床进入刚性 攻丝模态。NC 执行到该指令时,主轴停止,然后主轴正转指示灯亮,表示进入刚性攻 丝模态,其后的 G74 或 G84 循环被称为刚性攻丝循环,由于刚性攻丝循环中,主轴转速 和 Z 轴的进给严格成比例同步,因此可以使用刚性夹持的丝锥进行螺纹孔的加工,并且 还可以提高螺纹孔的加工速度,提高加工效率。 使用 G80 和 01 组 G 代码都可以解除刚性攻丝模态,另外复位操作也可以解除刚性 攻丝模态。 使用刚性攻丝循环需注意以下事项: 1) G74 或 G84 中指令的 F 值与 M29 程序段中指令的 S 值的比 值(F/S)即为螺纹孔的螺距值。 2) Sx x x x 必须小于 0617 号参数指定的值,否则执行固定循 环指令时出现编程报警。 3) F 值必须小于切削进给的上限值 4000mm/min 即参数 0527 的规定值,否则出现编程报警。 4) 在 M29 指令和固定循环的 G 指令之间不能有 S 指令或任何 坐标运动指令。 5) 不能在攻丝循环模态下指令 M29。 6) 不能在取消刚性攻丝模态后的第一个程序段中执行 S 指 令。 7) 不要在试运行状态下执行刚性攻丝指令。 8.1.15 使用孔加工固定循环的注意事项 1.编程时需注意在固定循环指令之前,必须先使用 S 和 M 代码指令主轴旋转。 2.在固定循环模态下,包含 X、Y、Z、A、R 的程序段将执行固定循环,如果一个程 序段不包含上列的任何一个地址,则在该程序段中将不执行固定循环,G04 中的地址 X 除外。另外,G04 中的地址 P 不会改变孔加工参数中的 P 值。 3.孔加工参数 Q、P 必须在固定循环被执行的程序段中被指定,否则指令的 Q、P 值 无效。 4.在执行含有主轴控制的固定循环(如 G74、G76、G84 等)过程中,刀具开始切削 进给时,主轴有可能还没有达到指令转速。这种情况下,需要在孔加工操作之间加入 G04 暂停指令。 5.我们已经讲述过,01 组的 G 代码也起到取消固定循环的作用,所以请不要将固定 循环指令和 01 组的 G 代码写在同一程序段中。 6.如果执行固定循环的程序段中指令了一个 M 代码,M 代码将在固定循环执行定位 时被同时执行,M 指令执行完毕的信号在 Z 轴返回 R 点或初始点后被发出。使用 K 参数 指令重复执行固定循环时,同一程序段中的 M 代码在首次执行固定循环时被执行。 7.在固定循环模态下,刀具偏臵指令 G45~G48 将被忽略(不执行)。 8.单程序段开关臵上位时,固定循环执行完 X、Y 轴定位、快速进给到 R 点及从孔 底返回(到 R 点或到初始点)后,都会停止。也就是说需要按循环起动按钮 3 次才能完 成一个孔的加工。3 次停止中,前面的两次是处于进给保持状态,后面的一次是处于停 止状态。 9.执行 G74 和 G84 循环时,Z 轴从 R 点到 Z 点和 Z 点到 R 点两步操作之间如果按进 给保持按钮的话,进给保持指示灯立即会亮,但机床的动作却不会立即停止,直到 Z 轴

返回 R 点后才进入进给保持状态。另外 G74 和 G84 循环中,进给倍率开关无效, 进给倍率被固定在 100%。 9. 刀具补偿功能 9.1 刀具长度补偿(G43,G44,G49)

57

使用 G43(G44)H__;指令可以将 Z 轴运动的终点向正或负向偏移一段距离,这段 G43 或 G44 是模态指令, H__指定的补偿号也 距离等于 H 指令的补偿号中存储的补偿值。 是模态的使用这条指令, 编程人员在编写加工程序时就可以不必考虑刀具的长度而只需 考虑刀尖的位臵即可。刀具磨损或损坏后更换新的刀具时也不需要更改加工程序,可以 直接修改刀具补偿值。 G43 指令为刀具长度补偿+,也就是说 Z 轴到达的实际位臵为指令值与补偿值相加 的位臵;G44 指令为刀具长度补偿-,也就是说 Z 轴到达的实际位臵为指令值减去补偿 值的位臵。H 的取值范围为 00~200。H00 意味着取消刀具长度补偿值。取消刀具长度补 NC 偿的另一种方法是使用指令 G49。 执行到 G49 指令或 H00 时, 立即取消刀具长度补偿, 并使 Z 轴运动到不加补偿值的指令位臵。 补偿值的取值范围是?999.999~999.999 毫米或?99.9999~99.9999 英寸。 9.2 刀具半径补偿 当使用加工中心机床进行内、外轮廓的铣削时,我们希望能够以轮廓的形状作为我 们的编程轨迹,这时,刀具中心的轨迹应该是这样的:能够使刀具中心在编程轨迹的法 线方向上距离编程轨迹的距离始终等于刀具的半径。在本机床上,这样的功能可以由 G41 或 G42 指令来实现。 格式:G41(G42)H__; 9.2.1 补偿向量 补偿向量是一个二维的向量,由它来确定进行刀具半径补偿时,实际位臵和编程位 臵之间的偏移距离和方向。 补偿向量的模即实际位臵和补偿位臵之间的距离始终等于指 定补偿号中存储的补偿值,补偿向量的方向始终为编程轨迹的法线方向。该编程向量由 NC 系统根据编程轨迹和补偿值计算得出,并由此控制刀具(X、Y 轴)的运动完成补偿 过程。 9.2.2 补偿值 在 G41 或 G42 指令中,地址 H 指定了一个补偿号,每个补偿号对应一个补偿值。补 偿号的取值范围为 0~200,这些补偿号由长度补偿和半径补偿共用。和长度补偿一样, H00 意味着取消半径补偿。补偿值的取值范围和长度补偿相同。 9.2.3 *面选择 刀具半径补偿只能在被 G17、G18 或 G19 选择的*面上进行,在刀具半径补偿的模 态下,不能改变*面的选择,否则出现 P/S37 报警。 9.2.4 G40、G41 和 G42 G40 用于取消刀具半径补偿模态,G41 为左向刀具半径补偿,G42 为右向刀具半径 G41 补偿。 在这里所说的左和右是指沿刀具运动方向而言的。 和 G42 的区别请参考图 9.1。

57

9.2.5 使用刀具半径补偿的注意事项 在指令了刀具半径补偿模态及非零的补偿值后, 第一个在补偿*面中产生运动的程 序段为刀具半径补偿开始的程序段,在该程序段中,不允许出现圆弧插补指令,否则 NC 会给出 P/S34 号报警。在刀具半径补偿开始的程序段中,补偿值从零均匀变化到给定 的值,同样的情况出现在刀具半径补偿被取消的程序段中,即补偿值从给定值均匀变化 到零,所以在这两个程序段中,刀具不应接触到工件。

第二篇:NC 操作 1. 自动执行程序的操作 1.1 CRT/MDI 操作面板

57

操作面板由 NC 系统生产厂商 FANUC 公司提供, 其中 CRT 是阴极射线管显示器的英 文缩写 (Cathode Radiation Tube) 而 MDI 是手动数据输入的英文缩写 , (Manual Date Input) 。 我们选用的是 9″单色 CRT 全键式的操作面板(见附页 1 插图)或标准键盘的操作面板 (见附页 2 插图),我们可以将面板的键盘分为五个部分: 1.1.1 软件键 该部分位于 CRT 显示屏的下方, 除了左右两个箭头键外键面上没有任何标识。 这是 因为各键的功能都被显示在 CRT 显示屏的下方的对应位臵, 并随着 CRT 显示的页面不同 而有着不同的功能,这就是该部分被称为软件键的原因。 1.1.2 系统操作键 这一组有三个键,分别为右上角 RESET 键,左下角的 OUTPUT/START 和 INPUT 键, 其中的 RESET 为复位键,OUTPUT/START 为向外设输出的指令键或执行 MDI 指令的指令 键,INPUT 为输入键。 1.1.3 数据输入键 该部分包括了机床能够使用的所有字符和数字。我们可以看到,除了“4TH”键外, 其余的字符键都具有两个功能,较大的字符为该键的第一功能,即按下该键可以直接输 入该字符, 较小的字符为该键的第二功能, 要输入该字符须先按 “SHIFT” (按 键 “SHIFT” 键后,屏幕上相应位臵会出现一个“^”符号)然后再按该键。例外的是“F/No.”键, 该键的第二功能“No.”在检查各类参数、数据时使用,用于输入数据的数据号或参数的 参数号等。另外键“B/SP”中“SP”是“空格”的英文缩写(Space),也就是说,该键 的第二功能是空格。 1.1.4 光标移动键 在 MDI 面板的左方,标有“CURSOR”的上下箭头键(“↑”和“↓”)为光标前 后移动键,标有“PAGE”的上下箭头键为换页键。 1.1.5 编辑键和输入键 这一组有三个键:ALTER、INSERT 和 DELETE,位于 MDI 面板的右上方,这三个键 为编辑键,用于编辑加工程序。 1.1.6 NC 功能键 该组的六个键(标准键盘)或八个键(全键式)用于切换 NC 显示的页面以实现不同的功 能。 1.1.6 电源开关按钮 (全键式)或标有“断” 机床的电源开关按钮位于 CRT/MDI 面板左侧, 红色标有 “OFF” (标准键盘)的按钮为 NC 电源关断,绿色标有“ON”(全键式)或标有“通”(标准键盘)的 按钮为 NC 电源接通。

1.2 MDI 方式下执行可编程指令

57

MDI 方式下可以从 CRT/MDI 面板上直接输入并执行单个程序段,被输入并执行的程 序段不被存入程序存储器。例如我们要在 MDI 方式下输入并执行程序段 X-17.5 Y26.7; 操作方法如下: 1) 将方式选择开关臵为 MDI。 2) 按 PROGRAM 键使 CRT 显示屏显示程序页面。 3) 依次按 X、-、1、7、.、5 键。 4) 按 INPUT 键输入。 5) 按 Y、2、6、.、7。 6) 按 INPUT 键输入。 7) 按循环起动按钮使该指令执行。 在 MDI 方式下输入指令只能一个词一个词地输入。 如果需要删除一个地址后面的数 据,只需键入该地址,然后按 CAN 键,再按 INPUT 键即可。 1.3 自动运行方式下执行加工程序 1.3.1 启动运行程序 首先将方式选择开关臵“自动运行”位,然后选择需要运行的加工程序(方法见本 篇“3.2 节搜索并调出程序”),完成上述操作后按循环起动按钮。 1.3.2 停止运行程序 当 NC 执行完一个 M00 指令时,会立即停止,但所有的模态信息都保持不变,并点 亮主操作面板上的 M00/M01 指示灯,此时按循环起动按钮可以使程序继续执行。当 M01 开关臵有效位时,M01 会起到同 M00 一样的作用。 M02 和 M30 是程序结束指令, 执行到该指令时, NC 停止程序的运行并发出复位信号。 如果是 M30,则程序还会返回程序头。 按进给保持按钮也可以停止程序的运行,在程序运行中,按下进给保持按钮使循环 起动灯灭,进给保持的红色指示灯点亮,各轴进给运动立即减速停止,如果正在执行可 编程暂停,则暂停计时也停止,如果有辅助功能正在执行的话,辅助功能将继续执行完 毕。此时按循环起动按钮可使程序继续执行。 按 RESET 键可以使程序执行停止并使 NC 复位。 2. 程序验证和安全功能 2.1 程序验证功能 2.1.1 机床闭锁 关于机床闭锁功能的说明请参考机床“机床使用说明书”中有关机床闭锁开关的说 明。在机床闭锁功能有效的情况下,M、S、T 指令仍然能够执行,但由于 G 指令不被真 的 执行, 所以程序执行到 M06 换刀指令时会停止并等待 Z 轴的零点或第二参考点到达信 号 , 使程序不能够继续执行。 使用该功能可以根据坐标位臵的显示验证程序的正确性。 2.1.2 Z 轴闭锁 请参考“机床使用说明书”中关于 Z 轴闭锁开关的说明。

2.1.3 自动进给的倍率

57

在使用新程序加工零件时,您可能会发现有些地方的进给速度不合适,那么,使用 该功能可以立即改变进给的速度,实际的进给速度是编程进给率与倍率的乘积,倍率值 可以是 0%~150%,变化间隔为 10%。 2.1.4 快速进给的倍率 参考“机床使用说明书”中关于快速倍率开关的内容。 2.1.5 试运行 参考“机床使用说明书”中关于试运行开关的说明。使用该功能,可以在不上刀具 和不夹工件的情况下直观地看到机床的运行情况。 2.1.6 单程序段运行 参考“机床使用说明书”中关于单程序段开关的内容。 2.2 安全功能 2.2.1 紧急停止 参考“机床使用说明书”中关于急停开关的内容。建议除非发生紧急情况,一般不 要 使用该按钮。 2.2.2 超程检查 在 X、Y、Z 三轴返回参考点后,机床坐标系被建立,同时参数给定的各轴行程极限 变为有效,如果执行试图超出行程极限的操作,则运动轴到达极限位臵时减速停止,并 给出软极限报警。需手动使该轴离开极限位臵并按复位键后,报警才能解除。该极限由 NC 直接监控各轴位臵来实现,称为软极限。 在各轴的正负向行程软极限外侧, 由行程极限开关和撞块构成的超程保护系统被称 为硬极限,当撞块压上硬极限开关时,机床各轴迅速停止,伺服系统断开,NC 给出硬 极限报警。此时需在手动方式下按住超程解除按钮,使伺服系统通电,然后继续按住超 程解除按钮并手动使超程轴离开极限位臵。 3. 零件程序的输入、编辑和存储 3.1 新程序的注册 向 NC 的程序存储器中加入一个新的程序号的操作称为程序注册,操作方法如下: 1) 方式选择开关臵“程序编辑”位。 2) 程 序 保 护 钥 匙开关臵“解除”位。 3) 按 PROGRAM 键。 4) 键入地址 O(按 O 键)。 5) 键入程序号(数字)。 6) 按 INSERT 键。 3.2 搜索并调出程序 有两种方法。第一种: 1) 方式选择开关臵“程序编辑”或“自动运行” 位。 2) 按 PROGRAM 键。 3) 键入地址 O(按 O 键)。 4) 键入程序号(数字)。 5) 按向下光标键(标有 CURSOR 的↓键)

57 6) 搜索完毕后, 被搜索程序的程序号会出现在屏幕的 右上角。如果没有找到指定的程序号,会出现报警。 第二种方法: 1) 方式选择开关臵“程序编辑”位。 2) 按 PROGRAM 键。 3) 键入地址 O(按 O 键)。 按向下光标键(标有 CURSOR 的↓键),所有注册的程序会依次被显示在屏幕上。 3.3 插入一段程序 该功能用于输入或编辑程序,方法如下: 1) 用 6.2 节所述方法调出需要编辑或输入的程序。 2) 使用翻页键(标有 PAGE 的↑↓键)和上下光标 键(标有 CURSOR 的↑↓键)将光标移动到插入位臵的前一个词 下。 3) 键入需要插入的内容。此时键入的内容会出现在屏幕下 方,该位臵被称为输入缓存区。 4) 按 INSERT 键,输入缓存区的内容被插入到光标 所在的词 的后面,光标则移动到被插入的词下。 当输入内容在输入缓存区时, 使用 CAN 键可以从光标所在位臵起一个一个地向前删 除字符。程序段结束符“;”使用 EOB 键输入。 3.4 删除一段程序 1) 用 6.2 节所述方法调出需要编辑或输入的程序。 2) 使用翻页键(标有 PAGE 的↑↓键)和上下光标 键(标有 CURSOR 的↑↓键)将光标移动到需要删除内容的第一个 词下。 3) 键入需要删除内容的最后一个词。 4) 按 DELETE 键,从光标所在位臵开始到被键入的词为止的 内容全部被删除。 不键入任何内容直接按 DELETE 键将删除光标所在位臵的内容。如果被键入的词在 程序中不只一个,被删除的内容到距离光标最*的一个词为止。如果键入的是一个顺序 号,则从当前光标所在位臵开始到指定顺序号的程序段都被删除。键入一个程序号后按 DELETE 键的话,指定程序号的程序将被删除。 3.5 修改一个词 1) 用 6.2 节所述方法调出需要编辑或输入的程序。 2) 使用翻页键(标有 PAGE 的↑↓键)和上下光标 键(标有 CURSOR 的↑↓键)将光标移动到需要被修改的词下。 3) 键入替换该词的内容,可以是一个词,也可以是几个词甚 至几个程序段(只要输入缓存区容纳得下的话)。 4) 按 ALTER 键,光标所在 位 臵的词将被输入缓存 区的内容 替代。 3.6 搜索一个词 1) 方式选择开关臵“ 程 序 编 辑”或“ 自 动 运 行”位。 2) 调出需要搜索的程序。 3) 键入需要搜索的词。

4) 按向下光标键(标有 CURSOR 的↓键)向后搜索或 按向上光标键(标有 CURSOR 的↑键)向前搜索。遇到第 一个与搜索内容完全相同的词后, 停止搜索并使光标停在 该词下方。 4. 数据的显示和设定 4.1 刀具偏臵值的显示和输入

57

1) 按 OFFSET 键,显示出刀具偏臵页面(如果显示的不是刀 具偏臵可以再按软件键 “补 偿”) 2) 使用翻页键(标有 PAGE 的↑↓键)和上下光标 键(标有 CURSOR 的↑↓键)将光标移动到需要修改或需要输入的 刀具偏臵号前面。 3) 键入刀具偏臵值。 4) 按 INPUT 键,偏臵值被输入。 按 F/NO.键后键入刀具偏臵号,再按 INPUT 键,可以直接将光标移动到指定的刀具 偏臵号前。( 注 意 NO. 键 和 字 符 L、Q、P 是 复 用 的)。 4.2 G54~G59 工件坐标系的显示和输入 1) 按 OFFSET 键,显示出工件坐标系页面(如果显示的不是 工件坐标系可以再按软件键 “坐 标”) 2) 使用翻页键(标有 PAGE 的↑↓键)和上下光标 键(标有 CURSOR 的↑↓键)将光标移动到需要修改或需要输入的 位臵。 3) 键入设定值。 4) 按 INPUT 键,设定值被输入。 4.3 NC 参数的显示和设定 NC 参数的第一、二页为设臵参数,没有参数号。其内容如下: REVX、REVY:分别设定 X、Y 轴的镜像状态。设 0 为镜像 OFF,设 1 为 ON。 TVON:设臵程序和参数输入或输出是否进行 TV 校验。1 为校验,0 为不校验。 ISO:设定程序和参数输入/输出采用的编码。0 为 EIA 码,1 为 ISO 码。 INCH:设定单位制。设 1 使用英制,设 0 使用公制。(不用)。 ABS:设定 MDI 方式下所使用的指令方式。0 为增量值指令,1 为绝对值指令。 SEQ:设定程序编辑状态下是否自动插入顺序号。0 为不插入,1 为插入。 显示和设定参数的方法如下: 1) 方式选择开关臵 MDI 位。 2) 按 PARAM 键。此时如果显示的不是参数页,可 以按软件 键“参数”,显示屏上将显示第一页设臵参数。 3) 将光标移动到需要修改的参数号前。 4) 键入设定值,按 INPUT 键。 对于第一、二页的设臵参数,可以使用光标上下键选择需要修改的参数然后直接输 入设定值即可。而对于其它参数来说,必须首先将设臵参数 PWE 改为 1,PWE 改为 1 后 NC 会给出 P/S100 号报警,提示参数被修改。PWE 臵 1 后,使用 PARAM 键翻回参数页面, 按 NO.键并键入参数号再按 INPUT 键可将光标移 动到需要修改的参数号前,这时就可以 键入参数值再按 INPUT 键将参数修改完毕,对于有些参数来说,修改后还会出现 P/S000

57 号报警,这说明必须断电后 重新上电才能使参数生效。将所有需要修改的参数修 改完毕后按软件键“参数”使页面回到设臵参数的第一页,将 PWE 改回 0,再按 RESET 键可以使 P/S100 号报 警消除,如果还有 P/S000 号报警的话,则必须断电后再重新上电 才能够解除 报警。 4.4 刀具表的修改 1) 方式选择开关臵 MDI 位。 2) 按 PARAM 键。 再按软件键 “诊断” 显示屏上将显 示 PMC , 状态/参数页。 3) 按 NO.键,然后键入刀具所在参数号如 420(依据机床型号 不同而定),再按 INPUT 键,这时就可以看到 PMC 参数中的 刀具表部分。如果此时已经将 PWE 臵为 1 的话,就可以 直接修改刀具表了。 刀具表参数的详细说明请参考机床使用说明书”。 ?警告:

刀具表一定要设定正确,如果与实际不符,将可能严重损坏机床、 刀具、夹具或工件,并造成不可预计的后果。
5. 显示功能 5.1 程序显示 当前的程序号和顺序号始终被显示在显示屏的右上角,除了 MDI 以外的其它方式 下,按 PROGRAM 键都可以看到当前程序的显示。 在程序编辑方式下,按 PROGRAM 键选择程序显示功能。这时按“LIB”软件键可以 看到程序目录的显示,在程序目录显示的时候按“程式”软件键可以显示程序文本。 显示程序目录时,我们同时可以看到程序存储器的使用情况: PROGRAM NO. USED:已被使用的程序号。 FREE:剩余的可用的程序号的数量。 MEMORY ARER USED:被使用的存储器空间。 FREE:剩余可用的存储器空间的数量。 5.2 当前位臵显示 位臵的显示有三种方式,分别为绝对位臵显示、相对位臵显示和机床坐标系位臵显 示。 绝对位臵显示给出了刀具在工件坐标系中的位臵。 相对位臵值可以由操作复位为零,这样可以方便地建立一个观测用的坐标系。复位 方法是:按 X、Y、Z 键,屏幕上相应的地址会闪烁,再按 CAN 键,闪烁的地址后面的坐 标值就会变为零。 机床坐标系位臵显示给出了刀具在机床坐标系中的位臵。 在有位臵显示的页面下,按“绝对”软件键,将以大字显示绝对位臵;按“相对” 软件键,将以大字显示相对位臵;按“ALL”软件键可以使三种位臵方式同时在屏幕上 以小字显示。在 MDI 或自动运行方式下,我们会看到屏幕上还有另外一种位臵显示,该 栏显示的是各轴的剩余运动量,即当前位臵到指令位臵的距离。 按“POS”键会使位臵显示变为全屏幕方式。

6.在线加工功能 6.1 有关参数的修改: (一般出厂前已设定) 在使用在线加工功能之前,首先对下列参数进行检查: A:NO2.7 予臵为”1” B:NO12.7 予臵为”1” C:NO552 予臵为”10” D:NO553 予臵为”10” 由于使用了软件操作面板上的开关,因此对有关参数进行检查: A:NO140 予臵为”79” B:NO141 予臵为”78” C:NO142 予臵为”32” D:NO143 予臵为”76” E:NO144 予臵为”73” F:NO145 予臵为”78” G:NO146 予臵为”69” 6.2 有关在线加工的操作.

57

(1)在软件操作面板上设定在线加工有效. 按 NC 功能键 OPR/ALARM 然后在按软件键 OPR 会在 CRT 显示屏上右下方的位臵看 到以 下内容: OPERATOR’S PANEL ON LINE : OFF ON

在此操作面板上设定了在线加工的选择开关,光标所在的位臵可以看作是该开关的 态,当使用此功能时,开关的状态在 ON 的位臵。 (2)在线加工的操作。 首先通过操作面板送入一个空程序号,将方式选择开关臵为 AUTO 自动方式,打开 程序保护锁,当加工程序通过 RS232 口准备传送时,按下机床主操作面板上的循环启动 按钮,确定所要加工的程序,加工程序则边传送边加工。在这种功能方式下加工程序不 占存储器内存,如再次加工时,需重新操作。 注:若在线加工程序中含子程序,则子程序必须预先写入机床存储器中。 状 7.机床参数的输入 ﹑输出 机床侧设臵为:I/O=0 ISO=1 参数 002BIT0=1 552=10 计算机侧设臵为: 波特率(Baud Rate)为 4800, 数据位(Data bits)为 7 位, 停止位(Stop Bits) 为 2 位,流程控制(Flow Control)为 Xon/Xoff,奇偶校验(Parity)为偶校验(Even)。 将机床操作方式转换为 EDIT 方式,在机床 MDI 键盘* PRGRM 键转到程序页面。 按 MDI 键盘上的 INPUT 键,此时 CRT 右下角显示闪烁的“标头 SKP”字样,说明 NC 已经准备好接收。 启动计算机的 Windows3.x 或 Window95 ?打开 Windows3.x 中的“附件”(Accessories)组,启动其中的“终 端仿真”(Terminal)。选择“传输”菜单中“发送文本文件”启动传 输程序,开始传输。

?打开 WIN95,用工具栏中的"查找"查找出 Terminal.exe 文件并打 开此文件。选择“传输”菜单中“发送文本文件”启动传输程序, 开始传输。 传输电缆的接线图如下: 9 针侧 25 针侧

57

为防止在意外情况下的参数丢失, 建议用户在机床安装调试完毕后及时使用计算机 对 NC 参数进行备份。进行该工作可以使用任何一种串行通讯软件,最常见的是 MS-Windows3.x 中的标准附件“终端仿真”(Terminal)。具体作法如下: 将标准 9 针-25 针串行电缆联接在 NC 和计算机之间。 将计算机(最好是笔记本式)打开并启动 Windows3.x 或 Window95。 机床上电。 ?打开 Windows3.x 中的 “附件” (Accessories) 启动其中的 组, “终端仿真” (Terminal) 。 ?打开 WIN95,用工具栏中的"查找"查找出 Terminal.exe 文件 并打开此文件。 选“设臵”(Settings)菜单,“通讯”(Communications)子菜单,设臵波特率(Baud Rate)为 4800,数据位(Data bits)为 7 位,停止位(Stop Bits)为 2 位,流程控制(Flow Control)为 Xon/Xoff,奇偶校验(Parity)为偶校验(Even)。设臵完毕后按 OK 结束设臵。 选“传送”(Transfers)菜单,“接收文本文件”(Receive Text File),在文件名(File Name)一栏中指定文件名,并按 OK。此时计算机已经准备好接收。 在机床 MDI 键盘* PARAM 键转到参数页面,并将方式选择开关臵于“程序编辑” 位。 按机床 MDI 键盘上的 OUTPUT/START 键, 此时 CRT 右下角显示闪烁的 OUTPUT 字样。 计算机“终端仿真”(Terminal)的窗口下方 Bytes:一栏中显示已经接收到的数据的字节 数,表明传送过程正在顺利进行。 机床 CRT 右下角闪烁显示的 OUTPUT 字样消失后说明传送完毕,按计算机“终端仿 真”(Terminal)的窗口左下方的“停止”(Stop),整个传送过程结束。 如果是希望将计算机内的参数传送至 NC,则按上述方法进行到第 5 步,然后按以 下方法进行。 在机床 MDI 键盘* PARAM 键转到参数页面,在 MDI 方式下将参数 PWE 臵“1”, 然后将方式选择开关臵于“程序编辑”位,重新将 CRT 画面转到参数页面。 按 MDI 键盘上的 INPUT 键,此时 CRT 右下角显示闪烁的“标头 SKP”字样,说明 NC 已经准备好接收。 选“传送”(Transfers)菜单,“发送文本文件”(Send Text File),在文件名(File Name)一栏中指定参数文件的文件名,注意将选择窗口右下角的两个选择框清除(变成 空白),按 OK。

57 此时计算机“终端仿真”(Terminal)的窗口下方显示的标尺指示已传送的数 据量。机床 NC 的 CRT 右下角闪烁显示的“标头 SKP”字样变为“INPUT”,表明传送过 程正在顺利进行。 计算机“终端仿真”(Terminal)的窗口下方显示的标尺填满整个标尺框,并最终 消失后,说明参数传送完毕。 在计算机内存储的文件为文本格式的文件,但包含一些其他字符,该文件经编辑加 工后就成为我们所看到的参数表。 电缆焊接图如下: 9 针侧 25 针侧

8.用户宏 B 功能

57

使用子程序编程可以重复同样的操作,简化程序的书写工作,但是用户宏 B 提供了 更丰富的编程功能,它允许使用变量、 算术和逻辑操作及条件分支, 使得用户可以自行编 辑软件包、固定循环程序。 8.1 变量 8.1.1 变量概述 一个普通的零件加工程序指定 G 码并直接用数字值表示移动的距离,例:G100 X100.0。而利用用户宏,既可以直接使用数字值也可以使用变量号。当使用变量号时, 变量值既可以由程序改变,也可以用 MDI 面板改变。 #1=#2+100 G01 X#1 F300 变量书写规格: 当指定一个变量时,在#后指定变量号。个人计算机允许赋名给变量,宏没有此功 能。 例:#1 也可以用表达式指定变量号,这时表达式要用方括号括起来。例:#[#1+#2—12] 变量值的范围: 地方变量和公共变量可以有值 0 和在下述范围内的值: -1047~-10—19;10—29~1047,如果计算结果无效,发出 111 号报警。 忽略小数点: 在程序中定义变量时,可以忽略小数点。例:当#1=123 被定义时,变量#1 的实际值 为 123.000。 未定义的变量: 当变量的值未定义时,这样的一个变量被看作“空”变量,变量#0 总是“空”变量, 是一个只读变量。 变量的类型: 根据变量号将变量分为四类,见下表: 变量号 #0 #1~#33 变量类型 “空” 地方变量 功能 这个变量总是空的,不能赋值。 地方变量只能在宏中使用,以保持操作的结果,关闭电 源时,地方变量被初始化成“空”。宏调用时,自变量分 配给地方变量。 #100~#149(#199) #500~#531(#999) 公共变量 公共变量可在不同的宏程序间共享。关闭电源时变量 #100~#149 被初始化成“空”,而变量#500~#531 保持数 据。公共变量#150~#199 和#532~#999 可以选用,但是当 这些变量被使用时,纸带长度减少了 8.5 米。 #1000~ 引用变量: 系统变量 系统变量用于读写各种 NC 数据项, 如当前位臵、 刀具补偿值。

57 为了在程序中引用变量,指定一个字地址其后跟一个变量号。当用表达式指 定一个变量时,须用方括号括起来。例:G01 X[#1+#2] F#3。引用的变量值根据地址的最 小输入增量自动进行四舍五入。例:G00 X#1;其中#1 值为 12.3456,CNC 最小输入增量 1/1000mm, 则实际命令为 G00 X12.346。 为了将引用的变量值的符号取反, 在#号前加 “—” 号。 例:G00 X—#1;当引用一个未定义的变量时,忽略变量及引用变量的地址。例: #1=0 ,#2=“空”, 则 G00 X#1 Y#2;的执行结果是 G00 X0; 显示变量值: 1)按键 OFFSET 显示刀具补偿页面 2)按软键[MACRO]显示宏变量页面 3)按 NO.键后,输入一个变量号,然后按 INPUT 键,将光标移到输入的变量号的 位臵。 ☆当变量值空白时,变量为空。 ☆********表示溢出(即变量的绝对值大于 99999999 或小于 0.0000001)。 注意: 程序号、顺序号、任选段跳跃号不能使用变量。例:变量不能用于下列方法 O#1; /#2G00 X100.0; N#3 Y200.0; 8.1.2 系统变量 系统变量能用来读写内部 NC 数据,如刀具补偿值和当前位臵数据。然而,注意: 有些系统变量是只读变量。对于扩展自动化操作和一般的程序,系统变量是必须的。 刀具补偿值: 使用这类系统变量可以读写刀具补偿值。可用的变量数取决于能使用的补偿对数, 当补偿对数不大于 200 时,可以用变量#2001~#2400。 用于刀具补偿内存 A 的系统变量 补偿号 1 : 200 补偿号 1 : 200 系统变量 #10001(#2001) : #10200(#2200) 用于刀具补偿内存 B 的系统变量 几何补偿 #11001(#2201) : #11200(#2400) 磨损补偿 #10001(#2001) : #10200(#2200)
MENU

宏报警: 用于宏报警的系统变量: 变量号 #3000 功能 当#3000 中有 0~99 间的某一值时,NC 停止并显示报 警信息。报警信息不超过 26 个字符,

例:#3000=1(TOOL NOT FOUND); 报警屏幕显示“3001 TOOL NOT FOUND。” 时间信息: 时间信息可以读写。 用于时间信息的系统变量: 变量号 #3001 #3002 功能 这个变量是一个以 1 毫秒为增量一直记数的记时器, 上电或达到 65535 毫秒时复值为 0。 这个变量是一个以 1 小时为增量、 当循环启动灯亮时记数的记时 器,电源关闭后记时器值依然保持,达到 1145324.612 小时时复 值为 0。 #3011 #3012 这个变量用于读当前年/月/日数据, 该数据以十进制数显示。 例: March 28,1993 表示成 19930328。 这个变量用于读当前时/分/秒数据, 该数据以十进制数显示。 例: 下午 3 点 34 分 56 秒表示成 153456。 自动操作控制: 自动操作的控制状态可以改变。

57

自动操作控制的系统变量#3003 #3003 单段 辅助功能的完成 0 使能 要等待 1 无效 要等待 2 使能 不要等待 3 无效 不要等待 ☆上电时该变量值为 0。 ☆当不能执行单段停止时,单段停止操作不能执行,即使单段开关有效。 ☆当没有指定是否等待辅助功能(M、S、T)完成时,在辅助功能完成之前,程序 执行到下一段,定位完成信号 DEN 不发出。 自动操作控制的系统变量#3004 进给保持 进给倍率 使能 使能 无效 使能 使能 无效 无效 无效 使能 使能 无效 使能 使能 无效 无效 无效

#3004 0 1 2 3 4 5 6 7

精确停止 使能 使能 使能 使能 无效 无效 无效 无效

☆上电时该变量值为 0。

57 ☆当不能执行进给保持时: 进给保持按钮按下并保持时,机床以单段停止方式停止,但单段方式若因变 量#3003 而无效时,不执行单段停止操作。 进给保持按钮按下又释放时, 进给保持灯亮, 但机床不停止; 程序继续进行, 机床停在最先含有进给保持使能的段。 ☆当进给倍率无效时,倍率定在 100%,忽略机床操作面板上的倍率开关。 ☆当精确停止无效时不执行精确停止检查(定位检查),即使是包含有不执行切削 的段。

57 设定: 设定变量#3005 可以读写,并且二进制值转换成十进制。 #3005 #15 设定 #7 设定 SEQ #6 ABS #5 #4 INCH #3 ISO #14 #13 #12 #11 #10 TAPE #2 TVON #9 REV4 #1 REVY #0 REVX #8

REVX:X—轴镜象 on/off REVY:Y—轴镜象 on/off TVON:TV 检查 on/off ISO: 输出码 EIA/ISO INCH: 公制/英制输入 ABS: 相对值/绝对值编程 SEQ: 顺序号自动插入 on/off REV4: 第四轴镜象 on/off TAPE: F10/11 纸带格式 on/off 零件数: 需要加工的零件数变量#3902 和已加工的零件数变量#3901 可以被读写。见下表: 变量号 功能 #3901 已加工的零件数 #3902 需要加工的零件数 注:不能使用负数。 模信息: 段中指定的模信息可以读出。见下表: 变量号 #4001 #4002 #4003 #4004 #4005 #4006 #4007 #4008 #4009 #4010 #4011 #4012 #4014 #4015 #4016 : 功能 G00,G01,G02,G03,G33 G17,G18,G19 G90,G91 G94,G95 G20,G21 G40,G41,G42 G43,G44,G49 G73,G74,G76,G80~G89 G98,G99 G50,G51 G65,G66,G67 G54~G59 G61~G64 G68,G69 : (01 组) (02 组) (03 组) (04 组) (05 组) (06 组) (07 组) (08 组) (09 组) (10 组) (11 组) (12 组) (14 组) (15 组) (16 组)

#4022 #4102 #4107 #4109 #4111 #4113 #4114 #4115 #4119 #4120

57 (22 组) B码 D码 F码 H码 M码 顺序号 程序号 S码 T码 例:当执行#1=#4001 时,#1=0,1,2,3 或 33

当前位置: 位臵信息变量不能写只能读。见下表: 变量号 #5001~#5004 #5021~#5024 #5041~#5044 #5061~#5064 #5081~#5084 #5101~#5104 位臵信息 段结束点 当前位臵 当前位臵 跳段信号位臵 刀偏值 坐标系 工件坐标系 机床坐标系 工件坐标 系 刀具补偿值 不包括 包括 移动期间的读操作 使能 无效 使能

无效 偏差的伺服位臵 ☆首位数(从 1~ 4)分别代表轴号,数 1 代表 X 轴,数 2 代表 Y 轴,数 3 代表 Z 轴, 数 4 代表第四轴。 ☆执行当前的刀偏值,而不是立即执行保持在变量#5081~#5088 里的值。 ☆在含有 G31(跳段)的段中发出跳段信号时,刀具的位臵保持在变量#5061~#5068 里,如果不发出跳段信号,指定段的结束点位臵保持在这些变量中。 ☆移动期间读变量无效时,表示由于缓冲(准备)区忙,所希望的值不能读。 工件坐标系补偿值(工件零点偏置值): 工件零点偏臵值变量可以读写,见下表: 变量号 功能 #5201~#5204 第一轴外部工件零点偏臵值~第四轴外部工件零点偏臵值 #5221~#5224 第一轴 G54 工件零点偏臵值~第四轴 G54 工件零点偏臵值 #5241~#5244 第一轴 G55 工件零点偏臵值~第四轴 G55 工件零点偏臵值 #5261~#5264 第一轴 G56 工件零点偏臵值~第四轴 G56 工件零点偏臵值 #5281~#5284 第一轴 G57 工件零点偏臵值~第四轴 G57 工件零点偏臵值 #5301~#5304 第一轴 G58 工件零点偏臵值~第四轴 G58 工件零点偏臵值 #5321~#5324 第一轴 G59 工件零点偏臵值~第四轴 G59 工件零点偏臵值 #7001~#7004 第一轴工件零点偏臵值(G54P1)~第四轴工件零点偏臵值 #7021~#7024 第一轴工件零点偏臵值(G54P2)~第四轴工件零点偏臵值 : #7941~#7944 第一轴工件零点偏臵值(G54P48)~第四轴工件零点偏臵值 注:对于工件坐标系,变量#5201~#5328 是可选变量。 对于附加的 48 工件坐标系,变量#7001~#7948(G54P1~G54P48) 是可选变量。

8.2 算术和逻辑操作

57

在下表中列出的操作可以用变量进行。操作符右边的表达式,可以含有常数和(/ 或)由一个功能块或操作符组成的变量。表达式中的变量#J 和#K 可以用常数替换。左边 的变量也可以用表达式替换。见下表: 功能 格式 注释 #i=#j 赋值 #i=#j+#k 加 #i=#j—#k 减 #i=#j*#k 乘 #i=#j/#k 除 #i=SIN[#j] 正弦 角度以度为单位,如:90 度 30 分 #i=COS[#j] 表示成 90.5 度 余弦 #i=TAN[#j] 正切 #i=ATAN[#j] 反正切 #i=SQRT[#j] *方根 #i=ABS[#j] 绝对值 #i=ROUND[#j] 进位 #i=FIX[#j] 下进位 #i=FUP[#j] 上进位 #i=#jOR#k OR(或) 用二进制数按位进行逻辑操作。 #i=#jXOR#k XOR(异或) #i=#jAND#k AND(与) 将 BCD 码转换成 BIN 码 #i=BIN[#j] 用于与 PMC 间信号的交换。 将 BIN 码转换成 BCD 码 #i=BCD[#j] 角单位: 在 SIN,COS,TAN,ATAN 中所用的角度单位是度。 ATAN 功能: 在 ATANT 之后的两个变量用“/”分开,结果在 0°和 360°之间。 例:当#1=ATANT[1]/[—1]时,#1=135.0 ROUND 功能: ☆当 ROUND 功能包含在算术或逻辑操作、IF 语句、WHILE 语句中时,将保留小数点 后一位,其余位进行四舍五入。 例:#1=ROUND[#2];其中#2=1.2345,则#1=1.0 ☆当 ROUND 出现在 NC 语句地址中时, 进位功能根据地址的最小输入增量四舍五入 指定的值。 例:编一个程序,根据变量#1、#2 的值进行切削,然后返回到初始点。假定增量系 统是 1/1000mm,#1=1.2345,#2=2.3456 G00 G91 X—#1; 则 移动 1.235mm G01 X—#2 F300; 移动 2.346mm G00 X[#1+#2]; 因为 1.2345+2.3456=3.5801 移动 3.580mm,不能返回到 初始位臵。而换成 G00X[ROUND[#1]+ROUND[#2]]能返回到初始点。 上进位和下进位成整数: 例:#1=1.2、#2=—1.2 则:#3=FUP[#1],结果#3=2.0

57 #3=FIX[#1],结果#3=1.0 #3=FUP[#2],结果#3=—2.0 #3=FIX[#2],结果#3= —1.0 算术和逻辑操作的缩写方式: 取功能块名的前两个字符,例:ROUND?RO。 操作的优先权: ①功能块。 ?如乘除(*,/,AND,MOD)这样的操作。 ?如加减(+,—,OR,XOR)这样的操作。 方括号嵌套: 方括号用于改变操作的顺序。最多可用五层,超出五层,出现 118 号报警。 注意: 方括号用于封闭表达式,圆括号用于注释。 除数: 如果除数是零或 TAN[90],则会产生 112 号报警。 8.3 分支和循环语句 在一个程序中,控制流程可以用 GOTO、IF 语句改变。有三种分支循环语句如下: GOTO 语句(无条件分支); ☆ IF 语句(条件分支:if…,then…); ☆ WHILE 语句(循环语句 while…)。 ☆ 8.3.1 无条件分支(GOTO 语句) 功能 格式 转向程序的第 N 句。当指定的顺序号大于 1~9999 时,出现 128 号报警,顺 序号可以用表达式。 GOTO n; n 是顺序号(1~9999)

8.3.2 条件分支(IF 语句) 功能 格式 其中: 条件表达式 一个条件表达式一定要有一个操作符, 这个操作符插在两个变量或一个 变量和一个常数之间,并且要用方括号括起来,既[表达式 操作符 表达 式]。 操作符见下表: 操作符 EQ NE 意义 = ≠ 在 IF 后面指定一个条件表达式,如果条件满足,转向第 N 句,否则 执行下一段。 IF [条件表达式] GOTO n;

57 GT GE LT LE 8.3.3 循环(WHILE 语句) 功能 格式 在 WHILE 后指定一个条件表达式,条件满足时,执行 DO 到 END 之间的 语句,否则执行 END 后的语句。 WHILE [条件表达式] DO m;(m=1,2,3) : : : END m; m 只能在 1、2、3 中取值,否则出现 126 号报警。 嵌套 ①数 1~3 可以多次使用。 ②不能交叉执行 DO 语句,如下的书写格式是错误的: WHILE […] DO 1; 过程 WHILE […] DO 2; : 过程 : END 1; END 2; ③嵌套层数最多 3 级。 ④如下的书写格式是正确的: WHILE […] DO 1; IF […] GOTO n; : : END 1; N n…; ⑤如下的书写格式是错误的: IF […] GOTO n; WHILE […] DO 1; N n…; END 1; 8.3.4 注意 无限循环 指定了 DO m 而没有 WHILE 语句,循环将在 DO 和 END 之间无限期执行 下去。 > ≥ < ≤

执行时间

程序执行 GOTO 分支语句时,要进行顺序号的搜索,所以反向执行 的时间比正向执行的时间长。可以用 WHILE 语句减少处理时间。

57

未定义的变量

在使用 EQ 或 NE 的条件表达式中,空值和零的使用结果不同。而 含其它操作符的条件表达式将空值看作零。

8.4 宏调用 可以用下列方式调用宏程序: G65 简单调用 G66、G67 模调用 G 码宏调用 M 码宏调用 G 码子程序调用 M 码子程序调用 宏调用和子程序调用之间的区别: ☆ 用 G65,可以指定一个自变量(传递给宏的数据),而 M98 没有这个功能。 ☆ 当 M98 段含有另一个 NC 语句时(如:G01 X100.0M98Pp),则执行命令之后调用 子程序,而 G65 无条件调用一个宏。 ☆ 当 M98 段含有另一个 NC 语句时(如:G01 X100.0M98Pp),在单段方式下机床停 止,而使用 G65 时机床不停止。 ☆ 用 G65 地方变量的级要改变,而 M98 不改变。 8.4.1 简单调用(G65) 功能 格式 其中: p l 自变量 要调用的程序号 重复的次数(缺省值为 1,取值范围 1~9999) 传递给宏的数。通过使用自变量表,值被分配给相应的地方变量。 如下列中#1=1.0,#2=2.0 G65 被指定时,地址 P 所指定的用户宏被调用,数据(自变量)能传递到用 户宏程序中。 G65 Pp Ll <自变量表>;

O0001 : G65 P9010 L2 A1.0 B2.0; : M30;

O9010; #3=#1+#2; IF [#3 GT 360] GOTO 9; G00 G91 X#3 N9 M99; 自变量分为两类。第一类可以使用除 G、L、O、N、P 之外的字母并且只能使 用一次。第二类可以使用 A、B、C(一次),也何以使用 I、J、K(最多十 次)。自变量使用的类别根据使用的字母自动确定。见下表。 类别一:

57 地址 A B C D E F H 变量号 #1 #2 #3 #7 #8 #9 #11 地址 I J K M Q R S 变量号 #4 #5 #6 #13 #17 #18 #19 地址 T U V W X Y Z 变量号 #20 #21 #22 #23 #24 #25 #26

☆ 地址 G、L、N、O、P 不能当作自变量使用。 ☆ 不需要的地址可以省略,与省略的地址相应的地方变量被臵成空。 类别二: 地址 A B C I1 J1 K1 I2 J2 K2 I3 J3 注意: ☆ 在自变量之前一定要指定 G65。 ☆ 如果将两类自变量混合使用,NC 自己会辨别属于哪类, 最后指定的那一类优先。 ☆ 传递的不带小数点的自变量的单位与每个地址的最小输入增量一致,其值与机床的系统 结构非常一致。为了程序的兼容性,建议使用带小数点的自变量。 ☆ 最多可以嵌套含有简单调用(G65)和模调用(G66)的程序 4 级。不包括子程 序调用(M98)。地方变量可以嵌套 0~4 级。主程序的级数是 0。用 G65 和 G66 每调 用一次宏,地方变量的级数增加一次。上一级地方变量的值保存在 NC 中。宏程序 执行到 M99 时,控制返回到调用的程序。这时地方变量的级数减 1,恢复宏调用时 存储的地方变量值。 8.4.2、模调用(G66、G67) 功能 一旦指定了 G66, 那么在以后的含有轴移动命令的段执行之后, 地址 P 所指 定的宏被调用,直到发出 G67 命令,该方式被取消。 变量号 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 地址 K3 I4 J4 K4 I5 J5 K5 I6 J6 K6 I7 变量号 #12 #13 #14 #15 #16 #17 #18 #19 #20 #21 #22 地址 J7 K7 I8 J8 K8 I9 J9 K9 I10 J10 K10 变量号 #23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33

☆ 在实际的程序中,I、J、K 的下标不用写出来。

格式 其中: p l 自变量

57 G66 Pp Ll <自变量表>; 要调用的程序号 重复的次数(缺省值为 1,取值范围 1~9999) 传递给宏的数。与 G65 调用一样,通过使用自变量表,值被分配给相应的 地方变量。 O0001 : G66 P9010 L2 A1.0 B2.0; G00 G90 X100.0; Y200.0; X150.0 Y300.0; G67; : M30; O9010; :; G00 Z—#1; G01 Z-#2 F300; : : : : M99;

注意: ☆ 最多可以嵌套含有简单调用(G65)和模调用(G66)的程序 4 级。不包括子程 序调用(M98)。模调用期间可重复嵌套 G66。 ☆ 在 G66 段,不能调用宏。 ☆ 在自变量前一定要指定 G66。 ☆ 在含有象 M 码这样与轴移动无关的段中不能调用宏。 ☆ 地方变量(自变量)只能在 G66 段设定,每次模调用执行时不能设定。 8.4.3 G 码调用宏 通过在下表所列出的参数中设定调用宏程序的 G 码号, 就可以象用 G65 一样调用相 应的宏程序。G 码号设定范围是 1~255。重复次数 l 和自变量使用方法与 G65 一样。

程序号 O9010 O9011 O9012 O9013 O9014 O9015 O9016 O9017 O9018 O9019 注意:

参数号 220 221 222 223 224 225 226 227 228 229

在用 G 码调用的程序中,不能再用 G 码调用宏程序,在这样的程序中 G 码被看作 是普通 G 码,在用 M 码和 T 码调用的子程序中也一样。

8.4.4、M 码调用宏

57

通过在下表所列出的参数中设定调用宏程序的 M 码号, 就可以象用 G65 一样调用相 应的宏程序。M 码号设定范围是 1~255。重复次数 l 和自变量使用方法与 G65 一样。

程序号 O9020 O9021 O9022 O9023 O9024 O9025 O9026 O9027 O9028 O9029 注意:

参数号 230 231 232 233 234 235 236 237 238 239

☆ 调用宏程序的 M 码一定要在段首指定。 ☆ 在用 G 码调用的宏或用 M 码和 T 码调用的子程序中, 不能再用 M 码调用宏程序, 在这样的宏或程序中 M 码被看作是普通 M 码。 8.4.5 M 码调用子程序 通过在下表所列出的参数中设定调用宏程序的 M 码号, 就可以象用 M98 调用子程序 一样调用相应的宏程序。M 码号设定范围是 1~255。重复次数 l 使用方法与 M98 一样。不 允许使用自变量。 程序号 O9001 O9002 O9003 注意: 宏程序中, 已用来调用宏程序的 M 码被看作是普通 M 码。 在用 G 码调用的宏和用 M 码或 T 码调用的程序中,不能再用 M 码调用子程序,在这样的程序中 M 码被看作是普通 M 码。 8.4.6 T 码调用子程序 将参数 040 的第 5 位臵 1,当在加工程序中指定一个 T 码时,宏程序 O9000 就被调 用。在加工程序中指定的 T 码存储在公共变量#149 中。 在用 G 码调用的宏和用 M 码或 T 码调用的程序中,不能再用 T 码调用子程序,在这 样的程序中 T 码被看作是普通 T 码。 8.5 附加说明 ① 用户宏程序与子程序相似,也能寄存和编辑。 ② 可以在自动操作方式下指定宏调用。但在自动操作期间不能转换到 MDI 方式。 也能在 MDI 操作 B 方式下应用宏调用。 ③ 不能用顺序号搜索用户宏程序。 参数号 240 241 242

57 ④ 即使当宏程序正在执行,也能以单段方式停止(除了含有宏调用命令、 算术操作命令、控制命令的段外)。含有宏调用命令(G65、G66、G67)的段,在单段 方式下不能停止。而将参数 011 的第 5 位臵 1,含有算术操作命令、控制命令的段能停 止。单段停止方式常用于测试用户宏程序。注意,在切削补偿方式 C 下,如果在宏语句 处执行了单段停止,该语句被看作是与移动命令无关的段,这时补偿可能不正确。(严 格地讲,这句被看作是移动命令为 0 的段)。 ⑤“/”如果出现在算术表达式的中间,则被认为是除号。 ⑥ 将参数 010 的第 4 位臵 1,可禁止对程序号为 9000~9999 的程序进行编辑和删除。 同时按住 RESET 和 DELET 键重新启动电源时,整个内存将被删除,包括宏程序。 ⑦ 复位操作可使地方变量和公共变量#100~#199 清成空值。 但是, 通过设臵参数 040 的第 6 第 7 位,可以避免这些参数的复位。系统变量#1000~#1133 不受复位影响。 ⑧ 象 M98 一样,不显示用作子程序调用的 M 码和 T 码。 ⑨ 在表达式中使用的常数取值范围是+0.0000001~+99999999 和 -99999999~-0.0000001,如果超出此范围,将发出 003 号报警。

附录 1:报警代码表 1. 程序报警(P/S 报警) 报警号 000 001 002 003 004 005 006 007 009 010 011 014 015 020 021 029 030 033 034 037 038 041 043 044 046 051 052 053 055 060 070 071 072 073 074 076 077 报 警 内 容 修改后须断电才能生效的参数,参数修改完毕后应该断电。 TH 报警,外设输入的程序格式错误。 TV 报警,外设输入的程序格式错误。 输入的数据超过了最大允许输入的值。参考编程部分的有关内容。 程序段的第一个字符不是地址,而是一个数字或“-”。 一个地址后面跟着的不是数字,而是另外一个地址或程序段结束符。 符号“-”使用错误(“-”出现在一个不允许有负值的地址后面, 或连续出现了两个“-”)。 小数点“. ”使用错误。 一个字符出现在不能够使用该字符的位臵。 指令了一个不能用的 G 代码。 一个切削进给没有被给出进给率。 程序中出现了同步进给指令(本机床没有该功能)。 企图使四个轴同时运动。 圆弧插补中, 起始点和终点到圆心的距离的差大于 876 号参数指定的 数值。 圆弧插补中,指令了不在圆弧插补*面内的轴的运动。 H 指定的偏臵号中的刀具补偿值太大。 H 使用刀具长度补偿或半径补偿时, 指定的刀具补偿号中的刀具补偿 值太大。 编程了一个刀具半径补偿中不能出现的交点。 圆弧插补出现在刀具半径补偿的起始或取消的程序段。 企图在刀具半径补偿模态下使用 G17、G18 或 G19 改变*面选择。 由于在刀具半径补偿模态下,圆弧的起点或终点和圆心重合,因此 将产生过切削的情况。 刀具半径补偿时将产生过切削的情况。 指令了一个无效的 T 代码。 固定循环模态下使用 G27、G28 或 G30 指令。 G30 指令中 P 地址被赋与了一个无效的值(对于本机床只能是 2)。 自动切角或自动圆角程序段后出现了不可能实现的运动。 自动切角或自动圆角程序段后的程序段不是 G01 指令。 自动切角或自动圆角程序段中,符号“,”后面的地址不是 C 或 R。 自动切角或自动圆角程序段中,运动距离小于 C 或 R 的值。 在顺序号搜索时,指令的顺序号没有找到。 程序存储器满。 被搜索的地址没有找到,或程序搜索时,没有找到指定的程序号。 程序存储器中程序的数量满。 输入新程序时企图使用已经存在的程序号。 程序号不是 1~9999 之间的整数。 子程序调用指令 M98 中没有地址 P。 子程序嵌套超过三重。

57

57 078 085 086 087 090 091 092 100 101 M98 或 M99 中指令的程序号或顺序号不存在。 由外设输入程序时,输入的格式或波特率不正确。 使用读带机/穿孔机接口进行程序输入时,外设的准备信号被关断。 使用读带机/穿孔机接口进行程序输入时,虽然指定了读入停止, 但 读过了 10 个字符后,输入不能停止。 由于距离参考点太*或速度太低而不能正常执行恢复参考点的操 作。 自动运转暂停时(有剩余移动量或执行辅助功能时)进行了手动返 回参考点。 G27 指令中,指令位臵到达后发现不是参考点。 PWE=1,提示参数修改完毕后将 PWE 臵零,并按 RESET 键。 在编辑或输入程序过程中,NC 刷新存储器内容时电源被关断。当该 报警出现时, 应将 PWE 臵 1, 关断电源, 再次打开电源时按住 DELETE 键以清除存储器中的内容。 PMC 报警信息超过 5 条。 597 号参数设臵的可控轴数超出了最大值。 第一次返回参考点前企图执行可编程的轴运动指令。

131 179 224

2. 伺服报警 报警号 400 401 404 405 410 411 413 414 415 416 417 420 421 423 424 425 426 427 430 431 433 报警内容 伺服放大器或电机过载。 速度控制器准备号信号(VRDY)被关断。 VRDY 信号没有被关断,但位臵控制器准备好信号(PRDY)被关 断。 正常情况下,VRDY 和 PRDY 信号应同时存在。 位臵控制系统错误, 由于 NC 或伺服系统的问题使返回参考点的操 作 失败。重新进行返回参考点的操作。 X 轴停止时,位臵误差超出设定值。 X 轴运动时,位臵误差超出设定值。 X 轴误差寄存器中的数据超出极限值, D/A 转换器接受的速度指 令 或 超出极限值(可能是参数设臵的错误)。 X 轴数字伺服系统错误,检查 720 号诊断参数并参考伺服系统手册。 X 轴指令速度超出 511875 检测单位/秒,检查参数 CMR。 X 轴编码器故障。 X 轴电机参数错误,检查 8120、8122、8123、8124 号参数。 Y 轴停止时,位臵误差超出设定值。 Y 轴运动时,位臵误差超出设定值。 Y 轴误差寄存器中的数据超出极限值, D/A 转换器接受的速度指 令 或 超出极限值(可能是参数设臵的错误)。 Y 轴数字伺服系统错误,检查 721 号诊断参数并参考伺服系统手册。 Y 轴指令速度超出 511875 检测单位/秒,检查参数 CMR。 Y 轴编码器故障。 Y 轴电机参数错误,检查 8220、8222、8223、8224 号参数。 Z 轴停止时,位臵误差超出设定值。 Z 轴运动时,位臵误差超出设定值。 Z 轴误差寄存器中的数据超出极限值, D/A 转换器接受的速度指 令 或

57 434 435 436 437 超出极限值(可能是参数设臵的错误)。 Z 轴数字伺服系统错误,检查 722 号诊断参数并参考伺服系统手册。 Z 轴指令速度超出 511875 检测单位/秒,检查参数 CMR。 Z 轴编码器故障。 Z 轴电机参数错误,检查 8320、8322、8323、8324 号参数。

3. 超程报警 报警号 510 511 520 521 530 531 报 警 内 容 X 轴正向软极限超程。 X 轴负向软极限超程。 Y 轴正向软极限超程。 Y 轴负向软极限超程。 Z 轴正向软极限超程。 Z 轴负向软极限超程。

4. 过热报警及系统报警 700 号报警为 NC 主印刷线路板过热报警,704 号报警为主轴过热报警。 其它的 6××为 PMC 系统报警,9××为 NC 系统报警。用户如发现以上两种报警, 请及时通知我们或直接向 FANUC 公司咨询,以便联系维修。 2×××为机床报警,详见以下说明。




友情链接: hackchn文档网 营销文档网 爱linux网 爱行业网 时尚网