宏指令G65及使用注意事項(xiàng)FANUC-0MC

發(fā)布日期:2011-05-21    蘭生客服中心    瀏覽:5396

 宏指令G65可以實(shí)現(xiàn)豐富的宏功能,包括算術(shù)運(yùn)算、邏輯運(yùn)算等處理功能。
  一般形式: G65 Hm P#i Q#j R#k
式中:


m--宏程序功能,數(shù)值范圍01~99;
#i--運(yùn)算結(jié)果存放處的變量名;
#j--被操作的第一個(gè)變量,也可以是一個(gè)常數(shù);
#k--被操作的第二個(gè)變量,也可以是一個(gè)常數(shù)。
   例如,當(dāng)程序功能為加法運(yùn)算時(shí):
程序 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


1、宏功能指令


(1)算術(shù)運(yùn)算指令(表4.4)


 


表4.4  算術(shù)運(yùn)算指令














































































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


絕對(duì)值


# i=|# j|


G65


H23


求余


# i=# j-trunc﹙# j/# k﹚· # k



Trunc;丟棄小于1的分?jǐn)?shù)部分


G65


H24


BCD碼→二進(jìn)制碼


# i=BIN﹙# j﹚


G65


H25


二進(jìn)制碼→BCD碼


# i=BCD﹙# j﹚


G65


H26


復(fù)合乘/除


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


G65


H27


復(fù)合平方根1


# i=√# j2+# k2


G65


H28


復(fù)合平方根2


# i=√# j2-# k2


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)除法 #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)絕對(duì)值 #i=│#j│
    編程格式 G65 H22 P#i Q#j
    例 G65 H22 P#101 Q#102;(#101=│#102│)
8)復(fù)合平方根1 #i=     編程格式 G65 H27 P#i Q#j R#k
    例 G65 H27 P#101 Q#102 R#103;( #101=
9)復(fù)合平方根2 #i=
    編程格式
G65 H28 P#i Q#j R#k
    例 G65 H28 P#101 Q#102 R#103(#101=


(2)邏輯運(yùn)算指令(表4.5)


表4.5  邏輯運(yùn)算指令

























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)三角函數(shù)指令 (表4.6)


表4.6  三角函數(shù)指令






























G碼


H碼


功  能


定  義


G65


H31


正弦


# i=# j · SIN ﹙# k﹚


G65


H32


余弦


# i=# j · COS ﹙# k﹚


G65


H33


正切


# i=# j · TAN﹙# k﹚


G65


H34


反正切


# i=ATAN﹙# j/# k﹚


 


1)正弦函數(shù) #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)余弦函數(shù) #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)正切函數(shù) #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)反正切 #i=ATAN(#j/#k)
    編程格式 G65 H34 P#i Q#j R#k (單位:度,0o≤ #j ≤360o)
    例 G65 H34 P#101 Q#102 R#103;(#101=ATAN(#102/#103))


(4)控制類(lèi)指令(表4.7)


表4.7  控制類(lèi)指令


















































G碼


H碼


功  能


定  義


G65


H80


無(wú)條件轉(zhuǎn)移


GO TO n


G65


H81


條件轉(zhuǎn)移1


IF # j=# k,GOTOn


G65


H82


條件轉(zhuǎn)移2


IF # j≠# k,GOTOn


G65


H83


條件轉(zhuǎn)移3


IF # j># k,GOTOn


G65


H84


條件轉(zhuǎn)移4


IF # j<# k,GOTOn


G65


H85


條件轉(zhuǎn)移5


IF # j≥# k,GOTOn


G65


H86


條件轉(zhuǎn)移6


IF # j≤# k,GOTOn


G65


H99


產(chǎn)生PS報(bào)警


PS報(bào)警號(hào)500+n出現(xiàn)


1)無(wú)條件轉(zhuǎn)移


編程格式 G65 H80 Pn (n為程序段號(hào))
    例 G65 H80 P120;(轉(zhuǎn)移到N120)
2)條件轉(zhuǎn)移1 #j EQ #k(=)
    編程格式 G65 H81 Pn Q#j R#k (n為程序段號(hào))
    例 G65 H81 P1000 Q#101 R#102
當(dāng)#101=#102,轉(zhuǎn)移到N1000程序段;若#101≠ #102,執(zhí)行下一程序段。
3)條件轉(zhuǎn)移2 #j NE #k(≠)
    編程格式 G65 H82 Pn Q#j R#k (n為程序段號(hào))
    例 G65 H82 P1000 Q#101 R#102
當(dāng)#101≠ #102,轉(zhuǎn)移到N1000程序段;若#101=#102,執(zhí)行下一程序段。
4)條件轉(zhuǎn)移3 #j GT #k (> )
    編程格式 G65 H83 Pn Q#j R#k (n為程序段號(hào))
    例 G65 H83 P1000 Q#101 R#102
當(dāng)#101 > #102,轉(zhuǎn)移到N1000程序段;若#101 ≤#102,執(zhí)行下一程序段。
5)條件轉(zhuǎn)移4 #j LT #k(<)
    編程格式 G65 H84 Pn Q#j R#k (n為程序段號(hào))
    例 G65 H84 P1000 Q#101 R#102
當(dāng)#101 < #102,轉(zhuǎn)移到N1000;若#101 ≥ #102,執(zhí)行下一程序段。
6)條件轉(zhuǎn)移5 #j GE #k(≥)
    編程格式
G65 H85 Pn Q#j R#k (n為程序段號(hào))
    例 G65 H85 P1000 Q#101 R#102
當(dāng)#101≥ #102,轉(zhuǎn)移到N1000;若#101<#102,執(zhí)行下一程序段。
7)條件轉(zhuǎn)移6 #j LE #k(≤)
    編程格式 G65 H86 Pn Q#j Q#k (n為程序段號(hào))
    例 G65 H86 P1000 Q#101 R#102
當(dāng)#101≤#102,轉(zhuǎn)移到N1000;若#101>#102,執(zhí)行下一程序段。


2、使用注意
  為保證宏程序的正常運(yùn)行,在使用用戶(hù)宏程序的過(guò)程中,應(yīng)注意以下幾點(diǎn);
(1)由G65規(guī)定的H碼不影響偏移量的任何選擇;
(2)如果用于各算術(shù)運(yùn)算的Q或R未被指定,則作為0處理;
(3)在分支轉(zhuǎn)移目標(biāo)地址中,如果序號(hào)為正值,則檢索過(guò)程是先向大程序號(hào)查找,如果序號(hào)為負(fù)值,則檢索過(guò)程是先向小程序號(hào)查找。
(4)轉(zhuǎn)移目標(biāo)序號(hào)可以是變量。v

更多相關(guān)信息