CNC加工中心G代碼最詳細的解說
G代碼命令
代碼組及其含義
「模態代碼」 和 「一般」 代碼
「形式代碼」 的功能在它被執行後會繼續維持,而 「一般代碼」 僅僅在收到該命令時起作用。定義移動的代碼通常是「模態代碼」,像直線、圓弧和循環代碼。反之,像原點返回代碼就叫「一般代碼」。
每一個代碼都歸屬其各自的代碼組。在「模態代碼」里,當前的代碼會被加載的同組代碼替換。
G代碼 組別
解釋
G00 01定位 (快速移動)
G01直線切削
G02順時針切圓弧
G03逆時針切圓弧
G04 00暫停
G15 02極坐標指令
G16
G17 XY面賦值
G18 XZ面賦值
G19 YZ面賦值
G28 00工具機返回原點
G30工具機返回第2和第3原點
*G40 07取消刀具直徑偏移
G41刀具直徑左偏移
G42刀具直徑右偏移
*G43 08刀具長度 + 方向偏移
*G44刀具長度 - 方向偏移
G49取消刀具長度偏移
G50/G51 14
比例縮放
G68/G69坐標系選擇
*G53工具機坐標系選擇
G54工件坐標系1選擇
G55工件坐標系2選擇
G56工件坐標系3選擇
G57工件坐標系4選擇
G58工件坐標系5選擇
G59工件坐標系6選擇
G73 09
高速深孔鑽削循環
G74左螺旋切削循環
G76精鏜孔循環
*G80取消固定循環
G81中心鑽循環
G82反鏜孔循環
G83深孔鑽削循環
G84右螺旋切削循環
G85鏜孔循環
G86鏜孔循環
G87反向鏜孔循環
G88鏜孔循環
G89鏜孔循環
*G90 03使用絕對值命令
G91使用增量值命令
G92 00設置工件坐標系
*G98 10返回點平面
*G99返回點平面
代碼解釋
G00 定位
1.格式
G00 X_ Y_ Z_
這個命令把刀具從當前位置移動到命令指定的位置 (在絕對坐標方式下), 或者移動到某個距離處 (在增量坐標方式下)。
2.非直線切削形式的定位
我們的定義是:採用獨立的快速移動速率來決定每一個軸的位置。刀具路徑不是直線,根據到達的順序,機器軸依次停止在命令指定的位置。
3.直線定位
刀具路徑類似直線切削(G01) 那樣,以最短的時間(不超過每一個軸快速移動速率)定位於要求的位置。
4.舉例
N10 G0 X100 Y100 Z65
G01 直線切削進程
1.格式
G01 X_ Y_ Z_F_
這個命令將刀具以直線形式按F代碼指定的速率從它的當前位置移動到命令要求的位置。對於省略的坐標軸,不執行移動操作;而只有指定軸執行直線移動。位移速率是由命令中指定的軸的速率的復合速率。
2.舉例
G01 G90 X50. F100;
或
G01 G91 X30. F100;
G01 G90 X50. Y30. F100;
或
G01 G91 X30. Y15. Z0 F100;
G01 G90 X50. Y30. Z15. F100;
G02/G03
G17/G18/G19 圓弧切削 (G02/G03, G17/G18/G19)
1.格式
圓弧在 XY 面上
G17 G02 ( G03 ) G90 ( G91 ) X_ Y_ F_;
或
G17 G02 ( G03 ) G90 ( G91 ) I_ J_ F_;
或
G17 G02 ( G03 ) G90 ( G91 ) R_ F_;
圓弧在 XZ 面上
G18 G02 ( G03 ) G90 ( G91 ) X_ Z_ F_;
或
G18 G02 ( G03 ) G90 ( G91 ) I_ K_ F_;
或
G18 G02 ( G03 ) G90 ( G91 ) R_ F_;
圓弧在 YZ 面上
G19 G02 ( G03 ) G90 ( G91 ) Y_ Z_ F_;
或
G19 G02 ( G03 ) G90 ( G91 ) J_ K_ F_;
或
G19 G02 ( G03 ) G90 ( G91 ) R_ F_;
圓弧所在的平面用G17, G18 和G19命令來指定。但是,只要已經在先前的程序塊里定義了這些命令,也能夠省略。圓弧的迴轉方向像下圖表示那樣,由 G02/G03來指定。在圓弧迴轉方向指定後,指派切削終點坐標。 G90 是指定在絕對坐標方式下使用此命令;而 G91 是在指定在增量坐標方式下使用此命令。另外,如果G90/G91已經在先前程序塊里給出過,可以省略。圓弧的終點用包含在命令施加的平面里的兩個軸的坐標值指定 ( 例如,在 XY平面里,G17用 X, Y 坐標值 ) 。 終點坐標能夠像 G00 和 G01 命令一樣地設置。圓弧中心的位置或者其半徑應當在設定圓弧終點之後設置。圓弧中心設置為從圓弧起點的相對距離,並且對應於 X,Y 和Z 軸表示為 I, J 和 K。圓弧起點坐標值減去圓弧中心對應的坐標值得到的結果對應分配給 I、J、K。
2.舉例
圓弧起點的 X 坐標值 ------------ 30.
圓弧中心的 X 坐標值 ------------ 10.
因此,「I」 就是 20. (10 - 30 = 20)
圓弧起點的 Y 坐標值 ------------ 10.
圓弧中心的 Y 坐標值 ------------ 5.
因此,「J」 就是 5. (10 – 5 = 5)
結果,這個情況下圓弧命令如下所列:
G17 G03 G90 X5. Y25. I-20. J-5.;
或者,
G17 G03 G91 X-25. Y15. I-20. J-5.;
因為圓弧半徑通常是已給了的,也能夠用圓弧半徑給命令賦值。
在已給的例子裡,圓弧半徑是 20.616。因此,該命令能夠如下表示:
G17 G03 G90 X5. Y25. R20.616.;
或者,
G17 G03 G91 X-25. Y15. R20.616;
注意1) 把圓弧中心設置為 「I」, 「J」 和 「K」時,必須設置為圓弧起點到圓弧中心的增量值 (增量命令).
注意2) 命令里的「I0」, 「J0」 和 「K0」 可以省略。偏移值指定要求。
G15/G16極坐標指令 G15/G16 極坐標指令
坐標值可以用極坐標(半徑和角度)輸入。
角度 的正向是所選平面的第1軸正向的逆時針轉向,而負向是順時針轉向。
半徑和角度兩者可以用絕對值指令或增量值指令(G90,G91)
用絕對值指令指定角度和半徑
N1 G17 G90 G16
指定極坐標指令和選擇XY平面,設定工件坐標系的零點作為極坐標系的原點。
N2 G81 X100.0 Y30.0 Z-20.0 R-5.0 F200.0
指定100mm的距離和30度的角度
N3 Y150.0
指定100mm的距離和150度的角度
N4 Y270.0
指定100mm的距離和270度的角度
N5 G15 G80
取消極坐標指令
用增量值指令角度,用絕對值指令極徑
N1 G17 G90 G16
指定極坐標之林和和選擇XY平面,設定 工件坐標系的零點作為極坐標的原點
N2 G81 X100.0 Y30.0 Z-20.0 R-5.0 F200.0
指定100mm的距離和30度的角度
N3 G91 Y120.0
指定100mm的距離和+120度的角度增量
N4 Y120.0
指定100mm的距離和+120度的角度增量
N5 G15 G80
取消極坐標指令
G28/G30 自動原點返回 (G28, G30)
1.格式
第一原點返回:
G28 G90 ( G91 ) X_Y_Z_;
第二、三和四原點返回:
G30 G90 ( G91 ) P2 ( P3, P4 ) X_Y_Z_;
#P2, P3, P4:選擇第二、第三和第四原點返回
(如果被省略,系統自動選擇第二原點返回 )
由X, Y 和 Z 設定的位置叫做中間點。工具機先移動到這個點,而後回歸原點。省略了中間點的軸不移動;只有在命令里指派了中間點的軸執行其原點返回命令。在執行原點返回命令時,每一個軸是獨立執行的,這就像快速移動命令(G00)一樣; 通常刀具路徑不是直線。因此,要求對每一個軸設置中間點,以免工具機在原點返回時與工件碰撞等意外發生。
2.舉例
G28 (G30) G90 X150. Y200.;
或者,
G28 (G30) G91 X100. Y150.;
注意:在所給例子裡, 去中間點的移動就像下面的快速移動命令一樣。
G00 G90 X150. Y200.;
或者
G00 G91 X100. Y150.;
如果中介點與當前的刀具位置一致(例如,發出的命令是 - G28 G91 X0 Y0 Z0;),工具機就從其當前位置返回原點。如果是在單程序塊方式下運行,工具機就會停在中間點;當中間點與當前位置一致,它也會暫時停在中間點(即,當前位置)。
G40/G41/G42 刀具直徑偏置功能(G40/G41/G42)
1.格式
G41 X_ Y_;
G42 X_ Y_;
當處理工件 (「A」) 時,就像下圖所示,刀具路徑 (「B」) 是基本路徑,與工件 (「A」)的距離至少為該刀具直徑的一半。此處,路徑 「B」 叫做由 A 經 R 補償的路徑。因此,刀具直徑偏置功能自動地由編程給出的路徑 A以及由分開設置的刀具偏置值,計算出補償了的路徑B。就是說,用戶能夠根據工件形狀編制加工程序,同時不必考慮刀具直徑。 因此,在真正切削之前把刀具直徑指派為刀具偏置值;用戶能夠獲得精確的切削結果,就是因為系統本身計算了精確的補償了的路徑。
在編程時用戶只要插入偏置向量的方向 (舉例說, G41:左側, G42: 右側)和偏置內存地址 (例如, D2: 在「D」 後面是從 01 到 32的兩位數字)。所以用戶只要輸入偏移內存號碼 D (根據 MDI),只不過是由精確計算刀具直徑得出的半徑。
2.偏置功能
G40:取消刀具直徑偏置
G41:偏置在刀具行進方向的左側
G42:偏置在刀具行進方向的右側
G43/G44/G49 刀具長度偏置(G43/G44/G49)
1.格式
G43 Z_ H_;
G44 Z_ H_;
G49 Z_;
2.偏置功能
首先用一把銑刀作為基準刀,並且利用工件坐標系的 Z 軸,把它定位在工件表面上,其位置設置為 Z0。 (? 見 G92:坐標系設置)
請記住,如果程序所用的刀具較短,那麼在加工時刀具不可能接觸到工件,即便工具機移動到位置Z0。反之,如果刀具比基準刀具長,有可能引起與工件碰撞損壞工具機。
為了防止出現這種情況,把每一把刀具與基準刀具的相對長度差輸入到刀具偏置內存,並且在程序里讓 NC 工具機執行刀具長度偏置功能。
G43:把指定的刀具偏置值加到命令的 Z 坐標值上。
G44:把指定的刀具偏置值從命令的 Z 坐標值上減去。
G49:取消刀具偏置值。
在設置偏置的長度時,使用正/負號。如果改變了 (+/-) 符號,G43 和 G44 在執行時會反向操作。因此,該命令有各種不同的表達方式。舉例說:
首先,遵循下列步驟度量刀具長度。
1.把工件放在工作檯面上。
2.調整基準刀具軸線,使它接近工件表面上。
3.更換上要度量的刀具;把該刀具的前端調整到工件表面上。
4.此時 Z 軸的相對坐標系的坐標作為刀具偏置值輸入內存。
通過這麼操作,如果刀具短於基準刀具時偏置值被設置為負值;如果長於基準刀具則為正值。因此,在編程時僅有 G43 命令允許您做刀具長度偏置。
3.舉例
G00 ZO;
G00 G43 Z0 H01;
G00 G43 Z0 H03;
或者
G00 G44 Z0 H02;
或者
G00 G44 Z0 H02;
G43, G44或 G49 命令一旦被發出,它們的功效會保持著,因為它們是 「模態命令」。因此, G43 或 G44 命令在程序里緊跟在刀具更換之後一旦被發出;那麼 G49 命令可能在該刀具作業結束,更換刀具之前發出。
注意1) 在用 G43 (G44) H 或者用 G 49 命令的指派來省略 Z 軸移動命令時,, 偏置操作就會像G00 G91 Z0 命令指派的那樣執行。也就是說,用戶應當時常小心謹慎,因為它就像有刀具長度偏置值那樣移動。
注意2) 用戶除了能夠用 G49 命令來取消刀具長度補償,還能夠用偏置號碼 H0 的設置(G43/G44 H0) 來獲得同樣效果。
注意3) 若在刀具長度補償期間修改偏置號碼,先前設置的偏置值會被新近賦予的偏置值替換。
標系就被取消。以上命令也能夠用於取消局部坐標系。
注意(1) 當用戶執行手動原點返回時,局部坐標系執行原點返回的軸的原點與工件坐標系就等同了。
也就是說,這個操作與 [G52a0;] 命令一樣 (a: 是執行原點返回進程的那個軸)。
注意(2) 即便已經設置了局部坐標,工件坐標系或者工具機坐標系不會被改變。
注意(3) 工件坐標系是用 G92 命令設置的。如果各個坐標值未設置, 局部坐標系裡未給坐標值的軸將被設置成先前各軸一樣的值。
注意(4) 在刀具直徑偏置方式下,用 G52 命令來暫時取消該偏置功能。
注意(5) 當移動命令緊跟在 G52 程序塊功能之後發出時,通常必須採用絕對命令。
G53 選擇工具機坐標系 (G53)
1.格式
( G90 ) G53 X_ Y_ Z_;
2.功能
刀具根據這個命令執行快速移動到工具機坐標系裡的 X_Y_Z 位置。由於 G53 是 「一般」 G 代碼命令,僅僅在程序塊里有 G53 命令的地方起作用。
此外,它在絕對命令 (G90) 里有效,在增量命令里 (G91) 無效。為了把刀具移動到工具機固有的位置,像換刀位置,程序應當用 G53 命令在工具機坐標系裡開發。
注意(1) 刀具直徑偏置、刀具長度偏置和刀具位置偏置應當在它的 G53 命令指派之前提前取消。否則,工具機將依照指派的偏置值移動。
注意(2) 在執行G53指令之前,必須手動或者用G28 命令讓工具機返回原點。這是因為工具機坐標系必須在G53命令發出之前設定。
G54-G59 工件坐標系選擇(G54-G59)
1.格式
G54 X_ Y_ Z_;
2.功能
通過使用 G54 – G59 命令,來將工具機坐標系的一個任意點 (工件原點偏移值) 賦予 1221 – 1226 的參數,並設置工件坐標系(1-6)。該參數與 G 代碼要相對應如下:
工件坐標系 1 (G54) ---工件原點返回偏移值---參數 1221
工件坐標系 2 (G55) ---工件原點返回偏移值---參數 1222
工件坐標系 3 (G56) ---工件原點返回偏移值---參數 1223
工件坐標系 4 (G57) ---工件原點返回偏移值---參數 1224
工件坐標系 5 (G58) ---工件原點返回偏移值---參數 1225
工件坐標系 6 (G59) ---工件原點返回偏移值---參數 1226
在接通電源和完成了原點返回後,系統自動選擇工件坐標系 1 (G54) 。在有 「模態」命令對這些坐標做出改變之前,它們將保持其有效性。
除了這些設置步驟外,系統中還有一參數可立刻變更G54~G59 的參數。工件外部的原點偏置值能夠用 1220 號參數來傳遞。
G73 高速深孔鑽削循環(G73)
1.格式
G73 X__Y__Z__R__Q__P__F__K__
X_ Y:孔位數據
Z_:從R點到孔底的距離
R_:從初始位置到R點的距離
Q_:每次切削進給的切削深度
P_:暫停時間
F_:切削進給速度
K_:重複次數
2.功能
進給 孔底 快速退刀。
G74 左螺旋切削循環(G74)
1.格式
G74 X__Y__Z__R__Q__P__F__K__
X_ Y:孔位數據
Z_:從R點到孔底的距離
R_:從初始位置到R點的距離
Q_:每次切削進給的切削深度
P_:暫停時間
F_:切削進給速度
K_:重複次數
2.功能
進給 孔底 主軸暫停 正轉 快速退刀。
G76 精鏜孔循環(G76)
1.格式
G76 X__Y__Z__R__Q__P__F__K__
X_ Y:孔位數據
Z_:從R點到孔底的距離
R_:從初始位置到R點的距離
Q_:每次切削進給的切削深度
P_:暫停時間
F_:切削進給速度
K_:重複次數
2.功能
進給 孔底 主軸定位停止 快速退刀。
G 80 取消固定循環進程 (G80)
1.格式
G80;
2.功能
這個命令取消固定循環方式,工具機回到執行正常操作狀態。孔的加工數據,包括 R 點, Z 點等等,都被取消;但是移動速率命令會繼續有效。
(注) 要取消固定循環方式,用戶除了發出G80 命令之外,還能夠用 G 代碼01 組 (G00, G01, G02, G03 等等) 中的任意一個命令。
G 81 定點鑽孔循環(G81)
1.格式
G81 X_Y_Z_R_F_K_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
F_:切削進給速度
K_:重複次數 (如果需要的話)
2.功能
G81命令可用於一般的孔加工。
G 82 鑽孔循環(G82)
1.格式
G82 X_Y_Z_R_P_F_K_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
P_:在孔底的暫停時間(單位:毫秒)
F_:切削進給速度
K_:重複次數 (如果需要的話)
2.功能
G82鑽孔循環,反鏜孔循環
G83 深孔鑽削循環(G83)
1.格式
G83 X_Y_Z_R_Q_F_K_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
Q_:每次切削進給的切削深度
F_:切削進給速度
K_:重複次數
2.功能
G83中間進給 孔底 快速退刀。
G84 攻絲循環(G84)
1.格式
G84 X_Y_Z_R_P_F_K_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
P_:暫停時間
F_:切削進給速度
K_:重複次數
2.功能
主軸順時針旋轉執行攻絲,當到達孔底時,為了回退,主軸以相反方向旋轉,這個過程生成螺紋。
在攻絲期間進給倍率被忽略,進給暫停不停止工具機,直到返回動作完成。
在指定G84之前,用輔助功能使主軸旋轉。
當G84指令和M代碼在同一個程序段中指定時,在執行第一個定位動作的同時,執行到R點的同時加偏置。
G84進給 孔底 主軸反轉 快速退刀。
G85 鏜孔循環(G85)
1.格式
G85 X_Y_Z_R_F_K_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
F_:切削進給速度
K_:重複次數
2.功能
G85中間進給 孔底 快速退刀。
G86 鏜孔循環(G86)
1.格式
G86 X_Y_Z_R_F_L_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
F_:切削進給速度
K_:重複次數
2.功能
G86進給 孔底 主軸停止 快速退刀。
例:
N005 G80 G90 G0 X0 Y0 M06 T1;換?20鏜刀
N010 G55;調用G55工件坐標系
N020 M03 S1000
N030 G43 H1 Z50;調用長度補償
N040 G86 Z-30 R1 F200;鏜孔循環
N050 G80 G0 Z50;取消固定循環???
N060 M05
N070 M30
G87 反鏜孔循環(G87)
1.格式
G87 X_Y_Z_R_Q_P_F_K_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
Q_:刀具偏移量
P_:暫停時間
F_:切削進給速度
K_:重複次數
2.功能
G87進給 孔底 主軸正轉 快速退刀。
例:
N005 G80 G90 G0 X0 Y0 M06 T1;換20鏜刀
N010 G55;調用G55工件坐標系
N020 M03 S1000
N030 G43 H1 Z50;調用長度補償
N040 G87 Z-30 R1 Q2 P2000 F200;反鏜孔循環
N050 G80 G0 Z50;取消固定循環
N060 M05
N070 M30
G88 鏜孔循環(G88)
1.格式
G88 X_Y_Z_R_P_F_K_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
P_:孔底的暫停時間
F_:切削進給速度
K_:重複次數
2.功能
說明:沿著X和Y軸定位以後,快速移動到R點,然後,從R點到Z點執行鏜孔,當鏜孔完成後,執行暫停,然後主軸停止。刀具從孔底手動返回到R點,在R點,主軸正轉,並且執行快速移動到初始位置。
在指定G88之前,用輔助功能旋轉主軸。
當G88指令和M代碼在同一程序段中指定時,在第一個定位動作的同時執行M代碼,然後,系統處理下一個鏜孔動作。
當指定重複次數K時,只對第一個孔執行M代碼,對第二或以後的孔,不執行M代碼。對第二或以後的孔,不執行M代碼。
當在固定循環中指定刀具長度偏置(G43/G44或G49)時,在定位到R點的同時加偏置。
限制
軸切換?? 必須在切換鏜孔軸之前取消固定循環
鏜加工?? 在不包含X.Y.Z或任何其它軸的程序段中,不執行鏜加工。
P???????在執行鏜孔加工的程序段中指定P,如果在不執行鏜孔加工的程序段中指定,P不能作為模態數據被貯存。
取消????不能在同一程序段中指定01和G代碼和G88,否則G88將被取消。
刀具偏置? 在固定循環方式中,刀具偏置被忽略。
G89 鏜孔循環(G89)
1.格式
G89 X_Y_Z_R_P_F_L_;
X_ Y:孔位數據
Z_:孔底深度(絕對坐標)
R_:每次下刀點或抬刀點(絕對坐標)
P_:孔底的停刀時間
F_:切削進給速度
K_:重複次數
2.功能
G89進給 孔底 暫停 快速退刀。
G90/G91使用 絕對值命令/增量值命令 (G90/G91)
此命令設定指令中的 X, Y 和 Z 坐標是絕對值還是相對值,不論它們原來是絕對命令還是增量命令。含有 G90 命令的程序塊和在它以後的程序塊都由絕對命令賦值; 而帶 G91 命令及其後的程序塊都用增量命令賦值。
G98/G99返回點平面
當刀具到達孔底後,刀具可以返回到R點平面或初始位置平面,由G98和G99指定,一般情況下,G99用於第一次鑽孔面G98用於最後鑽孔,即使在G99方式中執行鑽孔,初始位置品平面也不變。