系统变量具有特殊功能。有关这些功能的详细说明见下面内容。
#550-#699 #10550- #10699 通用校准数据和探针校准数据
这些通用变量在关机时保存。部分较高的 #5xx 变量保存探针校准数据。示例:#592 设定了刀具探针被放置于工作台的哪一侧。如果这些变量被覆盖,那么,您需要对探针重新进行标定。
注意:如果机床未安装探针,您可将这些变量用作关机时存储的通用变量。
#1080-#1097 #11000-#11255 #13000-#13063 1 位离散输入
您可以采用这些宏从外部设备连接指定输入:
变量
保留变量
使用方法
#11000-#11255
-
256 个离散输入(只读)
#13000-#13063
#1080-#1087
#1090-#1097
RAW 格式以及经筛选的模拟数字输入(只读)
特定的输入值可在一个程序内读入。格式是#11nnn,其中,nnn是输入编号。按 DIAGNOSTIC(诊断)并选择 I/O 标签,以查看不同设备的输入和输出编号。
示例:
#10000=#11018
本示例记录 #11018 的状态,它涉及输入 18 (M-Fin_Input),变量#10000。
有关 I/O PCB 上可用的用户输入,请参阅 Haas 服务网站上的机器人自动化辅助参考文档。
#12000-#12255 1 位离散输出
Haas 控制器最多可控制 256 个离散输出。但是,这些输出中的很多已被保留,供 Haas 控制器使用。
变量
保留变量
使用方法
#12000-#12255
-
256 个离散输出
特定的输出值可在一个程序内读出或写入。格式是 #12nnn,其中,nnn 是输出编号。
示例:
#10000=#12018 ;
本示例记录 #12018 的状态,它涉及输入 18(冷却液泵马达),变量 #10000。
最大轴负荷
这些变量包含了一根轴自机床上次开机起或自宏变量被清除起所达到的最大负荷。最大轴负荷是一根轴曾达到的最大负荷 (100.0 = 100%),并非控制器读取变量时的轴负荷。
= C轴
= U轴
= V轴
= A轴
= W轴
= B轴
= T轴
#1064 = X 轴
#1264#1065 = Y 轴
#1265#1066 = Z 轴
#1266#1067#1267#1068#1268
刀具偏置
每个刀具偏置都有一个长度 (H) 和直径 (D) 以及相关的磨损值。
长度的几何偏置(1-200) 。
长度的几何磨损(1-200)。
直径的几何偏置(1-200)。
直径的几何磨损(1-200)。
#2001-#2200H#2201-#2400H#2401-#2600D#2601-#2800D
#3000 可编程警报消息
#3000 警报可被编程。可编程警报的作用与内建警报一样。通过将宏变量 #3000 设置为一个介于 1 到 999 之间的数字,就会生成一个警报。
#3000= 15(列入报警列表的信息);
完成该操作时,显示屏的底部闪烁显示报警,下一个注释中的内容将被放入报警列表。
警报编号(本例为15)会被加上1000并作为一个警报编号。如果以这种方式产生了一个报警,那么,所有运动都将停止,并且必须复位后程序才能继续。可编程警报的编号始终在 1000 到 1999 之间。
#3001-#3002 计时器
通过给各自的变量赋值可为两个计时器设置值。然后程序可以读取变量并确定从计时器设置开始已过去的时间。计时器可用来模仿暂停循环、确定工件至工件的时间,或者执行与时间相关的任何动作。
#3001 毫秒计时器 - 毫秒计时器采用毫秒数描述开机后的系统时间。访问 #3001 后返回的整数代表毫秒数。
#3002 小时计时器 - 小时计时器类似于毫秒计时器,但访问 #3002 后返回的数字代表小时数。小时和毫秒计时器相互独立,可对它们进行独立设置。
系统覆盖
变量 #3003 覆盖 G 代码中的单块功能。
如果 #3003 的值为1,控制器将连续执行每个G代码指令,即使单块功能处于开状态。
#3003 的值为零时,单块功能将以正常状态工作。在单块模式中,您必须按 CYCLE START(循环启动)来执行每行代码。
...
#3003=1 ;
G54 G00 G90 X0 Y0 ;
S2000 M03 ;
G43 H01 Z.1 ;
G81 R.1 Z-0.1 F20. ;
#3003=0 ;
T02 M06 ;
G43 H02 Z.1 ;
S1800 M03 ;
G83 R.1 Z-1. Q.25 F10. ;
X0. Y0.;
%
变量 #3004
在运行时,变量 #3004 将取代特定控制功能。
第一位禁用 FEED HOLD(进给暂停)按钮。如果变量 #3004 被设置为 1,FEED HOLD(进给暂停)在下面的程序块中禁用。将#3004设置为0,以重新启用FEED HOLD(进给暂停)。例如:
..
(进入代码 - FEED HOLD(进给暂停)放行) ;
#3004=1(禁用 FEED HOLD(进给暂停)) ;
(无法停止的代码 - FEED HOLD(进给暂停)未放行) ;
#3004=0(启用 FEED HOLD(进给暂停)) ;
(退出代码 - FEED HOLD(进给暂停)放行) ;
...
在 M30,变量 #3004 复位为 0。
这是变量 #3004 各个数位与相关倍率之间的对应关系。
E = 启用 D = 禁用
#3004
FEED HOLD(进给暂停)
进给速率倍率
精确停止检查
0
E
E
E
1.
D
E
E
2
E
D
E
3
D
D
E
4
E
E
D
5
D
E
D
6
E
D
D
7
D
D
D
#3006 可编程停止
您可以给程序加个停止符,就像一个 M00 - 控制器将停止,直到您按 CYCLE START(循环启动),然后程序将继续执行 #3006 后的块。在本例中,控制器在屏幕下方中部显示注释。
#3006=1(此处为注释) ;
#3030 单块模式
在下一代控制器中,当系统变量 #3030 设置为 1 时,控制器将转至单块模式。无需使用 G103 P1 限制待加工轨迹监控,下一代控制器将正确处理此代码。
注意: 如为经典 Haas 控制器,若要正确处理系统变量 #3030=1,必须在 #3030=1 代码前使用 G103 P1 将待加工轨迹监控限制为 1 块。
#4001-#4021 上次程序块(模态)组代码
G 代码组使机床控制器更高效地处理代码。具有相似功能的G代码通常在同一组内。例如,G90和G91在组3中。宏变量 #4001 至 #4021 为所有 21 个组保存上一个或者默认的 G 代码。
G 代码组编号在 G 代码一节中的代码说明旁。
示例:
G81
钻孔固定循环(组 09)
在一个宏程序读取组代码时,程序可更改 G 代码的行为。如果#4003包含 91,则宏程序可确定所有运动都应是增量运动而不是绝对运动。没有用于零组的相关变量,零组 G 代码是非模态的。
#4101-#4126 上次程序块(模态)地址数据
地址代码 A-Z(不包括 G)被作为模态值进行维护。由预处理进程解释的最后一行代码所代表的信息包含在变量#4101到#4126中。
变量编号到字母地址的数字映射对应字母地址下的映射。例如,以前编译的D地址值在#4107中,最后编译的I值在#4104中。把一个宏指令设置别名为 M 代码时,不可使用变量 #1 - #33 将变量传递给宏。而应使用宏指令中 #4101 - #4126 的值。
#5001-#5006 上次目标位置
通过变量 #5001 - #5006(分别代表 X、Y、Z、A、B 和 C)可查看最后一个运动块的最终程序定义位置。在当前工件坐标系统中给定值并可在机床运动过程中使用。
#5021-#5026 当前机床坐标位置
为了获得当前机床轴位置,请调用分别代表 X、Z、Y、A、B 和 C 轴的宏变量 #5021-#5026。
X 轴
Y 轴
Z 轴
A 轴
B 轴
C 轴
#5021#5022#5023#5024#5025#5026
注意: 机床运动过程中无法读取数值。
#5041-#5046 当前工件坐标位置
为了获得当前工件坐标位置,请调用分别代表 X、Y、Z、A、B 和 C 轴的宏变量 #5041-#5046。
注意:机床运动过程中无法读取数值。 #504X 的值包含所应用的刀具长度补偿。
#5061-#5069 当前跳过信号位置
分别代表 X、Y、Z、A、B、C、U、V 和 W 轴的宏变量 #5061-#5069 提供上次出现跳转信号的轴位置。在当前工件坐标系统中给定值并可在机床运动过程中使用。
#5063 (Z) 的值包含所应用的刀具长度补偿。
#5081-#5086 刀具长度补偿
分别代表 X、Y、Z、A、B 或 C 轴的宏变量 #5081 - #5086 提供当前总刀具长度补偿值。这包括 H (#4008) 中所设定当前值采用的刀具长度偏置加上磨损值。
#5201-#5326、#7001-#7386、#14001-#14386 工件偏置
宏表达式可读取和设置所有工件偏置。这使您能将坐标预设为准确位置,或者根据跳转信号(测得)位置和计算结果设置坐标值。
在读取任何偏置时,停止编译预处理队列,直至执行该程序块。
#6001-#6250 使用宏变量访问的设置
从设置 1 开始,通过变量 #20000 - #20999 或 #6001 - #6250 分别进入设置。欲知控制器中可供使用设置的详细说明,请参阅第 5 页。
注意: #20000 - 20999 的范围编号与设置编号直接相对应。只有当您需要您的程序与老款 Haas 机床兼容时,您才需要将 #6001 - #6250 用于设置访问
#6198 新一代控制系统标识符
宏变量 #6198 具有一个只读值 1000000。
您能在一个程序中测试 #6198,以检查控制系统版本,然后有条件地运行该控制系统版本的程序代码。例如:
%
IF[#6198 EQ 1000000] GOTO5 ;
(非 NGC 代码) ;
GOTO6 ;
N5(NGC 代码) ;
N6 M30 ;
%
在此程序中,如果保存在#6198中的值等于1000000,那么跳至新一代控制系统兼容代码,接着结束程序。如果存储在 #6198 中的值不等于 1000000,那么运行非 NGC 程序,接着结束程序。
#6996-#6999 使用宏变量访问的参数
这些宏变量可以访问所有参数以及下述的任何参数位:
#6996: 参数编号
#6997: 位编号(可选)
#6998: 包含在变量 #6996 中指定的参数编号的值
#6999: 包含在变量 #6997 中指定的参数位的位值(0 或 1)。
注意: 变量 #6998 和 #6999 是只读的。
您也能从参数 1 开始分别使用宏变量 #30000 - #39999。欲知更多有关参数编号的详细信息,请与 Haas 专卖店联系。
使用方法:
为了访问一个参数的值,请将该参数的编号复制到变量#6996中。在宏变量 #6998 中可使用该参数的值,如下所示:
%
#6996=601(指定参数 601) ;
#10000=#6998(将参数 601 的值复制到变量 #10000) ;
%
为了访问一个特定的参数位,请将该参数的编号复制到变量 6996 中,并将位编码复制到宏变量 6997 中。在宏变量6999中可使用该参数位的值,如下所示:
%
#6996=57(指定参数 57) ;
#6997=0(指定零位) ;
#10000=#6999(将参数 57 位 0 复制到变量 #10000) ;
%
托盘更换装置变量
自动托盘更换装置的托盘状态要采用这些变量进行检查:
#7501-#7506
托盘优先级
#7601-#7606
托盘状态
#7701-#7706
分配给托盘的零件加工程序编号
#7801-#7806
托盘使用计数
#3028
装入接收装置的托盘的编号
#8500-#8515 高级刀具管理
这些变量将提供有关高级刀具管理 (ATM) 的信息。将变量 #8500 设为刀具组编号,然后使用只读宏 #8501-#8515 访问所选刀具组的信息。
#8500
高级刀具管理 (ATM)。组 ID
#8501
ATM。组中所有刀具的使用寿命百分比。
#8502
ATM。组中总的可用刀具使用次数。
#8503
ATM。组中总的可用刀具孔数。
#8504
ATM。组中总的可用刀具进给时间(秒)。
#8505
ATM。组中总的可用刀具总时间(秒)。
#8510
ATM。需要使用的下一把刀具的编号。
#8511
ATM。下一把刀具可用使用寿命的百分比。
#8512
ATM。下一把刀具的可使用次数。
#8513
ATM。下一把刀具的可用孔数。
#8514
ATM。下一把刀具的可用进给时间(秒)。
#8515
ATM。下一把刀具的可用总时间(秒)。
#8550-#8567 高级刀具管理-刀具
这些变量提供有关刀具的信息。将变量 #8550 设为刀具偏置编号,然后使用只读宏 #8551-#8567 访问所选刀具的信息
注意: 宏变量 #8550-#8567 提供针对刀具组刀具数据的访问,宏变量 #1601-#2800 提供单一刀具相同数据的访问。
#50001 - #50200 刀具类型
使用宏变量 #50001 - #50200,以读取或写入“刀具偏置”页面中设置的刀具类型。
铣床可用的刀具类型
刀具类型
刀具类型 #
钻
1.
点按
2
套式铣床
3
立铣床
4
点钻
5
球头铣刀
6
探针
7
备用以供将来使用
8-20