CNC加工は、現代の製造業において最も重要なコアプロセスの一つとして機能し、航空宇宙、自動車、医療、ロボット工学、および一般消費財産業向けの複雑で洗練された高精度部品の生産を可能にしています。CNC加工の卓越した効率性、精度、および一貫性の背後には、GコードとMコードがあります。これらは、すべてのCNC機械の動きと機能を指示および制御する基本的なプログラミング言語です。
多くの新しい機械工や製造バイヤーは、GコードとMコードのユニークで補完的な役割を理解しておらず、しばしば混同しています。簡単に言うと、Gコードは切削ジオメトリと工具の動きを制御し、Mコードはスピンドル制御やクーラントシステムなどの機械ハードウェアと補助機能を管理します。この重要な区別は、CNC機械のパフォーマンスを最適化し、プログラミングエラーを排除し、高品質のカスタム部品を製造するために不可欠です。
この包括的な2026年ガイドでは、
SMSから、CNCプログラミングのGコードとMコードに関するすべてを、定義、動作原理、完全なプログラム例、完全なコードチャート、および主な違いを含めて解説します。これにより、フライス加工と旋盤加工のCNCプログラミングの基本を習得できます。
CNC加工とは?定義と主な利点
GコードとMコードプログラミングに入る前に、CNC加工の基本を理解する必要があります。コンピュータ数値制御加工の略で、コンピュータ制御システムと精密工作機械を使用して、金属、プラスチック、合金、さまざまな原材料から精密で複雑な部品を製造する自動製造技術です。
CNC加工は、従来の手作業による加工方法に取って代わり、現代の製造業に革命をもたらしました。比類のない精度、速度、柔軟性を提供し、カスタムプロトタイピングと大規模な大量生産の両方をサポートします。その4つの主な利点により、グローバルな産業分野で不可欠なものとなっています。
: CNC加工は、手作業では再現できない超高精度公差と複雑な部品の詳細を実現し、厳格な産業用精度基準を満たします。
: 自動操作と最適化されたツールパスにより、材料除去プロセスが合理化され、手作業が削減され、生産リードタイムが短縮されます。
: 単純な構造部品から複雑な幾何学的部品まで、幅広い材料と加工用途に対応します。
: CNCマシンは、プログラムされた同一の指示を繰り返し実行し、ゼロ偏差でバッチ生産された部品の寸法品質の一貫性を保証します。
CNCプログラミングはCNCマシンをどのように制御しますか?
CNCプログラミングは、デジタル設計と物理的な加工の間の橋渡し役となります。CNCプログラミング制御の進化により、従来の加工の限界が完全に排除され、G&Mコードの利用が最適化されました。
コンピュータ化されたCNCシステムが主流になる前は、機械工は手動でパンチされたカードや紙テープに頼って機械の動きを制御していました。オペレーターは、基本的な機械コードを作成するために、固定されたシーケンスで穴をパンチしました。初期の製造では機能的でしたが、この方法は非常に退屈で非効率的でした。さらに、パンチカードは、忙しい機械工場で簡単に損傷、変形、または紛失し、頻繁に生産エラーや処理遅延を引き起こしました。
コンピュータ制御のCNC機器の導入後、手動でのコード入力が標準となりました。しかし、洗練されたカスタム部品のプログラミングには数百もの手動コード入力が必要であり、その結果、作業負荷が大きく、効率が低く、人的ミスが頻繁に発生していました。
高度なCADおよびCAMソフトウェアの登場は、現代のCNCプログラミングに革命をもたらしました。今日のワークフローは非常にインテリジェントで使いやすいものになっています。プログラマーは、部品モデルと加工治具を専門ソフトウェアにインポートし、切削工具を選択し、主軸パラメータとツールパスを設定するだけで済みます。システムは、すべての主要なCNCマシンと互換性のある正確なGコードとMコードを自動的に生成します。
このソフトウェア駆動型のコード生成プロセスは、CNCプログラミングを大幅に簡素化し、加工精度を向上させ、超複雑な幾何学的部品の製造をサポートし、SMSを含むプロの製造業者によって採用されている標準ワークフローとなっています。
CNCプログラミングにおけるGコードとは?
RS-274D業界標準に準拠したGコード(ジオメトリコード)は、最も広く使用されているコアCNCプログラミングコマンドです。すべてのGコードコマンドは、「G」という文字で始まる英数字形式を採用しており、これはジオメトリを表します。CNC加工の基盤として、Gコードは工作機械の動きと幾何学的切削パスを完全に制御し、CNCマシンに部品加工中にどこから切削を開始するか、どのように移動するか、いつ停止するかを指示します。
機械工にとっての主な課題は、Gコードのフォーマットが機械固有であることです。異なるCNC機器ブランドでは、コマンド間のスペースの有無や先行ゼロ(例:G3 vs G03)など、微妙なフォーマットの違いがあります。不一致のGコードを使用すると、プログラムエラーや不良部品が発生します。したがって、オペレーターはプログラミングを行う前に、使用する機械のコーディングルールを十分に理解している必要があります。
標準のGコードに加えて、CNCプログラミングでは、多次元加工パラメータを定義するために専用のレターアドレスを使用し、精密で複雑な加工タスクを可能にします。
:X軸周りの工具回転オフセットを制御します
:加工中に生成される円弧の半径を定義します
:切削工具の3D座標を示します。X/Yは水平および垂直位置決め用、Zは切削深さ用です
:機械円弧の増分中心座標を表します
プログラム行番号を示し、コードのソートやエラーのトラブルシューティングに使用されます。
実践的なCNCプログラム例(GコードとMコード統合)
以下は、メインストリームのGコードとMコードを統合した、業界標準の完全なCNC加工プログラムです。安全初期化、フライス加工、穴あけ、工具交換、プログラムリセットを網羅しています。この実用的なコードは、ほとんどのFANUC、Haas、Siemens CNCマシンと互換性があります。
CNC加工プログラムブロック参照ガイド |
ブロック | 説明 | 目的 |
% | プログラム開始 | プログラム開始 |
O00001 (プロジェクト1) | プログラム番号 (プログラム名) | プログラム開始 |
(T1 0.25 エンドミル) | オペレーター向けツール説明 | プログラム開始 |
N1 G17 G20 G40 G49 G80 G90 | 機械が安全モードであることを確認するための安全ブロック | プログラム開始 |
N2 T1 M6 | ツール #1 をロード | ツール交換 |
N3 S9200 M3 | 主軸速度 9200 RPM、正転 | 工具交換 |
N4 G54 | 治具オフセット#1を使用 | 位置へ移動 |
N5 M8 | クーラントオン | 位置へ移動 |
N6 G00 X-0.025 Y-0.275 | 部品の上方への早送り | 位置へ移動 |
N7 G43 Z1.0 H1 | 安全平面へのラピッド移動、工具長オフセット#1を使用 | 位置への移動 |
N8 Z0.1 | 送り平面へのラピッド移動 | 位置への移動 |
N9 G01 Z-0.1 F18 | 18 IPMで切削深さへの直線移動 | 位置への移動 |
N10 G41 Y0.1 D1 F36 | カッター径補正、左リードインライン、径オフセット#1、36 IPM | 輪郭加工 |
N11 Y2.025 | 直線移動 | 輪郭加工 |
N12 X2.025 | 直線移動 | 輪郭加工 |
N13 Y-0.025 | 直線移動 | 機械輪郭 |
N14 X-0.025 | 直線移動 | 機械輪郭 |
N15 G40 X-0.4 | リードアウト移動でカッター径補正をオフにする | 機械輪郭 |
N16 G00 Z1 | 安全平面へのラピッド移動 | 機械輪郭 |
N17 M5 | 主軸停止 | 工具交換 |
N18 M9 | クーラント停止 | 工具交換 |
(T2 0.25 ドリル) | オペレーター向け工具説明 | 工具交換 |
N19 T2 M6 | ツール#2をロード | ツール交換 |
N20 S3820 M3 | 主軸速度 3820 RPM、正転 | ツール交換 |
N21 M8 | クーラント オン | 位置への移動 |
N22 X1 Y1 | 穴上方の早送り | 位置への移動 |
N23 G43 Z1 H2 | ラピッドからセーフプレーンへ、ツール長オフセット2を使用 | 位置へ移動 |
N24 Z0.25 | 送り平面へのラピッド移動 | 位置へ移動 |
N25 G98 G81 Z-0.325 R0.1 F12 | ドリル穴(固定サイクル)。深さ Z-.325、F12 | 穴あけ |
N26 G80 | ドリルサイクルをキャンセル | ドリル穴 |
N27 Z1 | 安全平面へのラピッド移動 | ドリル穴 |
N28 M5 | スピンドルオフ | プログラム終了 |
N29 M9 | クーラントオフ | プログラム終了 |
N30 G91 G28 Z0 | Z軸の機械ホームポジションへの復帰 | プログラム終了 |
N31 G91 G28 X0 Y0 | XY軸の機械ホームポジションへの復帰 | プログラム終了 |
N32 G90 | 絶対座標指定モードへのリセット(安全のため) | プログラム終了 |
N33 M30 | プログラムを最初に戻す | プログラム終了 |
% | プログラム終了 | プログラム終了 |
一般的に使用される基本的なGコード機能
標準Gコードは、複雑な加工操作を標準化され、繰り返し可能なタスクに変換し、安定した機械性能と一貫した部品品質を保証します。以下は、日常のCNCフライス盤および旋盤加工で最も頻繁に適用されるGコードです。
:切削工具を材料を切削せずに、機械の最高速度でプリセット座標に移動させます。切削を伴わないすべての位置決め移動を高速化することで、加工効率を最適化します。
:最も一般的に使用される CNC 切削コマンドです。設定された送り速度で工具を正確な直線で移動させ、直線切削や平面加工タスクに最適です。
:工具を時計回りの円弧経路に沿って誘導し、円弧や円形部品の形状を加工し、正確な曲線加工結果を保証します。
反時計回りの円弧移動を実行し、G02機能をミラーリングして、逆カーブおよび円形加工タスクを完了します。
指定された時間だけ機械の動きを一時停止します。この機能により、切削工具の冷却や、スピンドルが安定した目標速度に達することが可能になり、表面加工品質が向上します。
Gコード機能リストテーブル(完全版)
この詳細なGコードチャートは、フライス加工および旋盤加工の主要なコマンドを網羅しており、分類、コア機能、モーダル属性、および適用シナリオが含まれています。
コード | カテゴリ | 機能 | モーダル | 旋削またはフライス加工用 |
G17 | 平面選択 | XY平面選択 | はい | 両方 |
G96 | 速度と送り | 定速表面速度 | はい | 旋削 |
G91 | 位置決めとモード | 増分モード | はい | 両方 |
G03 | 円弧補間 (反時計回り) | 円弧および円を作成します (反時計回り) | はい | 両方 |
G04 | ドウェル機能 | 指定された時間だけ一時停止します | いいえ | 両方 |
G18 | 平面選択 | XZ平面選択 | はい | 旋削 |
G19 | 平面選択 | YZ平面選択 | はい | 旋削 |
G20 | 単位系 | インチシステムモード | はい | 両方 |
G21 | 単位系 | メートル法モード | はい | 両方 |
G40 | 工具径補正 | 工具径補正キャンセル | はい | フライス加工 |
CNCプログラミングにおけるMコードとは?
Mコード(補助コード)は、文字「M」で始まる不可欠なCNCプログラミングコマンドです。幾何学的な切削動作を制御するGコードとは異なり、Mコードは非幾何学的な機械操作全体を管理し、加工プロセス全体で必要な補助ハードウェア機能を制御します。
Mコードは、プログラムの一時停止、プログラム終了、主軸の動作、クーラントシステムの切り替え、自動工具交換など、コアとなる機械の動作を制御します。すべてのCNC機器に共通する重要なプログラミングルール:プログラムブロックごとに許可されるMコードは1つだけです。単一行に複数のMコードが重複すると、機能の競合、プログラムのクラッシュ、および深刻な加工エラーが発生します。
Gコードと同様に、Mコードのフォーマットは、M3とM03のように、機械のブランドによって異なります。プロの機械工は、シームレスでエラーのない加工ワークフローを確保するために、機器固有のコーディング標準に精通している必要があります。
一般的に使用される基本的なMコード機能
一部のMコードは機械固有ですが、以下の基本的なコマンドは、ほぼすべてのCNCフライス盤および旋盤で普遍的に互換性があります。
:実行中のCNCプログラムを一時停止し、加工を再開するにはオペレーターの手動介入が必要です。
:加工プログラムを完全に終了し、機械制御操作を停止します。再起動するには手動リセットが必要です。
:時計回りの主軸回転をアクティブにします。常にSシリーズ主軸速度コマンドと組み合わせて使用されます。
:逆転削り作業のために反時計回りの主軸回転を開始します。
:スピンドル回転を完全に停止させます。安全な工具交換やプログラム終了に不可欠です。
Mコード機能リスト表
この完全なMコードチャートは、すべての主要な補助コマンドを網羅しており、明確な分類、機能説明、モーダル属性、および適用可能な加工タイプが含まれています。
コード | カテゴリ | 機能 | モーダル | 旋削またはフライス加工用 |
M08 | クーラント制御 | クーラントフラッドまたはオン | いいえ | 両方 |
M42 | 補助機能 | ハイギア選択 | いいえ | 旋削 |
M19 | 主軸制御 | 主軸オリエンテーションの変更 | いいえ | フライス加工 |
M00 | プログラム制御 | プログラム停止 | いいえ | 両方 |
M02 | プログラム制御 | プログラム終了 | いいえ | 両方 |
M03 | 主軸制御 | 主軸オン、時計回り | いいえ | 両方 |
M04 | 主軸制御 | 主軸正転、逆転 | いいえ | 両方 |
M05 | 主軸制御 | 主軸停止 | いいえ | 両方 |
M06 | 工具交換 | 自動工具交換 | いいえ | 両方 |
M09 | クーラント制御 | クーラントオフ | いいえ | 両方 |
GコードとMコード:最終的な違いの概要表
読者が G コードと M コードの違いを素早く区別し、記憶できるように、コアの定義、機能、および動作原理を直感的な比較表にまとめました。
機能 | G コード (ジオメトリ コード) | M コード (補助コード) |
コア機能 | CNC 機械の幾何学的移動とコア切削機能を指示します | CNC 機械の非移動補助操作を制御します |
主要な操作 | 高速位置決め、直線補間、円弧補間、3次元座標移動 | プログラム停止/終了、工具交換、主軸ON/OFF、クーラントON/OFF |
機能属性 | 部品設計・成形のための幾何コード | 機械補助操作のための補助コード |
制御対象 | 工具経路、切削形状、部品寸法精度 | 機械PLCシステムおよび電気機械補助機能 |
動作ロジック | CNC機械切削動作のアクティブ化と実行 | 機械PLCをアクティブ化して補助ハードウェアの状態を切り替える |
SMSプロフェッショナルCNC加工専門知識
正確なGコードとMコードプログラミングは、ゼロ欠陥、高精度CNC部品製造の基盤です。SMSでは、当社のプロフェッショナルCNCプログラミングチームは、標準および機械固有のG&Mコード規則を深く習得しており、工具経路とプログラミングロジックの最適化において豊富な実践経験を持っています。
グローバルクライアント向けに、CAD設計、CAMプログラミング、コード最適化、精密加工、完成部品の納品までを網羅したワンストップカスタムCNC加工ソリューションを提供しています。すべてのプログラムは厳格に検査され、プログラミングの競合や動作エラーを排除し、プロトタイプのカスタマイズと量産注文の両方で安定した品質を保証します。
当社の使いやすいサービスプラットフォームは、インスタントCNC見積もりとリアルタイムのプロジェクト追跡をサポートし、グローバルメーカーが高コスト効率で高精度のCNC部品を効率的に調達するのを支援します。
結論
標準的なGコードとMコードなしでは、CNCマシンは自動的に動作したり、資格のある精密部品を製造したりすることはできません。Gコードは部品構造を形成する幾何学的な切削経路を定義し、Mコードは機械補助システムの安定した動作を保証します。これら2つのコードセットの完璧な相乗効果により、現代のCNC加工の高い効率性、精度、および再現性が保証されます。
一般的なGコードとMコード、およびそれらの主な違いを習得することは、すべてのCNCプログラマーと機械工にとって基本的なスキルです。製造バイヤーにとっては、専門メーカーと協力することは、
SMS プログラミング能力に長けたメーカーと協力することで、不良率を効果的に削減し、生産サイクルを短縮し、全体的な製造効率を向上させることができます。