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