NCのGコードとは|誰でもわかる!NCプログラムを徹底解説|工作機械のいろは

NCのGコードとは、機械のNCプログラミングで使われるアドレスの種類です。日本工業規格(JIS)でも定義されています。※JIS B 6315-2

Gコードは、主に工作物の位置決めや方向指定など座標系の準備機能、及び主軸移動などの動作指令で使います。

本コラムでは、そのGコードの設定方法等について解説します。各コードは使用するNC工作機械によってコードの使用方法が変わるため、立型マシニングセンターの使い方で解説します。

ワーク座標系の設定

ワーク座標系の設定には、G92とG54の2つの方法があります。

G92 X□□Y□□Z□□

G92の後に座標値を指定する方法です。

マシニングセンターの場合、現在の工具先端の場所がX□□Y□□Z□□となるようにワーク座標系が設定されます。

G54~G59

G54~G59は、登録済みのワーク座標系を選択するGコードです。

機械基準点からワーク座標系までの距離をNC装置に登録しておくことで、最大6個のワーク座標系を設定できます。

各軸の移動方法

工作機械の工具が動いていく目標点(移動先)を指定しますが、アブソリュート(絶対値)指令とインクリメンタル(増分)指令の2つの方法があります。

G90 X□□Y□□Z□□

G90は、工具の移動先を座標で指令するアブソリュート(絶対値)指令です。

各地点の位置が特定しやすいので、不具合があった場合にプログラムの修正がしやすいですが、NCデータの量はインクリメンタルより多くなります。

G91 X□□Y□□Z□□

G91の工具移動先は、直前の位置から座標値を加算した位置で指令するインクリメンタルの指令方法です。

各地点の位置は特定しにくく、不具合があった場合は、それ以降の動作がすべてずれるといった欠点がありますが、NCデータの量はアブソリュート指令よりも少なくてすみます。

平面指定

平面指定は、加工する平面を指定する機能です。工具径補正(G41、G42)や円弧補完(G02、G03)と組み合わせて使用すると工具の軌道が変わります。

G17

XY平面を指定します。

G18

ZX平面を指定します。

G19

YZ平面を指定します。

各軸の移動

G00 X□□Y□□Z□□

G00は、主軸を移動させる指令です。

G00に続く座標値を指定すると、現在位置から指定した座標値まで(早送りで)移動します。

その機種が持つ最大送り速度で移動します。

G00は、加工地点から次の加工地点までの移動や工具交換位置までの移動で使用します。

G01 X□□Y□□Z□□

G01もG00と同様に主軸を移動させる指令ですが、G01は直線補間といい、現在地点から指定した座標値まで直線距離で移動します。

座標値の後にF□□を付けて送り速度を細かく指定することができます。

G01は切削時の直線移動で加工する場合に使用します。

G02 , G03

G02とG03は、円弧補間で使用するコードです。

円弧補間とは曲線的な加工のことで、例えばコンパスで外周を描くような円弧形状に主軸を移動させて切削加工することができます。

G02(時計回り)またはG03(反時計回り)を指定した後に終点のXZ座標と円弧の半径のRを指定します。

G04

G04はドウェルです。ドウェルとは指定した時間だけ送りを停止することです。

工具が回転して送りが停止している状態で、ドリルの底面などの仕上げ加工で使用されます。

Gコード一覧

コード 機能 機能の意味
G00 位置決め 指令した位置へ最大送り(例えば早送り)で移動させるモード。このモードによってあらかじめプログラムされた速度は無視されるが、キャンセルされない。各軸の運動は関連づけられていなくてもよい。
G01 直線補間 一様な勾配又は制御軸に平行な直線運動を指定する制御のモード。一つのブロック内の情報によって、同時に動く各軸の移動距離に比例した速度を作り出す。
G02
G03
円弧補間
(時計方向、反時計方向)

一つ又は二つのブロック内情報により、工具の運動を円弧に沿うように制御する輪郭制御のモード。

円弧を作り出すためのその軸の速度は、制御によって変化する。“時計方向円弧補間”とは、工具の運動面をそれと直角な軸の負方向にみたときの工具の運動が、円弧に沿って時計方向回りになるように制御する輪郭制御モードであり、“反時計方向円弧補間”とは、前途と反対の方向回りになるように制御する輪郭制御のモードである。

G04 ドウェル プログラムされた時間又は決められた時間だけ、次のブロックに入るのを遅らせるモードで、インタロックやホールドではない。 例えば、中ぐり作業で加工端までくれば当然送りを止め、次の動作は戻し工程にないるか主軸回転止めるかになるが、次の動作に入るのをしばらく遅らせ、その間、主軸回転だけを続けるような場合に用いる。
指令値の単位としては秒の他に回転数が用いられる。
G06 放物線補間 1つ又はそれ以上のブロックに含まれる情報によって、工具の運動を放物線に沿うように制御する輪郭制御のモード。この放物線を発生させる軸の速度は、制御によって変化する。
G08 加速 運動開始時期にプログラムされた速度まで自動的に送り速度を増加させるモード。
例えば、工作機械の変速時におけるショックなどを避けるために用いられる。
G09 減速 プログラムされた点に近づいたとき、プログラムされた速度から自動的に速度を減少させるモード。
G17G19 主基準面の選択 同時に2軸を動作させる円弧補間や、工具径補正などを行わせる面を選択するモード。
G33 一定のリードのねじ切り 一定リードのねじ切りモード
G34 可変リードのねじ切り(漸増) 一様に増加するリードのねじ切りモード。
G35 可変リードのねじ切り(漸減) 一様に減少するリードのねじ切りモード
G40 工具径補正のキャンセル 前に与えられた工具径補正(直径又は半径)をキャンセルする指令。キャンセル後は補正しない工具通路となる。
G41 工具径補正-左 工具の相対的な運動方向に向かって加工面の左側を工具中心が通るような工具径補正。
G42 工具径補正-右 工具の相対的な運動方向に向かって加工面の右側を工具中心が通るような工具径補正。
G43 工具オフセット正 工具オフセットの値を関連するブロックの座標値に加えることを指令するのに使用する。
G44 工具オフセット負 工具オフセットの値を関連するブロックの座標値から差し引くことを指令するのに使用する。
G49 工具オフセットのキャンセル 前に与えらえれた工具オフセットをキャンセルする指令。
キャンセル後は補正しない工具通路となる。
G53 機械座標系選択 機械原点に関して機械上に固定された右手直交座標系の選択。
G54G59 ワーク座標系選択 工作物に定められた複数の右手直交座標系からの選択。
G63 タッピング タッピング加工の指令。
G70 インチデータ インチデータを入力するモード
G71 メトリックデータ メトリックデータを入力するモード。
G74 原点復帰 そのブロックで指定された軸を原点に動かすに使用する。
G80 固定サイクルのキャンセル G81G89の機能をキャンセルする指令。
G81G89 固定サイクル 中ぐり、穴あけ、ねじ立てなどの加工を行うために、あらかじめ定められた一連の作業シーケンスを実行させる指令。
G90 アブソリュートディメンション ブロック内の座標値をアブソリュートディメンションとして与える指令。
G91 インクリメンタルディメンション ブロック内座標値をインクレメンタルディメンションとして与える指令。
G92 座標系設定 プログラムされたディメンションワードによって、座標系を修正又は設定するのに用いる指令。
G93 インバースタイム送り ブロックを実行するのに要する時間逆数の関数で送りを表すモード。
G94 毎分当たり送り 送りの単位を毎分当たりのミリメートル(インチ)として与える指令。
G95 主軸一回転当たり送り 送り量の単位を主軸1回転当たりのミリメートル(インチ)として与える指令。
G96 定切削速度 主軸機能(S機能)のアドレスに続くデータが毎分当たりミリメートル(インチ)で表された切削速度であることを示す指令。
主軸速度は切削速度がプログラムされた値に常に等しくなるように自動的に制御される。
G97 毎分当たり回転数 主軸速度の単位を、毎分当たりの回転数として与える指令。
G98~G99 未指定