Fraud Blocker
您最好的CNC車床供應商 | 您可以信賴的中國工具機廠 | 您最好的機械設備製造商 | 您可以信賴的終身合作夥伴 | 您可以獲得最優質的工具機和最實惠的價格

G代碼和M代碼清單:完整的CNC編程參考手冊

這份 G 代碼和 M 代碼清單涵蓋了您實際輸入以運行 CNC 銑床或車床的代碼:所有控制運動和幾何形狀的常用 G 代碼,以及切換主軸和冷卻液等機器功能的 M 代碼。無論您是在控制台上讀取 CNC 程序,還是手動編輯 CAM 軟體生成的文件,下面的表格和範例都旨在為您提供一個可以同時在第二個標籤頁中打開的單一參考,涵蓋銑削和車削,以及 Fanuc、Haas、Siemens、GRBL 和 LinuxCNC 之間的差異。

快速參考:G 與 M 一覽

G碼 準備/幾何-告訴機器 哪裡 以及 如何 工具移動(G00 快速移動,G01 進給,G02/G03 圓弧移動)。
M程式碼 雜項/機器 — 開關功能(M03 主軸開啟,M08 冷卻液開啟,M30 程序結束)。
格式 單字地址: N50 G01 X1.5 Z-0.75 F0.008 M08 — 每個「單字」由一個字母和一個數字組成。
相關標準 源自 EIA RS-274 和 ISO 6983-1:2009大多數控制器都源自於開放式解釋器。 NIST RS274/NGC 規格

G 代碼與 M 代碼:有什麼區別?

G 代碼與 M 代碼:有什麼區別?

將每段程式碼歸入兩個類別之一,是閱讀任何程式最快的方法。 G碼 是一個預備指令,“G”通常解釋為 幾何因為這些字詞告訴切割者該往哪裡走,沿著哪條路走。 M程式碼 是雜項指令或機器指令:它會撥動機上某個地方的開關,例如啟動主軸或打開冷卻液。兩者都遵循相同的字地址語法,該語法由EIA在20世紀60年代初為數控機床標準化,後來ISO將其納入ISO 6983標準。

以下是您可以立即應用的實用劃分方法:

問題 G代碼 M程式碼
它控制什麼? 刀具運動、座標、插值、偏移 主軸、冷卻液、換刀、程序流程
它會移動座標軸嗎? 通常是(G00、G01、G02) 沒有
它是模態的嗎? 許多(保持活躍直至取消) 部分(M03/M05);許多是一次性的。
G01 X2.0 F10.0 M08 (冷卻液已開啟)

所有方言中大約有 100 個 G 代碼,但任何一台機器實際使用的代碼集都遠小於此。 M 程式碼數量更少,而且不同製造商之間的一致性也差得多,這一點值得注意,因為它解釋了後面會提到的「這個程式在另一台機器上運作良好」的大部分問題。如果您仍在建立機器本身的心理模型,請參閱我們關於…的入門指南。 車床和銑床加工基礎知識 與此代碼參考資料完美契合。

如何讀懂G代碼區塊:地址字母和語法

如何讀懂G代碼區塊:地址字母和語法

一行數控程式碼稱為 每個資料塊都只是一串「單字」。每個單字由一個字母(位址)和一個數字(值)組成。一旦你了解了這些字母的含義,你幾乎可以大聲讀出任何資料塊。我們把它當作新操作員的入門知識來教授。 NG-XYZ-FSTM 規則字母的出現順序大致如此,而這個順序也與機器的思考順序相符:行號、移動類型、移動位置、移動速度、旋轉速度、使用的工具以及撥動哪個開關。

意思
N 區塊(行)號 N50
G 準備/運動指令 G01
X 和 Z 軸位置(目的地) X1.5 Z-0.75
IJK 弧中心相對於起點 I0.5 J0
F 飼料速率 F0.008
S 主軸轉速 S1200
T 刀具編號 T0303
M 機器功能 M08

閱讀此部分N50 G01 X1.5 Z-0.75 F0.008 M08上面寫著:「在第 50 行,以每轉 0.008 的流量直線輸送至 X1.5、Z-0.75,並開啟冷卻液。」這就是全部訣竅。同樣的邏輯也適用於… 數控車床 驅動加工中心;只有軸字母和少數幾個預設循環會改變。

📐 工程筆記

A 語氣 程式碼在執行完畢後會一直保持啟動狀態,直到同一程式碼群組中的其他程式碼將其取消。例如,G01 指令執行一次後,後續的每個代碼組都會持續進給一行材料,直到您呼叫 G00、G02 或 G03 為止。非模態(單次)代碼,例如 G04 駐留,僅作用於其出現的代碼組。混淆這些程式碼是導致大多數「刀具為何快速下刀?」故障的根源。

模態組:為什麼有些程式碼會互相抵消

模態組:為什麼有些程式碼會互相抵消

這裡介紹的是將程式碼列表轉化為可操作的思維模型的概念。 G 代碼被分類為 模態組而且,同一組程式碼中一次只能有一個處於啟動狀態。呼叫同一組中的第二個程式碼,它會悄悄地替換掉第一個。這是有意為之的設計,也是為什麼包含兩個運動代碼的程式區塊會發出警報的原因。理解這些代碼組可以解答初學者常問的問題:“為什麼一個G代碼會抵消另一個G代碼?”

模態組 組內程式碼 開機時的預設值
運動 G00、G01、G02、G03 通常 G00
平面選擇 G17,G18,G19 G17(銑床),G18(車床)
部隊 G20,G21 機器參數
距離模式 G90,G91 G90 絕對
切割機 G40,G41,G42 G40 關閉
工作偏移 G54~G59 G54
進料模式 G93,G94,G95 G94(磨)
固定循環 G73–G89,G80 取消 G80 關閉

所以當你寫的時候 G90 G54 G17 G00 X0 Y0 在程式開頭,你需要設定幾個代碼組中的任何一個,例如絕對距離、工件偏移量 1、XY 平面、快速移動等等,這些設定都會保持鎖定狀態,直到你手動更改為止。這就是人們常說的「安全啟動」線。

完整G代碼清單(常用代碼G00–G99)

完整G代碼清單(常用代碼G00–G99)

以下是G代碼總列表,依程式碼功能分組。這些代碼適用於絕大多數Fanuc系統;少數代碼存在一些特殊之處,詳見控制系統對比部分。請收藏此頁面,它同時也是大多數人在搜尋「G代碼M代碼清單pdf」時尋找的可列印速查表。

推薦碼 類別 功能
G00 運動 快速定位(非切割移動)
G01 運動 以 F 速率進行線性進給運動
G02 運動 順時針圓弧插值
G03 運動 逆時針圓週插值
G04 運動 停留(暫停),P 或 X 表示時間
G17 / G18 / G19 選擇 XY / XZ / YZ 工作平面
G20/G21 部隊 吋/毫米編程
G28 運動 返回機器原點(參考)位置
G30 運動 回第二/第三參考點
G40 / G41 / G42 比較 切割器(半徑)補償關閉/左/右
G43/G49 比較 工具長度補償開啟/取消
G53 坐標 在機器座標系中移動(消除偏移)
G54~G59 坐標 工作座標系 1–6
G73/G83 聽裝 高速啄鑽/全回縮啄鑽
G80 聽裝 取消固定循環
G81/G82 聽裝 簡單鑽孔/帶停留時間的鑽孔
G84 聽裝 攻絲循環
G85/G86 聽裝 無聊的循環
G90/G91 距離 絕對/增量編程
G93 / G94 / G95 進料模式 反向時間/每分鐘/每轉進料
G96/G97 主軸 恆定表面速度/取消(恆定轉速)
G98/G99 罐裝* 循環後返回初始/R平面(銑削)

*在許多 Fanuc 車床控制系統中,G98/G99 改為設定每分鐘進給量和每轉進給量,這是下面詳細介紹的方言差異之一。

完整的M代碼清單(機器和程式功能)

完整的M代碼清單(機器和程式功能)

M 代碼處理除運動控制之外的所有操作:主軸的啟動和停止、冷卻液的切換、刀具的更換以及程序的結束。常用的 M 代碼集很短,你每天都會用到十幾個。

推薦碼 功能 筆記
M00 程序停止(強迫) 按下循環開始恢復
M01 可選停靠站 僅當「可選停止」開啟時
M02 程式結束 無法倒帶
M03/M04 主軸順時針/逆時針旋轉 需要一個 S 值
M05 主軸停止
M06 換刀 與 T 開頭的字配對
M07/M08/M09 噴霧/噴淋冷卻液開啟,冷卻液關閉 M07並非每台機器都有。
M29 剛性敲擊模式 發那科;G84 的前身
M30 結束節目並倒帶 重置為頂部
M98/M99 子程序呼叫/返回 M99 也會循環播放程式。
🇧🇷 重要

M 代碼是機器語言中最不標準化的部分。冷卻液、托盤和輔助設備的 M 代碼在不同的製造商之間差異很大,而具有額外硬體的機器還會添加自己的 M 代碼。在假設某個數字的意思與您上次執行的控制碼相同之前,請務必先查閱機器手冊中的 M 程式碼頁面。

數控車床(車削)的G代碼和M代碼

數控車床(車削)的G代碼和M代碼

大多數已發布的程式碼清單都是為銑床編寫的,因此車床程式設計人員只能靠猜測。車床與銑床共享核心運動和程序代碼,但增加了銑床所沒有的車削專用代碼層。如果您使用的是斜床身或平床身車削中心,那麼以下這些代碼才是​​真正重要的。

車床代碼 功能
G50 夾緊主軸最大轉速(或設定座標,取決於控制方式)
G96/G97 恆定表面速度開關開/關-轉向的主力組合
G70 完成週期
G71 粗車(去除材質)循環
G72 粗加工循環
G74/G75 啄鑽/開槽循環
G76 穿線週期
G41 / G42 / G40 刀尖半徑補償 左/右/關閉

恆定表面速度是 概念上的巨大差異。 呼叫 G96 S500 控制器會調整主軸轉速,使刀具切削速度保持在每分鐘 500 英尺(表面),即使刀具直徑縮小,這正是您在錐形或端面零件上獲得光滑表面所需的理想狀態。切換到 G97 S1500 鎖定固定轉速,這對於中心鑽孔或攻牙至關重要。我們隨附的 Fanuc 式控制系統配備 ANTISHICNC 介面。 斜床式CNC車床 模型中,鑽孔循環前缺少 G97 是我們看到的最常見的首程序錯誤之一,主軸會在刀具接近中心時持續加速。

「車削加工時,順序與代碼同樣重要。先設定工件偏移量,然後使用 G50 速度夾具執行 G96 代碼,再選擇刀具;如果跳過夾具,第一次小直徑切削時主軸轉速可能會超過其安全極限。”

丹尼爾·雷耶斯應用工程師,ANTISHICNC

什麼是G94 G代碼?

G94 設定 每分鐘進料量 模式:F 值以每分鐘刀具行程的單位(英吋或毫米)讀取。它與 G93(反時間)和 G95(每轉進給量)一起位於進給模式模式群組中,在銑削控制器上,G94 是通常的預設值。但車床的情況有所不同:在許多 Fanuc 車削控制器上,進給模式組合實際上是 G98(每分鐘)和 G99(每轉),而 G94/G95 可能分配給其他功能。車削幾乎總是需要每轉進給量,以確保加工表面光潔度不受轉速的影響,因此大多數車床程式會設定 G99(或 G95,取決於控制器)。如有疑問,請檢查您的控制器使用的是哪種“系統”,相關資訊會記錄在程式手冊的進給模式代碼部分。

罐裝循環詳解:鑽孔、攻牙和鏜孔

罐裝循環詳解:鑽孔、攻牙和鏜孔

A 罐裝循環 它將重複操作(鑽孔、回退、移動、再次鑽孔)壓縮到一行指令中。無需手動編寫每個鑽孔動作,只需呼叫一次循環,列出孔的位置,然後使用 G80 取消即可。這樣可以節省數十行程式碼,並使孔型一目了然。

  • G81直線鑽孔:快速鑽至 R 平面,進給至 Z 深度,快速鑽出。
  • G83啄鑽:以 Q 為增量向下啄鑽,完全回縮以清除深孔中的切屑。
  • G84攻牙:進給,反轉主軸,依螺距出絲。
  • G85/G86鏜孔:對預鑽孔進行精確、低進給量加工。

啄鑽塊看起來像 G83 Z-1.0 R0.1 Q0.2 F8.0從 0.1 的回退平面開始,以 0.2 的啄鑽次數,每分鐘 8 英吋的速度鑽至 Z-1.0。記錄孔的 XY 座標,並重複此循環,直到執行 G80 指令。

G84 在CNC工具機中扮演什麼角色?

G84 是右手攻牙循環。它將絲錐送入到所需深度,停止並反轉主軸,然後再送出,所有步驟都同步進行,以確保絲錐沿著自身螺紋進給而不會撕裂螺紋。進給速度必須與螺紋導程相符:進給速度等於主軸轉速乘以螺距。例如,對於 M8×1.25 的絲錐,在 300 rpm 的進給模式下,進給速度為 300 × 1.25 = 375 mm/min。在 Fanuc 系統中,通常需要在執行 G84 之前執行 M29(剛性攻牙模式),以使主軸和 Z 軸保持鎖定狀態,這樣即使不使用拉壓式夾具也能精確攻牙。將 R 平面設置在工件上方足夠高的位置,以便主軸能夠達到所需轉速並平穩​​反轉。忘記執行 M29 而使用剛性夾具在「浮動」模式下運行 G84 是導致絲錐斷裂的經典方法。

完整的G程式碼範例程式(銑床和車床)

完整的G程式碼範例程式(銑床和車床)

閱讀表格中的程式碼是一回事,但在實際程式中看到它們才能真正理解。這裡有兩個簡短且帶有完整註釋的範例。每一行程式碼都與上面的表格相對應。

銑削範例正面朝上,鑽一個孔:

O1001 N10 G90 G54 G17 G21(絕對值,偏移 1,XY 平面,毫米)N20 G00 X0 Y0(快速啟動)N30 T1 M06(裝載刀具 1)N40 S1200 M03(主軸順時針旋轉,1200 rpmN50 S1200 M03(主軸順時針旋轉,1200 rpmN500 S12012503) M08(開啟冷卻液)N70 G83 Z-15.0 R2.0 Q3.0 F150(啄鑽)N80 G80(取消循環)N90 M09(關閉冷卻液)N100 G28 Z0 M05(Z 軸回零,主軸停止)N110 M30(結束後回捲)

樹立榜樣粗加工並精加工直徑:

O2001 N10 G21 G99 G40(毫米,每轉進給量,補償關閉)N20 G50 S2500(夾緊主軸最大轉速 2500 rpm)N30 T0101(車刀,偏移量 1)N40 G96 S180 M03(恆速 180. M08(進給毛坯,開啟冷卻液)N60 G71 U2.0 R1.0(粗車循環)N70 G70 P80 Q120(精車輪廓)N130 G97 S1200(恢復恆速)N140 G00 X200 Z200 M09(

在首次運行之前,請先在模擬器中執行該檔案。免費的線上 G 程式碼模擬器和檢視器可以在幾秒鐘內檢測出反向圓弧或缺少的 G80 指令,這比在工件上用刀具查找錯誤便宜得多。無論您是在切削工件還是其他工件,這種先驗證再加工的習慣都適用。 數控立式加工中心 或車削中心。

不同控制系統的 G 代碼和 M 代碼差異:Fanuc、Haas、Siemens、GRBL、LinuxCNC

不同控制系統的 G 代碼和 M 代碼差異:Fanuc、Haas、Siemens、GRBL、LinuxCNC

單控制清單掩蓋了這樣一個真相:並不存在通用的G代碼。運動代碼(G00-G03)和安全啟動代碼幾乎在各地都相同,這部分確實是標準的。但固定循環參數、巨集語法、進給模式分配以及大多數M代碼在不同製造商之間都存在差異。 「標準G代碼」除了基本要素之外,在某種程度上只是一個神話。

控制 不同之處
發那科 事實上的基準;宏 B 變量,車床進給模式透過 G98/G99 控制,M29 剛性絲錐
哈斯 類似 Fanuc 的作業系統,加入了 Haas M 程式碼(例如 M97 局部子呼叫)和設定驅動行為
西門子(SINUMERIK) 支援 G 代碼以及其自身的高級語言和 ShopTurn/ShopMill 步驟
GRBL 適用於業餘路由器和3D列印機級硬體的子集;無預設循環
數控系統 嚴格遵循 NIST RS274/NGC 標準;包含用於樣條曲線和探測的額外 G 代碼

機械師經常會遇到同樣的問題:一個在某個控制系統上驗證過的程序,在另一個控制系統上可能會出現故障,甚至運行錯誤,這通常是由於進給模式或固定循環的差異造成的,而不是運動代碼的問題。解決這個問題需要養成習慣,而不是修改程式碼:從CAM軟體重新上傳程式以適配目標控制系統,或在實際機床上以單塊模式測試程序,然後再確認其有效性。 LinuxCNC G 程式碼參考 當你想看看「標準」解釋器如何定義程式碼時,這是一個有用的中立基準。

常見的G代碼和M代碼錯誤

常見的G代碼和M代碼錯誤

程式碼本身很簡單;錯誤往往出在上下文。一些常見的模式就能解釋新手程式設計師遇到的大部分問題。

✔ 預防崩潰的習慣
  • 以安全起步線開局(G90 G54 G17 G40 G80)
  • 在進行下一步操作之前,請使用 G80 取消已儲存的循環。
  • 在車床上鑽孔或攻牙前設定 G97 參數。
  • 單塊程式是任何新程式的首次運行。
⚠ 機械師報告的錯誤
  • 保持 G91 開啟,以便下次程式增量運行。
  • 假設 M 代碼在每台機器上都表示相同的意思。
  • 使用 G84 進行敲擊,但忘記了 M29 剛性模式
  • 弧線方向錯誤(G02 與 G03)或 I/J/K 符號錯誤

如果你要從手動加工轉向數控加工,培養與手動控制相同的直覺會很有幫助,操作員讀取刻度盤的方式與讀取數控刻度盤時保持的警覺性是一樣的。 數位讀數 (DRO) 獎勵機制貫穿始終,甚至延伸到你按下循環啟動鍵之前閱讀程式碼的環節。為工作選擇合適的工具同樣至關重要;我們的指南將指導你如何做到這一點。 車床切削刀具 覆蓋了那一側。

變革趨勢:對話式程式設計、CAM 和人工智慧

變革趨勢:對話式程式設計、CAM 和人工智慧

手寫完整的程序已不再是以前的日常工作。到2026年,大部分生產用G程式碼將由CAM軟體及其後處理器生成,然後在機床上進行編輯。因此,需要合理安排兩班制的工作。

首先, 對話式程式設計 這種技術持續普及。像 Haas 和 Siemens ShopTurn 這樣的控制系統允許操作員描述特徵、孔、螺紋、面等,然後系統會自動產生相應的 G 代碼。這降低了加工簡單零件的門檻,但並不能取代對程式碼的了解:一旦對話式程式需要修改或發出警報,您仍然需要編寫 G 程式碼。其次,模擬已成為預設步驟,而非可有可無的選項。每月對 G 代碼模擬器的搜尋量接近 1,000 次,這表明切削前驗證已成為標準做法。能夠調整進給量並標記碰撞的 AI 輔助刀具路徑工具正在被主流 CAM 軟體所採用,儘管它們提出的變更仍需由程式設計師審核。

如果你打算在 2026 年開設店鋪或訓練操作員,切實可行的做法是先教授 G 程式碼基礎知識,然後將對話式程式設計和人工智慧工具作為加速器。這份清單中的基本內容正是這些工具產生的,也是你在遇到問題需要修復時會看到的內容。要了解程式設計成熟度如何影響機器的購買,請參閱我們的概述… 金屬車床 逐步介紹控制選項。

常見問題

Q:G代碼和M代碼有什麼差別?

看答案
G代碼是控製刀具運動、座標和幾何形狀的準備指令。 M代碼是工具機功能指令,例如主軸控制、冷卻液控制、換刀控制和程序結束控制。簡而言之,G代碼控製刀具運動;M代碼控制機床上的開關。

Q:最常見的G代碼是什麼?

看答案
G01,直線進給移動指令。它負責實際的切割操作,因此幾乎出現在每個程式中。 G00(快速進給)緊跟在後。

Q:CNC工具機中的M代碼是什麼意思?

看答案
M 代表雜項(或機器)功能。 M 代碼用於控制主軸的開啟和關閉(M03/M05)、控製冷卻液(M08/M09)、觸發換刀(M06)以及結束程序(M30)。與大多數 G 代碼不同,M 代碼不控制軸的運動,除了常用的 M 代碼集之外,其具體含義因機器製造商而異。

Q:G代碼和M代碼在所有CNC機床上都一樣嗎?

看答案
核心運動代碼相同,但其餘部分不同。固定循環、進給模式代碼、巨集語法以及大多數 M 程式碼在 Fanuc、Haas、Siemens、GRBL 和 LinuxCNC 之間都存在差異。請從 CAM 軟體重新發布特定控制系統的程式碼,並在確認程式無誤後再嘗試執行。

Q:CNC車床使用哪些G代碼和M代碼?

看答案
車床使用通用的運動和程序代碼,以及一些車削專用代碼:G96/G97 用於恆定表面速度,G70-G76 用於車削固定循環(精加工、粗加工、端面加工、溝槽加工、螺紋加工),G50 用於主軸轉速夾緊,G41/G42 用於刀尖補償半徑。許多車床控制系統的進給模式設定使用 G98/G99 而不是 G94/G95,這容易讓從銑削編程轉過來的程式設計師感到困惑。如果您不確定您的控制系統使用哪種系統,程式手冊中列出了您特定工具機和控制系統版本的進給模式代碼。

Q:哪裡可以找到G代碼和M代碼清單的PDF檔案或速查表?

看答案
本頁提供的 G 代碼和 M 代碼分組表格旨在方便列印或儲存為單頁參考資料,以便您將其放在控制器旁。若要了解您的特定機器的具體運作情況,請以控制器製造商提供的程式手冊為準。

為新的車削中心編寫程式?

ANTISHICNC 製造的CNC車床可運行標準的 Fanuc 式 G 代碼,並提供對話式編程選項,同時為 40 多個國家/地區提供 3 年技術支援。告訴我們您的零件需求,我們將為您配置合適的工具機和控制系統。

探索CNC車床 →

我們為什麼要整理這份清單?

我們以製造CNC車床為生,新用戶收到機器後的第一反應總是「代碼清單在哪裡?」。網路上大多數參考資料只涵蓋銑削,或者只針對一種控制系統品牌,所以我們編寫了一份代碼列表,將銑削和車削代碼(包括我們機器每天都在使用的G96/G97和G70-G76車削循環)集中在一處,並詳細說明了不同控制系統之間的差異。

參考文獻和來源

  1. NIST RS274/NGC 解譯器,版本 3美國國家標準技術研究院(NIST)
  2. NIST RS274NGC 解釋器,完整報告(PDF)美國國家標準與技術研究院內部報告
  3. ISO 6983-1:2009,自動化系統及集成,NC程式格式國際標準化組織
  4. LinuxCNC G 程式碼快速參考LinuxCNC.org
  5. G碼維基百科(RS-274概述及歷史)

相關文章

經ANTISHICNC工程團隊審核,該團隊擁有超過25年的CNC車床和加工中心製造經驗。如果您對我們機器的程式有任何疑問,歡迎諮詢。 聯絡我們的工程團隊.

ANTISHICNC公司

ANTISHICNC是上海安茲機械設備有限公司旗下品牌,是一家專注於金屬加工機械製造的專業工廠。產品範圍涵蓋CNC車床、銑床、鋸床、磨床、插床、搖臂鑽床以及傳統車床。此外,公司還提供液壓折彎機和各種用於金屬成型的折彎機。 ANTISHICNC擁有50多位銷售工程師,提供一站式解決方案和車間設計,以滿足全球客戶的金屬加工需求。請聯繫他們的團隊以了解更多資訊。

您可能對此感興趣
回到頁首
與 ANTISHICNC 公司取得聯繫
聯絡表再用