カテゴリ

Mitsuriでどんな取引が行われている?
新しい機能を使ってどう新規取引につなげる
‍そんな疑問に毎月メールでお届けします

メルマガ購読

      Mitsuriでどんな取引が行われている?
      新しい機能を使ってどう新規取引につなげる?
      そんな疑問にお答えします!

Gコードの種類、コード一覧、プログラム例、Mコードとの違い

数値制御で動作するNC工作機械を扱うには、NCプログラムを用いて指令する必要があります。NCプログラムにはGコードやMコードなどのコードがありますが、これらの内容を理解してプログラムしなければなりません。そこで今回は、NCプログラムのうちのGコードについて解説します。

Gコードとは?

Gコードとは、NCプログラムの一種で「準備機能」と呼ばれるものです。NC工作機械に指令を送り、ワークの加工が行えるようになります。

Gコードは「アドレスキャラクタ」と呼ばれるGのアルファベットと、後ろにつく2桁の数値を表示させることで、指令が送られます。新しい制御装置の場合は、Gコードを3桁やそれ以上の桁にしているものもあります。

Gコードは一般的にG00~G99までのコードがあります。種類が豊富で全てを把握するのは難しいものの、頻繁に使うGコードを覚えておけば、プログラム作成は可能です。

また、NCプログラムは事前にパソコン上でワークを切削できるシミュレーションソフトがあります。シミュレーションソフトを使えば、プログラムデータをNC工作機械に送る前に、仮想の加工を行えるので、不良品や工具の破損といったトラブルを防止できます。シミュレーションソフトは、トレーニング目的でも使うことが可能です。

Gコードの種類

引用元:芝浦機械株式会社  モーダルとワンショット

Gコードには、指令の有効な範囲の違いによって「ワンショットGコード」と「モーダルGコード」の2種類に分けられます。

ワンショットGコード

ワンショットGコードは、指定されたブロックに対してのみ有効なGコードのことを指します。Gコードにはそれぞれグループ分けがされており、グループによってワンショットとモーダルのどちらかに分類されます。

モーダルGコード

モーダルGコードは、指令されたブロックから持続して有効になるGコードのことを指します。有効な範囲は、同じグループのGコードが指令されるまでです。

代表的なGコードの一覧

ここでは、JIS B 6315-1で規定されている、NC工作機械でよく使用するGコードについて紹介します。Gコードは使用するNC工作機械により、コードの仕様が異なる場合があるので、ここで紹介するものはあくまで参考として見てください。

参考:【JIS B 6315-1 産業オートメーションシステム及びその統合-機械の数値制御-プログラムフォーマット及びアドレスワードの定義-第1部:位置決め,直進運動及び輪郭制御システム用データフォーマット】

G00

機能:位置決め

説明:指令した位置へ最大送り(例えば、早送り)で移動させるモード。このモードによってあらかじめプログラムした速度は無視されるが、キャンセルされない。各軸の運動は、同期しなくてもよい。

G01

機能:直線補間

説明:一様な勾配又は制御軸に平行於な直進運動を指定する制御のモード。

G02、G03

機能:G02は時計回りの円弧補間、G03は反時計回りの円弧補間

説明:工具の運動面をそれと直角な軸の負方向に見たときの工具の運動が、円弧に沿って時計回り、もしくは反時計回りになるように制御する輪郭制御のモード。

G04

機能:ドウェル(遅延)

説明:プログラムした時間又は主軸回転数だけ、次のブロックに入るのを遅らせる機能。

G17、G18、G19

機能:G17はXY面の選択、G18はZX面の選択、G19はYZ面の選択

説明:同時に2軸を動作させる円弧補間、工具径補正などを行わせる面を選択するモード。

G28

機能:今後とも指定しない、又は原点復帰

説明:原点復帰モードとして使用してもよい。

G40

機能:工具径補正のキャンセル

説明:前に与えた工具径補正(直径又は半径)又は工具オフセットをキャンセルする指令。キャンセル後は補正しない工具経路となる。

G41

機能:工具径補正、左

説明:工具の相対的な運動方向に向かって左側に工具経路を補正する指示。

G42

機能:工具径補正、右

説明:工具の相対的な運動方向に向かって左側に工具経路を補正する指示。

G43

機能:工具オフセット、正

説明:工具オフセットの値を関連するブロックの座標値に加算する指令。

G44

機能:工具オフセット、負

説明:工具オフセットの値を関連するブロックの座標値に減算する指令。

G49

機能:未指定又は工具長オフセットのキャンセル

説明:工具長オフセットのキャンセルとして使用してもよい。

G54~G59

機能:ワーク座標系選択

説明:工作物に定められた複数の右手直交座標系からの選択。

G80

機能:固定サイクルのキャンセル

説明:固定サイクルをキャンセルする指令。

G81~G89

機能:固定サイクル

説明:中ぐり、穴あけ、ねじ立てなどの加工を行うために、あらかじめ定めた一連の作業シーケンスを実行させる指令。

<固定サイクルのコード内容>

コード 行き 底で 戻り 代表例
ドウェル 主軸
G81 切削送り - - 早送り 穴あけ、もみ付け
G82 切削送り - 早送り 穴あけ、座ぐり
G83 間欠送り - - 早送り 深穴あけ
G84 主軸正転、切削送り - 逆転 切削送り ねじ立て
G85 切削送り - - 切削送り 中ぐり
G86 主軸始動、切削送り - 停止 早送り 中ぐり
G87 主軸始動、切削送り - - 手動又は早送り 中ぐり
G88 主軸始動、切削送り 停止 手動 中ぐり
G89 切削送り - 切削送り 中ぐり

G90

機能:アブソリュートディメンション

説明:ブロック内の座標軸をアブソリュートディメンション(絶対座標)として与える指令。G90は、以後の位置指令が、常に原点からの距離であることを指令します。

G91

機能:インクリメンタルディメンション

説明:ブロック内の座標軸をインクリメンタルディメンション(相対座標・増分座標)として与える指令。G91は、以後の位置指令が直前の位置からの距離であることを指令します。

Gコードの固定サイクル

固定サイクルとは、穴あけやタップ立てなど、頻繁に行う加工に対してあらかじめ設定した一連の動作を1ブロックにまとめたもののことを指します。JIS B 6315-1では、G81~G89のGコードが該当します。

Gコードの固定サイクルは、以下の動作から成り立ちます。

・X-Y軸の位置決め(G17 XY平面の場合)

・R点(リファレンス点、XY平面の場合Z軸の基準位置)レベルまでの早送り

・加工

・穴底位置の動作

・R点レベルまでの逃げ

・イニシャルレベル(固定サイクルの開始位置)までの逃げ

加工軸方向の移動量は、G90(アブソリュート)とG91(インクリメンタル)で異なります。

また、固定サイクルはG80を指令するとキャンセルされます。Gコードにはそれぞれグループが分類されていますが、グループ01のGコード、G00、G01、G02、G03の指令が行われた場合も固定サイクルはキャンセルされます。

Gコードのプログラム例

正方形に移動するGコードのプログラム例

O0001(SAMPLE);

G90 G00 X0.Y0.;

G01 X10. Y0. F100.;

X10.Y10.;

X0.Y10.;

X0.Y0.;

%

上記は正方形に移動するGコードのプログラム例です。

次に上記で使用している記号や、そのほかに使用する場合のある記号の意味について見てみましょう。

・%、データスタート・データエンド

プログラムの始めに付く%はデータスタートを表す記号、プログラムの最後に付く%はデータエンドを表します。ただし、機器によっては必要としない場合もあります。

・O、プログラム番号

データスタートの次のブロックに来るのがOのプログラム番号です。アルファベットOに加えて最大で4文字(0000~9999)の数字が入ります。プログラム番号は、1つのプログラムに1つ記述する必要があります。

・()、コメント

プログラム番号の後ろに付く()は、コメントの意味を表し、NCでは読み込まれないものです。()は、プログラムの意味を分かりやすくするためのコメントとして便利です。

・;、EOB

プログラムの行の最後には「;(セミコロン)」が付きます。これは「EOB(エンドオブブロック)」と呼ばれるもので、行の頭から;までをブロックと呼びます。ただし、EOBはパソコンでプログラムを行った場合、設備に読み込ませる際に改行が;に変換されるので付ける必要はありません。

・N、シーケンス番号

各ブロックの最初には「シーケンス番号」と呼ばれる、アルファベットのNと数値が組み合わされたものが付いている場合もあります。シーケンス番号は、番号が順番に大きくなるようにプログラムの要所に付けておくと、編集の際に番号をサーチすることで、所定のブロックを探しやすくなるので便利です。シーケンス番号の順序や、付けるかどうかの選択は任意になります。

・S、主軸の回転数

アルファベットのS+数値の表記は、主軸の回転数(rpm)を意味します。

・F、送り速度

アルファベットのF+数値の表記は、送り速度(mm/min)を意味します。

・T、工具選択

アルファベットのT+数値は、その数値に該当するツールを呼び出します。Tは呼び出しだけで交換は行わないので、工具交換を行うにはMコードと合わせて使用します。

GコードとMコードの違い

Mコードとは、「補助機能」と呼ばれるもので、NC工作機械を動かして加工するための指令を出すコードのことを指します。Gコードは準備機能であるのに対して、Mコードは補助をするための役割を持ちます。

MコードはアドレスキャラクタのMと、後ろにつく2桁の数字で表します。例えば「M03」と記述されているMコードは主軸正転を意味しており、M03に加えて指令した数値で回転を行います。ただし、MコードはNC工作機械のメーカーによって指令が異なる点に注意してください。

 

見積や調達にお困りの場合は、ぜひMitsuriをご活用ください!

図面をアップロードするだけで、加工できる工場から見積が届きます。

WEB上で見積~発注まで完結します。詳しくは下のボタンから!

Gコードの種類、コード一覧、プログラム例、Mコードとの違い

数値制御で動作するNC工作機械を扱うには、NCプログラムを用いて指令する必要があります。NCプログラムにはGコードやMコードなどのコードがありますが、これらの内容を理解してプログラムしなければなりません。そこで今回は、NCプログラムのうちのGコードについて解説します。

Gコードとは?

Gコードとは、NCプログラムの一種で「準備機能」と呼ばれるものです。NC工作機械に指令を送り、ワークの加工が行えるようになります。

Gコードは「アドレスキャラクタ」と呼ばれるGのアルファベットと、後ろにつく2桁の数値を表示させることで、指令が送られます。新しい制御装置の場合は、Gコードを3桁やそれ以上の桁にしているものもあります。

Gコードは一般的にG00~G99までのコードがあります。種類が豊富で全てを把握するのは難しいものの、頻繁に使うGコードを覚えておけば、プログラム作成は可能です。

また、NCプログラムは事前にパソコン上でワークを切削できるシミュレーションソフトがあります。シミュレーションソフトを使えば、プログラムデータをNC工作機械に送る前に、仮想の加工を行えるので、不良品や工具の破損といったトラブルを防止できます。シミュレーションソフトは、トレーニング目的でも使うことが可能です。

Gコードの種類

引用元:芝浦機械株式会社  モーダルとワンショット

Gコードには、指令の有効な範囲の違いによって「ワンショットGコード」と「モーダルGコード」の2種類に分けられます。

ワンショットGコード

ワンショットGコードは、指定されたブロックに対してのみ有効なGコードのことを指します。Gコードにはそれぞれグループ分けがされており、グループによってワンショットとモーダルのどちらかに分類されます。

モーダルGコード

モーダルGコードは、指令されたブロックから持続して有効になるGコードのことを指します。有効な範囲は、同じグループのGコードが指令されるまでです。

代表的なGコードの一覧

ここでは、JIS B 6315-1で規定されている、NC工作機械でよく使用するGコードについて紹介します。Gコードは使用するNC工作機械により、コードの仕様が異なる場合があるので、ここで紹介するものはあくまで参考として見てください。

参考:【JIS B 6315-1 産業オートメーションシステム及びその統合-機械の数値制御-プログラムフォーマット及びアドレスワードの定義-第1部:位置決め,直進運動及び輪郭制御システム用データフォーマット】

G00

機能:位置決め

説明:指令した位置へ最大送り(例えば、早送り)で移動させるモード。このモードによってあらかじめプログラムした速度は無視されるが、キャンセルされない。各軸の運動は、同期しなくてもよい。

G01

機能:直線補間

説明:一様な勾配又は制御軸に平行於な直進運動を指定する制御のモード。

G02、G03

機能:G02は時計回りの円弧補間、G03は反時計回りの円弧補間

説明:工具の運動面をそれと直角な軸の負方向に見たときの工具の運動が、円弧に沿って時計回り、もしくは反時計回りになるように制御する輪郭制御のモード。

G04

機能:ドウェル(遅延)

説明:プログラムした時間又は主軸回転数だけ、次のブロックに入るのを遅らせる機能。

G17、G18、G19

機能:G17はXY面の選択、G18はZX面の選択、G19はYZ面の選択

説明:同時に2軸を動作させる円弧補間、工具径補正などを行わせる面を選択するモード。

G28

機能:今後とも指定しない、又は原点復帰

説明:原点復帰モードとして使用してもよい。

G40

機能:工具径補正のキャンセル

説明:前に与えた工具径補正(直径又は半径)又は工具オフセットをキャンセルする指令。キャンセル後は補正しない工具経路となる。

G41

機能:工具径補正、左

説明:工具の相対的な運動方向に向かって左側に工具経路を補正する指示。

G42

機能:工具径補正、右

説明:工具の相対的な運動方向に向かって左側に工具経路を補正する指示。

G43

機能:工具オフセット、正

説明:工具オフセットの値を関連するブロックの座標値に加算する指令。

G44

機能:工具オフセット、負

説明:工具オフセットの値を関連するブロックの座標値に減算する指令。

G49

機能:未指定又は工具長オフセットのキャンセル

説明:工具長オフセットのキャンセルとして使用してもよい。

G54~G59

機能:ワーク座標系選択

説明:工作物に定められた複数の右手直交座標系からの選択。

G80

機能:固定サイクルのキャンセル

説明:固定サイクルをキャンセルする指令。

G81~G89

機能:固定サイクル

説明:中ぐり、穴あけ、ねじ立てなどの加工を行うために、あらかじめ定めた一連の作業シーケンスを実行させる指令。

<固定サイクルのコード内容>

コード 行き 底で 戻り 代表例
ドウェル 主軸
G81 切削送り - - 早送り 穴あけ、もみ付け
G82 切削送り - 早送り 穴あけ、座ぐり
G83 間欠送り - - 早送り 深穴あけ
G84 主軸正転、切削送り - 逆転 切削送り ねじ立て
G85 切削送り - - 切削送り 中ぐり
G86 主軸始動、切削送り - 停止 早送り 中ぐり
G87 主軸始動、切削送り - - 手動又は早送り 中ぐり
G88 主軸始動、切削送り 停止 手動 中ぐり
G89 切削送り - 切削送り 中ぐり

G90

機能:アブソリュートディメンション

説明:ブロック内の座標軸をアブソリュートディメンション(絶対座標)として与える指令。G90は、以後の位置指令が、常に原点からの距離であることを指令します。

G91

機能:インクリメンタルディメンション

説明:ブロック内の座標軸をインクリメンタルディメンション(相対座標・増分座標)として与える指令。G91は、以後の位置指令が直前の位置からの距離であることを指令します。

Gコードの固定サイクル

固定サイクルとは、穴あけやタップ立てなど、頻繁に行う加工に対してあらかじめ設定した一連の動作を1ブロックにまとめたもののことを指します。JIS B 6315-1では、G81~G89のGコードが該当します。

Gコードの固定サイクルは、以下の動作から成り立ちます。

・X-Y軸の位置決め(G17 XY平面の場合)

・R点(リファレンス点、XY平面の場合Z軸の基準位置)レベルまでの早送り

・加工

・穴底位置の動作

・R点レベルまでの逃げ

・イニシャルレベル(固定サイクルの開始位置)までの逃げ

加工軸方向の移動量は、G90(アブソリュート)とG91(インクリメンタル)で異なります。

また、固定サイクルはG80を指令するとキャンセルされます。Gコードにはそれぞれグループが分類されていますが、グループ01のGコード、G00、G01、G02、G03の指令が行われた場合も固定サイクルはキャンセルされます。

Gコードのプログラム例

正方形に移動するGコードのプログラム例

O0001(SAMPLE);

G90 G00 X0.Y0.;

G01 X10. Y0. F100.;

X10.Y10.;

X0.Y10.;

X0.Y0.;

%

上記は正方形に移動するGコードのプログラム例です。

次に上記で使用している記号や、そのほかに使用する場合のある記号の意味について見てみましょう。

・%、データスタート・データエンド

プログラムの始めに付く%はデータスタートを表す記号、プログラムの最後に付く%はデータエンドを表します。ただし、機器によっては必要としない場合もあります。

・O、プログラム番号

データスタートの次のブロックに来るのがOのプログラム番号です。アルファベットOに加えて最大で4文字(0000~9999)の数字が入ります。プログラム番号は、1つのプログラムに1つ記述する必要があります。

・()、コメント

プログラム番号の後ろに付く()は、コメントの意味を表し、NCでは読み込まれないものです。()は、プログラムの意味を分かりやすくするためのコメントとして便利です。

・;、EOB

プログラムの行の最後には「;(セミコロン)」が付きます。これは「EOB(エンドオブブロック)」と呼ばれるもので、行の頭から;までをブロックと呼びます。ただし、EOBはパソコンでプログラムを行った場合、設備に読み込ませる際に改行が;に変換されるので付ける必要はありません。

・N、シーケンス番号

各ブロックの最初には「シーケンス番号」と呼ばれる、アルファベットのNと数値が組み合わされたものが付いている場合もあります。シーケンス番号は、番号が順番に大きくなるようにプログラムの要所に付けておくと、編集の際に番号をサーチすることで、所定のブロックを探しやすくなるので便利です。シーケンス番号の順序や、付けるかどうかの選択は任意になります。

・S、主軸の回転数

アルファベットのS+数値の表記は、主軸の回転数(rpm)を意味します。

・F、送り速度

アルファベットのF+数値の表記は、送り速度(mm/min)を意味します。

・T、工具選択

アルファベットのT+数値は、その数値に該当するツールを呼び出します。Tは呼び出しだけで交換は行わないので、工具交換を行うにはMコードと合わせて使用します。

GコードとMコードの違い

Mコードとは、「補助機能」と呼ばれるもので、NC工作機械を動かして加工するための指令を出すコードのことを指します。Gコードは準備機能であるのに対して、Mコードは補助をするための役割を持ちます。

MコードはアドレスキャラクタのMと、後ろにつく2桁の数字で表します。例えば「M03」と記述されているMコードは主軸正転を意味しており、M03に加えて指令した数値で回転を行います。ただし、MコードはNC工作機械のメーカーによって指令が異なる点に注意してください。

 

見積や調達にお困りの場合は、ぜひMitsuriをご活用ください!

図面をアップロードするだけで、加工できる工場から見積が届きます。

WEB上で見積~発注まで完結します。詳しくは下のボタンから!

メルマガ購読

      Mitsuriでどんな取引が行われている?
      新しい機能を使ってどう新規取引につなげる?
      そんな疑問にお答えします!
カテゴリ一覧