🗂️ 目錄
🧩 G 指令(G-codes)
🚀 1) 運動與插補
| 指令 | 名稱/用途 | 重點說明/常見用法 |
|---|
| G0 | 快速定位(Rapid) | 不受進給 F 影響(由機台最大速/設定限制)。 |
| G1 | 直線插補 | G1 X.. Y.. Z.. F..,F 為進給。 |
| G2 / G3 | 圓弧插補(CW/CCW) | 依平面(G17/18/19)解讀;IJK 或 R 依設定/模式。 |
| G4 | 停留(Dwell) | 常見:G4 P1.5(秒)。 |
| G5 / G5.1 | 曲線插補(樣條/樣條近似) | 視建置是否啟用(部分機型不支援)。 |
| G33 | 螺紋/同步進給(Threading) | 通常需主軸同步/編碼器支援;依外掛/硬體而定。 |
| G38.2 | 探測(觸發成功才算成功) | 失敗通常會報錯/中止(依設定)。 |
| G38.3 | 探測(可失敗不報錯) | 常用於「找邊/找表面」允許沒觸發的情境。 |
| G38.4 | 反向探測(失敗才算成功) | 用於反向偵測邏輯。 |
| G38.5 | 反向探測(可失敗不報錯) | 與 G38.4 類似但容錯。 |
| G73 / G75 / G76 | 循環/車削循環(依建置) | 常見於車床/循環加工擴充;若你是銑床韌體可能未啟用。 |
| G80–G89 | 固定循環(Canned cycles,依建置) | 例如鑽孔/擴孔/攻牙循環;是否可用取決於 RS274/NGC 功能啟用。 |
提示:圓弧/探測/固定循環最常見的「不動」原因是:平面/距離模式/單位或 IJK 模式不一致,或探針輸入未設定。
⚙️ 2) 模式與單位
| 指令 | 名稱/用途 | 重點說明 |
|---|
| G17 / G18 / G19 | 平面選擇(XY / XZ / YZ) | 圓弧(G2/G3)與某些循環依平面解讀。 |
| G20 / G21 | 英制/公制(inch/mm) | 影響 X/Y/Z、F、IJK、R 等數值單位。 |
| G90 / G91 | 絕對/增量 | 影響座標解讀;常見「跑錯方向」來源。 |
| G90.1 / G91.1 | IJK 絕對/增量(圓弧中心) | 依機型/設定;若不支援通常固定為增量。 |
| G93 / G94 / G95 | 進給模式(反時間/每分鐘/每轉) | G95 通常需要主軸同步支援;車床常見。 |
| G98 / G99 | 循環退刀平面(依建置) | 影響固定循環退回 R 平面或起始 Z。 |
📐 3) 座標系統與偏置
| 指令 | 名稱/用途 | 重點說明/常見用法 |
|---|
| G53 | 機械座標(Machine coordinate) | 通常需搭配一行內使用:G53 G0 X0 Y0(不套用工件座標偏置)。 |
| G54–G59 / G59.1–G59.3 | 工件座標系(WCS) | 常用多工件/治具。 |
| G10 | 設定偏置(Set offsets) | 常見:G10 L2 P1 X.. Y.. Z.. 設定 G54;是否支援 L2/L20 依建置。 |
| G92 | 暫時座標偏置(Local shift) | 常用於臨時「把當前點當零點」;重開機/依設定可能不保留。 |
| G92.1 / G92.2 / G92.3 | 取消/清除 G92(依實作) | Grbl 傳統常見 G92.1 清除;其餘子碼是否存在依韌體。 |
| G28 / G30 | 回參考點(Go to predefined position) | G28/G30 目標點通常可持久化;「如何設定」依你韌體是否支援對應指令/流程。 |
🧰 4) 補償與刀長
| 指令 | 名稱/用途 | 重點說明 |
|---|
| G40 | 取消刀具半徑補償 | grblHAL 主要用於「取消」;G41/G42 多數情境不支援或需外掛。 |
| G43 / G43.1 | 刀長補償(Tool length offset) | G43 常表示「套用目前刀長」;G43.1 常用於「直接指定 Z 刀長補償值」。 |
| G49 | 取消刀長補償 | 取消 G43/G43.1 的影響。 |
實務建議:若你用 ATC/工具表,通常會讓換刀流程在 M6 或宏程式中處理「讀工具表 → 套用刀長(G43 或等效機制)」。
🧠 5) 其他常見(停留/巨集/子程序)
| 指令 | 名稱/用途 | 重點說明 |
|---|
| G4 | 停留 | G4 P.. |
| G65 | 呼叫巨集(Macro call,依建置) | LinuxCNC 風格:G65 P<id> ...;完整支援通常在 SD/littlefs 中的宏檔。 |
| O-words / IF/WHILE | 流程控制(依建置) | 多見於檔案式宏;串流送碼通常受限。 |
🧷 M 指令(M-codes)
🛑 1) 程式控制
| 指令 | 名稱/用途 | 重點說明 |
|---|
| M0 | 無條件停止 | 暫停/停止(行為依 Sender/控制器)。 |
| M1 | 選擇性停止 | 需配合「Optional stop」開關。 |
| M2 / M30 | 程式結束 | 結束並重置程式狀態(實作略有差異)。 |
🌀 2) 主軸與冷卻
| 指令 | 名稱/用途 | 重點說明/常見用法 |
|---|
| M3 | 主軸正轉 | 常搭配 S:M3 S12000。 |
| M4 | 主軸反轉 | 同上。 |
| M5 | 主軸停止 | |
| M7 | 霧化冷卻(Mist) | 視 IO/外掛。 |
| M8 | 洪流冷卻(Flood) | 視 IO/外掛。 |
| M9 | 冷卻全關 | 關閉 M7/M8。 |
🧲 3) 換刀與工具
| 指令 | 名稱/用途 | 重點說明 |
|---|
| M6 | 換刀 | 多數情境會觸發外掛/宏流程(ATC 或手動換刀提示)。 |
| T(非 M) | 選刀 | 常與 M6 搭配:T1 M6。 |
🎚️ 4) Override/進給保持/IO 等(依建置)
| 指令 | 名稱/用途 | 重點說明 |
|---|
| M48 | Override 允許/啟用(依實作) | 在部分 grblHAL 設計中用於允許 override(亦可能搭配其他 M 碼/參數)。 |
| M50 P1/P2 | 速度/進給 Override 相關(依實作) | 常見:M50 P1(速度)、M50 P2(進給)等,依你機台定義。 |
| M53.1 | Feed hold 狀態/控制(依實作) | 依建置;常見作為進給保持/恢復的流程一環。 |
| M66 | 等待輸入(Wait for input,依建置) | 常用於「等到某輸入成立/逾時」;逾時常回傳 -1(依實作)。 |
⌨️ 附錄:即時控制字元(非 G/M,但常用)
🧩 A) 基本控制(最常用、通用)
| 字元 | 名稱/用途 | 備註 |
|---|
| ? | 即時狀態查詢(Status report) | 回傳狀態行(如 `<Idle |
| ~ | Cycle Start / Resume | 解除 Feed Hold / 繼續執行。 |
| ! | Feed Hold | 立即進給保持(暫停運動,狀態通常進入 Hold)。 |
| Ctrl-X | Soft Reset | 軟重置(清 buffer、回到 Idle;依狀態可能觸發 Alarm)。 |
🛡️ B) 系統/動作控制(依 Sender / build)
| 字元(Hex) | 名稱/用途 | 備註 |
|---|
| 0x84 | Safety Door | Sender 常以「Door」按鈕呈現。 |
| 0x85 | Jog Cancel | 取消 Jog(等同中止 Jog 串流/排程)。 |
🎚️ C) Override(進給/快速/主軸)
多數 Sender 會做成按鈕(+10% / -10% / Reset),不一定讓你直接輸入十六進位字元。
1) Feed Override
| 字元(Hex) | 名稱/用途 | 備註 |
|---|
| 0x90 | Feed Override Reset | |
| 0x91 | Feed Override +10% | |
| 0x92 | Feed Override -10% | |
| 0x93 | Feed Override +1% | |
| 0x94 | Feed Override -1% | |
2) Rapid Override
| 字元(Hex) | 名稱/用途 | 備註 |
|---|
| 0x95 | Rapid Override Reset | |
| 0x96 | Rapid Override Medium | 常見對應 50%(依實作)。 |
| 0x97 | Rapid Override Low | 常見對應 25%(依實作)。 |
3) Spindle Override
| 字元(Hex) | 名稱/用途 | 備註 |
|---|
| 0x99 | Spindle Override Reset | |
| 0x9A | Spindle Override +10% | |
| 0x9B | Spindle Override -10% | |
| 0x9C | Spindle Override +1% | |
| 0x9D | Spindle Override -1% | |
🧯 D) 即時切換(Spindle / Coolant)
| 字元(Hex) | 名稱/用途 | 備註 |
|---|
| 0x9E | Toggle Spindle Stop | 即時切換主軸停止(如有支援)。 |
| 0xA0 | Toggle Flood Coolant | 即時切換 Flood(如有支援)。 |
| 0xA1 | Toggle Mist Coolant | 即時切換 Mist(如有支援)。 |