CNC Path Analyzer

G00早送りとG01直線切削:同じ直線に見えても違う理由

G00とG01の違いを、速度、経路の形、モーダルの性質、安全高さの観点から説明します。フライスの例で、アプローチ・切込み・切削・退避の順序を経路図とあわせて読む方法をまとめました。

ひとことで言うと

G00は「できるだけ速くその座標へ行け」、G01は「指定した送り速度Fで正確に直線を描いて行け」という指令です。どちらも終点の座標だけを書く点は同じですが、工具が素材に触れてよいかどうかがまったく違います。

G00とG01の速度の違い

G00はプログラムのF値を無視し、機械パラメータに設定された軸ごとの早送り速度で動きます。マシニングセンタなら毎分数十メートルに達することも珍しくありません。速度を下げられるのは操作盤の早送りオーバライド(通常F0・25%・50%・100%)だけです。

G01には必ず送り速度が必要です。同じブロックか前のブロックで指定されたFを使い、単位はG94(毎分送り、mm/min)かG95(回転当たり送り、mm/rev)かで変わります。旋盤では同じ意味でG98/G99を使う制御装置が多くあります。一度もFが指定されていない状態でG01に来ると、ほとんどの制御装置はアラームを出します。

経路の形:G00は直線とは限らない

画面ではG00も始点と終点を結ぶ線で描かれることが多いのですが、実機では違う場合があります。多くの制御装置が初期設定で各軸をそれぞれの最高速度で同時にスタートさせるからです。たとえばXに100mm、Yに20mmをG00で移動すると、Yが先に着き、残りの区間はXだけが動くため、経路は折れ線(ドッグレッグ)になります。

FANUC系ではパラメータで直線形の早送り位置決めを選べますが、設定は機械ごとに異なります。そのため熟練者は、G00の移動がクランプやバイスの近くを通るときに先にZを上げてからXYを動かすというように軸を分けて書きます。例のG00 X-10. Y5. Z50.は、工具がすでに高い位置にあるという前提でのみ安全です。

例で見るアプローチ・切込み・切削・退避

安全高さからアプローチし、深さ2mmでコの字の溝をたどるフライス経路

O2001
T1 M6
G21 G90 G17 G40 G49 G80 G94
G54
S3000 M03
G00 X-10. Y5. Z50.
Z3.
G01 Z-2. F80
X60. F300
Y25.
X-10.
G00 Z50.
M30
安全高さからアプローチし、深さ2mmでコの字の溝をたどるフライス経路 — XY 経路XY
破線の淡い青はG00早送り、オレンジの実線は切削移動です。円弧は計算した曲線として静的に表示します。

上図はこのプログラムをCNC Path Analyzerで解析した結果です (早送り 3 区間, 直線切削 4 区間).

原文を1行ずつ読む

  1. G21 G90 G17 G40 G49 G80 G94:mm単位、アブソリュート座標、XY平面、工具径補正・工具長補正・固定サイクルのキャンセル、毎分送り。プログラムの冒頭でモーダル状態を初期化する安全ブロックです。
  2. G00 X-10. Y5. Z50.:素材の外側上方へ早送りでアプローチします。
  3. Z3.:G00はモーダルなので、まだ早送りです。素材上面(Z0)の3mm上まで素早く下ります。
  4. G01 Z-2. F80:ここから切削です。垂直に切り込む区間なのでF80でゆっくり下ります。
  5. X60. F300:G01のまま送りだけF300に上げて、X方向に溝を削ります。
  6. Y25.、X-10.:同じG01・F300でコの字の経路を仕上げます。
  7. G00 Z50.:早送りで安全高さまで退避します。

一度指定すると有効な状態が続くモーダル指令

G00とG01は同じグループ(01グループ)に属するモーダル指令です。一度指令すると、同じグループの別のコード(G01、G02、G03、固定サイクルなど)が出るまで有効であり続けます。例でY25.のように座標だけの行が切削として動くのはこのためです。

この性質が原因の代表的な事故が「G00と思い込んだG01」とその逆です。プログラムを修正しながらG01が書かれたブロックを消し、次の行の座標が素材の内側だった場合、その行は直前のモードであるG00として解釈され、工具が切削送りではなく早送りで素材に入ることがあります。ブロックを消したり順序を入れ替えたりするときは、上下の行のモードが何になるかを必ず確認し直してください。

いつ何を使うか

状況推奨理由
工具交換後に素材の近くへ移動G00工具は空中にあり、時間短縮が重要
素材上面の数mm上まで下降G00ただし素材の高さと工具長補正が確実なときだけ
素材に切り込む最初の移動G01 + 低いF刃先の保護、切込み時の衝撃を減らす
輪郭・溝の切削G01 / G02 / G03決まった速度と経路が品質を決める
加工後の退避G00まず加工面から垂直に離れてから移動

数字でつかむ:F値と加工時間

毎分送りF300は1分間に300mm動くという意味です。例の切削区間はX 70mm、Y 20mm、X 70mmで合計160mmなので、正味の切削時間は160 ÷ 300 ≈ 0.53分、約32秒です。垂直切込み5mm(Z3 → Z-2)はF80なので、5 ÷ 80 × 60 ≈ 3.8秒が加わります。

同じF300を1枚の刃が削る厚みに換算すると、工具の負荷を見積もれます。2枚刃エンドミルがS3000で回ると1分間に6,000回刃が通過するので、一刃当たり送りは300 ÷ 6,000 = 0.05mmです。工具カタログの推奨一刃当たり送りと比べてFを決めると、勘で決めるよりも工具寿命が安定します。

値計算式例
切削時間(分)移動距離 ÷ F160 ÷ 300 = 0.53
一刃当たり送り(mm)F ÷ (S × 刃数)300 ÷ (3000 × 2) = 0.05
回転当たり送り(mm/rev)F ÷ S300 ÷ 3000 = 0.1

CNC Path Analyzerで確認する方法

ツールでは早送り区間と切削区間が別の色と線の形で表示され、再生中は現在のブロックが原文で強調されます。早送りの線が素材の領域を横切っていたり、切削の線が予想より高い位置から始まっていたりしたら、まずG00/G01のモード切り替えやZの値を疑ってください。円弧の移動はG02・G03円弧補間の記事に続きます。

よくある質問

G0とG00は同じ指令ですか?
はい。先頭の0は省略できるので、G0とG00、G1とG01はそれぞれ同じ意味です。社内ルールに合わせて表記を1つにそろえると、チェックが楽になります。
G00にFを書くとどうなりますか?
G00の移動そのものには影響しませんが、そのF値はモーダルとして記憶され、後のG01ブロックで使われることがあります。意図しない送り速度の原因になるため、G00ブロックにはFを書かないほうが安全です。

次のステップ

CNC Path Analyzerで経路を確認