【FANUC】固定サイクルで“その場に穴”が開く原因と対策

NCコード

あるあるトラブル:「あれ、ここに穴あけたっけ?」

固定サイクル(G81、G83、G84…)を使って穴あけ加工をしていたら──

 「座標移動せず、その場に穴が開いてる!」

そんな経験ありませんか?

私も初めて遭遇したときは「なんで?プログラム間違ってないはずなのに…」とかなり焦りました。
原因を突き止めてみると、たった一文字の記述漏れだったのです。

原因は「L0」の抜け

結論から言うと、「L0」が抜けていたのが原因。

「L0」を忘れると、固定サイクルが現在位置から開始してしまいます。
そのため、工具長確認の位置(例:X0 Y0)でいきなり穴を開けてしまうのです。

NG例(L0が抜けている)

N1
G90 G00 G54 X0. Y0. G43 H50 Z100. M1
S4000 M5
M8
Z50.
G99 G81 Z-1. R3. F200.   ← L0がない!
X10. Y10.
X20. Y20.
G80
M5 M9
G0 Z100. M1

この場合、X0 Y0で余計な穴が開いたあと、X10・X20に移動してさらに穴をあけてしまいます。

「X0 Y0に穴なんて開ける予定なかったのに…」という事故の典型例ですね。

対策① 「L0」をつけて正しく動作させる

最もシンプルなのは、L0を忘れず書くことです。

修正例(L0あり)

N2
G90 G00 G54 X0. Y0. G43 H50 Z100. M1
S4000 M5
M8
Z50.
G99 G81 Z-1. R3. F200. L0
X10. Y10.
X20. Y20.
G80
M5 M9
G0 Z100. M1

こうすれば「座標移動 → 加工開始」の順番になり、余計な穴は開かなくなります。

対策② L0を使わず、先に座標へ移動する

もうひとつの方法は、加工前に最初の座標へ移動しておくこと。

ただしこの場合、G81後の最初の座標は書かないように注意しないと、同じ位置で2回穴を開けてしまいます。

修正例(座標先出し)

N3
G90 G00 G54 X10. Y10. G43 H50 Z100. M1
S4000 M5
M8
Z50.
G99 G81 Z-1. R3. F200.
X20. Y20.
G80
M5 M9
G0 Z100. M1

※この場合「X10 Y10」はG81のあとに書かない!

サブプログラム+L0で効率化

穴あけ加工では、

  • センタリング

  • ドリル

  • リーマ/タップ

と、同じ座標に複数工具を使うのが一般的です。
毎回座標を書き直すのは非効率で、ミスの原因にもなります。

そこで役立つのが「サブプログラム+L0」の組み合わせ。

例:サブプログラム活用

G99 G81 Z-1. R3. F200. L0
M98 P1001 ← 座標はサブ内に
G80
O1001
X10. Y10.
X20. Y20.
M99

こうすれば、同じ座標を複数工具で流用でき、編集もスッキリします。

注意:機械ごとの違い

  • FANUC系 … 「L0」または「K0」

  • OKUMA(OSP) … 独自の「NCYL」

といった違いがあります。
実際に私の現場でも「L0派」と「K0派」が混在しており、移行時に書き換え忘れで不良品が出たことがありました。

 現場で使う機械がどっちを使うのか、必ず事前に確認!

 OSP(OKUMA)の場合:「NCYL」を使う

OKUMA(OSP)の機械では「L0」や「K0」ではなく、**独自の「NCYL」**を使います。

詳細はこちら👇
👉 https://tacmacblog.com/nc10/

まとめ

  • L0を忘れると、現在位置から穴あけが始まる

  • 対策は「L0をつける」か「先に座標へ移動しておく」

  • サブプログラムと組み合わせれば、編集効率アップ&ミス防止

  • 「K0」「NCYL」など、機種ごとの仕様違いに注意

社内で「L0をつける派」「つけない派」が分かれていると事故が起きやすいです。
統一ルールを作っておくと安心ですね!(うちは人によってバラバラなので苦労してます…)