この G および M コード リストには、CNC フライス盤または旋盤を実行するために実際に入力したコードが含まれています。動きと形状を制御するすべての一般的な G コードに加えて、スピンドルや冷却剤などの機械機能を切り替える M コード。 CAM ソフトウェアが吐き出したファイルを制御装置で CNC プログラムを読み取るか、手動で編集するかに関係なく、以下の表と例は、フライスと旋削の両方をカバーする 2 番目のタブで開いたままにできる単一の参照になるように構築されています。Fanuc、Haas、Siemens、GRBL、LinuxCNC の違い。.
クイック リファレンス: G vs M at a Glance
| Gコード | 準備/ジオメトリ ―― がマシンに伝えます どこで そして どうやって ツールは移動します (G00 ラピッド、G01 フィード、G02/G03 アーク)。. |
| Mコード | その他 / 機械 ⁄ 機能のオンとオフを切り替え (M03 スピンドルオン、M08 クーラントオン、M30 エンドプログラム)。. |
| フォーマット | ワードアドレス: N50 G01 X1.5 Z-0.75 F0.008 M08 ――「単語」ごとに 1 文字 + 数字. |
| 規格 | EIA RS-274 にルーツがあり、 ISO 6983-1:2009; ほとんどのコントローラーが派生するオープン インタプリタは、です NIST RS274/NGC スペック. |
Gコード対Mコード: 違いは何ですか?

各コードを2 つのバケットのいずれかにソートすることは、任意のプログラムを読み取るための最速の方法です。 A Gコード は準備コマンドであり、通常「G」は次のように説明されます 幾何学, 、これらの単語は、カッターがどこに行くべきか、どの道に沿って行くべきかを伝えるからです。 an Mコード は雑多な、または機械、命令である: それは主軸を始めるか、洪水冷却剤をオンにするような機械のどこかにスイッチをひっくり返す 両方ともEIAが1960 年代初頭に数値制御のために標準化し、ISOが後にISO 6983 に折れた同じ単語アドレスの文法の内部に乗る。.
一目で適用できる実用的な分割は次のとおりです:
| 質問 | Gコード | Mコード |
|---|---|---|
| 何を制御しているのでしょうか? | ツールの動き、座標、補間、オフセット | スピンドル、クーラント、ツール交換、プログラムフロー |
| 軸を動かしますか? | 多くの場合、はい (G00、G01、G02) | いいえ |
| モーダルか? | 多くはそうです(キャンセルされるまでアクティブにしてください) | 一部(M03/M05);多くは読み切りです |
| 例 | G01 X2.0 F10.0 |
エムゼロエイト (クーラントオン) を採用 |
すべての方言に約 100 個の G コードが存在しますが、単一のマシンはそれよりもはるかに小さいワーキング セットを使用します。 M コードはビルダー間で数が少なく、一貫性がはるかに低く、後でカバーされる「このプログラムは他のマシンで正常に実行された」頭痛の種の大部分を説明するため、保持する価値があります。マシン自体のメンタル モデルをまだ構築している場合は、その上のプライマー 旋盤およびミル加工の基礎 このコードリファレンスとよくペアリングします.
G コード ブロックの読み方: アドレス文字と構文

CNC コードの行は a と呼ばれます ブロック, 、そしてすべてのブロックは “単語” の文字列に過ぎません 各単語は1 文字 (アドレス) の後に数字 (値) が続きます 文字の意味が分かれば ほとんどすべてのブロックを声に出して読み取ることができます 新しい演算子には として教えます NG-XYZ-FSTM ルール文字はほぼその順序で表示される傾向があり、その順序は、行番号、どのような動き、どこへ、どのくらいの速さ、どのくらいのスピンで、どのツールを、どのスイッチを切り替えて反転するかという、マシンが考える順序と一致します。.
| 手紙 | 意味 | 例 |
|---|---|---|
| N | ブロック (行) 番号 | N50 さん |
| G | 準備/モーションコマンド | G01 ます |
| X Y Z | 軸の位置 (目的地) | X1.5 Z-0.75 |
| アイ ジェイ ケイ | アークセンター、開始時の相対値 | I0.5 J0 |
| F | 送り速度 | F0.008 |
| S | スピンドル速度 | S1200 さん |
| T | ツール番号 | T0303 さん |
| M | 機械機能 | エムゼロエイト |
このブロックを読んでくださいN50 G01 X1.5 Z-0.75 F0.008 M08そして、それはこう言っています: “On line 50, feed in a straight line to X1.5, Z-0.75 at 0.008 per rev, and turn flood coolant on” それが全体のトリックです。 aを駆動するその同じロジック CNC 旋盤 機械 マシニングセンターを駆動します。軸文字と少数の缶詰サイクルのみが変化します。.
A モーダル コードは、ブロック後も同じグループ内の何かがキャンセルするまでアクティブになります。 command G01 は、後続のブロックごとに 1 回、G00、G02、または G03 に呼び出すまで一列にフィードされ続けます。 G04 dwell などの非モーダル (ワンショット) コードは、それらが出現するブロックにのみ作用します。これらを混ぜ合わせることは、ほとんどの「なぜツールが急速に急落したのか?」の根本です。クラッシュします。.
モーダル グループ: 一部のコードが相互にキャンセルする理由

コードのリストを実用的なメンタルモデルに変える概念です。 G コードはソートされます モーダル群, 、そして各グループから1 つのコードだけが一度にアクティブにできます 同じグループから2 番目のコードを呼び出して、それは静かに最初のコードを置き換えます それは設計によって、それはまた、2 つのモーションコードを持つブロックがアラームを投げます グループを理解すると 、 「なぜ1 つのGコードが別のGコードをキャンセルするのか?」 という初心者の質問に答えます“
| モーダル グループ | グループ内のコード | Power-On のデフォルト |
|---|---|---|
| モーション | G00、G01、G02、G03 | 通常はg00 |
| 平面選択 | G17、G18、G19 | G17(ミル)、G18(レート) |
| 単位 | G20、g21 | マシンパラメータ |
| 距離モード | G90、g91 | G90 アブソリュート |
| カッター comp | G40、G41、G42 | G40 オフ |
| ワークオフセット | G54~G59 | G54 さん |
| フィードモード | G93、G94、G95 | G94(ミル) |
| 缶詰にされたサイクル | G73~G89、G80はキャンセル | G80 オフ |
だから書くとき G90 G54 G17 G00 X0 Y0 プログラムの先頭で、いくつかのグループのそれぞれから 1 つのコード、絶対距離、ワーク オフセット 1、XY 平面、ラピッド モーションを設定し、変更するまですべてラッチされたままにします。これは、人々が「安全なスタート」ラインを意味するものです。.
完全な G コード リスト (共通コード G00 ~ G99)

以下は、各コードが何を行うかによってグループ化されたマスターGコードリストです。 これらは、Fanucスタイルのコントロールの大多数で満たすコードです; いくつかは、コントロール比較セクションで指摘されている方言の癖を持っています。 これをブックマークすると、ほとんどの人が「gコードmコードリストpdf」を検索するときに探している印刷可能なチートシートとしても機能します“
| コード | グループ | 機能 |
|---|---|---|
| G00 | モーション | 素早い位置決め(非切断移動) |
| G01 ます | モーション | 線形フィードは F レートで移動します |
| G02 ます | モーション | 時計回りの円補間 (arc) |
| G03 ます | モーション | 反時計回りの円補間 |
| G04 ます | モーション | ドウェル (一時停止)、P または X を時間単位で実行します |
| G17 / G18 / G19 | 平面 | XY / XZ / YZ 作業面を選択します |
| G20 / G21 | 単位 | インチ/ミリプログラミング |
| G28 ます | モーション | マシンホーム (参照) の位置に戻ります |
| G30 ます | モーション | 2 番目 / 3 番目の基準点に戻ります |
| 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 | スピンドル | 一定の表面速度 / キャンセル (一定の rpm) |
| G98 / G99 | 缶詰※ | サイクル (ミル) の後に初期 / R 平面に戻ります |
※多くのファナック旋盤コントロールでは、代わりにG98/G99が分あたりの送り量と回転あたりの送り量を設定しており、これは以下に詳述する方言の違いの一つです。.
完全な M コード リスト (マシンおよびプログラム機能)

Mコードは、スピンドルの起動と停止、冷却剤の切り替え、ツールの変更、プログラムの終了など、動作しないすべてのことを処理します。一般的なセットは短く、毎日これらを十数個使用します。.
| コード | 機能 | 備考 |
|---|---|---|
| M00 | プログラム停止(必須) | サイクル開始を押して再開します |
| M01 さん | オプションの停止 | 「オプション停止」がオンの場合のみ |
| エム〇二 | 番組終了 | 巻き戻しなし |
| M03 / M04 | CW / CCW のスピンドル | S値が必要です |
| エムゼロファイブ | スピンドルストップ | — |
| エムゼロックス | ツール変更 | Tワードとペアになります |
| M07 / M08 / M09 | ミスト/フラッドクーラントのオン、クーラントのオフ | M07 はすべてのマシンに搭載されているわけではありません |
| エムツーニー | リジッドタッピングモード | ファナック; G84に先行します |
| エムスリーオー | プログラムを終了し、巻き戻します | 上部にリセットします |
| M98 / M99 | サブプログラムの呼び出し/返却 | M99 はプログラムをループします |
Mコードは言語の中で最も標準化されていない部分です クーラント、パレット、補助Mコードはビルダーからビルダーへとさまよい、余分なハードウェアを備えたマシンは独自のものを追加します 数字が最後に実行したコントロールで何を意味するかを示すと仮定する前に、必ずマシンのマニュアルのMコードページを確認してください。.
CNC旋盤(旋盤)のGコードとMコード

公開されたコード リストのほとんどはフライス盤用に書かれているため、旋盤プログラマーは推測することになります。旋盤はコア モーションとプログラム コードを共有しますが、ミルにはない旋盤固有のレイヤーを追加します。スラントベッドまたはフラットベッドのターニングセンターを実行する場合、これらは重要なコードです。.
| 旋盤コード | 機能 |
|---|---|
| G50 ます | クランプの最大スピンドル速度 (または制御に依存する設定座標) |
| G96 / G97 | 一定の表面速度オン/オフ 回転用の主力ペア |
| G70 ます | 仕上げサイクル |
| G71 さん | 粗回し(ストック除去)サイクル |
| G72 さん | ラフフェイシングサイクル |
| G74 / G75 | ペック穴あけ/溝入れサイクル |
| G76 さん | ねじ切りサイクル |
| G41 / G42 / G40 | ツール鼻半径コンプ左/右/オフ |
一定表面速度は です 概念的な大きな違い. 。 コール G96 S500 そして制御は直径が縮まることさえ工具で切断速度が毎分500 の表面フィートに、丁度あなたが先を細くされたか、または直面した部品を渡ってきれいな終わりのためにほしいと思うように紡錘rpmを変えます G97 S1500 固定回転数をロックするには、中央またはねじ切りに穴あけする必要があります。 Fanuc スタイルのコントロールでは、ANTISHICNC で出荷されます スラントベッド CNC 旋盤 モデルでは、穴あけサイクル前に G97 が欠落していることが、私たちが目にする最も一般的な最初のプログラムの間違いの 1 つであり、ツールが中心に近づくにつれてスピンドルは加速し続けます。.
“「ワークを回すと、順序はコードと同じくらい重要です。ワークオフセットを設定し、次に G50 スピードクランプを備えた G96、次にツールを設定し、クランプをスキップすると、最初の小径パスがスピンドルを回転させて安全限界を超えようとします。」”
G94 G-codeとは?
G94 は を設定します 分あたりのフィード数 モード: F値は、1 分あたりの工具移動の単位 (インチまたはミリメートル) として読み取られます。 g93 (逆時間) およびG95 (回転あたりの送り) と並んでフィードモードモーダルグループに住んでおり、フライス制御ではG94 が通常のデフォルトです。キャッチは旋盤です: 多くのファナック旋削制御では、フィードモードのペアは実際にはG98 (1 分あたり) およびG99 (1 回転あたり) ですが、G94/G95 は他の機能に割り当てられている場合があります。旋削では、ほとんどの場合、回転あたりの送りが必要なため、回転に関係なく仕上げが一貫しているため、ほとんどの旋盤プログラムはG99 (または制御に応じてG95) を設定します。疑わしい場合は、制御がどの「システム」を使用しているかをチェックしてください。.
缶詰サイクルの説明: 穴あけ、出湯、穴あけ

A 缶詰 サイクル 繰り返し操作をパックし、ドリル、引き込み、移動、再度ドリルし、1 行にまとめ、すべてのペックを手でプログラミングする代わりに、サイクルを 1 回呼び出し、穴の位置をリストし、G80 でキャンセルします。数十行を保存し、穴のパターンを一目で読み取れるようにします。.
- ✔G81 さんストレート掘削: R 平面に急速、Z 深さまで供給、急速に出ます。.
- ✔G83 さんペック穴あけ: Q 刻みでペックダウンし、完全に後退して深い穴のチップを取り除きます。.
- ✔G84 ますタッピング: スピンドルを送り込み、スピンドルを反転させ、スレッド ピッチで送り出します。.
- ✔G85 / G86ボーリング: 事前に掘削された穴の正確で低送りサイジング。.
ペックドリルブロックのように見えます G83 Z-1.0 R0.1 Q0.2 F8.00.1 の引き込み面から開始し、0.2 ペックで、毎分 8 インチで Z-1.0 にドリルします。穴の後に XY 座標をリストすると、G80 までサイクルが 1 つずつ繰り返されます。.
G84 はCNCで何をしますか?
G84 は右側のタッピングサイクルです。タップに深度を供給し、スピンドルを停止して反転させ、その後フィードバックし、すべて同期しているため、タップは引き裂くことなく独自のスレッドに従います。フィード レートはスレッド リードと一致する必要があります。フィードはスピンドル rpm にピッチを乗じたものに等しくなります。フィードパーミニッツ モードで 300 rpm で M8 x1.25 タップの場合、通常は 300 × 1.25 = 375 mm/min です。ファナック コントロールでは、通常、G84 の直前に M29 (リジッド タッピング モード) をコマンドして、スピンドルと Z 軸がロックされたままになるようにします。これにより、張力圧縮ホルダーなしで正確にタップできます。スピンドルが速度に達するように、部品より十分に上に R 平面を設定します。M29 を忘れて、リジッド ホルダー上で G84 を「フローティング」モードで実行することは、タップをスナップする古典的な方法です。.
完全な G コード例プログラム (ミルと旋盤)

テーブル内のコードを読み取ることは一つのことです; 実際のプログラムでそれらを見ることは、それがクリックする場所です ここに2 つの短い、完全にコメントされた例があります すべての行は上記のテーブルにマップバックします。.
フライス加工例1 つの穴を面してドリルします:
O1001 N10 G90 G54 G17 G21 (絶対、オフセット 1、XY プレーン、mm) N20 G00 X0 Y0 (急速始動) N30 T1 M06 (ロードツール 1) N40 S1200 M03 (CW 上のスピンドル、1200 rpm) N50 G43 H1 Z25.0 (工具長さオフセット、安全 Z) N60 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 (mm、回転あたりの送り、コンプオフ) N20 G50 S2500 (クランプ最大スピンドル 2500 rpm) N30 T0101 (ターニングツール、オフセット 1) N40 G96 S180 M03 (一定表面速度 180、スピンドル CW) N50 G00 X52.0 Z2.0 M08 (アプローチストック、冷却剤オン) N60 G71 U2.0 R1.0 (粗回転サイクル) N70 G70 P80 Q120 (仕上げパスオーバープロファイル) N130 G97 S1200 (一定回転数に戻る) N140 G00 X200 Z200 M09 (後退、冷却剤オフ) N150 M05 (スピンドルストップ) N160 M30 (エンドプログラム)
最初の実行の前に、シミュレーターでファイルをドライランします 無料のオンラインGコードシミュレーターとビューアーは、逆アークまたは欠落しているG80 を数秒でキャッチし、パーツのツールでキャッチするよりもはるかに安価でカットしているかどうかに関係なく、同じ検証ファーストの習慣が適用されます CNC 立形 マシニング センター あるいはターニングセンター.
コントロールによる G および M コードの違い: Fanuc、Haas、Siemens、GRBL、LinuxCNC

単一制御リストが隠している真実はここにあります: 普遍的な G コードは 1 つもありません。モーション コード (G00 ~ G03) とセーフスタート コードはどこでもほぼ同一であり、その部分は実際には標準です。しかし、缶詰サイクルのパラメーター、マクロ構文、フィードモードの割り当て、およびほとんどの M コードはビルダー間でドリフトします。 「標準 G コード」は、基本を過ぎると、部分的には神話です。.
| 制御 | どこで違うのか |
|---|---|
| ファナック | 事実上のベースライン;マクロ B 変数、G98/G99 経由の旋盤送りモード、M29 リジッド タップ |
| ハース | Haas Mコード (例: M97 ローカルサブコール) と設定駆動動作を追加したFanucライク |
| シーメンス (SINUMERIK) | Gコードに加えて独自の高水準言語とShopTurn / ShopMillステップをサポートします |
| GRBL | ホビールーターと3D-プリンタークラスのハードウェアのサブセット; 缶詰のサイクルはありません |
| LinuxCNC | NIST RS274/NGC 方言に厳密に従います;スプラインとプロービング用の追加の G コード |
機械工は一般的に同じ教訓を報告します: ある制御装置で証明されたプログラムは、故障したり、さらに悪いことに、別の制御装置で誤動作したりする可能性があり、通常はモーションコードではなく、習慣を修正したり、ターゲット制御装置用のCAMから再投稿したり、信頼する前にシングルブロックで実際の機械でプログラムを証明したりして、自由に公開します LinuxCNC Gコードリファレンス 「標準」インタプリタがコードをどのように定義するかを確認したい場合に便利な中立ベースラインです。.
一般的な G コードと M コードの間違い

コード自体は単純です; エラーはコンテキストから発生します。新しいプログラマーが遭遇するトラブルのほとんどは、いくつかのパターンが原因です。.
- セーフスタートライン (G90 G54 G17 G40 G80) で開きます
- 次の移動の前に、G80 で缶詰サイクルをキャンセルします
- 旋盤に穴あけまたはねじ込む前に G97 を設定します
- 新しいプログラムの最初の実行をシングルブロックします
- G91 をオンにしたままにすると、次のプログラムは増分で実行されます
- Mコードがすべてのマシンで同じことを意味すると仮定します
- G84 でタップしても、M29 リジッド モードは忘れてしまいます
- 円弧方向が間違っています (G02 対 G03) または I/J/K 符号
手動加工から CNC に移行する場合、ハンド コントロールと同じ本能を構築することが役立ちます。オペレーターがダイヤルを読む方法は同じ警戒です デジタル読み出し (DRO) 報酬, そして、それはあなたがサイクルを開始押す前に、読み取りコードにまっすぐに運びます. job matterに右のツーリングをマッチングちょうど同じくらい; への私たちのガイド 旋盤 切削工具 その辺を覆う.
変化しているもの: 会話型プログラミング、CAM、AI

完全なプログラムを手書きすることは、もはやかつてのような日常的な仕事ではありません。2026 年現在、ほとんどの実稼働 G コードは CAM ソフトウェアとそのポストプロセッサによって生成され、その後マシンで編集されます。2 つのシフトを計画する価値があります。.
まず、, 会話型プログラミング 広がり続けます。 「ハース」や「シーメンス」のようなコントロールは、オペレーターが機能、ボア、スレッド、顔を説明し、コントロールがその下に G コードを書き込むことができます。これは、単純な部分の障壁を下げますが、コードを知ることに代わるものではありません。会話型プログラムが編集を必要とする瞬間、またはアラームを投げる瞬間、あなたは G コードに戻ります。第二に、シミュレーションは贅沢ではなくデフォルトのステップになっています。 「G コード シミュレーター」への検索への関心は、月に 1,000 件の検索近くにあり、検証前カットが標準的な慣行となっている兆候です。プログラマーが今でもレビューしている変更を提案しているにもかかわらず、フィードとフラグの衝突を調整する AI 支援ツールパス ツールが主流の CAM に登場しています。.
2026 年にショップやトレーニングオペレーターを設立する場合、実際的な動きは、まずGコードリテラシーを教え、その上で会話ツールやAIツールをアクセラレーターとして扱うことです。 このリストの基本は、まさにそれらのツールが生成するもの、そして何かを修正する必要があるときに読むものです。 プログラミングの成熟度がマシンを購入するのにどのように影響するかを確認するには、の概要を説明します 金属旋盤 範囲はコントロールオプションを歩きます.
よくある質問frequently Asked Questions
Q: GコードとMコードの違いは何ですか?
回答を見る
Q: 最も一般的なGコードは何ですか?
回答を見る
Q: CNCにおけるMコードの意味は何ですか?
回答を見る
Q: GコードとMコードはすべてのCNCマシンで同じですか?
回答を見る
Q: CNC旋盤はどのようなGコードとMコードを使用していますか?
回答を見る
Q: GとMのコードリストPDFまたはチートシートはどこで入手できますか?
回答を見る
新しいターニングセンターをプログラミングしますか?
ANTISHICNCは、40+の国々で会話オプションと3 年間のサポートを備えた、標準的なFanucスタイルのGコードを実行するCNC旋盤を構築します。 あなたの部品を教えてください。適切な機械と制御を指定します。.
このリストをまとめる理由
私たちは生活のためにCNC旋盤を構築し、新しい所有者が配達後に最初に尋ねるのは「コードリストはどこですか?」のいくつかのバージョンです。オンライン参照のほとんどはフライス加工のみを対象としているか、1つのコントロール ブランドで停止しているため、G96/G97 および G70 ~ G76 の旋盤サイクルを含むミルおよび旋盤コードを記載したものを書きました。当社の機械は毎日 1 か所で稼働し、コントロールの違いが詳しく述べられています。.
参考文献と情報源
- NIST RS274/NGC インタプリタ、バージョン 3米国立 標準技術 研究所 (NIST)
- NIST RS274NGC 通訳、完全なレポート (PDF)NIST 内部 レポート
- ISO 6983-1:2009、自動化システムと統合、NC プログラム形式国際標準化機構
- LinuxCNC G コード クイック リファレンスLinuxCNC.org
- Gコードウィキペディア(RS-274 の概要と歴史)
関連記事
- 旋盤とミル加工の基礎を理解するこれらのコードが実際に実行されるマシンはどのように機能するか
- 初心者向けの必須旋盤切断ツール適切なツールとターニングプログラムを組み合わせます
- CNC縦旋盤について説明しました大径部品の旋削加工
- 旋盤で作成できるプロジェクトプログラムを機能させる
ANTISHICNCエンジニアリングチーム、CNC旋盤とマシニングセンターを構築する25 +年によってレビューされました。 当社の機械の1 つをプログラミングすることについて質問がありますか? エンジニアリングチームと話し合ってください.













