一、宏指令G65
宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。宏指令的一般形式:
G65 Hm P#i Q#j R#k式中,m——宏程序功能,数值范围01~99;
#i~一运算结果存放处的变量名;
#j——被操作的第一个变量,也可以是一个常数;
#k——被操作的第二个变量,也可以是一个常数。
例如,当程序功能为加法运算时:
P#100 Q#101 R#102 #100=#101+#102
P#100 Q-#101 R#102 #100=-#101+#102
P#100 Q#101 R15 #100=#101+15
宏功能指令见表4-4。
表4-4 宏功能指令表
(1)算术运算宏指令
1)变量的定义和替换 #i=#j
格式G65 H01 P#i Q#j
例 G65 H01 P#101 Q1005;(#101=1005)
G65 H01 P#101 Q-#112;(#101=-#112)
2)加法 #i=#j+#k
格式G65 H02 P#i Q#j R#k
例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)
3)减法 #i=#j-#k
格式G65 H03 P#i Q#j R#k
例 G65 H03 P#101 Q#102 R#103;(#101=#102-#103)
4)乘法 #i=#j×#k
格式G65 H04 P#i Q#j R#k
例 G65 H04 P#101 Q#102 R#103;(#101=#102×#103)
5)除法 #1=#j/#k
格式G65 H05 P#i Q#j R#k
例 G65 H05 P#101 Q#102 R#103;(#101=#102/#103)
6)逻辑或 #i=#j·OR·#k
格式G65 H11 P#i Q#j R#k
例 G65 H11 P#101 Q#102 R#103;(#101=#102·OR·#103)
7)逻辑与 #i=#j·AND·#k
格式G65 H12 P#i Q#j R#k
例 G65 H12 P#101 Q#102 R#103;(#101=#102·AND·#103)
8)异或 #i=#j·X0R·#k
格式G65 H13 P#i Q#j R#k
例 G65 H13 P#101 Q#10'2 R#103;(#101=#102·XOR·#103)
9)平方根#i=
格式G65 H21 P#i Q#j
例 G65 H21 P#101 Q#102;(#101=)
10)绝对值#i=
格式G65 H22 P#i Q#j
例 G65 H22 P#101 O#102;(#101=)
11)求余 #i=#j-trunc(#j/#k)*#k
格式G65 H23 P#I Q#j R#k
例 G65 H23 P#101 Q#102 #103;(#101=#102-trunc(#102/#103)* #103)
12)BCD码转换为二进制代码 #i=BIN(#j)
格式G65 H24 P#i Q#j
例 G65 H24 P#101 Q#102;(#101=BIN(#102))
13)二进制码转换为BCD码 #i=BCD(#j)
格式G65 H 25 P#i Q#j
例 G65 H25 P#101 Q#102;(#101=BCD(#102))
14)复合乘/除 (#i ×#j)/#k
格式G65 H26 P#i Q#j R#k
例 G65 H26 P#101 Q#102 R#103;(#101=(#101×#102)/#103)
15)复合平方根1#i=
格式G65 H27 P#i Q#j R#k
例 G65 H27 P#101 Q#102 R#103;(#101=)
16)复合平方根#i=
格式G65 H28 P#i Q#j R#k
例 G65 H28 P#101 Q#102 R#103;(#101=)
17)正弦函数 #i=#j×SIN(#k)
格式G65 H31 P#i Q#j R#k(单位:度)
例 G65 H31 P#101 Q#102 R#103;(#101=#102×SIN(#103))
18)余弦函数 #i=#j×COS(#k)
格式G65 H32 P#i Q#j R#k(单位:度)
例 G65 H32 P#101 Q#102 R#103;(#101=#102×COS(#103))
19)正切函数 #i=#j×TAN#k
格式G65 H33 P#i Q#j R#k(单位:度)
例 G65 H33 P#101 Q#102 R#103;(#101=#102×TAN(#103))
20)反正切 #i=ATAN(#j/#k)
格式G65 H34 P#i Q#j R#k(单位:度,0°≤#i≤360°)
例 G65 H34 P#101 Q#102 R#102;(#101=ATAN(#102/#103))
(2)控制命令宏指令
1)无条件转移
格式G65 H80 Pn(n为程序段号)
例 G65 H80 P120;(转移到N120)
2)条件转移1 #j EQ#k
格式G65 H81 Pn Q#j R#k(n为程序段号)
例 G65 H81 P1000 Q#101 R#102
当#101=#102,转移到N1000程序段;若#101≠#102,执行下一程序段。
3)条件转移2 #j NE #k
格式G65 H82 Pn Q#j R#k(n为程序段号)
例 G65 H 82 P1000 Q#101 R#102
当#101≠#102,转移到N1000程序段;若#101=#102,执行下一程序段。
4)条件转移3 #j GT #k(>)
格式G65 H83 Pn Q#j R#k(n为程序段号)
例 G65 H83 P1000 Q#101 R#102
当#101>#102,转移到N1000程序段;若#101≤#102,执行下一程序段。
5)条件转移4 #j LT #k
格式G65 H84 Pn Q#j R#k(n为程序段号)
例 G65 H84 P1000 Q#101 R#102
当#101<#102,转移到N1000;若#101≥#102,执行下一程序段。
6)条件转移5 #j GE #k
格式G65 H85 Pn Q#j R#k(n为程序段号)
例 G65 H85 P1000 Q#101 R#102
当#101≥#102,转移到N1000;若#101<#102,执行下一程序段。
7)条件转移6 #j LE#k
格式G65 H86 Pn Q#j Q#k(n为程序段号)
例 G65 H86 P1000 Q#101 R#102
当#101≤#102,转移到N1000;若#101>#102,执行下程序段。
8)P/S报警
格式G65 H99 Pi(i+500为报警号)
例 G65 H99 P15
出现P/S报警号515。
(3)使用注意 为保证宏程序的正常运行,在使用用户宏程序的过程中,应注意以下几点:
1)由G65规定的H码不影响偏移量的任何选择;
2)如果用于各算术运算的Q或R未被指定,则当0处理;
3)在分支转移目标中,如果序号为正值,则检索过程是先向后续程序段查找;如果序号为负值,则检索过程是返回向前面的程序段查找。
4)转移目标序号可以是变量。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。