在數控程序編制中如何巧妙地使用宏程序取決于編程人員的思路,在切削加工中凡是存在一定邏輯關系且這種關系能用數學公式所表達的都可以使用宏程序編制。現在計算機在車間很普及,在我們學習編程時能用上計算機編程是件很奢侈的事情,我記得當初光把電腦中的程序導入到機床中,我就折騰裡一個星期才搞明白,不好意思啊,有點暴露年齡了。
言歸正傳,今天為大家分享幾個在實際加工中應用宏程序的案例,希望借助案例增加大家對宏程序的理解,并能通過練習達到熟練使用。
案例1、矩陣孔加工練習。
鑽削下圖中99個Ø3孔,我們把G54X0Y0設立在紅色孔的圓心處,看看程序是怎麼編制的。
圖示(1)
程序如下; (以FANUC程序為例)
O1
G91G28Z0;
T1M6;
G90 G54G0G40G49G80 X0Y6;
G43H01Z100;
M3S1000;
#1=0 ; (将X軸移動量設為變量)
WHILE[#1LE192]DO1 ; (X軸變量控制在小于等于192時)
G98G81X[#1]Y6R5Z-10F150 ; (将變量運用在鑽孔循環中)
Y0;
Y-6;
#1=#1 6 ; (X軸每次增量為6mm)
END1;
G80;
G49;
M05
M30
%
怎麼樣,沒想到隻使用這幾行程序就把所有孔位搞定了吧!這就是宏程序的魅力所在,把複雜、重複且存在邏輯關系的程序簡單化。
在實際鑽削小直徑矩陣孔時經常會出現加工中途刀具折斷的問題,遇到這種問題時很麻煩,更換新鑽頭後程序還要重新執行,之前加工過的孔還要再加工一便,要不就得重新編制程序,很麻煩。現在的部分數控系統有了“程序斷點恢複“功能還好一些,15年前的設備可沒這麼人性化,出現這種情況我們就會利用”公共變量#500-#999“編制宏程序,下面我将上圖中的程序改動以下,看看我們是如何使用”公共變量“來編程的。
程序如下; (以FANUC系統為例)
O1
G91G28Z0;
T1M6;
G90 G54G0G40G49G80 X0Y6;
G43H01Z100;
M3S1000;
#501=0 ; (#501等于多少取決于系統參數中所保留的數字)
WHILE[#501LE192]DO1 ;
G98G81X[#501]Y6R5Z-10F150 ;
Y0;
Y-6;
#501=#501 6 ;
END1;
G80;
G49;
M05
M30
%
我們利用#500-#999為公共變量且在機床斷電後數據不會丢失的特點,當程序中刀具折斷或機床突然斷電,我們隻要重新啟動機床,在機床的參數界面找到#501中所保留的數值(如何查看此界面後續視頻教學中會涉及),将此數值代入到程序#501=0中,用保存的數值替換掉0,重新執行程序即可。
案例2、橢圓加工練習。
加工圖示(2)中長半軸為50,短半軸為25的橢圓台階,看看程序是如何編制的:
圖示(2)
程序如下; (以FANUC系統為例)
O1
G91G28Z0;
T1M6;
G90 G54G0G40G49G80 X60Y0;
G43H01Z100;
M3S1000;
Z5M8;
G01Z-10F200
G42D1X50Y0
#1=0;(将#1設為角度變量,起始角度為0)
WHILE[#1LE360]DO1; (限定角度變量從0至360)
#2=COS[#1]*50;(X點坐标運算公式)
#3=SIN[#1]*25;(Y點坐标運算公式)
G01X#2 Y#3;
#1=#1 2;(角度遞增量,每次增加2度)
END1;
G1G40X60Y0;
G0Z100M9;
G49;
M5;
M30;
%
講解程序之前先幫大家回憶一下初中數學知識(也可能是小學知識,記不清了):
正弦:在直角三角形中,任意一銳角∠A的對邊與斜邊的比叫做∠A的正弦,記作sinA,即sinA=∠A的對邊/斜邊,sin[0°]=0,sin[90°]=1。
餘弦:在直角三角形中,任意一銳角∠A的臨邊與斜邊的比叫做∠A的餘弦,記作cosA,即cosA=∠A的臨邊/斜邊,cos[0°]=1,cos[90°]=0。
很久沒用過了吧?哈哈,咱們在橢圓上取一點,如圖示(3):
當#1=0時,帶入程序中X=COS[0]*50=1*50=50;Y=SIN[0]*25=0*25=0 ,就發現當起始角度#1=0時,程序起始點為:X50Y0.
當#1=90時,帶入程序中X=COS[90]*50=0*50=0;Y=SIN[90]*25=1*25=25 ,就發現當角度變量#1=90時,程序點為:X0Y25.
圖示(3)
随着角度變量#1的遞增0-360,X、Y點坐标不斷變換,相當于用180(360/2)段直線插補出來了一個橢圓,這也就是為什麼我們管G02、G03叫做圓弧插補指令,其實G02、G03也是系統通過X、Y點位的不斷變換,用無數直線來模拟出的圓弧。
理解完橢圓宏程序的編制方法後,我們在将難度提升一下,順便介紹以一下“系統變量“是如何使用的。
案例3、任意形狀倒圓角練習。
我們在圖示(2)中的橢圓外形上增加個R6圓弧倒角,見圖示(4),用R4球頭銑刀進行加工,看看如何用宏程序編制程序的。
圖示(4)
程序如下; (以FANUC系統為例)
O1
G91G28Z0;
T1M6;
G90 G54G0G40G49G80 X60Y0;
G43H01Z100;
M3S1000;
Z5M8;
G01Z0F200
#4=0;(将#1設為角度變量,起始角度為0)
WHILE[#4LT90]DO1; (限定角度變量從0至90)
#4=#4 5; (角度遞增量,每次增加5度)
#5=SIN[#4]*10; (X點坐标運算公式)
#6=COS[#4]*10; (Z點坐标運算公式)
#13001=[#2-6]; (D01刀補數據)
G01Z[#6-10]; (Z點坐标)
G42D1X50Y0;
#1=0;(将#1設為角度變量,起始角度為0)
WHILE[#1LE360]DO2; (限定角度變量從0至360)
#2=COS[#1]*50;(X點坐标運算公式)
#3=SIN[#1]*25;(Y點坐标運算公式)
G01X#2 Y#3;
#1=#1 2;(角度遞增量,每次增加2度)
END2;
G1G40X60Y0;
END1;
G0Z100M9;
G49;
M5;
M30;
%
以上程序屬于雙層嵌套,程序中出現的#13001系統變量,#13001對應的是D01号刀具半徑補償數據,什麼意思呢,就是當你在MDI模式下執行“#13001=10“後,你會發現,刀具半徑補償數據中D01位置變成了10,就是這麼神奇。
理解完#13001後我們來講解R4球頭銑刀是如何加工R6圓弧的,見圖示(5)
圖示(5)
在這段宏程序中我們将#4定義為角度變量,從0°遞增至90°。R4球頭銑刀從A點開始、B點結束,我們選擇其中一個點位C進行計算,确定了刀具X與Z的運算關系,将X值轉換為刀具半徑補償值。從整個程序來看就相當于,刀具下降一個Z值,帶着D01号刀補切割一個橢圓,然後再下降一個Z值,帶着D01号刀補切割一個橢圓,隻是Z值與D01是不斷變化的,變化關系如程序所示,直至R6倒角加工完成,程序結束。
以上案例就是手工編程中宏程序使用方法,希望大家能消化吸收。掌握了上述編程方法後可以自己練習一下如何編制螺紋銑刀的加工程序,檢驗一下自己的學習成果。以上就是今天所講内容,如在機床上切削實驗,需做好安全防護,有其它見解或疑問歡迎老鐵留言讨論,下節我們将講解旋轉指令G68的使用方法,敬請關注!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!