「なんで!?」と叫んだあの日。原因はL0・K0の記入漏れ。固定サイクルがその場で加工を始めてしまう原因と対策を解説

NCコード

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

固定サイクル(G81、G83、G84…)で穴あけ加工をしていたら、座標移動しないでその場に穴開けてる…。

しかも最初は「なぜこんなことになったのか」まったく分からない。

私自身、初めてこの現象に遭遇したときは本当に困惑しました。

でも調べてみたら、ある**“たった一文字”**が抜けていたんです。

原因は「L0」の抜け

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

(※機械によっては「K0」を使うケースもありますが、ここでは「L0」で統一します。)

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

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 Y10・X20 Y20に移動してさらに穴を開けてしまいます。

X0 Y0に穴を開ける予定なんてなかったのに…

対策

「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」を使わない方法もある

「L0」を使わずに、加工前に最初の座標へ移動しておく方法もあります。

ただし、G81後の1点目は削除しないと、同じ位置で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のあとに書かないこと!

サブプログラムでスッキリ管理

穴あけ加工は、

  • センタリング
  • ドリル
  • リーマ・タップ

と、同じ座標に複数の工具を使うことが多いですよね。

1ツールずつ座標を書き直すのは非効率だし、ミスの原因にもなります。

そこで活用したいのが「サブプログラム+L0」の組み合わせ!

【例】サブプログラム活用でミス防止

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

複数の工具で同じ位置に加工するときに座標を使いまわせるので、管理も楽になります。

注意:機械によって「K0」を使うことも

FANUC系の機械でも、「L0」だったり「K0」だったりすることがあります。

私が使っていた現場でも、

  • 機械A:L0
  • 機械B:K0

と違っていて、移行時にK0への書き換え忘れで不良品が発生したこともありました。

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

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

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

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

まとめ:L0(K0)を正しく使って不良品を防ごう

  • 「L0」なしだと、現在位置から穴あけが始まってしまう
  • 固定サイクル前にL0をつける or 先に座標へ移動しておくことで対策可能
  • サブプログラムと組み合わせると、編集・再利用が楽になる
  • 「K0」や「NCYL」など機種ごとの違いも確認しておく
社内で「L0をつける派」「つけない派」が分かれていると事故が起きやすいです。
統一ルールを作っておくと安心ですね!(うちは人によってバラバラなので苦労してます…)