NCマクロ【ヘリカル加工のプログラム例を掲載】(ファナック編)

NCプログラム

マシニングセンタで穴の加工や、ねじ切り加工をするときヘリカル補間を使うことがあります。しかし、プログラムを毎回作るのは大変ですよね。そんなときマクロプログラムで作っておくと、次回以降プログラミングがとても楽になります

今回の記事は

  • ヘリカル補間で穴の加工をしているけど、毎回作り直すのが面倒だ。
  • ヘリカル補間を使ったマクロプログラムを作りたいけど、よくわからない。

そんな人のため、「機械加工歴20年のセドヤ」がヘリカル加工のマクロプログラムを紹介します。

最後まで読むと掲載してあるサンプルプログラムから自分好みのヘリカル補間のマクロプログラムを作れるようになります

マクロプログラムの基本的な説明はこちら⇓
NCプログラムのマクロを説明(ファナック編)

ヘリカル補間についてはこちら⇓
ヘリカル加工のプログラムの作り方

ヘリカル穴加工する手順

最初にどのようなマクロにするかを決めます。マクロをプログラム登録しておき、ヘリカル加工したいときに、各メインプログラムから G65又はG66 で呼び出して使うようにします

どんな動きのマクロにするのかを決める

「ヘリカル補間を使った穴加工のマクロ」と言っても具体的な動きを決めないと作れません。

今回のヘリカル穴加工のマクロ

  • マクロのスタート位置は穴の中心
  • 複数個の穴にも使えるように作る(インクレメンタル指令を使う)
  • 反時計回り(G3)のヘリカル補間で加工
  • 加工終了後は穴の中心に戻り、安全や高さまで工具を逃がしてマクロ終了

マクロの変数を決める

マクロで使う変数は以下の通りです。
G65でアドレスIとJ を使います。必ずIはJより前に入力してください。

ローカル変数アドレス説明引数のない場合
#18Rレファレンス点エラー※
#17Q切り込み量エラー※
#26Z最終加工高さエラー※
#4I逃げ高さエラー※
#5J円弧半径エラー※
#9F送り速度モーダルFコードに従う
#12引数Rの保存用

エラー処理について
誤作動を防ぐため、N9999 に分岐してM0プログラムストップします。

  • エラーの条件
    1. R、Q、Z、I、Jのいずれかの引数がない。
    2. J円弧半径が 0 以下の数値。
    3. I 逃げ高さ よりR点が大きい。
    4. R点よりZ最終高さが大きい。

ヘリカル穴加工のサンプルプログラム

注意事項
掲載されているプログラム例には、見やすくするためにスペースを入れています。
掲載してあるプログラムを利用して不利益を負ったとしても、一切の責任を負いかねますのでご了承ください。

メインプログラム O1
サブプログラム O500

ヘリカル穴加工のサンプルプログラム

O1 (MAIN PROGRAM)
G0 G90 G54 X0 Y0
G43 Z100. H1
S1000 M3
G65 P500 R2.2 Q2. Z-50. I50. J7.5 F200
M30

O500 (MACRO HELICAL)
(#18 R) (#17 Q) (#26 Z)
(#4 I/NIGE TAKASA)
(#5 J/ENKO)
(#9 F/OKURI)
IF [ #18 EQ #0 ] GOTO 9999 ( R/ NOT SET)
IF [ #26 EQ #0 ] GOTO 9999 ( Z/ NOT SET)
IF [ #4 EQ #0 ] GOTO 9999 ( I/ NOT SET)
IF [ #5 EQ #0 ] GOTO 9999 ( J/ NOT SET)
IF [ #5 LE 0 ] GOTO 9999 ( J/ LE 0)
IF [ #18 LE #26 ] GOTO 9999 ( R LE Z ERROR)
IF [ #4 LT #18 ] GOTO 9999 ( I LT R ERROR)
IF [ #17 EQ #0 ] GOTO 9999 ( Q/ NOT SET)
IF [ #17 EQ 0 ] GOTO 9999 ( Q=0 ERROR)
#17=ABS [ #17 ]
#12=#18 (R/ SAVE)
G0 G90 Z#4 (NIGE TAKASA)
Z#18
G1 G91 Y#5 F#9
WHILE [#18 GT #26] DO 1
#18=#18-#17
IF [ #18 LT #26 ] THEN #18=#26
G90 G3 J-#5 Z#18
END 1
G90 G3 J-#5
G1 G91 Y-#5
G0 G90 Z#4
#18=#12(R/ MODOSU)
M99
N9999
M0 (ALARM)
GOTO 9999

黄色のマーカーのブロックがヘリカル補間です。

  • G90 G3 J-#5 Z#18

G91 (インクレメンタル指令)でY座標をヘリカル補間の開始位置に移動してから、ヘリカル補間自体は G90 (アブソリュート指令)で作っています。Zの値を G91で考えると少し難しくなるためです。

Z0.2から切込み2㎜でヘリカル加工します。
G90C3J-7.5Z-49.8 (終了1回前の切込み)
G90C3J-7.5Z-50. (最後の切り込み)
以上のように加工が終了します。

その他の不明点はこちら ⇓ 確認していただけます。
NCプログラムのマクロを説明(ファナック編)

まとめ:NCマクロプログラム【ヘリカル加工の作り方】

マクロプログラムを作るときは最初にどのような処理をするマクロにするか明確にして、必要な変数を決めておくと実際のプログラミング作業がスムーズに行えます。それでも、実際に作り出すと、「やっぱりこうしようか?」とか「この方が使いやすい気がする」など思って、作業が進まなくなることがあります。
対処法として、まずは最初に考えたマクロを完成させてから、その後、手直しをすることをお勧めします。

いかがでしたか?
今回紹介したヘリカル加工用のマクロプログラムはシンプルに作っています。使いやすいようにアレンジしてみてください。

以上で終わりです。
最後まで読んでいただきありがとうございます。