あるあるトラブル:「あれ、ここに穴あけたっけ?」
固定サイクル(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」など、機種ごとの仕様違いに注意