本記事ではNCプログラミングの基礎の一つ、「Gコード」を紹介します!
前回の講座はこちら!
Gコードは加工方法や機械の動きを指令するコード
Gコードは加工方法や機械の動きを決め、NC旋盤に準備させる機能です。
指令方法:G**
例えば代表的なGコードはG01。削る指示を出すGコードです。
G01 Z-20. F0.3
のように指令することで、Z-20の座標に向かって0.3mm/revの送り速度で削る、という指令を出すことができます。
Gコードのモーダル
Gコードには“モーダル”と”ワンショット(アンモーダル)”の2種類があります。
モーダルのGコードは、同じ系統の他のGコードが指令されるまでそのGコードが有効です。
一方ワンショットのGコードは指令されたブロックに限りそのGコードが有効になります。
ほとんどのGコードはモーダルで、ワンショットのGコードでよく使うものはG50やG04の2種類くらいです。
モーダルの機能を活用すれば、例えばこちらのプログラム↓
G01 Z-20. F0.1
G01 X30.
G01 Z-21.
G01 X35.
ブロックの全てにG01を記載していますが、モーダルの機能を活用すれば・・・
G01 Z-20. F0.1
X30.
Z-21.
X35.
このようにはじめのブロックだけG01を記載して入力文字数を減らすことができます。
基本的なGコード一覧
GコードもMコードと同じように様々なものがあります。
本記事では基本的なGコードのみを紹介するので、目を通した上でコードの意味を理解しておくとスムーズにプログラミングを理解できます(^^
G00:早送り
G00は工具を現在の位置(始点)から目的の位置(終点)まで、早送り速度で移動させるときに指令するコードです。
早送りですので、材料を削らない空振りの移動で使います。
指令方法:G00 X*** Z***
(例:G00 X50. Z2.)
例のように、移動させたい座標をXとZで指令すれば、その座標に向かって早送りで移動します。
【注意!】移動経路は最短距離になるとは限らない
画像のように、X軸とZ軸を同時にG00指令した場合、移動経路は最短距離になるとは限らないので注意が必要です。
その理由は、早送りではX軸とZ軸のモーターが同じスピード(設定内の最大速度)で動くからです。XとZが同じスピードで動けば45度に動きますよね。そのため図のような動きをします。
このことを踏まえて工具の干渉に注意して指令するようにしましょう。(工具の干渉についての参考記事↓)
G01:直線での切削送り
工具を、現在の位置(始点)から目的の位置(終点)までの2点を結ぶ直線上を、切削送りで移動させるときに指令します。
G01は、おもに切削を行う工具移動に使用します。
ワークを削る際に一番多く使うのがこのコードで、円弧の加工とねじ切り以外のほとんどの加工がこのコードで行えます。例えばテーパー加工や面取りなんかもこのコードで行います。
移動する速さは、Fコードで指令した送り速度になります。
指令方法:G01 X*** Z*** F***
(例:G00 X50. Z-20. F0.1)
X,Zの座標は移動させたい終点の座標値になります。Fの値は送り速度(mm/rev)です。
つまり例では、X50、Z-20の座標に向かって0.1mm/revで直線の切削送りで移動するという指令になります。
ちなみにFコードで送り量を指定しなければ、送り量は0になります。
Fコードについてはこちらで解説しています!
G02・G03:円弧での切削送り
G02とG03はG01と同じ切削送りですが、直線でなく円弧(アール)のかたちで動かす際に指令するコードです。
現在地から、X,Zで指定した座標へ向かってFで指定した送り速度で移動する点はG01と同じですが、さらにRもしくはI・Kで円弧形状を指定することで円弧をを描いて移動します。
R指令 (こちらを使うことが多いです)
指令方法:G02(G03) X*** Z*** R*** F***
Rには円弧の半径を入力します。X,Z,Fに関してはG01と同様です。
(例:G02 X50. Z-20. R2 F0.1)
I・K指令
指令方法:G02(G03) X*** Z*** I*** K*** F***
Rの代わりにIとKで円弧形状を指定します。後述しますが、I・Kには円弧中心を入力します。
(G02 X50. Z10. I20. K5. F0.1)
G02とG03の違いは円弧の回転方向!
画像のように、G02は時計回り、G03は反時計回りの回転で使います。
R指令の指令方法
先程G02とG03の指令方法にはR指令とI・K指令があることをお伝えしました。
まずはよく使うR指令の指令方法について詳しく説明します。
R指令は、図面で示された円弧の半径をそのまま指令します。
半径を指定するだけですので、I・K指令よりも便利でミスも少なくなります。
図の例を解説していきます。
左側の図は、時計回りですのでG02を使い、半径が20の円のためRは20になります。
G02 X50. Z10. R20.
右側の図は反時計回りですのでG03を使い、同様にRは30です。
G03 X70. X10. R30.
I・K指令の指令方法
お次はI・K指令。
頻繁には使いませんが、図面の指示のしかたによってはこちらのほうが便利な場合があります。
I・K指令は円弧の始点から円弧の中心を見たときの距離と方向をインクリメンタル値で指令します。
入力する数値としては、
IはX軸方向の距離と方向(+,-)
KはZ軸方向の距離と方向(+,-)
を入力します。
それでは例を見てみましょう。
左側の図は、始点から見て円弧の中心がX方向に+20、Z方向に+5ありますよね。そのため
G02 X50. Z10. I20. K5.
となります。
同様に右側の図は、X方向に-5、Z方向に-30あるため
G03 X70. Z10. I-5. K-30.
となります。
G04:ドウェル
G04のドウェルは、指令した時間だけ工具の動きを停止させます。
主軸の回転や切削油などは止まらないため、溝入れ底などの削り残し防止などに使用します。
指令方法:G04 X***
(例:G04 X1.)
Xには秒数を入力しますので、上の例では1秒間停止させる指示になります。
停止時間は簡単に計算できる
このコードは、例えば溝加工の底を寸法通りに仕上げる際に使用します。
工具が溝底までたどり着いて止まらずに逃げてしまうと1回転分の削り残しが生まれて径が大きくなる上、いびつな円になってしまいますからね。
そのための停止時間について、主軸一回転あたりの時間(秒)を求めることで最適な時間を導き出すことができます。
その計算式は・・・
最小の停止時間=60/回転数
です。
回転数の単位がmin^-1ですので回転数の逆数に60をかければ秒数になりますよね。
たとえば800回転のときに主軸が1回転する間停止させるには
60/800で0.075秒になります。
2回転分の時間も止めておけば十分ですので0.15秒くらい止めておけばOKということです。
とはいえわざわざ毎回計算するのも面倒ですので、多少の刃先の摩耗はありますが全て1秒くらい止めてしまうのが現実的です。
数物は計算してプログラムを組んでおくと、時間的、刃物的なメリットが出てきます!
Sコードと一緒に使うGコード(G96,G97,G50)
他に大変重要なGコードとして、G96,G97,G50があります。
これらのGコードはSコードといっしょにつかう特徴があるため、Sコードの回で解説しています。
こちらの記事をご覧ください(^^
次回は固定サイクル
今回は基本的なGコードを解説しました。
加工の基本となるGコードですのでしっかり押さえておきましょう(^^
次回はNC旋盤の加工で大変便利な固定サイクルのGコードを解説します!
コメント