PR

CNCプログラムMコードとGコードの違い

NCプログラム

1. CNCプログラムの基本構造

CNC(Computer Numerical Control)プログラムは、工作機械を自動制御するためのコードを用いたプログラムです。
このプログラムには 「加工の動作を制御するGコード」 と 「機械の補助操作を制御するMコード」 が含まれています。

CNCプログラムは 「Gコードで動きを制御し、Mコードで機械を管理する」 という構造になっています。

2. Gコード(準備機能)とは

Gコードは工作機械の動作を定義するコード で、工具の移動や加工経路を指示します。

Gコードの分類

Gコードには、以下のような機能別のカテゴリがあります。

カテゴリ説明
移動・補間制御工具をどのように移動させるかG00(早送り)、G01(直線補間)、G02(円弧補間)
平面選択加工の基準平面を設定G17(XY平面)、G18(ZX平面)、G19(YZ平面)
座標設定座標系を設定G54~G59(ワーク座標系設定)
加工モード加工方法を変更G90(絶対位置指定)、G91(相対位置指定)
工具補正工具の補正値を適用G40(工具径補正解除)、G41/G42(工具径補正 左/右)
その他切削時の動作を制御G98/G99(リトラクト動作)、G73/G83(ドリルサイクル)

Gコードの主な例

① 直線移動

plaintextコピーする編集するG01 X50.0 Y25.0 F100

→ 工具をX=50, Y=25まで送り、送り速度100mm/minで直線移動

② 円弧補間

plaintextコピーする編集するG02 X40.0 Y30.0 I10.0 J0.0

→ 現在の位置からX=40, Y=30へ、I=10, J=0の半径で時計回りの円弧移動

③ 座標系設定

plaintextコピーする編集するG54

→ ワーク座標系1(G54)を使用

3. Mコード(補助機能)とは

Mコードは工作機械の補助操作を定義するコード で、主軸の回転やクーラントの制御、プログラムの開始・停止などを指示します。

Mコードの主な種類

カテゴリ説明
主軸制御主軸の回転や停止を制御M03(主軸正転)、M04(主軸逆転)、M05(主軸停止)
工具交換工具の交換を制御M06(工具交換)
クーラント制御冷却水のON/OFFM08(クーラントON)、M09(クーラントOFF)
プログラム制御プログラムの終了やサブプログラム呼び出しM30(プログラム終了)、M98(サブプログラム呼び出し)
その他ワーク固定や安全対策M00(一時停止)、M01(オプションストップ)

Mコードの主な例

① 主軸を正転で回す

plaintextコピーする編集するM03 S1500

→ 主軸を正転(時計回り)で1500rpmに設定

② 工具交換

plaintextコピーする編集するM06 T2

→ 工具を2番に交換

③ クーラントON

plaintextコピーする編集するM08

→ クーラント(冷却水)をONにする

④ プログラム終了

plaintextコピーする編集するM30

→ プログラムを終了し、最初に戻る

4. GコードとMコードの違いまとめ

項目Gコード(準備機能)Mコード(補助機能)
役割工具の動作・軌道を制御機械の動作や補助機能を制御
具体的な機能位置決め、直線移動、円弧移動、座標設定主軸制御、工具交換、クーラント制御、プログラム制御
G00(早送り)、G01(直線移動)、G02(円弧補間)M03(主軸正転)、M06(工具交換)、M08(クーラントON)
制御対象機械の「動き」機械の「補助動作」
使用頻度加工動作のため頻繁に使用加工の前後に使用されることが多い

5. 実際のCNCプログラム例

plaintextコピーする編集するO1000 (プログラム番号)
G21 (ミリメートル単位)
G90 (絶対座標指令)
G54 (ワーク座標系1)
M06 T1 (工具1に交換)
M03 S1200 (主軸正転 1200rpm)
G00 X0 Y0 (早送りで原点移動)
G01 X50 Y50 F200 (送り速度200mm/minで移動)
M08 (クーラントON)
G02 X70 Y70 I10 J0 (時計回りの円弧移動)
G00 Z100 (Z軸を上げる)
M09 (クーラントOFF)
M30 (プログラム終了)

このプログラムの流れ

  1. 単位をミリに設定(G21)
  2. 絶対座標モードを設定(G90)
  3. ワーク座標系1(G54)を適用
  4. 工具を1番に交換(M06)
  5. 主軸を1200rpmで正転(M03 S1200)
  6. 工具をX0, Y0に移動(G00)
  7. 送り速度200mm/minでX50, Y50へ直線移動(G01)
  8. クーラントをONにする(M08)
  9. 円弧移動でX70, Y70へ移動(G02)
  10. 工具を上げる(G00 Z100)
  11. クーラントOFF(M09)
  12. プログラム終了(M30)

6. まとめ

  • Gコード(準備機能) → 「工具の移動・加工経路を指示する
  • Mコード(補助機能) → 「主軸回転やクーラントなどの機械操作を制御する

CNCプログラムでは、Gコードで「どこにどう動くか」を決め、Mコードで「機械をどう制御するか」を決めるという違いがあります。

タイトルとURLをコピーしました