ガイド
M-codeはCNC加工用の機械制御言語である。 G-codeと組み合わせて、さまざまな機械機能のオフとオンを切り替えるために使用されます。 G-code と同様に、さまざまなコントローラ プラットフォーム間で機能のいくつかの共通性がありますが、特定の M-code 機能の最終的な定義は、制御の製造業者によって詳述されています。 この記事では、一般的なM-codeと、それがどのようにCNC加工に適用されるかについて説明します。
コマンド
M-codeのMは、雑多なコマンドが続くことをマシンに知らせます。 例えば、M03はスピンドルを始動させ、一般にその前に速度を設定するSコードが付く。 以下に、ファナックのコントローラのMコードの一部を例として示します。
M00 プログラム停止
M01 プログラム停止–任意
M02 プログラム終了
M03 スピンドル起動–正転、時計回り回転
M04 スピンドル起動–逆転、反時計回り
M04 スピンドル起動–負方向回転
M03 スピンドル停止–正転、反時計回り
M04 スピンドル起動–負方向回転 または反時計回り
M05 主軸停止
M06 工具交換
M99までコードが続き、サブプログラムが終了する。 すべての番号が割り当てられているわけではなく、M06のようにマシニングセンタのみで使用され、旋盤では使用されないMコードもありますし、その逆も同様です。 他のベンダーはより多くのコードを提供しています。 対象となる特定の機械のコードを知っておくことが重要です。 また、多くのメーカーは、ユーザーによる定義のために、いくつかのMコードを未割り当てのままにしています。 以下の表1は、旋盤加工用のMコードの詳細なリストである。 表2には、フライス加工のためのMコードの同様のリストがあります。 これらの表は両方ともファナックのコードに基づいています。
Table 1 – M-Codes Commands Summary for Lathe Operations
Mコード* |
説明* |
M00 |
プログラム停止 |
M01 |
オプションプログラム停止 |
M02 |
|
M03 |
|
M04 |
|
M05 |
スピンドル停止 |
M08 |
クーラントOFF |
M29 |
リジット タップモード |
M30 |
End of Program Reset |
スピンドルギア中間 |
M41 |
ローギア選択 |
M42 |
ハイギアセレクト |
M68 |
Hydraulic chuck close |
M69 |
油圧チャックオープン |
M78 |
|
M79 |
尾翼反転 |
M94 |
Mirrorimage cancel |
M95 |
Mirrorimage X軸の |
M98 |
サブプログラムコール |
M99 |
サブプログラム終了 |
テーブルデータソースです。 http://www.helmancnc.com/fanuc-m-code-list/
Table 2 – M-Codes Command Summary for Milling Operation
M コード* |
説明* |
||
M00 |
プログラム停止 |
||
M01 |
オプションのプログラム停止 |
||
M02 |
プログラム終了 |
||
M03 |
|||
M04 |
スピンドル・スタート・リバースCCW |
||
M05 |
|||
M06 |
ツールチェンジ |
||
M07 |
Coolant ON – Mist Coolant/Coolant Through spindle |
||
M08 |
|||
M09 |
Coolant ON – Mist Coolant/Coolant Thru Smooth |
Coolant ON – Flood Coolant |
Coolant Thru Smooth2214 OFF |
M19 |
スピンドル方向 |
原点復帰 |
|
M29 |
リジッド タップ |
||
M30 |
プログラム終了(リセット) |
||
M41 |
Low gear select |
||
M42 |
High gear select |
||
M94 |
Cancel mirrorimage |
X軸のミラーイメージ |
|
M96 |
ミラーイメージ Y軸の |
||
M98 |
サブプログラムコール |
||
M99 |
サブプログラム終了 |
表データソースです。 http://www.helmancnc.com/fanuc-m-code-list/
サブプログラムとマクロ
サブプログラムは、M98コマンドで呼び出されます。 これらは、繰り返しカット間のZ軸の割り出しなど、さまざまな操作に使用されます。 サブプログラムは “P “で指定され、”L “で実行回数を指定する。 すべてのサブプログラムはM99で終了し、コントローラはメインプログラム、またはそれらがネストされている場合は前のサブルーチンに戻ります。
機械メーカーが提供するプリプログラムされた関数もサブプログラムとみなされるが、Gコードで呼び出される。
マクロはCNC機械に二つの重要なことを行わせる。 変更可能な変数を作成することにより、プログラムを変更することなく、フィーチャーサイズ(溝の幅など)を調整することができる。 また、図面に表されているような部品サイズの系列を同じプログラムで加工することができる。 変数にはアドレスが割り当てられており、通常、プログラムラインで次のように呼び出される。 G00 X#123 とすると、機械は変数アドレス123に格納されている場所に高速で移動するようになります。
Applications
他の文字表記(または「単語」)は、送り速度(F)、スピンドル速度(S)、工具アドレス(T)などを指定するために使用されています。 完全なCNCプログラムには、GコードやMコードだけでなく、これらの文字が散見されます。 いくつかのMコードは、オペレータの入力のためにコントロールパネルを参照するために使用されます。 M01は、オプションのプログラム停止で、コントロールパネルのオプトストップボタンがオンになっていれば、プログラムを一時的に停止して、オペレータからの入力を待ちます。 それ以外の場合は、M01コマンドは無視されます。 この機能は、オペレータがチップを取り除くために使用することができます。 もう一つのパネル・ボタン「ブロック・スキップ」は、スラッシュが先行するコード・ブロックをプログラムでスキップさせるものです。 これは、プログラム停止コマンドをスキップするために使用できるので、自動送り操作に便利です。
まとめ
この記事では、M-code と CNC 機械加工プログラミングへの応用について簡単に説明しました。 関連製品の詳細については、他のガイドを参照するか、Thomas Supplier Discovery Platform にアクセスして、潜在的な供給元を探したり、特定の製品の詳細を確認したりすることができます。
Other CNC Programming Articles
- GコードとCNCプログラミングの紹介
- List of Common G-Code Commands and What they Mean
- Examples of G-Code for Common CNC Functions
- Gコード チートシート of Common Commands
- サブプログラム、マクロおよびCNC加工のパラメータプログラム