學會了UG軟件編程就等於學會怎樣用工具。

UG軟件是工具,宏程序也是工具。

據說學會了UG軟件編程就等於學會怎樣用工具。

學會了宏程序,不僅等於學會怎樣用工具,而且還學會了自己做工具。

今天分享一個圓周銑孔宏案例,如下圖,零件一週(360度)均佈散布了60個孔。

學會了UG軟件編程就等於學會怎樣用工具。

螺旋插補加工這60個孔,如果用軟件編寫程序,程序量非常大,如果機床內存小,估計保存不下這麼大的程序。

言簡意賅是宏程序一大特色,給你分享一個怎麼用宏程序編寫此程序。

講三個知識點:

一、螺旋插補銑孔

螺旋插補銑刀路就像彈簧相同,有這麼一個規則:


學會了UG軟件編程就等於學會怎樣用工具。

每旋轉一圈的一起Z需求下必定深度,也便是說Z方向的下刀有規則的遞加。

假設我恣意設置個變量如#4,並且讓#4也有規則的遞加。這在宏程序中稱作變量的自增運算。

FANUC體系變量自增格局為:#4=#4+1

#4=#4+1這以後邊的+1代表這個運算式每運算一次變量#4就增加1。(當然,根據需求你也能夠+2,代表每運算一次變量#4就增加2。)

怎麼實現變量的自增運算,這就需求合作宏程序的句子,比方WHILE句子。

FANUC體系的WHILE句子格局如下:

WHILE[ ] DO 2

……

END2

學過英文的人看到此句子應該理解大致意思,當XXX的時分就履行XXX。

中括號中為條件,也便是說中括號中的條件建立,那麼就履行WHILE 到END之間的程序。不建立就履行END後邊程序。

咱們來看詳細一個孔的簡圖,我隨意設置了幾個變量,如下簡圖。

比方孔直徑#1,孔深#2,刀具直徑#3。


學會了UG軟件編程就等於學會怎樣用工具。

那麼留意觀察下面的句子,變量#4的自增,是怎麼合作WHILE句子的。

#4=0

WHILE[#4LT#2] DO 2

#4=#4+1

……

END2

……

我設定的條件是:【#4LT#2】

留意,設置的條件是【#4LT#2】,也便是當#4的值小於#2那麼就履行WHILE 到END之間程序。 這說明什麼?

假設孔深是2,即#2=2

咱們看上面程序運轉的過程:

#4=0

#2=2

WHILE[#4LT#2] DO 2

#4=#4+1

……

END2

……

1,程序讀取#4,#2後得知變量的值分別為0和3

2,讀取WHILE句子後,得知設置的條件是#4小於#2,那麼“機床”判別了下,條件滿意,所以就履行WHILE與END之間程序段。留意,條件滿意就履行WHILE與END之間程序段。不滿意就履行END後邊程序段。

3,在履行WHILE與END之間程序時分,讀取了#4=#4+1,此刻#4的值為1了。

4,接著履行下面程序段至到END2程序後回來WHILE句子,“機床”再次做了判別#4小於#2嗎?小於#2,所以又履行WHILE與END之間的程序。

5,機床又讀取了#4=#4+1 ,此刻#4的值為2,接著又按次序履行程序段,當程序運轉到END後,又返WHIEL句子,機床”再次做了判別#4小於#2嗎?此刻#4的值為2, 2不小於2,條件不滿意了,所以就履行END之後的程序段了。

變量的自增合作WHILE句子,就這麼一次次累加起來,至到不滿意咱們設置的條件。

那麼在WHILE與END之間寫上螺旋插補銑孔程序段,這不就完成了螺旋插補銑孔程序?

我利用上面WHILE句子結構,增加螺旋插補銑孔程序段,程序如下:


學會了UG軟件編程就等於學會怎樣用工具。

二、G52指令的應用

上面螺旋插補銑孔宏程序,座標系是以孔為中心來編寫的。而實際圖紙的孔是在D1200的外圓上,怎樣處理呢?

這就用到了G52,在工件座標系(G54-G59)內再設定子座標系。

格局:

G52 X_ Y_ Z_ (設定部分座標系)

……….

G52 X0 Y0 Z0 (刊出部分座標系)


學會了UG軟件編程就等於學會怎樣用工具。

用心看一下上面程序。

用心看下右側圖示。

簡略嗎?

很有用,不信,你現在把程序和圖形對照看三遍,你就秒懂了。

三,宏程序的嵌套

所謂嵌套其實便是一個句子包裹著另外一個句子,比方下面WHILE句子的嵌套。


學會了UG軟件編程就等於學會怎樣用工具。

“WHILE[#1 GT 0] DO1”包裹著“WHILE[#2 GT 0]DO2”句子!

關於嵌套循環,有許多可圈可點之處,因篇幅原因直接上程序,簡略講下嵌套運轉的過程。


學會了UG軟件編程就等於學會怎樣用工具。


學會了UG軟件編程就等於學會怎樣用工具。

上面程序,當程序履行到“WHILE[#5LT360]DO1”這一行的時分,它發現有“DO1”但還不知道與之對應的“END1”在哪,所以它只能按次序往下履行。

當履行到“WHILE[#4LT#2]DO2”句子時,它發現了“END2”,所以體系就履行“WHILE[#4LT#2]DO2” 與“END2”之間的程序。

當履行完“DO2”與“END2”之間的程序後,也便是螺旋插補銑完一個孔後,條件不滿意了,它往END2下面履行,發現了“END1”這時分體系已經知道這是個嵌套循環程序。

所以又回來“WHILE[#5LT360]DO1 句子,再次做判別,看看中括號中的條件滿意與否,滿意就按次序履行。不滿意也便是一週孔加工結束,則履行END1後邊的G91G28Z0.程序段。


分享到:


相關文章: