如何按名称引用自定义宏变量
自定义宏通过 FANUC 所谓的系统变量提供对许多 CNC 相关功能的访问。这些数据包括:
- 输入/输出信号(与外部设备通信)
- 偏移量(读取和写入偏移量寄存器)
- 报警和消息显示(当程序检测到错误时生成 CNC 报警)
- 访问操作面板功能(启用/禁用单程序段、进给保持和进给速度覆盖)
- 访问时间/日期和时钟计时器(时间事件)
- 访问当前模式状态(确定/更改模式)
- 访问当前轴位置(在使用探头时很重要)

传统上,FANUC 要求您使用一系列难以记住的四位数字来引用这些数据。例如,可以使用系统变量#3000 指定警报生成。以下命令#3000=100(TOOL TOO WIDE)会产生“MC-100 TOOL TOO WIDE”告警。
FANUC CNC 现在允许您通过名称额外引用系统变量。例如,警报生成系统变量的名称是 [#_ALM]。所有系统变量名称都括在方括号中,并以井号和下划线 (#_) 开头。此命令 [#_ALM]=100(TOOL TOO WIDE) 也会生成刚才显示的警报。
使用系统变量名称而不是数字的第一个优点是显而易见的:易于识别。不熟悉系统变量编号的人会更容易理解包含系统变量名称的命令中发生了什么。
第二个优势与提供对编号数据(如偏移量)的访问的系统变量有关。每种数据类型都有一系列相当随意的相关系统变量编号。例如,对于一种流行的加工中心偏置表配置,FANUC 使用编号为#2201-#2400 的系统变量来提供对偏置 1-200 的刀具长度补偿几何寄存器的访问。另一组用于刀具长度补偿磨损补偿(#2001-#2200)。其他组用于刀具半径补偿几何 (#2601-#2800) 和磨损偏移寄存器 (#2401-2600)。
虽然有一些算法可以简化访问单个偏移寄存器的任务,但记住哪些系统变量与每种类型的偏移数据相关是很困难的。同样,不熟悉自定义宏的人将无法识别系统变量编号。更糟糕的是,FANUC CNC 和偏置工作台配置之间的系列或系统变量编号会有所不同。
使用系统变量命名编号数据,数据编号对应寄存器编号。如果访问偏移编号为 5 的数据(磨损或几何形状、长度或半径),则数据编号将为 5。另外,系统变量名比系统变量号更有意义。
以下是前面讨论的加工中心偏置表的系统变量名称(字母n代表数据编号):
- [#_OFSHG[n]] — 刀具长度补偿几何偏移量
- [#_OFSHW[n]] — 刀具长度补偿磨损偏移量
- [#_OFSDG[n]] — 刀具半径补偿几何偏移量
- [#_OFSDW[n]] — 刀具半径补偿磨损偏移量
以下任一命令将刀具长度补偿几何偏置寄存器编号 5 的当前值存储在公共变量#101 中。
- #101 =[#_OFSHG[5]]
- #101 =#2205
您无法控制系统变量命名。您必须在 FANUC 操作手册中找到它们的预定名称。但是,您可以使用 SETVN 命令命名 50 个 #500 系列永久公共变量 (#500-#549),最多包含八个字符和数字(名称必须以字符开头)。命名后,与系统变量一样,您可以通过变量的编号或名称来引用变量。
考虑这个 SETVN 命令:SETVN 510[DIA1, LENGTH1, DIA2, LENGTH2]。
值 510 指定要命名的第一个永久公共变量 (#510)。名称(在第一个逗号之前)是#510 的变量名称。每个连续的名称将依次应用于后续的永久公共变量。该命令执行一次后,从#510 到#513 的四个永久公共变量将分别命名为[#DIA1]、[#LENGTH]、[#DIA2] 和[#LENGTH2]。请注意,命名的变量必须括在括号中,并以井号开头。变量名将一直保留,直到它们被更改,即使在重启后也是如此。
命名永久公共变量适用于系统常量——在多个程序之间以及可能在多个类似机器之间使用的值。例如,考虑有两个相似的车削中心。一种使用 M41 和 M42 用于低和高主轴范围。另一个使用M23和M25。考虑这个 SETVN 命令:SETVN 521[LOW_RNG, HIGH_RNG]。
在每台机器中,将永久公共变量#521 设置为低范围 M 代码值(23 或 41),将 #522 设置为高范围值(25 或 42)。在 CNC 程序中包含这些 M 代码来指定主轴范围:
- M[#LOW_RNG] — 选择低范围
- M[#HIGH_RNG] — 选择高范围
您可能会考虑的其他系统常量:
- [#APR_DIST] — 可以轻松修改快速接近距离
- [#SPD_%] 和/或 [#FEED_%] - 针对材料硬度变化修改切削条件
- [#FASTFEED] — 指定接近/缩回运动的进给速率
工业设备