
以前は固定サイクルを使わないプログラムを解説しました。
今回は、固定サイクルとサブプログラムを使ったプログラムの作り方を解説します。
固定サイクルプログラムの基本のテンプレート
G15H1
T1M6
G90G0X0Y0T0
G56H1Z100
S1000M3
M8
NCYL G81Z-1.5R2F60
CALL O1
M9
G0Z100M5
M2
O1
X-10Y-10
X10
Y10
RTS
こんな動きをします

上のプログラムは、図のように、3点にセンタ穴をあけるプログラムです。
プログラムの黒字のところは、前回に解説した部分そのままで、赤字の部分だけを変化させればこのプログラムになります。
固定サイクルとサブプログラムさえ追加してしまえばよいわけです。
プログラムの意味を解説します
黒字の部分は前回解説したとおりです。
赤字の部分を解説していきますね。
NCYL G81Z-1.5R2F60→送り60mm/minで、Z2を基準としてZ-1.5まで穴あけサイクルを実行しろ
まずはG81。これは穴あけサイクルで、センタ穴をあける場合など、ステップのない穴あけを行う際に使う固定サイクルです。
Zは穴の終点、Rは切削開始点のZ座標、Fは送り速度を表しています。
NCYLは、現在いる位置ではサイクルを実行しないという意味です。スペースを開けないといけないので気をつけましょう。
今回固定サイクルを指令する前はX0,Y0の座標にいるため、NCYLがなければX0,Y0にも穴があいてしまいます。
ですがそもそもこれだけでは、どのX,Y座標に穴をあけるかを指令していませんね。これは次の行で指令しています。
CALL O1→O1のサブプログラムを呼び出せ
CALL O1は、O1のサブプログラムを呼び出すコードです。CALLとO1の間のスペースは必須です。
サブプログラムとは、上のプログラムの
O1
X-10Y-10
X10
Y10
RTS
の部分のこと。
O1とRTSで挟んだプログラムが、O1のサブプログラムになります。
ここでようやく、X-10,Y-10、X10,Y-10、X10,Y10の3箇所に穴をあける座標の指示を行うわけです。
O2とする場合でも同様で、O2とRTSで挟んでやればよいです。
G81固定サイクルの部分の具体的な動き方
具体的にどういう動きをするか、順を追って説明します。工具はセンタドリルとします。
- G81サイクルが実行される前は、X0Y0Z100の座標に刃先がある状態です。
- サブプログラム内の座標、X-10,Y-10に早送りで移動します
- R2としているため、Z2まで早送りで移動します。
- Z−1.5までF60mm/minの切削送りで穴をあけます。
- R2としているため、Z2まで早送りで戻ります
- サブプログラム内の座標、X10,Y-10に移動します
- Z−1.5までF60mm/minの切削送りで穴をあけます。
- ・・・以上の繰り返して3箇所穴があき、R点に戻った後、次のプログラムを読み込みます。
固定サイクルを入れ替えるだけで、様々な加工が可能
今回つかったのはG81ですが、その固定サイクルの一行を入れ替えるだけで様々な加工が行えます。
固定サイクルで主に使うのはG73でステップのある穴あけサイクル、G83の引き抜きながら穴をあける深穴あけサイクル、G84のタッピングサイクル、G336の真円サイクルといったところです。
こちらのページに固定サイクルの一覧が載っていましたので、参考にすれば大抵の固定サイクルは使えると思います。
是非活用してみてください!
コメント