CNC車床高斯曲線加工
隨(suí)著(zhe)新產品研製的(de)發展,許多新產品的形狀采用了特(tè)殊曲線,如橢圓、雙曲線和高斯(sī)曲線等,而如何加工這些特殊曲線就(jiù)成了機加人員的新課題。
從多年的實踐來看,采用(yòng)宏程序編程,然後在數控車床上車削是較為簡單、經濟(jì)和方便的一種方法。
但是這種方法對(duì)於編程(chéng)者要求較高,這是因為宏程序(xù)的編製要求程序員(yuán)不僅具有豐富的數學知識,還要熟(shú)悉數控車床的編程指令,對於宏程序更應是了如指掌。
宏程序分為A類和B類兩種:A類宏程(chéng)序通常采用H代碼編製,B類宏程序通常用賦值語句和數學公式進(jìn)行編製,易為(wéi)大家(jiā)接受,FANUC0i型數(shù)控係統的宏程序就是B類。
▽長按(àn)愛心,添加小編,技術交流(liú)▽
一、FANUC0i型數控係統(tǒng)宏程序
在FANUC0i型數控係統中變量分為4種類型,即(jí)空變量、局部變量、公(gōng)共(gòng)變量和係統變量。空變(biàn)量的變量號(hào)為#0,該(gāi)變量總為空(kōng),沒(méi)有值(zhí)能賦給該變量;局部變量的變量號為#1~#33,該類變量(liàng)隻能(néng)用(yòng)於在宏程(chéng)序中存儲數據,當斷電時局部變量初始化為空,調用宏程序時,給(gěi)局部變量賦值。公共(gòng)變量的(de)變量(liàng)號為#100~#199、#500~#999,公共變量在(zài)不同的宏程序中的意義相同。當斷電時,變(biàn)量#100~#199初始化為空,變量#500~#999中的數據保存,即使斷電也(yě)不丟失。係統變量的變量號為(wéi)#1000~,係統變量用於讀和寫CNC的各種數據(jù),例如刀具的當前位置(zhì)和刀具(jù)補償值(zhí)等。我們在編寫宏程序時可以引用(yòng)局部(bù)變量和公共變量,在(zài)引用變量,特別是公共變量時,為消除變量內原有數據(jù)的(de)影響(xiǎng),一定要給變量重新賦值後再(zài)引用。
宏程序是用戶實現(xiàn)機(jī)床功能擴展的(de)一種方法。在宏程序中可以(yǐ)使用變量,給變(biàn)量賦值,變量間可進行運算和程(chéng)序(xù)跳(tiào)轉。此外,宏程序還提供了循環語句、分支語句和子程序調用語句,一層宏循環裏還可以(yǐ)嵌套多層循環。所(suǒ)以可以應用(yòng)宏程序指令編製出簡(jiǎn)潔合理(lǐ)的小(xiǎo)容量加工程序,擴展數控機床功能,提高加工效率,充分發揮數(shù)控機床的作用。
二、高(gāo)斯曲線的方程
高斯曲線在直角坐標係(xì)下的方程是
,其中(zhōng)x是自變量,y是因變量。但此方程我們還不能直接(jiē)應用於數控車床,因為在數控車床上,坐(zuò)標係是(shì)這樣規
定的:Z軸與主軸軸線平行,正方向是遠離工件方向,X軸與主軸軸線垂直,正方向是遠離主軸軸線方向。因此我們需要把直角坐標係的方(fāng)程轉換為(wéi)數控車床坐(zuò)標係下的方程,同時數控車床不能識別(bié)指數函數和(hé)平方等數學符號,這就需要用宏程序中的算術和邏輯運算符號替換其中的數(shù)學符號,變成(chéng)數控車床可識別的公式。
經變換後高(gāo)斯曲線在數控坐標下的方程如下。
X=140.6/EXP(((z-620)/1339)*((z-620)/1339))+9.358/
EXP(((z+251.5)/351.8)*((z+251.5)/351.8))+24.58/EXP(((z+740.4)/464.1)*((z+740.4)/464.1))
三、數控車床加工(gōng)特殊曲線(xiàn)的(de)方法
數(shù)控車床可通過G01、G02等G代碼直接(jiē)加工直線、圓弧,但並沒有專門的G代碼來加工橢圓、雙曲線和高斯曲線等特殊曲線(xiàn)。在加工(gōng)此(cǐ)類曲線時一(yī)般采用(yòng)直線逼近法(fǎ),即在Z方向上依次(cì)遞減或遞增,以0.05mm~0.5mm為一個步距,每遞減或遞增一個步距得到(dào)一個Z值。然後,通過曲線方(fāng)程(chéng)計算求出對應的X值,再將刀具直(zhí)線插(chā)補至計算得出的(X,Z)值所確定的點,依次插補便可完成特殊曲線的加工。
四、編製加工高斯曲線的宏程序
現以一個簡單的零件為例,說明高斯曲線的宏程序編(biān)製過(guò)程。如圖1所示,在Φ260mm的毛(máo)坯棒料上加工一段長100mm的高斯曲線(xiàn)外輪廓。圖1是直角(jiǎo)坐標係下的零件圖樣(yàng),圖2是數控坐標下的零件圖樣。
1490873504692141.png1490873504561622.png
在高(gāo)斯曲線數控坐標(biāo)方程中,我們用#101表示自變量z,用#102表示(z-620)/1339,用(yòng)#103表(biǎo)示(z+251.5)/351.8,用#104表示(z+740.4)/464.1,用#105表示因變量x,則高斯(sī)曲線的方程可表示為:
#105=14.6/EXP(#102*#102)+9.358/EXP(#103*#103)+24.58/EXP(#104+#104)
編製精加工程序如下:
O0001
N10#101=0;(自變量初值)N20#102=(#101-620)/1339;
N30#103=(#101+251.5)/351.8;N40#104=(#101+740.4)/464.1;
N50#105=14.6/EXP(#102*#102)+9.358/EXP(#103*#103)+24.58/EXP(#104*#104);
N60G01X[2*#105]Z[-#101]F0.2;(直線(xiàn)逼近法加(jiā)工高斯曲線)
N70#101=#101+0.1;(z值遞增一個(gè)步(bù)距)
N80IF[#101LE100.0]GOTO20;N90G01X265.0;
N90G00X100.0Z100.0;N100M30;
以上程(chéng)序為最後一(yī)刀的精加工程序,在實際加工(gōng)中要考慮(lǜ)到毛坯的餘量,這就需要先粗車,再精車。粗車同樣也是沿輪廓車削,可采用G71或(huò)者G73指令粗(cū)車,然後用(yòng)G70指令精車,編製完整的程序如下。
O0002
N10G40G21G97G99;N20M03S800;
N30T0101;
N40G00X262.0Z2.0;N50G73U9.0R9.0;
N60G73P70Q150U0.3W0.0F0.2;N70#101=0;(自變量初值)
N80#102=(#101-620)/1339;N90#103=(#101+251.5)/351.8;
N100#104=(#101+740.4)/464.1;
N110#105=14.6/EXP(#102*#102)+9.358/EXP(#103*#103)+24.58/EXP(#104*#104);
N120G01X[2*#105]Z[-#101]F0.1S1000;(直線逼近(jìn)法加工高斯曲線)
N130#101=#101+0.1;(z值遞(dì)增(zēng)一個步距)N140IF[#101LE100.0]GOTO80;
N150G01X265.0;N160G70P70Q150;
N170G00X100.0Z100.0;N180M30;
雖然隨著(zhe)CAD/CAM軟件的應用,手工(gōng)編程、宏程序應用空間日趨縮小,但是在某些情況下PC機也無能為力,這就要求我們深挖(wā)手(shǒu)工編程,發揮數控機床潛力。
同時宏程序(xù)與自動編程比較具(jù)有運(yùn)算速(sù)度快、加工效率高、加工精度高以及短小精悍等優點。