宏程序作為數(shù)控編程的一種方法,具有編程簡單、修改方便及程序量小等優(yōu)點。宏程序分為A類和B類,在一些較老的FANUC數(shù)據(jù)系統(tǒng)中采用A類宏程序,現(xiàn)在較先進(jìn)的系統(tǒng)中則采用B類宏程序。B類宏程序是使用變量進(jìn)行編程的,變量分為局部變量(#1~#33)、公共變量(#100~#149、#500~#549)和系統(tǒng)變量(#1000~)。對于局部變量和公共變量的使用,經(jīng)過短期的學(xué)習(xí)很容易掌握,而系統(tǒng)變量一般不會輕易地使用和更改,但是如果能夠掌握好,使用系統(tǒng)變量可以實現(xiàn)一些特殊的功能。
在加工時,當(dāng)刀具發(fā)生磨損需要改變磨損值時,為了及時提醒操作者進(jìn)行換刀以及防止操作者更改錯誤,可以通過在程序中的設(shè)定,使刀具半徑補償的磨損量控制在一定的范圍,超出這個范圍時程序就會產(chǎn)生報警而無法執(zhí)行程序。
用系統(tǒng)變量可以讀寫刀具補償值,通過對系統(tǒng)變量賦值,可以設(shè)定刀具補償值范圍。在FANUC0i系統(tǒng)中,刀具補償分為幾何補償和磨損補償,刀具補償號可達(dá)400個。當(dāng)補償號小于等于200時,刀具長度補償也可以使用#2001~#2400,補償號與刀具長度補償值(H)和刀具半徑補償值(D )的對應(yīng)關(guān)系如附表所示。
下面以刀具半徑磨損補償系統(tǒng)變量為例進(jìn)行說明。當(dāng)加工某個零件的輪廓時,如果想要將刀具補償?shù)哪p值控制在-0.2~0mm的范圍內(nèi),通過編程設(shè)定可以對該刀具的磨損值進(jìn)行判斷,如果磨損值在-0.2~0mm范圍內(nèi)繼續(xù)執(zhí)行程序,超出范圍則機床報警,顯示報警信息。假設(shè)使用1號刀具T1,刀具半徑補償號為1,它所對應(yīng)的刀具半徑磨損補償系統(tǒng)變量號為#12001。具體程序如下:
?
O1200
N10 T1 M6
N20 G90 G54 G00 G40 Z100.
N30 S2000 M03
N40 G43 H5 Z30. M08
N50 G00 X__ Y__ (刀具到達(dá)下刀位置)
N60 G00 Z-5.0
N70 #1=#12001 (將補償號1的磨損補償值賦值給#1)
N80 IF[#1 LE -0.2] GOTO 110
(判斷#12001的值,如果≤-0.2,轉(zhuǎn)到程序段110)
N90 IF[#1 GE 0.0] GOTO 110 (判斷#12001的值,如果≥0,轉(zhuǎn)到程序段110)
N100 GOTO 120
N110 #3000=80 (range error)
(顯示報警號為3080,內(nèi)容為range error的報警信息)
N120 G01 G41 X__ Y__ D1 F200
…
N200 G01G40 X__ Y__ (N120~N200 輪廓軌跡程序略)
N210 Z100.
N220 M05
N230 M30
當(dāng)?shù)毒咻^多時的編程方法
(以兩把刀具為例):
O1000
T5 M6
G90 G54 G0 G40.
S2000 M03
G43 H5 Z100. M08
G00 X__ Y__ (刀具到達(dá)下刀位置)
Z2.
G0 Z-5. F1000
#30=5 (等于刀具號數(shù))
M98 P10
G01 G41 X__ Y__ D5F200
…
G01G40 X__ Y__
G0 Z100.
T6 M6
G90 G54 G0 G40 X-60. Y-60.
S2000 M03
G43 H6 Z100. M08
Z2.
G0 Z-5. F1000
#30=6 (等于刀具號數(shù))
M98 P10
G01 G41 X__ Y__ D6F200
…
G01G40 X__ Y__
G0 Z100.
M05
M30
%
O10
#1=12000
#2=#[#1+#30] (確定刀具半徑磨損補償系統(tǒng)變量號)
IF[#2 LE -0.2] GOTO 60 (判斷#2的值,如果≤-0.2,轉(zhuǎn)到程序段60)
IF[#2 GE 0.0] GOTO 60 (判斷#2的值,如果≥0,轉(zhuǎn)到程序段60)
GOTO 70
N60 #3000=80(range error)
N70 M99
?
同理,也可以像上述一樣控制刀具長度補償值。
?
采用該方法的好處有以下兩個方面:
①可以避免修改磨損值時的誤操作。現(xiàn)在很多企業(yè)機床編程和機床操作人員是分開的,不允許操作者修改程序,但可以修改刀具磨損補償值,當(dāng)?shù)毒吣p或工件尺寸變化需要修改刀具磨損補償值時,為了防止操作者在修改刀具磨損補償值時輸入錯誤,造成工件的報廢和刀具的損壞,可以將磨損值限定在一定的范圍內(nèi),如果超出范圍程序會停止執(zhí)行并產(chǎn)生報警信息。
②可以保證工件的尺寸精度和表面粗糙度值,當(dāng)?shù)毒叩那邢魅心p到一定程度,就需要更換刀具。也就是補償值達(dá)到一定值時,產(chǎn)生報警,從而提醒或強制操作者更換刀具,避免操作者一味地去改變刀具磨損補償值。