數(shù)控車床加工對(duì)象是回轉(zhuǎn)面,對(duì)于規(guī)則曲線所組成的圓柱面、圓錐面、圓弧面、球面等的加工,只要使用普通程序利用直線插補(bǔ)或圓弧插補(bǔ)指令即可完成。但當(dāng)出現(xiàn)非圓曲線(橢圓、拋物線、雙曲線)構(gòu)成的回轉(zhuǎn)體時(shí),手工常規(guī)編程無能為力,采用軟件自動(dòng)編程又受設(shè)備和條件的限制時(shí),則可以采用宏程序來編制。采用小段直線或者小段圓弧逼近的方法,只要擬合步距足夠小,就能加工出標(biāo)準(zhǔn)的非圓曲線。用戶宏程序就是在程序本體中,能使用變量,可以給變量賦值,變量間可以運(yùn)算,語句間可以跳轉(zhuǎn)的程序。編制宏程序的加工原理是將數(shù)學(xué)中的標(biāo)準(zhǔn)曲線方程,轉(zhuǎn)化為編程用方程,利用數(shù)控系統(tǒng)的宏程序功能,采用直線逼近法,在Z向或X向以一個(gè)適合的步距進(jìn)行分段,并把Z或X作為自變量,X作為Z或Z作為X的函數(shù)來進(jìn)行處理,算出曲線上的坐標(biāo)點(diǎn)值,然后驅(qū)動(dòng)刀具沿著這些計(jì)算點(diǎn)一步步移動(dòng)就能擬合加工出非圓曲線輪廓。
下面以FANUC 0i-TC系統(tǒng)加工橢圓為例,對(duì)宏程序的編制進(jìn)行介紹。
一、 宏程序參數(shù)簡(jiǎn)介
宏程序可以讓用戶利用數(shù)控系統(tǒng)提供的變量、數(shù)學(xué)運(yùn)算、邏輯判斷和程序循環(huán)等功能,來實(shí)現(xiàn)一些特殊的用法,從而使得編制同樣的加工程序更加簡(jiǎn)便。
1. 變量
使用用戶宏程序時(shí),數(shù)值可以直接指定或用變量指定。當(dāng)用變量時(shí),變量值可用程序或用MDI面板上的操作改變。 如:#1=#2+1或G01 X#1 F0.2。
(1)變量的表示及類型。變量用變量符號(hào)“#” 和后面的變量號(hào)指定。例如#1、#2等。表達(dá)式可以用于指定變量號(hào)。
(2)變量的運(yùn)算。①變量常用算術(shù)、邏輯運(yùn)算和運(yùn)算符。運(yùn)算符右邊的表達(dá)式可包含常量,或由函數(shù)或運(yùn)算符組成的變量。表達(dá)式中的變量“#j”和“#k”可以用常數(shù)賦值。左邊的變量也可以用表達(dá)式賦值。②運(yùn)算符的優(yōu)先級(jí)。按照優(yōu)先級(jí)的先后順序依次是:函數(shù)→乘和除運(yùn)算 (* 、/、AND、MOD)→加和減運(yùn)算(+、-、OR、XOR)。③括號(hào)嵌套。括號(hào)用于改變運(yùn)算優(yōu)先級(jí)。括號(hào)最多可以嵌套使用5級(jí),包括函數(shù)內(nèi)部使用的括號(hào)。
2. 功能語句
循環(huán)(WHILE)語句。在WHILE后指定一條件表達(dá)式,當(dāng)條件滿足時(shí),執(zhí)行DO到END之間的程序(然后返回到WHILE重新判斷條件),不滿足則執(zhí)行END后的下一程序段。
格式為:WHILE[條件式]DOm;(m=1,2,3循環(huán)執(zhí)行范圍的識(shí)別號(hào))
END m;
其中m只能是1、2 和3,否則系統(tǒng)報(bào)警。DO——END循環(huán)能夠按需要使用多次,即循環(huán)嵌套。
橢圓標(biāo)準(zhǔn)方程有兩種,一種是極坐標(biāo)方程,一種是直角坐標(biāo)方程。在編制宏程序前應(yīng)根據(jù)給定零件圖中的標(biāo)注來選擇方程(具體見實(shí)例)。先確定橢圓的標(biāo)準(zhǔn)方程,然后轉(zhuǎn)化為編程用方程,把標(biāo)準(zhǔn)方程中的X用Z代替,而Y在編程方程中就變成了X(因?yàn)槠胀〝?shù)控車床坐標(biāo)系中不用Y坐標(biāo))。
二、 實(shí)例分析
如圖1所示零件,該零件編程時(shí)以橢圓右端中心A 點(diǎn)作為編程原點(diǎn),由于加工的橢圓極角θ 為90°,所以可以將橢圓極角設(shè)為自變量,當(dāng)橢圓極角從A點(diǎn)(0°)逐漸增加到B點(diǎn)(90°)時(shí), 根據(jù)橢圓極坐標(biāo)參數(shù)方程求得橢圓AB段上每個(gè)點(diǎn)所對(duì)應(yīng)的短軸值和長(zhǎng)軸值,然后再算出橢圓AB段上每個(gè)點(diǎn)在工件坐標(biāo)系中所對(duì)應(yīng)的X值和Z值,從而加工出橢圓。編程中采用循環(huán)(WHILE)語句。
1. 確定極坐標(biāo)方程 x=bsin?茲z=acos?茲
式中:a為x向橢圓半軸長(zhǎng)
b為z向橢圓半軸長(zhǎng)
θ為橢圓上某點(diǎn)的圓心角,零角度在z軸正向
2. 根據(jù)坐標(biāo)方程確定自變量及編程方程
設(shè)#1為角度自變量,#2、#3分別為X方向和Z方向的應(yīng)變量,可得以下方程
#2=42*SIN[#1]
#3=30*COS[#1]
3. 程序編制
G97 G99
T0101
M03 S1000
G00 X55 Z5 (循環(huán)起刀點(diǎn))
G73U25R12(加工余量與走刀次數(shù)粗加工每刀2mm)
G73P1Q2U0.5W0F0.15(循環(huán)的程序號(hào)與加工余量及進(jìn)給量)
N1G1X0F0.1(循環(huán)的起始程序號(hào))
Z0
#1=0 (將橢圓極角設(shè)為自變量,賦初值為0°)
WHILE[#1LE90]DO1(判斷句,當(dāng)#1≤90順序執(zhí)行,否則跳至END1下面語句)
#2=42*SIN[#1] (參數(shù)方程中橢圓X方向短軸值(直徑))
#3=30*COS[#1] 參數(shù)方程中橢圓長(zhǎng)軸值
#4=#3-30(橢圓圓心與編程原點(diǎn)O在Z方向的偏移值)
G01 X[#2] Z[#4] F0.1 (加工橢圓)
#1=#1+1 (自變量橢圓極角每次增量為1°)
END1
G1Z-35(走B點(diǎn)向右一小段)
N2X55(循環(huán)結(jié)束)
G00 X100 Z100(退刀至安全位置)
M05
M30
如圖2所示零件,該零件編程時(shí)以其右端中心O點(diǎn)作為編程原點(diǎn),此例如用橢圓極坐標(biāo)方程,則要分別計(jì)算出A和B點(diǎn)處的橢圓極角,很麻煩。從零件圖給出的尺寸可知A 點(diǎn)對(duì)應(yīng)的橢圓長(zhǎng)軸值為7mm,B 點(diǎn)對(duì)應(yīng)的橢圓長(zhǎng)值為11.93 mm(18.93-7=11.93),因此我們可以將橢圓長(zhǎng)軸設(shè)為自變量,數(shù)值由A 點(diǎn)的7mm逐漸減少到B 點(diǎn)的-11.93mm,然后根據(jù)橢圓直角坐標(biāo)標(biāo)準(zhǔn)方程,求得所對(duì)應(yīng)的短軸變化值,最后再算出橢圓AB 段每個(gè)點(diǎn)在工件坐標(biāo)系中對(duì)應(yīng)的X 值和Z值,從而加工出該零件的橢圓部分。編程中采用循環(huán)(WHILE)語句。
1. 確定極坐標(biāo)方程
2. 根據(jù)坐標(biāo)方程確定自變量及編程方程
設(shè)#1為z方向自變量,#2為X方向的應(yīng)變量,可得以下方程
#2=12/16*SQRT[16*16-#1*#1]
3. 程序編制
G97 G99
T0101
M03 S1000
G00 X55 Z10 (循環(huán)起刀點(diǎn))
G73U7R4(加工余量與走刀次數(shù)粗加工每刀2mm)
G73P1Q2U0.5W0F0.15(循環(huán)的程序號(hào)與加工余量及進(jìn)給量)
N1G1X40F0.1(循環(huán)的起始程序號(hào))
Z5
#1=7 (將橢圓長(zhǎng)軸設(shè)為自變量,賦初值為7)
WHILE[#1GE-11.93]DO1(判斷句,當(dāng)#1≠90順序執(zhí)行,否則跳至END1下面語句)
#2=2*12/16*SQRT[16*16-#1*#1] (參數(shù)方程中橢圓X方向短軸值(直徑))
#3=#2+20 (橢圓圓心與編程原點(diǎn)O在X方向的偏移值)
#4=#1-7(橢圓圓心與編程原點(diǎn)O在Z方向的偏移值)
G01 X[#3] Z[#4] F0.1 (加工橢圓)
#1=#1-1 (自變量橢圓長(zhǎng)軸每次增量為-0.1mm)
END1
G1Z-25.89(走B點(diǎn)向右一小段)
N2X55(循環(huán)結(jié)束)
G00 X100 Z100(退刀至安全位置)
M05
M30
三、 小結(jié)
兩個(gè)實(shí)例在編程中都使用了宏程序,但是選擇了不同的標(biāo)準(zhǔn)方程轉(zhuǎn)化的編程方程,選取了不同的參數(shù)作為自變量,例1中使用的是極坐標(biāo)方程,以橢圓極角作為自變量,例2選擇直角坐標(biāo)方程,以橢圓長(zhǎng)軸作為自變量,當(dāng)然也可以短軸作為自變量。這主要由橢圓在工件坐標(biāo)系中的位置及圖樣中給出的尺寸而定。通過兩個(gè)實(shí)例可以看出,編寫加工橢圓的宏程序首先要選擇合理的參數(shù)方程,再選擇合適的自變量,然后依據(jù)自變量和橢圓方程求得橢圓上每個(gè)點(diǎn)所對(duì)應(yīng)的短軸值和長(zhǎng)軸值,再計(jì)算出橢圓上每個(gè)點(diǎn)在工件坐標(biāo)中的X值和Z值,最終加工出橢圓。以上只是零件粗加工編程,零件的精加工只要使用G70P1N2即可。
(靖江職業(yè)高級(jí)中學(xué))