Gコード

Gコードは加工を行うための準備機能になります。Gコードには、そのブロックのみで有効なワンショットなものと、その設定が変更、またはキャンセルされるまで有効なモーダルなものがあります。ここでは一般的に使用されるGコードを解説しています。

制御装置ごとのGコードを見たい方は制御装置別のGコード一覧を参照して下さい。


更新情報

Gコード一覧

コード 機能 継続範囲
G00 位置決め(早送り) モーダル
G01 直線補間 モーダル
G02 円弧補間CW(時計回り) モーダル
G03 円弧補間CCW(反時計回り) モーダル
G04 ドウェル ワンショット
G09 イグザクトストップ ワンショット
G10 データ設定 ワンショット
G17 XY平面指定 モーダル
G18 ZX平面指定 モーダル
G19 YZ平面指定 モーダル
G27 リファレンス点復帰チェック ワンショット
G28 リファレンス点復帰 ワンショット
G29 リファレンス点からの復帰 ワンショット
G30 第2リファレンス点復帰 ワンショット
G40 工具径補正キャンセル モーダル
G41 工具径補正 左 モーダル
G42 工具径補正 右 モーダル
G43 工具長補正 + モーダル
G44 工具長補正 − モーダル
G45 工具位置オフセット伸長 モーダル
G46 工具位置オフセット縮小 モーダル
G47 工具位置オフセット2倍伸長 モーダル
G48 工具位置オフセット2倍縮小 モーダル
G49 工具長補正キャンセル モーダル
G52 ローカル座標系設定 モーダル
G53 機械座標系選択 モーダル
G54〜59 ワーク座標系選択 モーダル
G65 マクロ呼び出し ワンショット
G66 マクロモーダル呼び出し モーダル
G67 マクロモーダル呼び出しキャンセル モーダル
G68 座標回転 モーダル
G69 座標回転キャンセル モーダル
G90 アブソリュート指令 モーダル
G91 インクレメンタル指令 モーダル
G92 座標系設定 モーダル

Gコード機能説明

ここでの説明は主にXY平面(G17)での説明になっていますので、違う平面を使用する場合には注意してください。座標系の見方については座標系のページで解説しています。

また、"X_Y_"などの"_"アンダーバーの部分には数値、又は変数が入ります。

G00

位置決めです。早送りで軸を動かしたい場合に使用します。"G00X_Y_Z_"の形で記述し、各座標の記述は省略可能です。早送りの速度は、設備や設備の設定により違います。

また、早送りでは各軸が設定された速度で独立して動くため、各軸の移動量が違う場合は終点に向かって一直線という軌道にはなりません。移動量の短い軸が先に移動を終了し、移動量が長い軸の残りの移動はその後に行われます。

G00の軌道

G01

直線補間です。設定した送り速度で軸を動かしたい場合に使用します。"G01X_Y_Z_F_"の形で記述され、各座標と送り速度の記述は省略可能です。同じブロックで送り速度を設定することができ、省略されている場合には既に設定されている送り速度で移動します。

G02

時計回りの円弧補間です。円弧補間には、円弧のRを指定する方法と、円弧の中心を指定する方法の2種類があります。

Rで指定する場合には"G02X_Y_Z_R_F_"の形で記述され、各座標と送り速度は省略可能ですが、Rは省略できません。円弧の移動角度が180°以上の場合はRの数値をマイナスで指定します(R-10.など)。

円弧中心で指定する場合には、"G02X_Y_Z_I_J_(K_)F_"の形で記述され、I,J,Kはインクレメンタル指令(現在の工具位置からの座標)での円弧中心座標になり、それぞれX軸、Y軸、Z軸に対応しています。各座標と送り速度は省略可能です。X,Y軸座標を両方省略(G02I-10.J-20.など)すると360°、つまり一周することになります。

どちらの指定方法でもX,Y軸のどちらか一方を省略した場合には、省略された軸の座標は、現在の工具位置と同じであると解釈されます。

G02の軌道

G03

反時計回りの円弧補間です。使用方法はG02と同じになります。

G04

設定した時間だけプログラムを休止させるドウェルです。"G04P_"または"G04X_"の形で記述され、"P"では単位はミリ秒となり、"G04P1000"とした場合、1000ミリ秒、つまり1秒間の休止になります。"X"では単位は秒となり、"G04X1."では1秒間の休止になります。ただし、小数点を付けずに"G04X1"とした場合の単位はミリ秒となります。

G09

イグザクトストップでは、工具がブロックの終点で減速し、インポジションがチェックされた後、次のブロックが実行されます。インポジションとは、サーボモータが指令された位置のある幅内に到着していることを示します。

電源投入時には切削モード(G64)になっていますが、イグザクトストップを使用することで、コーナー部のショートカットを防ぐことができます。

G09の軌道

G17

XY平面指定になります。指定する平面によって、円弧補間や工具径補正などを使用したときの工具軌道が変わってきます。XY平面では円弧補間や工具径補正の方向は、Z軸のプラス側から見たときのものとなります。

G18

ZX平面指定になります。ZX平面では円弧補間や工具径補正の方向は、Y軸のプラス側から見たときのものとなります。

G19

YZ平面指定になります。YZ平面では円弧補間や工具径補正の方向は、X軸のプラス側から見たときのものとなります。

G28

リファレンス点復帰になります。機械原点へ戻るときなどに使用されます。機械原点は通常各軸のプラス側の最大になる部分になります。一番簡単な記述方法は"G91G28Z0"でZ軸を機械原点へ復帰させ、安全なところに逃がしてから"G28Y0"などで横方向の機械原点へ復帰させます。ここで使用される座標値は中間点を表し、0にすると機械原点へ一直線になります。

G40

工具径補正(G41,G42)をキャンセルするのに使用します。"G40X30.Y-10."などで座標値を同じブロックに記述することで、軸の移動も同時に行うことができます。

G41

工具径補正左になります。設定値(工具半径)分を進行方向の左側に工具軌道をずらすのに使用します。"G01G41X_Y_D_"で記述され、"X_Y_"には座標値、又は移動量が入り、"D_"には工具径補正番号が入ります。なお、G41の入っているブロックでは円弧補間は使用できません。

詳しい解説は工具径補正のページに載せてあります。

G42

工具径補正右になります。設定値(工具半径)分を進行方向の右側に工具軌道をずらすのに使用します。使用方法はG41と同じです。

G43

工具長補正+になります。"+"というのは、設定されている数値分がそのまま補正されるという意味です。"G43Z_H_"の形で記述され、"Z_"は座標値又は移動量、"H_"には工具長補正番号が入ります。

G44

工具長補正−になります。設定されている数値にマイナスをかけた数値分が補正されます。使用方法はG43と同じです。

G49

工具長補正をキャンセルするのに使用します。"G49"と単独で使用できます。

G52

ローカル座標系の設定です。現在の座標系から新たに別の座標系を生成します。"G52X_Y_Z_"で記述され、現在使用している座標系からいくつ移動したところに新しい座標系を生成するかを、"X_Y_Z_"で指定します。"G52X0Y0Z0"を読み込ませるか、機械原点へ復帰させることでキャンセルすることができます。リセットを押してもキャンセルされないので注意が必要です。

G53

機械座標系の選択です。機械原点を加工原点として使用できます。

G54〜59

ワーク座標系の選択です。54〜59に設定されている座標値を加工原点として使用します。

G65

マクロプログラムを呼び出します。"G65P_(引数)"で記述され、"P_"にはプログラム番号が入り、そのあとで引数を設定することができます。G65ではそのブロックのみで有効なワンショットになります。

マクロプログラム関係はマクロのページで詳しく解説しています。

G66

マクロプログラムをモーダルで呼び出します。"G66P_(引数)"で記述され、次のブロックで"X_Y_"座標値を設定することで、その座標値に移動した後にマクロプログラムを呼び出します。G67でキャンセルされるまで何回でも、同じプログラムを繰り返すことができます。座標を変えて同じ動きをさせたいときに使用されます。

G67

マクロプログラムモーダル呼び出し(G66)をキャンセルします。"G67"と単独で記述できます。

G68

座標回転を行います。G17(XY平面)では"G68X_Y_R_"で記述され、X_Y_には回転中心の座標を設定し、R_には回転角度を設定します。回転角度の数値がプラスだと反時計回り、マイナスだと時計回りに回転します。X_Y_を省略すると、現在の工具位置が回転中心となります。

G69

座標回転をキャンセルします。"G69"と単独で記述できます。

G90

アブソリュート指令になります。軸移動を行う際は、設定されている座標系の原点を0とした座標値で軸移動を行います。

G91

インクレメンタル指令になります。軸移動を行う際は、現在の工具位置からの移動量で軸移動を行います。

当サイトのPDF版を作成しました

教育資料やリファレンスとして使用して頂ければと思います。NCプログラムの教科書

上級編も作成しました。NCプログラム上級編


メニュー
NC旋盤
サブメニュー
OSP(オークマ)
雑学
NCプログラマの為の数学