(文章底部可以評論,歡迎對文章進行點評和知識補充)
數控編程教學
訂單 | 技術 | 乾貨 | 編程
關注可加入機械行業群
今天給大家分享這套教程中的2個案例
1、銑孔
2、銑錐孔
一、銑孔
說起孔加工,大家常用鑽頭鑽孔,鉸刀鉸孔,鏜刀鏜孔等方法。鑽削和鏜削依舊是孔加工的最快方法,但是對於小批量生產的零件,零件種類多,可能會因為不同尺寸的孔,採取不同種類的鑽頭,鏜刀加工。「一個蘿蔔一個坑」,每個規格的孔需要一種刀具。
而銑孔覆蓋各種尺寸的孔,無論是開粗(無論有無欲鑽底孔),擴孔,精銑(實現以銑代鉸、以銑代鏜),銑孔有顯著的優勢,尤其是用宏程序來編寫銑孔程序,對孔尺寸精度的控制及其方便。
那麼宏程序的優勢在哪呢?
如下圖:
我把孔的直徑、孔深、刀具直徑都用宏變量來代替,這樣的好處是你加工不同尺寸的孔,都可以用此程序來加工。只需要更具圖紙提供的尺寸給變量賦予不同數值即可。
比如:
#1=代表:孔的直徑
#2=代表:孔深
#3=代表:刀具直徑
根據圖紙提供的尺寸,給上面變量賦值即可。
如何編寫銑孔宏程序?
開始編寫程序(分析三點內容)
一、銑孔刀路分析:
刀具快速移動到下刀點,然後刀具每走一圈的同時下一定的距離至到銑至我需要的深度為止。
二、計算兩點(下刀點和退刀點)
大家都知道編程的時候下刀點和退刀點很重要,無論是軟體出程序,還是手工編寫程序,以及現場調試程序的時候,需要重視這兩點,以防刀具與零件碰撞……。
假設零件孔中心以及零件表面Z=0為編程原點
1、下刀點:如上示意圖(需要計算出刀具中心到孔中心的距離)
#1代表孔直徑
#3代表刀具直徑
Y方向坐標是0
X方向坐標可以推算出(孔半徑減去刀具半徑):#6=[#1-#3]/2
知道了下刀點,G0快速移動到下刀點,程序段即:
G0X#6 Y0
Z方向坐標是工件表面Z零點,即Z0,
2、退刀點:如上示意圖
銑完孔之後,刀具需要遠離零件孔內壁,可以計算出[#1-#3]/2-1
注意方向:朝負方向回退1mm所以[#1-#3]/2-1,退刀程序段即
G0X[#6-1]
三,圓弧插補G17G02/G03X_Y_Z_I_J_ 格式
1、G02/G03的格式: G17G02 X_Y_Z_R 或者 G17G02 X_Y_Z_I_J_
以G02X_Y_Z_I_J_(為例子,同理G03的格式也一樣)
G02後面的X_Y_Z_ 是圓弧的終點坐標數值
2、I_後面的數值是圓弧起點到圓心的距離(X方向)
J_後面的數值是圓弧起點到圓心的距離(Y方向)
上段程序G01X10Y50 。 X10,Y50就是圓弧起點坐標。
G02X50 Y10 。X50 Y10就是圓弧終點坐標
I0 J-40 為圓弧起點到圓心的距離(I0時候可以省略不寫)
備註:J_後面的數值是(Y方向)圓弧起點到圓心的距離。此句話含了兩方面的信息:
數值(Y方向)起點50,圓心10 ,所以J的數值是40
方向(Y方向)朝向負,所以J-40
3、銑孔是利用G02/G03 X_Y_Z_......三軸聯動實銑孔的,也就是旋轉一圈的同時Z需要下一定深度,設每一圈下降深度為#5(如下圖)
那麼銑孔程序段為:G3X_Y_Z_I_J_
採用順時針銑孔選擇G03,G03格式X_Y_Z_後面的數值為終點坐標。
X終點坐標點:#6
Y終點坐標點:0
Z終點坐標點:#5
I(X方向)圓弧起點到圓心的距離:-#6
J(Y方向)圓弧起點到圓心的距離:0
此程序段為:G3X#6Y0Z-#5I-#6 J0,數值為零可以省略
即:G3X#6Z-#5I-#6
有了以上三點的分析,主要程序段歸納如下:
刀具快速移動到下刀點位置:
G0X#6Y0
Z1
螺旋銑孔:
G03X#6Z-#5I-#6F500.
退刀:
G01X[#6-1]F50
G0Z50.
然後在銑孔的時候套用我之前文章講過的宏程序語句,如WHILE語句做判斷:判斷我設置的#5(下刀深度)與#2(孔深),當下刀深度小於孔深的時候,來實現內循環。這裡面涉及一個很重要的概念:自運算,通用自運算來協助WHILE語句做判斷。
我們知道宏程序一大特點是可以運算的。
比如下面程序段:
#5=1
#5=#5+1
#5的賦值是1,這1=1+1怎麼可能呢?我教程中講變量的時候說過,變量只是一個代號,不是一個具體的阿拉伯數值。比方說我有一張銀行卡,裡面有100元錢,現在我向卡裡存了100元,那麼卡的總額是200元。這個過程中,卡還是那張卡,但裡面金額已經發生變化了。所以#5這張「卡」,由原來的1,存進了1,因此#5的「總額」就是2。
#5=#5+1就是自運算,大家先有個感性認識即可。
上述程序中,我把#5定義為每旋轉一圈下刀深度,#2定義為總深。(#1 ~ #26,這26個變量可以自由定義,關於變量我系統教程以大量篇幅講解,在這就不再贅述)
#5:代表每層切深
#2:代表總深
#5=2 (#5初始賦值為2,為什麼賦值為2,結合下面程序來講解)
#5=#5+1(每旋轉一圈下刀深度1mm,如果每圈下刀深度為2mm,那麼更改為#5=#5+2,至於每圈下多深,這是加工參數的事情和刀具,零件材質等有很大關係,推進大家看看我之前的課程直播-加工參數的選取。)
完整的程序如下:
%
O0001
N2 #1=30 (孔直徑)
N4 #2=10 (孔深)
N6 #3=20 (刀具直徑)
N8 #5=2(之所以初始變量賦值為2,是因為零件Z=0表面為編程零點,但在實際加工中為了安全期間,Z向需要離開工件表面一定距離,比如1mm ,我就把初始變量#5賦值為1。比如工件Z表面2mm外開始切削,那麼初始變量#5=2即可。)
N10 #6=[#1-#3]/2
N 12 S2000 M03
N14 G54 G90 G00 X0Y0 Z50.
N16 G0X#6Y0(G0快速移動到下刀點)
N18 Z2
N20 WHILE[#5LT#2]DO1(當加工深度#4小於孔深#2時,循環程序1)
N22 #5=#5+1(每旋轉一圈下刀深度1mm)
N 24 G3X#6Z-#5I-#6F500.(G03順時針螺旋加工至下一圈距)
N26 END1(循環1結束)
N28 G1X[#6-1](G01向中心退回1,即退刀)
N30 G0Z50.
N32 M30
%
上面程序仿真如下:
以上就是銑孔的宏程序,關於此程序的應用還有不少地方需要去考慮以及完善的,在這就不講了,因為文章開頭清風與你共勉了一句話:
沒有實踐的學習是浪費時間
惟多「實踐」方能學到真本事,學習的過程中最大收穫是從我的講解中發現了與你實踐相吻合的真理。多思考,多實踐,多經歷豐富你的「經驗」,從而驗證,補充我講解的知識,也豐富自己的知識。
文章開頭清風與你共勉的第二句話:學透的關鍵點是舉一反三
比如銑外圓、銑錐孔、銑螺紋、銑異性槽等等,都可以由上面程序演變而來,只要你能能學透、舉一反三。
下面這個案例就是上面案例的延伸應用。
二、銑錐孔或者孔口倒角
加工中心孔口倒角或者加工錐面常用倒角刀或者錐銑刀具
有些時候沒有合適的刀具,我們可以採用通用的銑刀來代替倒角刀
如下圖:銑錐孔
講兩個識點:
1,解決編程原點與工件坐標原點不重合
2,勾股定理
一、解決編程原點與工件坐標原點不重合
定義一個變量如#10(工件坐標原點到編程原點的距離),用G52建立局部坐標系,關於G52的講解我系統教程中有詳細分析,在這直接給結果G52X-#10Y0,這樣就解決了兩原點不重合問題。
二、勾股定理
已知:夾角θ的度數和AC邊長,要求出BC、AB的邊長該怎麼求?
根據已知條件,可以得出以下幾個角與邊的公式:
SINθ=BC/AC
COSθ=AC/AB
TANθ=BC/AC
如果我設置個變量比如#5代表Z向每次切深,(如下圖)也就是說隨著#5(Z軸)深度的變化,#14按照勾股定理公式來變,加工的時候切深#5設置很小,這樣就可以加工出光滑的錐面。根據勾股定律可以推算出#14=#5*TAN[#16]。
如何編寫通用程序呢?套用上一個銑孔案例:
計算兩點(下刀點和退到點)
1、下刀點(上圖紅色圈為刀具走刀路線,藍色圈為刀具直徑)
Y方向坐標是0
X方向坐標下刀點設為#6,可以推算出:#6=[#1-#3]/2-#14
2、退刀點
因為是錐孔,銑到深度後,可以直接抬刀,即G0Z2.
好了,在編寫前 根據零件簡圖在重申下上面變量的含義:
#1= __________ 錐孔大端尺寸
#2=__________ 錐孔總深
#3=__________ 刀具尺寸
#16=__________ 錐孔夾角(單位度)
#10=__________ 工件坐標原點到編程原點的距離
#5=__________ 初始變量賦值
#5=#5+0.05 自運算,即#5+0.05這個算式的運算結果賦值給#5,此時代表每層下刀深度。比如#5初始值賦值為0,經過第一次運算後,#5的值為0.05,如果在運算一次此時#5的值為0.1……。
#14=#5*TAN[#16] 勾股定律
#6= [#1-#3]/2-#14 下刀點
每個變量代表的含義我定義完畢,下面直編寫完整宏程序。
假如零件尺寸如下圖:(選用D20的平底銑刀,更具圖紙提供的尺寸,給下面變量賦值即可)
%
O0001
(微信:soscnc)
#1=36 (錐孔大徑)
#2=5 (錐孔深)
#3=20 (刀具直徑)
#5=0 (下刀深度初始賦值)
#10=15(工件中心到編程原點距離)
#16=30 (錐孔夾角)
S2000 M03
G54 G90 G00 X0 Y0 Z50.
G52X-#10(建立局部坐標)
Z2
WHILE[#5LT#2]DO1(當加工深度#5小於孔深#2時,循環程序1)
#5=#5+0.05(每旋轉一圈下刀深度0.05)
#14=#5*TAN[#16](滿足勾股定律
#6=[#1-#3]/2 -#14(下刀點)
G01X#6Y0F1200.(G0快速移動到下刀點的上方)
G3X#6Z-#5I-#6F600.(G03順時針螺旋加工至下一圈)
END1(循環1結束)
G0Z2.
G52X0Y0(取消局部坐標系)
M30
%