NCデータの話、補間編、多分。

G00~G03の話
Gコードって謎だらけなので、自身の整理を兼ねて書き出してみます。
座標値は記載しない限りG90モードの前提です。

G00→位置決め

工作機械の最大速度で指定された座標に移動します。
基本的には、ワーク(被切削物)に干渉、衝突の可能性のない箇所で使用します。G00では各軸の最大速度で移動します。基本的には、「非直線補間」となります。

例えば現在位置X0Y0から
「G90 G00 X1000.0 Y1000.0」と指令したら斜め45度に動くと思ってしまいますが、実際はそうならないです。
X軸側の最大速度がF10000、Y軸側の最大速度がF8000だと、最短距離の移動とはならないですね。このように、G00では「各軸の最大速度で」指定された座標へ移動します。指定しなかった座標値はそのままなので、「G00 X2000.0」と指定したらX軸だけ動き、真横の移動となります。これは他のGコードでも共通ですが、指定されなかったアドレスについてはなにも起きません。

加工後であれば、
「G90 G00 Z100.0」「G00 X0 Y0」のように、Z軸だけ移動し、その後でXY軸と移動することが多いようです。

G01→直線補間

G01では指定された送り速度で、指定された座標への移動です。「G90G01X100.Y100.F300」のように指定します。
先にF値を指定していればF値は省略できます。F値もモーダル(指定するまで前回値を覚えている)です。G01はG00と違ってちゃんと最短距離での移動となります。
第4軸とか第5軸が出てきたらややこしくなるのですが、今は無視します。
送り速度が0だとアラームです。たしか。
G01だけ指令してもアラームにはなりません。モーダルのGコードが更新されるだけで、移動は起きません。
位置決めもG00じゃなくてG01F10000とかでええやん……と思った方、いると思います。そうですよね、今どきの制御装置とサーボモータならそんな制御簡単にできると思います。
「G01 X1000.0 Y1000.0 FMAX」みたいな指令、できたらいいですね。
ハイデンハインってメーカーの制御装置だとあるんですが……あれはLコードなので……
「L X1000.0 Y1000.0 FMAX」みたいな記述をします。この「L」がG01に相当します。
私は実際にハイデンハインのコントローラ触ったことないんで、そんな感じらしいです。しらんけど。

G02とG03→円弧補間

まっすぐの次は円弧です。が、これはちょっとややこしいです。
G02が時計回り、G03が反時計回りです。
まれにCWとCCW(ClockWiseとCounterClockWise)と略されることもあります。
で、必要なアドレスが行き先の座標値と半径、もしくは先の座標値と円弧の中心座標となります。
はぁ?なにそれ?

半径を指定する場合

現在座標から目標の座標に指定された円弧を描く場合、大円弧と小円弧の2つが存在します。
例えば、現在位置「X0Y0」の状態で、「G03 X10.0 Y10.0 R50.0」といった場合、小さい方の円弧が描かれます。「G03 X10.0 Y10.0 R-50.0」とすると、大円弧を描きます。
……謎ですね。半径がマイナス値。でもいまさら変えられない、「そういうもん」です。自分はそのように解釈しています。
さらにもう一つ問題?があって、一周円の動きを表現できません。
穴の内側をエンドミルできれいにしようかなってとき、1周につき2行記載が必要になります。
「G02 R50.0」のように記述しても、なにも起きません。仕様です。
もう一つ重要な問題がありまして、半径の大きい円弧をアドレスRで記述すると、誤差でアラームになりやすいという問題があります。また、180度に近い円弧を記述すると、誤差が生じやすいです。
そういうものです。たぶん。

円弧中心座標を指定する場合

上記問題点は、アドレスIJKを使用することで解消できます。
I、J、Kはそれぞれ、現在位置から見た円弧中心XYZ座標をインクレメンタル値で示します。
……え?わからん。
そうです、このIJKによる記述は人間の頭では計算しにくいんです。
その代わり、アラームはまず起きません。また、1周円も1行で記述できます。もしもRとIJK両方1行に記述した場合、Rが優先されます。
現実的には、NCデータを手組みするときはRで、CAMなどのソフトを使用するときはIJKで記述されることが多いです。

平面選択と回り方向

ところで、G02が時計回りでG03が反時計回りですとは言ったものの、側面を加工するときは一体どの視線からの時計回りでしょうか、という問題があります。
上面だけ加工していれば気にしなくていいんですが、まれに問題になります。

ここで重要になるのが平面指定(G17~19)です。
その視線方向からの回り方向となるからです。
それはまた、平面選択のときにでも。たぶん。
続くかもしれないし、続かない可能性のほうが高い。

この記事が気に入ったらサポートをしてみませんか?