加工中心宏程序,局部变量和公共变量的区别
问题描述
- 精选答案
-
一、变量
1、变量的表示
FANUC系统使用“#”表示变量,例如:#1、#100等。变量根据变量号可以分成四种类型,见下表。
变量号 变量类型 功能
#0 空变量 该变量总是空,任何值都不能赋给该变量
#1~#33
局部变量 局部变量只能用在宏程序中存储数据,例如,运算结果。当断电时,局部变量被初始化为空。调用宏程序时,自变量对局部变量赋值
#100~#109
#500~#999 公共变量 公共变量在不同的宏程序中的意义相同。当断电时,变量#500~#999的数据保存,即使断电也不会丢失
#1000以上 系统变量 系统变量用于读写CNC运行时的各种数据,例如,刀具当前位置和补偿
2、关于变量的说明
(1)变量引用时,为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中,例如,GO X[#1+#2]F#3。式中X后的坐标什即是由#1、#2这两个变量组成的表达式来表示。
(2)表达式可以用于指定变量号。此时,表达式必须封闭在括号中,例如,#[#1+#2-12]。
注意:
1) 宏程序中,方括号用于封闭表达式,圆括号只表示注释内容,使用变量时必须注意,FANUC系统通过参数来切换圆括号和方括号。
2) 表达式可以表示变量号和变量。这两者并不一样,例如,X#[#1+#2]并不等于X[#1+#2]。
3) 当在程序中定义变量时,小数点可以省略。例如,当定义#1=123;变量#1的实际值是123.000。
4) 被引用变量的值根据地址的最小设定单位自动舍入。例如:G00X #1。
5) 改变引用的变量值的符号,要把负号放在“#”的前面。例如:G00X-#1。
6) 当变量值未定义时,这样的变量成为“空”变量。当引用未定义的变量时,变量及地址字都被忽略。例如,当变量#1的值是0,并且变量#2的值是空时,G00X#1Z#2的执行结果为G00X0。
7) 变量#0总是空变量。它不能写,只能读。
二、变量的运算
1、算术、逻辑运算和运算符(见下表)
功能 格式 备注
定义 #i=#j
加法 #i=#j+#k
减法 #i=#j-#k
乘法 #i=#j*#k
除法 #i=#j/#k
正弦 #i=SIN[#j] 角度以度指定。
90°30’表示90.5°
反正弦 #i=ASIN[#j]
余弦 #i=COS[#j]
反余弦 #i=ACOS[#j]
正切 #i=TAN[#j]
反正切 #i=ATAN[#j]/[#k]
平方根 #i=SQRT[#j]
绝对值 #i=ABS[#j]
舍入 #i=ROUND[#j]
上取整 #i=FUP[#j]
下取整 #i=FIX[#j]
自然对数 #i=LN[#j]
指数函数 #i=EXP[#j]
或 #i=#jOR#k 逻辑运算一位一位地按二进制数执行
异或 #i=#jXOR#k
与 #i=#jEXP#k
从BCD转为BIN #i=BIN[#j] 用于与PMC的信号交换
从BIN转为BCD #i=BCD[#j]
2、关于运算符的说明
(1)角度单位
函数SIN、COS、ASIN、ACOS、TAN和ATAN的角度单位是度(°)
(2)上取整和下取整
CNC处理数值运算时,若操作后产生的整数绝对大于原数的绝对值时为上取整;若小于原数的绝对值为下取整。对于负数的处理应小心。
例如:假定#1=1.2,并且#2=-1.2。
当执行#3=FUP[#1]时,2.0赋给#3。
当执行#3=FIX[#1]时,1.0赋给#3。
当执行#3=FUP[#2]时 ,-2.0赋给#3。
当执行#3=FIX[#2]时,-1.0赋给#3。
(3)运算符的优先级
按优先的先后顺序依次是函数→乘和除运算(*、∕、AND、MOD)→加和减运算(+、﹣、OR、XOR)。
(4)括号嵌套
括号用于改变运算优先级。括号最多可以嵌套使用5级,包括函数内部使用的括号。
三、功能语句
1、无条件转移(GOTO)语句——转移到有顺序号n的程序段
格式:
GOTOn ;n指行号
例如:
GOTO1 转移至第一行
GOTO#10 转移至变量#10所决定的行
2、运算符(见下表)
运算符 含义 运算符 含义
EQ 等于(=) GE 大于或等于(≥)
NE 不等于(≠) LT 小于(<)
GT 大于(>) LE 小于或等于(≤)
3、条件转移(IF)语句
(1)IF[表达式] GOTOn
说明:如果指定的条件表达式满足时,转移到标有顺序号n的程序段;如果指定的条件表达式不32满足时,则执行下一个程序段。
(2)IF[表达式]THEN
说明:如果表达式满足,执行预先决定的宏程序语句,且只执行一个宏程序语句。例如,条件语句IF[#1EQ#2]THEN#3=0表示如果#1和#2的值相同,0赋给#3。
4、循环功能(WHILE)语句
格式:WHILE[表达式]DOm ;(m=1,2,3)
……
ENDm
说明:在WHILE后指定一个条件表达式,当指定条件满足时,执行从DO到END之间的程序;否则,转到END后的程序段。
提示:通过上述介绍,完全可以借助系统提供的二次开发功能定制出个性化的宏程序,例如,可以将例4—23中刀具轨迹路径定制在宏程序中,然后通过G65方式或直接用G代码调用.常见结构的宏程序定制是有效提高编程效率的手段之一.
- 其他回答
-
是有的 (#1~#33)局部变量只能在宏程序中储存数据,当断电时局部变量被初始化为空,调用宏程序时自变量对局部变量赋值(#100~#199 )(#500~#999)公共变量在不同的宏程序中的意义相同当断电时变量(#100~199)初始化为空变量 (#500~#999)的数据保存即使断电也不会丢失,
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















