FANUC 宏程序变量

Table of Contents

1 变量概述

一个普通的零件加工程序指定G码并直接用数字值表示移动的距离,例:G100 X100.0。而利用用户宏,既可以直接使用数字值也可以使用变量号。当使用变量号时,变量值既可以由程序改变,也可以用MDI面板改变。

#1=#2+100G01 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数据项,如当前位置、刀具补偿值。

引用变量:

为了在程序中引用变量,指定一个字地址其后跟一个变量号。当用表达式指定一个变量时,须用方括号括起来。例: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(MENU) 显示刀具补偿页面

2)按软键[MACRO]显示宏变量页面

3)按NO.键后,输入一个变量号,然后按INPUT键,将光标移到输入的变量号的位置。

☆当变量值空白时,变量为空。

☆********表示溢出(即变量的绝对值大于99999999或小于0.0000001)。

注意:

程序号、顺序号、任选段跳跃号不能使用变量。例:变量不能用于下列方法

O#1;

/#2G00 X100.0;

N#3 Y200.0;

2系统变量

系统变量能用来读写内部NC数据,如刀具补偿值和当前位置数据。然而,注意:有些系统变量是只读变量。对于扩展自动化操作和一般的程序,系统变量是必须的。

刀具补偿值:

使用这类系统变量可以读写刀具补偿值。可用的变量数取决于能使用的补偿对数,当补偿对数不大于200时,可以用变量#2001~#2400。

用于刀具补偿内存A的系统变量

补偿号系统变量
1 :200#10001(#2001)       :#10200(#2200)

用于刀具补偿内存B的系统变量

补偿号几何补偿磨损补偿
 1 :200#11001(#2201)       :#11200(#2400)#10001(#2001)       :#10200(#2200)

宏报警:

用于宏报警的系统变量:

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

例:#3000=1(TOOL NOT FOUND);

报警屏幕显示“3001 TOOL NOT FOUND。”

时间信息:

时间信息可以读写。

用于时间信息的系统变量:

变量号功能
#3001这个变量是一个以1毫秒为增量一直记数的记时器,上电或达到65535毫秒时复值为0。
#3002这个变量是一个以1小时为增量、当循环启动灯亮时记数的记时器,电源关闭后记时器值依然保持,达到1145324.612小时时复值为0。
#3011这个变量用于读当前年/月/日数据,该数据以十进制数显示。例:March 28,1993表示成19930328。
#3012这个变量用于读当前时/分/秒数据,该数据以十进制数显示。例:下午3点34分56秒表示成153456。

自动操作控制:

自动操作的控制状态可以改变。

自动操作控制的系统变量#3003

#3003单段辅助功能的完成
0使能要等待
1无效要等待
2使能不要等待
3无效不要等待

☆上电时该变量值为0。

☆当不能执行单段停止时,单段停止操作不能执行,即使单段开关有效。

☆当没有指定是否等待辅助功能(M、S、T)完成时,在辅助功能完成之前,程序执行到下一段,定位完成信号DEN不发出。

自动操作控制的系统变量#3004

#3004进给保持进给倍率精确停止
0使能使能使能
1无效使能使能
2使能无效使能
3无效无效使能
4使能使能无效
5无效使能无效
6使能无效无效
7无效无效无效

☆上电时该变量值为0。

☆当不能执行进给保持时:

进给保持按钮按下并保持时,机床以单段停止方式停止,但单段方式若因变量#3003而无效时,不执行单段停止操作。

进给保持按钮按下又释放时,进给保持灯亮,但机床不停止;程序继续进行,机床停在最先含有进给保持使能的段。

☆当进给倍率无效时,倍率定在100%,忽略机床操作面板上的倍率开关。

☆当精确停止无效时不执行精确停止检查(定位检查),即使是包含有不执行切削的段。

设定:

设定变量#3005可以读写,并且二进制值转换成十进制。

#3005
设定#15#14#13#12#11#10#9#8 
     TAPEREV4  
 #7#6#5#4#3#2#1#0 
设定SEQABS INCHISOTVONREVYREVX 
 REVX:X—轴镜象on/offREVY:Y—轴镜象 on/offTVON:TV 检查 on/offISO:   输出码EIA/ISOINCH: 公制/英制输入ABS:  相对值/绝对值编程SEQ:  顺序号自动插入on/offREV4: 第四轴镜象on/offTAPE: F10/11 纸带格式 on/off

零件数:

需要加工的零件数变量#3902和已加工的零件数变量#3901可以被读写。见下表:

变量号功能
#3901已加工的零件数
#3902需要加工的零件数

注:不能使用负数。

模信息:

段中指定的模信息可以读出。见下表:

变量号功能
#4001G00,G01,G02,G03,G33      (01组)
#4002G17,G18,G19                            (02组)
#4003G90,G91                                 (03组)
#4004       (04组)
#4005G94,G95      (05组)
#4006G20,G21      (06组)
#4007G40,G41,G42      (07组)
#4008G43,G44,G49      (08组)
#4009G73,G74,G76,G80~G89      (09组)
#4010G98,G99      (10组)
#4011G50,G51      (11组)
#4012G65,G66,G67      (12组)
#4014G54~G59      (14组)
#4015G61~G64      (15组)
#4016G68,G69      (16组)
 
#4022       (22组)
#4102B码 
#4107D码 
#4109F码 
#4111H码 
#4113M码 
#4114顺序号 
#4115程序号 
#4119S码 
#4120T码 

例:当执行#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) 是可选变量。

原创文章,作者:智造研习社,如若转载,请注明出处:https://www.sfqosk.com/index.php/2024/11/30/148/

(0)
智造研习社的头像智造研习社超级会员
上一篇 2024年11月30日 下午8:26
下一篇 2024年11月30日 下午8:40

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注