李明山,徐 懇
徐州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 徐州 221004
在數(shù)控機(jī)床編程指令系統(tǒng)中,有一類功能非常強(qiáng)大,同時(shí)理解、掌握起來(lái)也比較困難的高級(jí)編程指令——用戶宏程序指令。區(qū)別普通的NC程序語(yǔ)言,用戶宏程序的編程思想基礎(chǔ)是“批處理”的概念,他的最大特點(diǎn)是:使用變量,可以對(duì)變量進(jìn)行運(yùn)算,使程序應(yīng)用更加靈活方便。雖然子程序?qū)幹葡嗤庸げ僮鞯某绦蛴杏?,但用戶宏程序由于允許使用變量運(yùn)算和邏輯運(yùn)算以及條件轉(zhuǎn)移,使編制相同加工操作的程序更加方便、更容易,可將相同加工操作編為通用程序(如固定加工循環(huán)用戶宏程序),使用時(shí)用一條簡(jiǎn)單指令調(diào)出就可以了。
正是因?yàn)橛脩艉瓿绦蚓哂猩鲜鎏攸c(diǎn),使它在理解、使用和教學(xué)中成為一個(gè)難點(diǎn)。同樣,如果能牢牢把握住這些特點(diǎn),使用起來(lái)便會(huì)得心應(yīng)手,使編程變得更加簡(jiǎn)潔,既可節(jié)省編程及輸入程序的時(shí)間,又能提高生產(chǎn)效率,也可減少程序所占有的內(nèi)存空間。在教學(xué)中,通過(guò)用戶宏程序編程和普通程序的對(duì)比講解,可使用戶宏程序教學(xué)內(nèi)容變得簡(jiǎn)單明了,通俗易懂。
下面以FANUC Series oi Mate-TB數(shù)控車床為例對(duì)用戶宏程序的特點(diǎn)分別予以闡述。
普通加工程序直接用數(shù)值指定G代碼的移動(dòng)距離:例如,G01 X100.0。使用用戶宏程序時(shí),數(shù)值可以直接指定或用變量指定。當(dāng)用變量時(shí),變量值可用程序或用MDI面板上的操作改變,并可實(shí)現(xiàn)運(yùn)算如:#1=#1+0.5。
普通程序所解決的是某一個(gè)特定的具體的零件;而用戶宏程序所要解決的是同一類型的所有的零件,也就是所謂的要“成批”解決。
這也是掌握宏程序的難點(diǎn)所在。同樣,正是因?yàn)槌绦蚓哂辛诉@種特殊功能,使得宏程序在解決許多普通程序語(yǔ)句不能解決的問(wèn)題上具有明顯優(yōu)勢(shì)。
程序格式:IF [條件表達(dá)式]GOTO n
說(shuō)明:
1)如果條件表達(dá)式的條件得以滿足,則轉(zhuǎn)而執(zhí)行程序中程序序號(hào)為n 的相應(yīng)操作,程序段號(hào)n可由變量或表達(dá)式替代;
2)如果表達(dá)式中條件未滿足,則順序執(zhí)行下一段程序;
3)如果程序作無(wú)條件轉(zhuǎn)移,則條件部分可以被省略。
例如:下面程序可實(shí)現(xiàn)車削外圓面
O9001
?
數(shù)控車床宏程序的編寫就是用直線或圓弧連接若干點(diǎn)來(lái)逼近曲線,關(guān)鍵在于:1)合理選擇變量;2)正確表述點(diǎn)坐標(biāo);3)遵循正確的編程格式。
數(shù)控車床上非圓曲線宏程序的編寫難點(diǎn)在于坐標(biāo)點(diǎn)數(shù)學(xué)表達(dá)式的求解。本人結(jié)合工作經(jīng)驗(yàn),總結(jié)出“六步法”編寫非圓曲線程序段,表述如下:
第一步:選定自變量,擬訂初始值;本步只牽扯數(shù)學(xué)表達(dá)式,自變量結(jié)合數(shù)控車床特點(diǎn),一般選取與Z 軸平行軸。
第二步:根據(jù)數(shù)學(xué)方程,得出因變量表達(dá)式。
第三步:根據(jù)位置關(guān)系,得出X與Z 坐標(biāo)表達(dá)式;本步主要根據(jù)方程原點(diǎn)平移或旋轉(zhuǎn)得出。
第四步:實(shí)現(xiàn)插補(bǔ);數(shù)控加工中刀具的移動(dòng),主要由指令完成。本步可采用直線插補(bǔ)或圓弧插補(bǔ)。
第五步:根據(jù)實(shí)際情況,實(shí)現(xiàn)自變量變化。
第六步:條件判斷,實(shí)現(xiàn)跳轉(zhuǎn);最終實(shí)現(xiàn)曲線的加工編程。
以橢圓曲線為例,橢圓曲線除了采用公式“X2/a2+ Y2/b2=1”(其中a和b為半軸長(zhǎng)度)來(lái)表示外,還可采用極坐標(biāo)來(lái)表示。應(yīng)注意橢圓上的極角與幾何角度的區(qū)別,在推導(dǎo)任意點(diǎn)B(XB,YB)點(diǎn)坐標(biāo)時(shí),用的變量是極角θ,推導(dǎo)如下:
如果采用直角坐標(biāo)系,以XB為變量,則推導(dǎo)公式如下:
3.2.1 極坐標(biāo)系下的曲線程序編寫
以此為例,演示用宏程序表述曲線如下:#1=0; 選定自變量N10 #2=20*COS[#1]; X坐標(biāo)#3=20*SIN[#1]-20; Z坐標(biāo)G01 X[#2]Z[#3]F0.15; 插補(bǔ)
#1=#1+1 ; 自變量變化
IF[#1LE90]GOTO10; 條件判斷,實(shí)現(xiàn)跳轉(zhuǎn)
3.2.2 直角坐標(biāo)系下的曲線程序編寫
如果圖形變換為圖2時(shí),程序?yàn)椋?/p>
#1=15; 選定自變量N10 #2=#1-15; Z坐標(biāo)
#3=20*SQRT[1-#2*#2/400]; X坐標(biāo)
G01 X[#2]Z[#3]F0.15; 插補(bǔ)
#1=#1-0.1 ; 自變量變化
IF[#1GE0]GOTO10; 條件判斷,實(shí)現(xiàn)跳轉(zhuǎn)
對(duì)于其它類型的非圓曲線如雙曲線、拋物線等加工,可以按照上面橢圓加工的例子進(jìn)行加工,所不同的僅僅是把數(shù)值和曲線的方程改變即可。在上例中,如果把具體的數(shù)值用變量代替,如橢圓的長(zhǎng)、短軸等,將宏程序字段寫成一個(gè)類似子程序的程序,就可以解決所有橢圓加工的問(wèn)題。
需要注意的是,利用宏程序編程時(shí),變量的選取非常重要,宏程序加工起點(diǎn)的位置與變量的方向和數(shù)值緊密相關(guān)。
總之,宏程序指令適合橢圓、雙曲線、拋物線等沒(méi)有插補(bǔ)指令的非圓曲線的編程;適合圖形一樣,尺寸不同的系列零件的編程;適合工藝路徑一樣,只是位置數(shù)據(jù)不同的系列零件的編程。運(yùn)用宏程序指令,可大大簡(jiǎn)化程序,提高手工編程的效率;拓展數(shù)控機(jī)床手工編程應(yīng)用范圍,提高機(jī)床的使用性能。在生產(chǎn)中還可配合G73指令使用,可提高我們的生產(chǎn)效率,加工出普通機(jī)床、普通指令難以加工出來(lái)的零件。
[1]FANUC Seies oi Mate-TB操作說(shuō)明書(shū).
[2]沈建峰.數(shù)控車床技能鑒定考點(diǎn)分析和試題集萃.化學(xué)工業(yè)出版社,2007,7.