3g|浅谈数控宏程序

3g|浅谈数控宏程序

文章图片



宏程序是加工编程的重要补充 。 FANUC 6M数控系统变量表示形式为# 后跟1——4位数字 , 变量种类有三种:(1) 局部变量:#1——#33是在宏程序中局部使用的变量 , 它用于自变量转移 。 (2) 公用变量:用户可宰杂墒褂茫杂谟芍鞒绦虻饔玫母髯映绦蚣案骱瓿绦蚶此凳强梢怨玫摹?100——#149在关掉电源后 , 变量值全部被清除 , 而#500——#509在关掉电源后 , 变量值则可以保存 。 (3) 系统变量:由 # 后跟4位数字来定义 , 它能获取包含在机床处理器或NC内存中的只读或读/写信息 , 包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息 。
编程中变量的用途有四个 , 运算;递增量或递减量;与一个表达式比较之后 , 决定是否实现跳转功能的条件分支;将变量值传送到零件程序中去 。 其中运算又包括:算术运算(赋值、加、减、乘、除、绝对值、四舍五入整数化、舍去小数点以下部分);函数运算(正弦、余弦、正切、反正切、平方根);逻辑操作(与、或);比较操作(等于、大于、小于、大于或等一 变量
普通加工程序直接用数值指定G代码和移动距离;例如 , GO1和X100.0.使用用户宏程序时 , 数值可以直接指定或用变量指定 。 当用变量时 , 变量值可用程序或用MDI面板上的操作改变 。
#1=#2+100
G01 X#1 F300
说明:
变量的表示
计算机允许使用变量名 , 用户宏程序不行 。 变量用变量符号(#)和后面的变量号指定 。
例如:#1
表达式可以用于指定变量号 。 此时 , 表达式必须封闭在括号中 。
例如:#[#1+#2-12

变量的类型
变量根据变量号可以分成四种类型
变量号 变量类型 功能
#0 空变量 该变量总是空 , 没有值能赋给该变量 。
#1-#33 局部变量 局部变量只能用在宏程序中存储数据 , 例如 , 运算结果 。 当断电时 , 局部变量被初始化为空 。 调用宏程序时 , 自变量对局部变量赋值 ,
#100-#199
#500-#999
公共变量 公共变量在不同的宏程序中的意义相同 。 当断电时 , 变量#100-#199初始化为空 。 变量#500-#999的数据保存 , 即使断电也不丢失 。
【3g|浅谈数控宏程序】#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实际指令值为G0012346.
改变引用变量的值的符号 , 要把负号(-)放在#的前面 。
例如:G00X-#1
当引用未定义的变量时 , 变量及地址都被忽略 。
例如:当变量#1的值是0并且变量#2的值是空时 , G00X#1 Y#2的执行结果为G00X0.
****迹(****迹控制)的公共变量
对****迹控制 , 系统为每一轨迹都提供了单独的宏变量 , 但是 , 根据参数N0.6036和6037的设定 , 某些公共变量可同时用于两个轨迹 。