您现在的位置:

 宏指令G65使用注意事项 FANUC-0MC

  宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。
  一般形式: G65 Hm P#i Q#j R#k
式中:

m--宏程序功能,数值范围0199
#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#10115

1、宏功能指令

1算术运算指令4.4

 

4.4  算术运算指令

G

H

 

 

G65

H01

定义,替换

# i# j

G65

H02

# i# j# k

G65

H03

# i# j-# k

G65

H04

# i# j × # k

G65

H05

# i# j/# k

G65

H21

平方根

# i=√# j

G65

H22

绝对值

# i|# j|

G65

H23

求余

# i# j-trunc# j/# k· # k

 

Trunc;丢弃小于1的分数部分

G65

H24

BCD码→二进制码

# iBIN# j

G65

H25

二进制码→BCD

# iBCD# j

G65

H26

复合乘/

# i=﹙# i × # j﹚÷# k

G65

H27

复合平方根1

# i=√# j2# k2

G65

H28

复合平方根2

# i=√# j2-# k2

1)变量的定义和替换 #i#j

编程格式 G65 H01 P#i Q#j
   
G65 H01 P#101 Q1005 (#1011005)
       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
除法 #i#j / #k
   
编程格式 G65 H05 P#i Q#j R#k
   
G65 H05 P#101 Q#102 R#103(#101#102/#103)
6
平方根 #i
   
编程格式 G65 H21 P#i Q#j
   
G65 H21 P#101 Q#102(#101)
7
绝对值 #i│#j│
   
编程格式 G65 H22 P#i Q#j
   
G65 H22 P#101 Q#102(#101│#102│)
8
复合平方根1 #i
   
编程格式 G65 H27 P#i Q#j R#k
   
G65 H27 P#101 Q#102 R#103(
#101=
9
复合平方根2 #i
   
编程格式
G65 H28 P#i Q#j R#k
   
G65 H28 P#101 Q#102 R#103(#101

2逻辑运算指令4.5

4.5  逻辑运算指令

G

H

 

 

G65

H11

逻辑“或”

# i# j · OR · # k

G65

H12

逻辑“与”

# i# j · AND · # k

G65

H13

异或

# i# j · XOR · # k

1)逻辑或 #i#j OR #k
编程格式 G65 H11 P#i Q#j R#k
G65 H11 P#101 Q#102 R#103(#101#102 OR #103)

2)逻辑与 #i#j AND #k
编程格式 G65 H12 P#i Q#j R#k
G65 H12 P#101 Q#102 R#103(#101#102 AND #103)

3三角函数指令 4.6

4.6  三角函数指令

G

H

 

 

G65

H31

正弦

# i# j · SIN # k

G65

H32

余弦

# i# j · COS # k

G65

H33

正切

# i# j · TAN# k

G65

H34

反正切

# iATAN# j/# k

 

1)正弦函数 #i#j×SIN(#k)

编程格式 G65 H31 P#i Q#j R#k (单位:度)

G65 H31 P#101 Q#102 R#103(#101#102×SIN(#103))
2
余弦函数 #i#j×COS(#k)
   
编程格式 G65 H32 P#i Q#j R#k (单位:度)
   
G65 H32 P#101 Q#102 R#103(#101#102×COS(#103))
3
正切函数 #i#j×TAN#k
   
编程格式 G65 H33 P#i Q#j R#k (单位:度)
   
G65 H33 P#101 Q#102 R#103(#101#102×TAN(#103))
4
反正切 #iATAN(#j/#k)
   
编程格式 G65 H34 P#i Q#j R#k (单位:度,0o≤ #j ≤360o)
   
G65 H34 P#101 Q#102 R#103(#101ATAN(#102/#103))

4控制类指令(表4.7

4.7  控制类指令

G

H

 

 

G65

H80

无条件转移

GO TO n

G65

H81

条件转移1

IF # j# kGOTOn

G65

H82

条件转移2

IF # j# kGOTOn

G65

H83

条件转移3

IF # j# kGOTOn

G65

H84

条件转移4

IF # j# kGOTOn

G65

H85

条件转移5

IF # j# kGOTOn

G65

H86

条件转移6

IF # j# kGOTOn

G65

H99

产生PS报警

PS报警号500n出现

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 H82 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,执行下一程序段。

2、使用注意
  为保证宏程序的正常运行,在使用用户宏程序的过程中,应注意以下几点;
1)由G65规定的H码不影响偏移量的任何选择;
2)如果用于各算术运算的QR未被指定,则作为0处理;
3)在分支转移目标地址中,如果序号为正值,则检索过程是先向大程序号查找,如果序号为负值,则检索过程是先向小程序号查找。
4)转移目标序号可以是变量。