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/OFF | M08(クーラント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 (プログラム終了)
このプログラムの流れ
- 単位をミリに設定(G21)
- 絶対座標モードを設定(G90)
- ワーク座標系1(G54)を適用
- 工具を1番に交換(M06)
- 主軸を1200rpmで正転(M03 S1200)
- 工具をX0, Y0に移動(G00)
- 送り速度200mm/minでX50, Y50へ直線移動(G01)
- クーラントをONにする(M08)
- 円弧移動でX70, Y70へ移動(G02)
- 工具を上げる(G00 Z100)
- クーラントOFF(M09)
- プログラム終了(M30)
6. まとめ
- Gコード(準備機能) → 「工具の移動・加工経路を指示する」
- Mコード(補助機能) → 「主軸回転やクーラントなどの機械操作を制御する」
CNCプログラムでは、Gコードで「どこにどう動くか」を決め、Mコードで「機械をどう制御するか」を決めるという違いがあります。