FANUC 宏程序基礎(chǔ)篇(1)
一、宏程序的概述
雖然子程序?qū)σ粋€(gè)重復(fù)操作很有用,但若使用用戶宏程序功能,則還可以使用變量、運(yùn)算指令以及條件轉(zhuǎn)移,使一般程序(如型腔加工和用戶自定義的固定循環(huán)等)的編寫變得更加容易。加工程序可以用一個(gè)簡(jiǎn)單的指令調(diào)用用戶宏程序,就像調(diào)用子程序一樣。
普通的加工程序直接用數(shù)值指定G 代碼和移動(dòng)量,例如G00 X100.0。使用用戶宏程序時(shí),除了可直接指定數(shù)值外,還可以指定變量號(hào),可通過程序或MDI 面板上操作來改變?cè)摂?shù)值。
例如:
①#1=#2+100 ;
②G01 X#1 F300 ;
二、變量的表達(dá)方式
當(dāng)指定一個(gè)變量時(shí),在符號(hào)“#”的后面指定變量號(hào)。
#i (i=1,2,3,4,.....)
[例]
#5
#109
#1005
或者使用后面將要敘述的“運(yùn)算指令”項(xiàng)目中的<表達(dá)式>,按照如下方式表達(dá)
#[<表達(dá)式>]
[例]
#[#100]
#[#1001-1]
#[#6/2]
三、變量的引用
可以用變量指定緊接地址之后的數(shù)值。如果編制一個(gè)<地址>#i 或<地址>‐#i 的程序,則意味著原樣使用變量值,或者將其補(bǔ)碼作為該地址的指令值。
[例] 當(dāng)F#33、#33=1.5 時(shí), 與指定了F1.5 時(shí)的情形相同。
當(dāng)Z-#18、#18=20.0 時(shí),與指定了Z-20.0 時(shí)的情形相同。
當(dāng)G#130、#130=3.0 時(shí),與指定了G3 時(shí)的情形相同。
四、注意事項(xiàng)
1、不可引用地址/、:、O 和N 中的變量。
[例] 不可編制諸如O#27、N#1 或N[#1]的程序。
2、不可將可選程序段跳過/n 的n(n=1~9)作為變量來使用。不能直接用變量來指定變量號(hào)。
[例] 用#30 來替換#5 的5 時(shí),代之以指定##30,指定#[#30]。
3、不能指定超過每個(gè)地址中所確定的最大指令值的值。
[例] 當(dāng)#140=120 時(shí),G#140 超過最大指令值。
4、變量為地址數(shù)據(jù)時(shí),變量被自動(dòng)地四舍五入到各地址有效位數(shù)以下的位
數(shù)。
[例] 在設(shè)定單位為1/1000mm(IS-B)的裝置上,#1 為12.3456 時(shí),如果執(zhí)行G00X#1;實(shí)際指令將成為G00 X12.346;
利用后面敘述的<表達(dá)式>,可以用<表達(dá)式>來替換緊跟在地址之后的數(shù)值。<地址>[<表達(dá)式>]或<地址>-[<表達(dá)式>]
若按照上面的順序編程,則意味著原樣使用<表達(dá)式>的值,或者將其補(bǔ)碼作為該地址的指令值。需要注意的是,[ ]中使用的不帶小數(shù)點(diǎn)的常量,視為其末尾帶有小數(shù)點(diǎn)。
[例] X[#24+#18*COS[#1]]
Z-[#18+#26]__
五、附帶運(yùn)算功能表