在普通加工程序和子程序中,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。
1.变量的表示
变量可以用“#”号及其后面的变量号来表示。当用表达式指定变量号时,表达式必须封闭在括号内,如#3、#104、#[#5+#10-6]。
2.变量的引用
在程序中,地址符后的数值可以使用一个变量来代替,即引用了变量。当用表达式指定变量时,表达式必须封闭在括号内。若改变引用的变量值的符号,可在#的前面加负号(-)。
示例如下:
G01 X[#l+#2-20]Z-#20 F#12;
【说明】
(1)地址O 和N 不能引用变量,不能用O#100,N#120 编程;
(2)变量值可以显示在CRT 画面上,也可以用MDI 键给变量设定值。
3.变量的类型
FANUC 系统的变量分为局部变量、公共变量和系统变量3 种。
(1)局部变量
局部变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。局部变量的序号为#1 ~#33,主要用于变量之间的相互传递,初始状态下未赋值时为空变量。当电源断电时,局部变量被初始化为空。调用宏程序时,自变量对局部变量赋值。
(2)公共变量
公共变量是在主程序及其调用的各个用户宏程序内公用的变量。也就是说,在一个宏指令中的#i 与在另一个宏指令中的#i 是相同的。
公共变量的序号范围为#100 ~#131 和#500 ~#531。其中,#100 ~#131 公共变量在电源断电时被初始化为空;而#500 ~#531 公共变量即使断电后,它们的值也保持不变。(www.xing528.com)
(3)系统变量
系统变量是有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量、接口的输入/输出信号变量、位置信息变量等。这里仅对与编程相关性较大的部分系统变量进行介绍。
【刀具补偿值】用系统变量可以读/写刀具补偿值。可以使用的变量数取决于刀补数,是否区分外形补偿和磨损补偿,以及是否区分刀具长度补偿和刀具半径补偿。当偏置组数不大于200 时,也可使用#2001 ~#2400。刀具补偿值的系统变量见表9-1。
表9-1 刀具补偿值的系统变量
【模态信息】正在处理的程序段前的模态信息可以读出,模态信息的系统变量见表9-2。
表9-2 模态信息的系统变量
【当前位置数据】当前位置数据的系统变量见表9-3。位置信息不能写,只能读。
表9-3 当前位置数据的系统变量
注:① 第1 位代表轴号(从1 到4 分别为X、Y、Z 与第4 轴)。
② 变量#5081 ~#5084 存储的刀具长度补偿值是当前的执行值,不是后面程序段的处理值。
③ 在G31(跳转功能)程序段中跳转信号接通时的刀具位置存储在变量#5061 ~#5064 中。当G31 程序段中的跳转信号未接通时,这些变量中存储指定程序段的终点值。
④ 运动期间不能读是指由于缓冲(预读)功能的原因,不能读期望值。
【工件零点偏移值】工件零点偏移值的系统变量见表9-4。工件零点偏移值可以读和写。
表9-4 工件零点偏移值的系统变量
续表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。