徐州重型機(jī)械有限公司 (江蘇 221004) 李 云
近年來,隨著配置FANUC數(shù)控系統(tǒng)的機(jī)床在各行業(yè)的應(yīng)用,用宏程序編程加工工件,已經(jīng)逐漸成為金屬切削加工行業(yè)的主潮流,運(yùn)用宏程序編程不但能夠簡(jiǎn)化程序,對(duì)于用戶擴(kuò)展系統(tǒng)功能和掌握機(jī)床性能也有很大的幫助。
(1)變量的類型 具體如表1所示。

表 1
(2)轉(zhuǎn)移和循環(huán) 無條件循環(huán)(G O T O語句):轉(zhuǎn)移到標(biāo)有順序號(hào)n的程序段。GOTO n;n:順序號(hào)(1~99999)。條件轉(zhuǎn)移(IF語句):IF(條件表達(dá)式)GOTOn,如果指定條件表達(dá)式滿足,轉(zhuǎn)移到標(biāo)有順序號(hào)n的程序段;如果指定的條件表達(dá)式不滿足,執(zhí)行下個(gè)程序段。 IF[條件表達(dá)式]THEN。 如果條件表達(dá)式滿足,執(zhí)行預(yù)先定義的宏程序語句,而且只執(zhí)行一個(gè)宏程序語句。循環(huán)(WHILE),在WHILE后指定一個(gè)條件表達(dá)式,當(dāng)指定條件滿足時(shí),執(zhí)行從DO到END之間的程序。否則,轉(zhuǎn)移到END后的程序段。
(3)程序的調(diào)用 宏程序的調(diào)用有以下這幾種方法:①非模態(tài)調(diào)用G65。②模態(tài)調(diào)用(G66 G67)。③用G代碼調(diào)用宏程序。④用M代碼調(diào)用宏程序。⑤用M代碼調(diào)用子程序。⑥用T代碼調(diào)用子程序。本文中主要用到非模態(tài)調(diào)用G65和用M代碼調(diào)用宏程序兩種調(diào)用方法。當(dāng)用G65調(diào)用時(shí)其格式如下:
G65 P〈p〉L〈I〉 〈自變量賦值〉
〈p〉: 要調(diào)用的程序號(hào)
〈I〉:重復(fù)次數(shù)(默認(rèn)為1)
〈自變量賦值〉: 傳遞到宏程序的數(shù)據(jù)
使用G65調(diào)用時(shí)可以對(duì)變量賦值,其值被賦值給宏程序中相應(yīng)的局部變量使用M98調(diào)用時(shí),不能在調(diào)用中賦值,只能在程序中賦值。
筆者公司使用臥式雙面鏜銑加工中心來進(jìn)行汽車起重機(jī)伸臂的機(jī)械加工。由于公司起重機(jī)產(chǎn)品型號(hào)較多,需要針對(duì)不同的工件編程(見圖1)。計(jì)算程序里的Z坐標(biāo)時(shí),需要考慮鏜桿(W軸)的伸出長(zhǎng)度以及刀具的長(zhǎng)度,這樣編程會(huì)比較繁瑣,而且容易出錯(cuò)。調(diào)用下面的這條程序會(huì)使編程更加方便,直接按圖中的尺寸輸入程序里的Z軸坐標(biāo)即可,不需要考慮鏜桿的長(zhǎng)度,這樣就節(jié)省了編程的時(shí)間。
(1)設(shè)備 臥式雙面鏜銑加工中心 (帶有500mm長(zhǎng)的鏜桿)。系統(tǒng):FANUC 16i Mate B 數(shù)控系統(tǒng)。相關(guān)參數(shù):Z軸行程350mm,W軸行程500mm。廠家/型號(hào): 日本三菱重工/ M-HT13F。
宏程序主體:
O9010(Z/W WORK-OFFSET CHANGE)
IF [#23 GT 0]GOTO 99
IF [#23 LT -500]GOTO 99
IF [#23 EQ #0 ]THEN #3=#4014
IF [#3 LT 54 ]GOTO 99
IF [#3 GT 59 ]GOTO 99
#33=#3
#32=#33-54
#31=#32*20
#30=#4001
#29=#4003
#28=#[5223+#31]+#[5224+#31]
#27=#28-#23
#[5223+#31]=#27
#[5224+#31]=#23
G04 X0.1
G90 G00 G#3 W0
G#30 G#29
GOTO 100
N99 #3000=199(DATA INPUT MISS)
N100
M99
操作工只需在程序中調(diào)用 G65 P9010 C_ W_ 就可以較方便地完成編程。
(2)應(yīng)用實(shí)例 加工圖1所示的某汽車起重機(jī)伸臂,加工部位材質(zhì)為27SiMn,刀具為sandvik coromant R290mm面銑刀φ63mm,刀具長(zhǎng)度儲(chǔ)存在地址H1里面,程序原點(diǎn)的位置如圖2所示,寄存在G54工件坐標(biāo)系中。考慮該工件加工時(shí)的工況,以及Z軸滑枕的行程(避免超行程報(bào)警),鏜桿需要懸伸210mm。

圖1
工件加工程序:
O0100
T1 M06 (φ63mm面銑刀換刀)
G0 G54 X0 Y0 Z0 W0
G65 P9010 C54 W-210
G0 G54 W0
N10 G43 Z305.75 H1
M03 S600
M07
G01 X38.5 F200
G02 I-38.5 J0 (銑面)
GO G49 Z700
M05
M09
T2 M06 (φ97.6mm粗鏜刀換刀)
G0 G54 X0 Y0 Z0 W0
G65 P9010 C54 W-210
G0 G54 W0
N10 G43 Z505.75 H1
M03 S600
M07
G98 G85 X0 Y0 Z202.75 R5 F100 (鏜孔)
G80 G49 Z700
M05
M09
M00
(1)設(shè)備 立式動(dòng)梁龍門加工中心。系統(tǒng):FANUC 16i Mate B 數(shù)控系統(tǒng)。
下面這段宏程序可以補(bǔ)償機(jī)床四個(gè)附件銑頭的水平、垂直方向的長(zhǎng)度,操作工每次切換完附件銑頭之后,只需要調(diào)用一下O9020程序,就能實(shí)現(xiàn)工件的精密加工。經(jīng)機(jī)床廠商精確測(cè)量之后,加長(zhǎng)立銑頭相對(duì)標(biāo)準(zhǔn)立銑頭多出來的長(zhǎng)度(即圖2所示尺寸A),被寄存在公共變量#705中,并設(shè)置加長(zhǎng)立銑頭代碼為M33,標(biāo)準(zhǔn)立銑頭代碼為M31,直角銑頭代碼為M32,窄直角銑頭代碼為M34。這段程序?qū)⒏鞲郊婎^的長(zhǎng)度差值寄存在EXT偏置坐標(biāo)系中, 因此程序里調(diào)用完M100指令后,編程要注意W軸(橫梁)回零點(diǎn)。

圖2
宏程序主體:
O9020(M100 H**)
#126=#618
#130=10000
#131=11000
#132=#[#130+#11]+#[#131+#11]
IF[#610EQ34]GOTO99 (#610指附件銑頭的代碼)
IF[#610EQ31]GOTO31
IF[#610EQ33]GOTO33
#135=#132+#702
#136=#135*COS[#129]
#137=#135*SIN[#129]
G90 G10 L2 P0 X#136 y#137 Z0 W#703
GOTO 99
N31 G90 G10 L2 P0 X0 Y0 Z0 W#701
GOTO 99
N33 G90 G10 L2 P0 X0 Y0 Z0 W#705 (可編程參數(shù)輸入指令)
GOTO99
N99 M99
(2) M100的制定 按下[O F S/S E]—設(shè)定[SETTING]數(shù)據(jù)可輸入改為1
[SYSTEM]—[參數(shù)]—No:3202 NE9=0 使O9000后程序可讀寫,將O9020存入機(jī)床。
恢復(fù)NE9=1程序讀寫保護(hù)。
查找No:6080輸入100保存,利用宏程序M代碼調(diào)用宏程序。
FANUC數(shù)控系統(tǒng)提供給用戶的宏程序,為編程提供了便利,機(jī)床的一些基本功能例如換刀、切換附件頭也是用宏程序編程完成的。了解這些參數(shù)以及可編程參數(shù)輸入的方法,能起到簡(jiǎn)化編程的作用。尤其對(duì)于擴(kuò)展系統(tǒng)功能,有十分重要的作用。對(duì)用戶深入掌握FANUC數(shù)控系統(tǒng),也有很大的幫助。