?点击上方,关注我哈
普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。
普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100
G01 X#1 F300
说明:
变量的表示
计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。
例如:#1
表达式可以用于指定变量号。此时,表达式必须封闭在括号中。
例如:#[#1+#2-12]
变量的类型
变量根据变量号可以分成四种类型
1.变量号:#0
变量类型:空变量
功能:该变量总是空,没有值能赋给该变量。
2.变量号:#1-#33
变量类型:局部变量
功能:局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值。
3.变量号:#100-#199、#500-#999
变量类型:公共变量
功能:公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失。
4.变量号:#1000 变量类型:系统变量 功能:系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值。 变量值的范围 局部变量和公共变量可以有0值或下面范围中的值: -1047到-10-29或-10-2到-1047
4.变量号:#1000
变量类型:系统变量
功能:系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值。
变量值的范围
局部变量和公共变量可以有0值或下面范围中的值:
-1047到-10-29或-10-2到-1047
如果计算结果超出有效范围,则发出P/S报警NO.111.
小数点的省略
当在程序中定义变量值时,小数点可以省略。
例:当定义#1=123;变量#1的实际值是123.000。
变量的引用
为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。
例如:G01X[#1+#2]F#3;
被引用变量的值根据地址的最小设定单位自动地舍入。
例如:
当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.
改变引用变量的值的符号,要把负号(-)放在#的前面。
例如:G00X-#1
当引用未定义的变量时,变量及地址都被忽略。
例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。
双轨迹(双轨迹控制)的公共变量
对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。
未定义的变量 当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。 (a) 引用 当引用一个未定义的变量时,地址本身也被忽略。 当#1=空 G90 X100 Y#1 G90 X100 当#1=0 G90 X100 Y#1 G90
未定义的变量
当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。
(a) 引用
当引用一个未定义的变量时,地址本身也被忽略。
当#1=
G90 X100 Y#1
G90 X100
当#1=0
G90 X100 Y#1
G90 X100 Y0
(b) 运算
除了用 赋值以外,其余情况下 与0相同。
当#1= 时
#2=#1
#2=
#2=#*5
#2=0
#2=#1+#1
#2=0
当#1=0时
#2=#1
#2=0
#2=#*5
#2=0
#2=#1+#1
#2=0
(c)条件表达式
EQ和NE中的 不同于0。
当#1= 时
#1EQ#0 成立
#1 NE #0 成立
#1 GE #0 成立
#1 GT #0 不成立
当#1=0时
#1EQ#0 不成立
#1 NE #0 不成立
#1 GE #0 不成立
#1 GT #0 不成立
限制
程序号,顺序号和任选程序段跳转号不能使用变量。
例:下面情况不能使用变量:
0#1;
/#2G00X100.0;
N#3Y200.0;