數控宏程序(二)實戰案例分享
小事決定大事,細節決定成功
夾具愛好者投稿
上一期我們介紹了數控宏程序的基本語言與常用語句,本期我們將介紹宏程序的具體應用案例,包括分層銑刀具的宏程序、三角函數的宏案例、數控車深孔循環宏程序、熱機宏程序。
目前數控程序編製基本上採用軟體編寫(CAM),手工編寫兩種方式。對於形狀規則,簡單,節點交少的零件採用手工編程可以很方便的解決。對於一些複雜的零件往往採用軟體編寫。但是零件都是由一些面,孔或者曲面等組成,不管是手工編製還是軟體編製,無外乎是對這些特徵來編製。然而零件的尺寸更改或者刀具等更改,我們還得重新編製程序,也就是說「一個蘿蔔一個坑」的程序。而很多形狀相同而尺寸不相同的零件,或者說零件加工有一定規律,我們可以採用宏編程來實現此類零件的編寫,這樣可以大大簡化我們的編程。
圖1
變數的實際理解應用
下面要講的是一個最簡單的宏程序,也是一個是大家最容易理解,最容易學會的宏程序。先看一下,圖2里的圖A和圖B。
圖2
它們的外形是不是很相似,只是大小不一樣。如果你所在的工廠接到這樣的一筆加工任務,要求加工的零件有100多個,而且每一個都不一樣,注意只是大小不一樣,外形是十分相擬的。那麼你應該如何編程呢?
我們分析圖A和圖B發現走刀軌跡都是一樣,只是坐標點要變化,那麼我們能不能找個東西代替一下坐標呢?在使用不同的圖紙的時候,我們讓圖標變化一下不就可以了嗎?
如下圖,把各點坐標都標出來,分別用A,B,C,D,E來表示,(X軸標直徑,Z軸標長度)
圖3
先研究一下圖紙的規律,首先是D點的X值是B點X值的兩倍。然後是C點的Z值就是B點的X值,E點的Z值就是D點的X值(當然我們這裡只是舉一個例子,現實生產中,不可能有這麼湊巧的例子,目的是讓大家體會下宏變數)。
圖4
現在開始定變數
A點坐標了一看就知道是(0,0),如果設定B的坐標為(#1,0)則
C(#1,—#1)
D(#2,—#1)
E(#2,—#2)
下面是通用的宏程序:
圖5
看到了嗎,使用好宏程序,你只需要改動一個數據,一秒鐘就可以完成編程!刀具軌跡驗證如下:
圖6
本例主要是為了幫助大家弄懂宏變數的意義,方便接下來案例的理解。
分層銑刀具程序
來看一個簡單的零件加工例子(分層銑外形100 x 50 x 30),分層銑的刀具軌跡如圖7,刀具軌跡從第一層到最後一層,每層的刀路除了深度不同外,形狀與上一個刀路都是相同的。
圖7
我們採用宏變數來控制銑削的深度,編程時只需要編寫一層的程序,從而加工出需要的深度。
%
O0001
(D20DIA. END MILL)
G0G17G40G49G80G90
T1M06
G54G00X-60.Y-40. (快速移至下刀點)
G43Z200.H1
S1500M03
#1=0 (初始賦值)
#2=-30 (最終切削深度,)
Z#1M08 (快速移至工件表面Z=0)
N5IF[#1LE#2]GOTO10(如果#1的值小於等於-30,執行N10段程序,否則順序執行下個程序段)
#1=#1-3. (每次下刀3mm)
G01Z#1F200. (F200速度Z軸移至#1的值)
G41G01X-50.Y-35.D1
G01Y25.F50.
X50.
Y-25.
X-51.
G40G1X-60.Y-40.F200.
GOTO5 (轉移至N5行)
N10 G0Z100.
G91G28Z0
M30
%
程序驗證結果如下:
圖8
從而實現了我們的分層銑。
類似如下圖,我們不管用軟體還是手工編寫,只需編寫一層的程序,深度變數化(並非普通程序所用的具體數值),即可實現分層銑。(零件加工深度變化時,只需把#3後面的數值更改下就OK了)
圖9
三角函數的宏案例
加工中遇到一個難題:一個特殊的倒角(如圖10),編不出來,φ119.4通孔,孔口要倒2.5X20度的角,深約7毫米)。
圖10
經過思考後編了一個倒角的宏程序(裡面用了三角函數):
%
(D25R5 ENDMILL)
GOOG90G54X51.2Y0
S2000M03
Z10.M08
G01Z0.F500.
#1=0
WHILE[#1GE-10.3]DO1
#1=#1-0.1
#2=ABS[#1]*TAN[20]
G01X[51.2-#2]F200.
Z#1
G02I-[51.2-#2]
END1
G0Z50.M09
G91G28Z0.
M30
%
模擬以後驗證刀路軌跡。
圖11
程序說明:
1. 編程零點設在孔中心
2. Z軸零件平面是工件表面
3. 用於D119.4孔口倒角,2.5x20°
4. 倒角後孔口為D124.4
5. 所用刀具為D25R5的圓鼻刀
6. 正式運行前,先將工件坐標系抬高50,檢驗程序是否輸入有誤
7. 程序在宏模擬軟體測試驗證,刀軌正確
圖12
圖13
條件語句使用實例—熱機宏程序
我們知道普通程序是從上而下運行的,宏程序中是可以實現無條件跳轉的,下面分享一個無條件轉移語句應用案例。
圖14
所有機床在冬天開機的時候,都要進行熱機操作,這是所有人都知道的事情,那什麼是熱機呢?就是為了防止因冬天的氣溫低而導制突然開機時出現的一些問題,輕微的如精度不高,嚴重的問題為機床一些部件斷裂。所以我們在冬天開機之前必須要進行熱機操作,通過熱機操作讓機床部件受熱均勻。
那平時大家的熱機操作是如何進行的呢?一般的人,也就是打開主軸讓主軸轉幾十分鐘,同時通過手動方式,讓刀架在X軸和Z軸來回移動。就這樣反覆操作。如果這個時候,你有事情要想離開一會兒,而你又不希望機床停下來,怎麼辦呢?這個時候你是不是很想讓機床自動運轉?這可以實行嗎?在你沒學過宏程序,你會覺得這好像是一件不可以思議的事情。如果你懂一點宏程序,你就會發現其實這是一件簡單的事情,很容易實現。
在分享此案例前,先預習下無條件轉移語句 GOTO n (n表示序號的數字)
上面是GO和TO組成,含義是到……地方去,其中後面的n (n表示序號的數字)代表程序行號(如GOTO 100 ,表示跳轉到 N100行程序段)
好,我們可以學習如何通過宏語句實現這個自動熱機功能。
O0001
M03S300
N5 G01Z50.F50.
Z300.
X200.
Y200.
X-200.
Y-200.
GOTO 5
M30
這就是一個最簡單的宏程序熱機。
在這裡我們要學習一下GOTO語句的作用 GOTO 5這個程序段要表達的意思就是:執行到此程序段的時候無條件轉到N5這一行。
數控車深孔循環宏程序
歡迎大家(在法拉克-數車)驗證後中使用
序如下:
G65 P_ K_ B_ W_ C_ F_
說明:
P:代表子程序號
K;深度
B:回退量
W:每次進給深度
C:第一次進給深度
F:進給量
比如:
G65 P1 K-20. B0.3 W1.2 C0.8 F0.05
其中1為子程序號,加工孔深為20. 每次回退0.3,每次進給深度為1.2 ,第一次進給深度為0.8 ,每轉進給0.05
子程序如下:
O0001(DEEP DRILL)
IF [#5002LT0]GOTO 100
IF[#6GE0] GOTO 70
G00W0.0
#4=#5002
#3=ABS[#3]
#2=ABS[#2]
IF[#19EQ98]GOTO 1
#19=99
N1 G#19 F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
DO 1
IF[#27LE#3]GOTO 2
GOTO 3
N2 #27=#3
N3 IF[#27GE#28]GOTO 4
G00 Z[#2-#29]
G1 Z-[#29+#27]
G00 Z#4
G4 U#1
#28=#28-#27
#29=#29+#27
#27=#27*0.5
END 1
N4 G00 Z[#2-#29]
G1Z#6 F#9
G00Z#4
M99
N70 #3000=1(K MUST BE NEGATIVE)
N100
IF[#6LE#0] G0T0 170
G00W0.0
#4=#5002
#3=ABS[#3]
#2=-[#2]
IF[#19EQ98] GOTO 1
#19=99
N1G#19 F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
DO 1
IF[#27LE#3]GOTO 2
GOTO 3
N2 #27=#3
N3 IF[#27GE#28]GOTO 4
G00 Z[#2#29]
G1 Z[#29+#27]
G00 Z#4
G4 U#1
#28=#28-#27
#29=#29+#27
#27=#27*0.5
END 1
N4 G00 Z[#2+#29]
G1Z#6 F#9
G00Z#4
M99
N170 #3000=1(K MUST BE POSITIVE)
我們使用此程序時候,只需把子程序(如O0001)保存在機床儲存器中,後面只需用G65調用即可
比如鑽100深的孔,程序如下:
%
O0003
T0101
S1000M03
G0X0.Z2.
G65 P1 K-100. B0.3 W5. C1. F0.05
M30
%
宏程序的實際案例是一個思路的理解過程,掌握基本語言和語句以後,參透上述的程序編寫過程與步驟,相信就能舉一反三,解決加工中的實際問題。
(以上為正文)
TAG:夾具俠 |
※複雜小程序架構設計與案例實戰
※西瀅筱塔羅實戰案例分析——二選一牌陣
※搜索引擎營銷實戰案例分析
※敘利亞戰爭實戰實錄,坦克群第一視角激戰(30分鐘)
※六爻實戰卦例解析
※八字癸水之人的命理分析——實戰案例助學
※16是分析之主成分分析實戰部分
※乾貨分享:小程序運營實戰指南:爆款小程序設計的3個原則
※謝詠老師起名實戰案例詳解(1)
※刀劍神域奪命凶彈作戰型阿獃法AI實戰分析
※測生辰八字喜用神,周易起名實戰案例(3)
※測生辰八字喜用神,周易起名實戰案例(2)
※WEB測試項目實戰——測試用例架構搭建
※SCI論文專業圖表製作實戰精講班第二期
※八字分析筆記(實戰案例一),不見面,僅從四柱八字直斷命局!
※八字實戰江湖:盲派論十二時分刻定數
※電影分鏡實戰設計思路
※周易起名與實戰案例詳解
※八字實戰命理集錦斷法之二
※主流手游實戰測試證明 一加6性能榜第一實至名歸