— シェアする —
facebookTwitterlink

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

設計 | 2021年08月04日

facebookTwitterlink

数値制御で動作する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工作機械のメーカーによって指令が異なる点に注意してください。

facebookTwitterlink
この記事を書いた人
株式会社Catallaxy

株式会社Catallaxyは "未来の製造業をつくる" をミッションに掲げ、製造業における従来のサプライチェーン/バリューチェーンの刷新を目指しています。記事内容に関するお問い合わせはこちらへ。

facebook followtwitter follow
おすすめ記事
SUS304とSUS430の意味とは? 使い分けや特徴も分かりやすく解説!

SUS304とSUS430の意味とは? 使い分けや特徴も分かりやすく解説!

2019年02月01日
溶接記号の一覧【基礎講座】溶接指示を徹底理解!種類と書き方をマスターしよう

溶接記号の一覧【基礎講座】溶接指示を徹底理解!種類と書き方をマスターしよう

2021年02月22日
【チタンの特徴と用途とデメリット】チタンは他の金属とどう違うのか

【チタンの特徴と用途とデメリット】チタンは他の金属とどう違うのか

2021年02月08日
関連記事
  • CAMとは?種類、CADとの違い、特徴、メリット
    • CAM
    • CAD
    CAMとは?種類、CADとの違い、特徴、メリット
    2021年07月30日
  • BOM(部品表)とは?例と種類・用途
    • BOM
    • 部品表
    BOM(部品表)とは?例と種類・用途
    2021年03月03日
  • 受注生産とは?【3分でわかる】製造業の専門家がメリット・デメリットをわかりやすく解説してみた!
    • 受注生産
    • 製造業
    受注生産とは?【3分でわかる】製造業の専門家がメリット・デメ...
    2019年07月29日
人気記事ランキング