宏程序教案解析.docx
- 文档编号:15427
- 上传时间:2022-09-30
- 格式:DOCX
- 页数:22
- 大小:281.17KB
宏程序教案解析.docx
《宏程序教案解析.docx》由会员分享,可在线阅读,更多相关《宏程序教案解析.docx(22页珍藏版)》请在冰豆网上搜索。
宏程序教案解析
优质教案
宏程序
贵州省电子信息高级技工学校数控中心
2013年5月
宏程序设计
宏程序与子程序类似,对编制相同加工的操作可以使程序简化.同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。
使相同加工操作的程序更方便,更灵活。
本章以FANUC系统为例介绍宏程序设计的内容。
12.1变量的定义
宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。
变量可分为四种类型。
1.空变量
#0为空变量,该变量不能赋值。
2.局部变量
#1~#33为局部变量,局部变量只能在宏程序中存储数据。
当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。
局部变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
3.公共变量
#100~#199、#500~#999为公共变量,公共变量在不同的宏程序中意义相同。
当断电时,变量#100~#199被初始化为空,变量#500~#999的数据不会丢失。
全局变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
4.系统变量
#1000~为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值等。
5.变量与地址(自变量)的对应关系
系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。
表12-2为自变量指宾II的自变量与变量的对应关系。
表12-1自变量指定I的变量对应关系
地址(自变量)
变量号
地址(自变量)
变量号
地址(自变量)
变量号
A
#1
I
#4
T
#20
B
#2
J
#5
U
#21
C
#3
K
#6
V
#22
D
#7
M
#13
W
#23
E
#8
Q
#17
X
#24
F
#9
R
#18
Y
#25
H
#11
S
#19
Z
#26
在自变量指定I中,G、L、O、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。
举例:
G65P3000L2B4A5D6J7K8正确(J、K符合顺序要求)
在宏程序中将会把4赋给#2,把5赋给#1,把6赋给#7,把7赋给#5,把8赋给#6
举例:
G65P3000L2B3A4D5K6J5不正确(J、K不符合顺序要求)
表12-2自变量指定II的变量对应关系
地址(自变量)
变量号
地址(自变量)
变量号
地址(自变量)
变量号
A
#1
K3
#12
J7
#23
B
#2
I4
#13
K7
#24
C
#3
J4
#14
I8
#25
I1
#4
K4
#15
J8
#26
J1
#5
I5
#16
K8
#27
K1
#6
J5
#17
I9
#28
I2
#7
K5
#18
J9
#29
J2
#8
I6
#19
K9
#30
K2
#9
J6
#20
I10
#31
I3
#10
K6
#21
J10
#32
J3
#11
I7
22
K10
#33
自变量指定II使用A、B、C和1次,使用I、J、K各10次。
系统能够自动识别自变量指定I和自变量指定II并赋给宏程序中相应的变量号。
如果自变量指定I和自变量指定II混合使用,则后指定的自变量类型有效。
举例:
G65A1.0B2.0I-3.0I4.0D5.0p1000
宏程序中:
#1:
1.0
#2:
2.0,
#3:
#4:
-3.0
#5:
#6:
#7:
5.0
说明:
I4.0为自变量指定II,D为自变量指定I,所以#7使用指定类型中的D5.0,而不使用自变量指定II中的I4.0。
6.本级变量#1~#33
作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。
本级变量主要用于变量间的相互传递,初始状态下未赋值的本级变量即为空白变量。
局部变量#1~#33(一个宏程序中的同名变量)从0到4级,主程序是0级。
每调用一个含有同名变量的宏程序,级别加1,前一级的变量被保存。
当一个宏程序结束(执行M99)时,级别减1。
例如:
主程序宏程序宏程序宏程序宏程序
(0级)(1级)(2级)(3级)(4级)
O0001O0002O0003O0004O0005
#1=1;#1=2#1=3#1=4#1=5
G65P2A2;G65P3A3G65P4A4G65P5P5……
……………………M99
M30M99M99M99
12.2变量的运算
对宏程序中的变量可以可以进行算术运算和逻辑运算。
1.算术运算
可以进行加、减、乘、除运算。
运算功能和格式如表12-3所示。
举例:
G00X[#1+#2]
X坐标的值是变量1与变量2之和。
2.三角函数计算
对宏程序中的变量可进行正弦(SIN)、反正弦(ASIN)、余弦(COS)、反余弦(ACOS)、正切(TAN)、反正切(ATAN)函数运算。
三角函数中的角度以度为单位。
运算功能和格式如表12-3所示。
表12-3变量运算功能表
类型
功能
格式
举例
备注
算
术
运
算
加法
#i=#j+#k
#1=#2+#3
常数可以代替变量
减法
#i=#j-#k
#1=#2-#3
乘法
#i=#j*#k
#1=#2*#3
除法
#I=#j*#k
#1=#2/#3
三
角
函
数
运
算
正弦
#i=SIN[#j]
#1=SIN[#2]
角度以度指定35°30’
表示为35.5
常数可以代替变量
反正弦
#i=ASI[#j]
#1=ASIN[#2]
余弦
#i=COS[#j]
#1=COS[#2]
反余弦
#i=ACOS[#j]
#1=ACOS[#2]
正切
#i=TAN[#j]
#1=TAN[#2]
反正切
#i=ATAN[#j]
#1=ATAN[#2]
其
它
函
数
运
算
平方根
#i=SQRT[#j]
#1=SQRT[#2]
常数可以代替变量
绝对值
#i=ABS[#j]
#1=ABS[#2]
舍入
#i=ROUN[#j]
#1=ROUN[#2]
上取整
#i=FIX[#j]
#1=FIX[#2]
下取整
#i=FUP[#j]
#1=FUP[#2]
自然对数
#i=LN[#j]
#1=LN[#2]
指数对数
#i=EXP[#j]
#1=EXP[#2]
逻辑
运算
与
#i=#jAND#k
#1=#2AND#2
按位运算
或
#i=#jOR#k
#1=#2OR#2
异或
#i=#jXOR#k
#1=#2XOR#2
转换运算
BCD转BIN
#i=BIN[#j]
#1=BIN[#2]
BIN转BCD
#i=BCD[#j]
#1=BCD[#2]
对于反反正弦(ASIN)取值范围如下:
当参数(No.6004#0)NAT位设为0时:
270°~90°
当参数(No.6004#0)NAT位设为1时:
-90°~90°
当#j超出-1~1时发出P/S报警No.111。
对于反余弦(ACOS)的取值范围如下:
取值范围180°~0°
当#j超出-1~1时发出P/S报警No.111。
对于反正切(ATAN)的取值范围如下:
当参数(No.6004#0)NAT位设为0时:
0°~360°
当参数(No.6004#0)NAT位设为1时:
-180°~180°
3.其它函数计算
对宏程序中的变量还可以进行平方根(SQRT)、绝对值(ABS)、舍入(ROUN)、上取整(FIX)、下取整(FUP)、自然对数(LN)、指数(EXP)运算。
运算功能和格式如表12-3所示。
对于自然对数LN[#j],相对误差可能大于10-8。
当#j≤0时,发出P/S报警No.111。
对于批数函数EXP[#j],相对误差可能大于10-8。
当运算结果大于3。
65×1047(j大约110)时,出现溢出并发出P/S报警No.111。
对于取整函数ROUN[#j],根据最小设定单位四舍五入。
例如,假设最小设定单位为1/1000mm,#1=1.2345,则#2=ROUN[#1]的值是1.0。
对于上取整FIF[#j],绝对值值大于原数的绝对值。
对于下取整FUP绝对值小于原数的绝对值。
例如,假设#1=1.2,则#2=FIX[#1]的值是2.0。
假设#1=1.2,则#2=FUP[#1]的值是1.0。
假设#1=-1.2,则#2=FIX[#1]的值是-2.0。
假设#1=-1.2,则#2=FUP[#1]的值是-1.0。
4.逻辑运算
对宏程序中的变量可进行与、或、异或逻辑运算。
逻辑运算是按位进行。
运算功能和格式如表12-3所示。
5.数制转换
变量可以在BCD码与二进制之间转换。
6.关系运算
由关系运算符和变量(或表达式)组成表达式。
系统中使用的关系运算符如下。
(1)等于(EQ)
用EQ与两个变量(或表达式)组成表达式,当运算符EQ两边的变量(或表达式)相等时,表达式的值为真,否则为假。
例如,#1EQ#2,当#1与#2相等时,表达式的值为真。
(2)不等于(NE)
用NE与两个变量或表达式组成表达式,当运算符NE两边的变量(或表达式)不相等时,表达式的值为真,否则为假。
例如,#1NE#2,当#1与#2不相等时,表达式的值为真。
(3)大于等于(GE)
用GE与两个变量或表达式组成表达式,当左边的变量(或表达式)大于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。
例如,#1GE#2,当#1大于或等于#2时,表达式的值为真。
否则为假。
(4)大于(GT)
用GT与两个变量或表达式组成表达式,当左边的变量(或表达式)大于右边的变量(或表达式)时,表达式的值为真,否则为假。
例如,#1GT#2,当#1大于#2时,表达式的值为真。
否则为假。
(5)小于等于(LE)
用LE与两个变量或表达式组成表达式,当左边的变量(或表达式)小于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。
例如,#1LE#2,当#1小于或等于#2时,表达式的值为真。
否则为假。
(6)小于(LT)
用LT与两个变量或表达式组成表达式,当左边的变量(或表达式)小于右边的变量(或表达式)时,表达式的值为真,否则为假。
例如,#1GE#2,当#1大于#2时,表达式的值为真。
否则为假。
7.运算优先级
运算符的优先顺序是
(1)函数。
函数的优先级最高。
(2)乘、除、与运算。
乘、除、与运算的优先级次于函数的优先级。
(3)加、减、或、异或运算。
加、减、或、异或运算的优先级次于乘、除、与运算。
乘、除、与运算的优先级。
(4)关系运算。
关系运算的优先级最低。
用方括号可以改变优先级,括号不能超过5层。
超过5层时,发出P/S报警No.111。
8.变量值的精度
变量值的精度为8位十进制数。
例如,用赋值语句#1=9876543210123.456时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 教案 解析