こんな経験ありませんか?
「え、指定したX座標に行く前に穴が開き始めた…?」
初めて見たときは焦る現象です。
僕も最初は「なんで?」状態でした。
原因は 「NCYL」が入っていなかったこと でした。
原因は「NCYL」の抜け
「NCYL」がないと、現在位置から固定サイクルが始まるため、工具長確認位置(例:X0 Y0)で穴が開いてしまいます。
N1
G90 G00 X0. Y0.
G81 Z-1. R3. F200. ← NCYLがない!
X10. Y10.
X20. Y20.
G80
この場合、X0 Y0で穴を開けた後、X10 Y10・X20 Y20に移動して加工されます。
予定していない位置で穴が開くことになります。
対策
「NCYL」をつけて正しく動作させる
NCYLをつければ、移動してから加工開始になります。
N2
G90 G00 X0. Y0.
NCYL G81 Z-1. R3. F200.
X10. Y10.
X20. Y20.
G80
これだけで、指定座標だけで穴を開けられます。
加工前に座標移動
「NCYL」を使わず、加工前に座標へ移動する方法もあります。
ただし、G81後の1点目は削除しないと 同じ位置で2回穴あけ になるので注意してください。
N3
G90 G00 X10. Y10.
G81 Z-1. R3. F200.
X20. Y20.
G80
注意:G81の前に座標を書くこと。
NCYLを使うメリット
固定サイクル内で座標管理がしやすく、ミス防止になります。
サブプログラムと組み合わせると、複数工具でも同じ座標を再利用可能です。
別工具でも同じ座標を使えるので編集が楽になります。
穴あけ加工は、センタリング(もみつけ)→ドリル(下穴)→タップやリーマ(仕上げ)といった感じで、同じ座標で複数のツールを使います。
ツールごとに座標を書いたり編集をするのは面倒くさいしミスにもつながります。
「NCYL」を使って、座標をサブプログラムに収めて使いまわすことができれば、プログラムがすっきりするし編集も簡単になります。
N1(CENTERING)
NCYL G81 Z-1. R3. F500.
CALL O101
G80
N2(DRILLING)
NCYL G83 Z-15. R3. Q3.F500.
CALL O101
G80
N3(REAMER)
NCYL G85 Z-10. R3.F500.
CALL O101
G80
...
O101
X10. Y10.
X20. Y10.
X30. Y10.
RTS
別の工具で同じ位置を加工するときも、座標はサブプロに書いてあるから再利用できます。
注意:FANUCとの違い
FANUCでは「L0」や「K0」を使います。
OSPでは 「NCYL」 が対応する関数です。
現場で混同しないよう注意してください。
↓↓FANUCの「L0」(K0)に関する記事↓↓

まとめ
「NCYL」なしだと、現在位置から穴あけが始まる
固定サイクル前に NCYLを付ける or 先に座標移動 で対策可能
サブプログラムと組み合わせると、編集・再利用が簡単です