工作機械を制御する際、切削軸やテーブルの移動など「軸を動かす」指令はGコードが担いますが、それ以外に主軸の回転・停止、工具交換、冷却液(クーラント)のON/OFFなど、加工を実現するための補助動作を制御するのがMコードです。Mコードは見た目はシンプルですが、機械の安全性や加工精度、段取り時間に直結する非常に重要な命令群です。本記事では、Mコードの役割、使い方、代表的なコードと使用例、運用時のポイントをわかりやすく解説します。
目次
Mコードの基本構造と1行1命令の原則
Mコードは「M+数字(通常2桁)」という形式で記述されます。例えばM03、M08などが代表例です。理解しておきたい特徴は以下の通りです。
- 1行1命令の原則:多くのNC制御装置では、1行(1ブロック)に複数のMコードを記述することが制限されています。
- モーダルとワンショット:主軸起動(M03)など継続的に作用するものはモーダル、一方でM30のようにその行だけで完結する命令はワンショットです。
- 仕様依存性:同じMコード番号でも、機械・制御装置によって動作が異なる場合があります。
よく使われるMコードと使用例
M00:プログラムストップ
プログラム実行を強制的に停止し、作業者の指示を待ちます。
N100 M00M01:オプショナルストップ
オプショナルストップ機能がONの場合のみ停止します。
N150 M01M02:プログラム終了(頭出しなし)
プログラムを終了し、次回開始には手動で先頭へ戻る必要があります。
N200 M02M03:主軸正転(時計回り)
主軸を時計回りに回転させます。通常はSコードと組み合わせて使用します。
S1200 M03M04:主軸逆転(反時計回り)
主軸を反時計回りに回転させる命令です。
S800 M04M05:主軸停止
主軸の回転を停止します。
M05M06:工具交換(ATC)
自動工具交換装置(ATC)を利用して工具を交換します。
T02 M06M08:クーラント ON
冷却液(クーラント)を噴射開始します。
M08M09:クーラント OFF
クーラントを停止させます。
M09M30:プログラム終了(頭出しあり)
プログラムを終了し、次回開始時には自動で先頭行へ戻ります。
N300 M30Mコード運用・導入時のチェックポイント
- 同じ番号でも機械ごとに動作が異なるため、必ず機械マニュアルを確認しましょう。
- 主軸停止(M05)、クーラント停止(M09)を行ってから工具交換(M06)を実行するなど、動作順序を正しく理解することが重要です。
- プログラム中の停止命令(M00/M01)は衝突リスクを避けるため、位置や条件を明確にして使用します。
- コメントやN番号を適切に付けることで、プログラムの管理・修正・トラブル対応が容易になります。
- シミュレーションや試運転により、補助動作ミスによるトラブルを事前に防ぎます。
- 現場スタッフ同士でMコードの理解レベルを揃え、教育や運用ルールを整備することが安全運用の鍵です。
まとめ
MコードはNCプログラムにおける「補助動作」を担う命令群であり、主軸回転、工具交換、クーラント制御、プログラム停止や終了など、加工プロセスの周辺動作を制御します。Gコードが軸の移動や加工パスを担当するのに対し、Mコードはその前後の準備や付属機能を管理する役割を担います。Mコードの正しい理解は、加工品質の向上、段取り時間の短縮、加工トラブルの回避に直結します。機械固有の仕様と合わせて理解し、適切に運用することで、より安全で効率的な加工が実現できます。

