宏程序基础教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宏程序教案
一、宏程序的概述
宏程序是指利用变量编制的NC程序。它可使得编制相同加工操作的程序更方便、更容易。用户宏程序和调用子程序完全一样。
宏程序既可以在主程序中使用,也可以当做子程序来调用。
二、变量
1、变量的表示
变量用变量符号“#”和和面的变量号制定。表达式可以用来制定变量号。此时表达时必须封闭在括号中。
例如:#1,#[#1+#2-12]
2、宏程序中变量的类型
变量一共有4种类型,各种变量的范围和功能见下表:
变量类型变量号功能
空变量#0 该变量总是空,没有值能赋给该变量
用户变量#1~#33 用在宏程序中存储数据
公共变量#100~#199 断电时初始化为空
#500~#999 断电后数据保存,不丢失
系统变量#1000~#5335 用于读写CNC的各种数据,如刀具当前位置
3、变量的引用
为在程序中使用变量值,在制定变量后跟变量号的地址。当用表达式制定变量时,把表达式放在括号中。
例如:G01 X#1 F#[#2+#3]
4、变量的赋值
在程序中若对局部变量进行赋值时,可通过自变量地址,对局部变量进行传递。有2种形式的自变量赋值方法。形式1使用了除G,L,O,N和P以外的字母,每个字母对应一个局部变量。对应关系见下表:
自变量局部变量自变量局部变量自变量局部变量自变量局部变量
A #1 H #11 R #18 X #24
B #2 I #4 S #19 Y #25
C #3 J #5 T #20 Z #26
D #7 K #6 U #21
E #8 M #13 V #22
F #9 Q #17 W #23
自变量形式2使用A,B,C各1次和I,J,K各10次对局部变量赋值,自变量2用于传递诸如三位坐标值的变量。对应关系见下表:
自变量 局部变量
自变量 局部变量 自变量 局部变量 自变量 局部变量
A #1 I 3 #10 I 6 #19 I 9 #28
B #2 J 3 #11 J 6 #20 J 9 #29
C #3 K 3 #12 K 6 #21 K 9 #30 I 1 #4 I 4 #13 I 7 #22 I 10 #31 J 1 #5 J 4 #14 J 7 #23 J 10 #32 K 1 #6 K 4 #15 K 7 #24 K 10 #33 I 2 #7 I 5 #16 I 8 #25 J 2
#8
J 5
#17
J 8
#26
K 2 #9 K 5 #18 K 8 #27 CNC 系统内部自动识别自变量1和2的类型,如果自变量1和2混合赋值,后指定的自变量类型有效。
5、算术和逻辑运算
在利用变量进行编程时,变量之间可以进行算术运算和逻辑运算。 (1)算术运算
以FANUC-0i-MA 数控系统为例,其算术运算的功能和格式见下表:
功 能 格 式 备注 赋值 #i = #j 加法 #i = #j + #k 减法 #i = #j - #k 乘法 #i = #j * #k 除法 #i = #j / #k 正弦 #i = SIN [#j] 单位:度
余弦 #i = COS [#j] 正切 #i = TAN [#j] 反正切 #i = A TAN [#j] 平方根 #i = SQRT [#j] 绝对值 #i = ABS [#j] 舍入 #i =ROUN [#j] 上取整 #i =FIX [#j] 下取整 #i =FUP [#j] 自然对数 #i =LN [#j] 指数函数 #i =EXP [#j]
或 #i = #j OR #k 逻辑运算一位一位地按二
级制数执行 异或 #i = #j XOR #k 与
#i = #j AND #k 从BCD 转为BIN #i = BIN [#j] 用于与PMC 的信号交换
从BIN 转为BCD #i = BCD [#j]
(2)逻辑运算
其逻辑运算的运算符和含义见下表:
运算符含义
EQ 等于(=)
NE 不等于(≠)
GT 大于(>)
GE 大于或等于(≥)
LT 小于(<)
LE 小于或等于(≤)