Gコード
Gコードは加工を行うための準備機能になります。Gコードには、そのブロックのみで有効なワンショットなものと、その設定が変更、またはキャンセルされるまで有効なモーダルなものがあります。ここでは一般的に使用されるGコードを解説しています。
制御装置ごとのGコードを見たい方は制御装置別のGコード一覧を参照して下さい。
- 当サイトのPDF版を作成しました。教育資料やリファレンスとして使用して頂ければと思います。
→ NCプログラムの教科書 - 上級編もあります。
→ NCプログラム上級編
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 の詳しい解説は「G00(位置決め、早送り)」のページに載せてあります。
G01
直線補間です。設定した送り速度で軸を動かしたい場合に使用します。"G01X_Y_Z_F_"の形で記述され、各座標と送り速度の記述は省略可能です。同じブロックで送り速度を設定することができ、省略されている場合には既に設定されている送り速度で移動します。
G01 の詳しい解説は「G01(直線補間)」のページに載せてあります。
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 G03(円弧補間、ヘリカル補間)」のページに載せてあります。
G03
反時計回りの円弧補間です。使用方法はG02と同じになります。
G04
設定した時間だけプログラムを休止させるドウェルです。"G04P_"または"G04X_"の形で記述され、"P"では単位はミリ秒となり、"G04P1000"とした場合、1000ミリ秒、つまり1秒間の休止になります。"X"では単位は秒となり、"G04X1."では1秒間の休止になります。ただし、小数点を付けずに"G04X1"とした場合の単位はミリ秒となります。※最近の設備では、P で指令しても X で指令しても違いはないです。
G04 の詳しい解説は「G04(ドウェル)」のページに載せてあります。
G09
イグザクトストップでは、工具がブロックの終点で減速し、インポジションがチェックされた後、次のブロックが実行されます。インポジションとは、サーボモータが指令された位置のある幅内に到着していることを示します。
電源投入時には切削モード(G64)になっていますが、イグザクトストップを使用することで、コーナー部のショートカットを防ぐことができます。
G09 の詳しい解説は「G09(イグザクトストップ)」のページに載せてあります。
G17
XY平面指定になります。指定する平面によって、円弧補間や工具径補正などを使用したときの工具軌道が変わってきます。XY平面では円弧補間や工具径補正の方向は、Z軸のプラス側から見たときのものとなります。
G17 〜 G19 の詳しい解説は「G17, G18, G19(平面指定)」のページに載せてあります。
G18
ZX平面指定になります。ZX平面では円弧補間や工具径補正の方向は、Y軸のプラス側から見たときのものとなります。
G19
YZ平面指定になります。YZ平面では円弧補間や工具径補正の方向は、X軸のプラス側から見たときのものとなります。
G28
リファレンス点復帰になります。機械原点へ戻るときなどに使用されます。機械原点は通常各軸のプラス側の最大になる部分になります。一番簡単な記述方法は"G91G28Z0"でZ軸を機械原点へ復帰させ、安全なところに逃がしてから"G28Y0"などで横方向の機械原点へ復帰させます。ここで使用される座標値は中間点を表し、0にすると機械原点へ一直線になります。
G28 の詳しい解説は「G28(機械原点復帰)」のページに載せてあります。
G40
工具径補正(G41,G42)をキャンセルするのに使用します。"G40X30.Y-10."などで座標値を同じブロックに記述することで、軸の移動も同時に行うことができます。
G41
工具径補正左になります。設定値(工具半径)分を進行方向の左側に工具軌道をずらすのに使用します。"G01G41X_Y_D_"で記述され、"X_Y_"には座標値、又は移動量が入り、"D_"には工具径補正番号が入ります。なお、G41の入っているブロックでは円弧補間は使用できません。
工具径補正の詳しい解説は「工具径補正」のページに、基本的な説明は「G40, G41, G42(工具径補正)」のページに載せてあります。
G42
工具径補正右になります。設定値(工具半径)分を進行方向の右側に工具軌道をずらすのに使用します。使用方法はG41と同じです。
G43
工具長補正+になります。"+"というのは、設定されている数値分がそのまま補正されるという意味です。"G43Z_H_"の形で記述され、"Z_"は座標値又は移動量、"H_"には工具長補正番号が入ります。
G43, G44, G49 の詳しい解説は「G43, G44, G49(工具長補正)」のページに載せてあります。
G44
工具長補正−になります。設定されている数値にマイナスをかけた数値分が補正されます。使用方法はG43と同じです。
G49
工具長補正をキャンセルするのに使用します。"G49"と単独で使用できます。
G52
ローカル座標系の設定です。現在の座標系から新たに別の座標系を生成します。"G52X_Y_Z_"で記述され、現在使用している座標系からいくつ移動したところに新しい座標系を生成するかを、"X_Y_Z_"で指定します。"G52X0Y0Z0"を読み込ませるか、機械原点へ復帰させることでキャンセルすることができます。リセットを押してもキャンセルされないので注意が必要です。
G52 の詳しい解説は「G52(ローカル座標系設定)」のページに載せてあります。
G53
機械座標系の選択です。機械原点を加工原点として使用できます。
G53 の詳しい解説は「G53(機械座標系設定)」のページに載せてあります。
G54〜59
ワーク座標系の選択です。54〜59に設定されている座標値を加工原点として使用します。
G54 〜 G59 の詳しい解説は「G54 〜 G59(ワーク座標系選択)」のページに載せてあります。
G65
マクロプログラムを呼び出します。"G65P_(引数)"で記述され、"P_"にはプログラム番号が入り、そのあとで引数を設定することができます。G65ではそのブロックのみで有効なワンショットになります。
マクロプログラム関係はマクロのページで詳しく解説しています。基本的な使い方は「G65, G66, G67(マクロ呼び出し)」のページに載せてあります。
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プログラム上級編