Gコードをマスターする:CNC工作機械の言語

プログラミングは、自動化と新技術がプログラミングタスクを置き換えつつあるように見えても、あらゆるタイプのCNC加工における基本スキルです。すべての機械技師は、自分のプログラムと工具がどう動作するかを理解する必要があります。CNCプログラミングとその最も一般的な言語であるGコードに初めて触れる方も、長年手書きでコードを書いてきた方も、CNCコードは外国語のように感じられることがあります。さらに厄介なのは、すべてのマシンが理解しなければならない異なる「方言」を話すことです。彼らが何を言っているか理解できていますか?高品質な製品を生み出すプログラムを効率的に理解し、書くために必要なGコードプログラミングの基礎を紹介します。
Gコードとは?
Gコードは、機械にどこへ、どう動くかを指示するCNC用プログラミング言語です。ほとんどのマシンはGコードの異なる「方言」を話すため、コードはタイプ、メーカー、モデルによって異なります。各マシンには、そのマシン特有の特定機能のコードを示す取扱説明書が付属しています。
Gコードは「幾何学コード(geometric code)」を意味し、以下の英数字パターンの変種に従います:
N## G## X## Y## Z## F## S## T## M##
N: 行番号
G: 動作
X: 水平位置
Y: 垂直位置
Z: 深さ
F: 送り速度
S: スピンドル回転数
T: 工具選択
M: 諸機能
IとJ: 円弧の中心(増分)
R: 円弧の半径
英数字コードがGコードプログラミングで使用されるのは、以下をシンプルに実現するためです:
- 動作と機能の定義(G##)
- 位置の宣言(X## Y## Z##)
- 値の設定(F## および/または S##)
- アイテムの選択(T##)
- 何かのオン/オフ切り替え(M##)、クーラント、スピンドル、インデキシング動作、軸ロックなど
例えば、
G01 X1 Y1 F20 T01 M03 S500
は一般的に、与えられたXY位置への直線送り移動(G01)を送り速度20で示します。工具1を使用し、スピンドル回転数は500です。諸機能はマシンによって異なるため、Mコードの意味を知るにはマシンの取扱説明書を参照する必要があります。
機械の動作
機械ができることはすべて、3つの基本的な動作タイプに基づいています:
- 早送り移動:XYZ位置へ可能な限り速く直線移動
- 送り移動:定義された送り速度でXYZ位置へ直線移動
- 円弧移動:定義された送り速度で円運動
すべてのGコードは、機械にこれらの基本動作のどのバリエーションを、どう実行するかを指示します。
XとYは水平および垂直位置のデカルト座標、Zは機械の深さを表します。これらの英数字は動作/機能コマンド(G)に続き、機械の位置を宣言します。
次に、Fは送り速度(送り移動または円弧移動用)、Sはスピンドル回転数を決定します。Tは工具選択に使用されます。プログラミングで使用される他の英数字には、円弧の中心と半径に関わるI、J、Rがあります。
諸機能コード(Mコード)
プログラムの行にはMコードも含まれる場合があります。これらは一般的に、機械にアクションの実行方法を指示するコードです。マシン間で同一である保証はありませんが、一般的な標準Mコードには以下があります:
- M00: プログラム停止
- M01: オプショナルプログラム停止
- M02: プログラム終了
- M03: スピンドル正回転オン
- M04: スピンドル逆回転オン
- M05: スピンドル停止
- M06: 工具交換
- M08: 切削液オン
- M09: 切削液オフ
- M30: プログラム終了/先頭に戻る
- M41: スピンドル低ギアレンジ
- M42: スピンドル高ギアレンジ
モダリティ(モード保持)
電灯が消されるまで点き続けるのと同様に、Gコード機能(モダリティをサポートするコントローラーでは)は、別のコードで無効化されるまでアクティブなままです。つまり、一度に一つの機能のみがアクティブになれます。機能を無効化するには、新しい機能を選択するだけです。

例えば、コードがX1 Y1での直線早送り移動で始まる場合(G00 X1 Y1)。次の機能も直線早送り移動なら、再びG00を書く必要はありません。次の行に新しい位置(例えばX2 Y2)だけ書けばよいのです。モーダル条件が同じだからです。その後、直線送り(G01)に変更するには、次の行でG01をプログラミングすれば、直線早送りが無効化され、直線送りが有効化されます。
一度条件が設定されると、それがオフになるか、別の条件が上書きするまでアクティブなままです。
固定サイクル(缶詰サイクル)
固定サイクルは、一般的なタスクを完了するために必要なすべての動作を1つのコードに組み込んだ、一種のモーダル条件です。

例えば、G81は基本的な穴あけ機能のコードであることが多いです。基本穴あけの場合、工具は1)穴位置の出発点へ移動、2)クリアランスプレーンへ早送り、3)深さまで送り、4)早送りで戻る、の4ステップが必要です。新しい穴位置ごとにプログラムで4行のコードを繰り返す必要がありました!固定サイクルG81を使えば、活性化後に穴位置だけを指定すれば済みます。G81のような固定サイクルは、複数の動作を1つのコードに組み込むことでコード量を大幅に削減します。

Gコードには、ペックドリル、カウンターボア、タッピングなどの他の一般的な固定サイクルも存在します。
モーダルコードグループ
モーダルコードグループでは、1行に複数のコードを記述できますが、各グループから1つのコードのみ記述できます。グループ内のコードは互いに上書きし合うためです。
Gコードのモーダルグループは:
- グループ1(動作): G00, G01, G02, G03, G80, G81, G82, G84, G85, G86, G87, G88, G89
- グループ2(平面選択 - XY, YZ, ZX): G17, G18, G19
- グループ3(絶対/増分モード): G90, G91
- グループ5(送り速度モード): G93, G94
- グループ6(単位 - インチ/ミリメートル): G20, G21
- グループ7(カッター半径補正 - CRC): G40, G41, G42
- グループ8(工具長補正 - TLO): G43, G49
- グループ10(固定サイクルでの復帰モード): G98, G99
- グループ12(ワーク座標系選択 - WCSS): G54, G55, G56, G57, G58, G59

ポストプロセッサー
ポストプロセッサーは、コンピューター画面上のツールパス計算イメージを、機械制御用の言語に翻訳するトランスレーターです。あなたのマシンに近いサンプルプログラムを探し、それを正確にあなたのマシンに合わせて修正することで、ポストプロセッサーを作成できます。
Gコードプログラミングのヒント
- 一部のマシンとコントローラーはスペースを無視します。G01 X1 Y1 Z1とG01 X1Y1Z1は同じ意味になる場合があります。
- Z軸は上方向が正です。Z1で工具が上がり、Z-1で工具が下がります。
- 先頭ゼロが必要か(G01 vs G1)は、マシンのGコード方言で決まります。
- 小数点が常に必要か(例: G01 X1. Y1. Z0.5)も方言で決まります。
- マシンマニュアル付属のサンプルプログラムを、大きなプログラムを試す前に実行するのは良い考えです。多くの場合、サンプルプログラムは動作せず、問題をメモして独自のベンチマークを設定する必要があります。
Gコードを始める
Gコードでマシンをプログラミングする準備はできましたか?まずマシン固有のコーディングチャートを見てください。すべてのマシンは少しずつ異なります。Haasのある機能のコードが、Anilamの同じ機能のコードと同じとは限りません。あなたの特定のマシンが、やらせたいタスクにどのコードを使うか知る必要があります。
プログラムは初期化コード(%)、プログラム番号から始まることが多いです。次に安全コードの行、工具交換の行が続きます。適切な工具をマシンにセットし、速度を設定します。プログラムの大部分は機械の動きと位置決めです。
行番号を使用する場合、少なくとも5刻みで各行に番号を付けるのが良い習慣です。後でコード行を追加する必要があっても、順序通りにラベル付けされます。
Gコードプログラミングが完了したら、通常、マシンを停止・リセットして次回に備える一連の機能でプログラムを終了します。
正しく使用すれば、GコードはCNC機械技師にとって貴重なツールであり、マシンの能力を最大限に引き出せます。Fusion 360のような統合CAD/CAMソリューションは、CNCコーディングプロセスをさらに効率化し、Gコードで手動でパーツをプログラミングする必要がなくなります。Gコードプログラミングで、高品質な部品製作がこれまで以上に速くなります。

産業技術
- 生乳自動販売機(ミルクATM)の仕組み・メリット・衛生管理の全知識
- 横形ボーリングマシン徹底解説:設計、操作、用途
- 自動プレス機の理解:機能、メリット、用途
- 麺類自動販売機を発見:仕組みと購入可能商品
- 精密フライス盤の理解:定義と主要特徴
- ダイカストマシンの仕組みとメリット:ホットチェンバ・コールドチェンバの違いを徹底解説
- 電気融着溶接機の用途とメリット
- マシンターニングを理解する:重要な精密機械加工プロセス
- CNCプログラミング入門:GコードとMコードの違いとCAMシステムへの進化
- 工作機械クーラント劣化時の安全な除去・廃棄ガイド
- CNCとは? コンピュータ数値制御の基礎から応用まで完全解説