LBL でのネスティング
用途
プログラムセクションの反復とサブプログラムを相互に組み合わせたり、他のプログラミング手法と組み合わせたりすることができます (例:別の NC プログラムを呼び出す)。
呼出しのたびに原点に戻る場合、使用するネスティングレベルは 1 つだけです。原点に戻る前に別の呼出しをプログラムすると、ネスティングレベルが 1 つ下がります。
関連項目
- サブプログラム
- プログラムセクションの反復
- 個別 NC プログラムを呼び出す
機能説明
最大ネスティング深さに注意してください。
- サブプログラムの呼出しの最大ネスティング深さ:19
- 外部 NC プログラムの最高ネスティングレベル:19。ただし、CYCL CALL が外部プログラムの呼出しと同様に作用します
- プログラムセクションの反復は任意の頻度でネスティングさせることができます
例
サブプログラム内でのサブプログラム呼出し
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
0 BEGIN PGM UPGMS MM | |
* - ... | |
11 CALL LBL “UP1“ | :サブプログラム LBL "UP1" を呼び出す |
* - ... | |
21 L Z+100 R0 FMAX M30 | :M30 によるメインプログラムの最後のプログラムブロック |
22 LBL “UP1“ | :サブプログラム "UP1" の最初 |
* - ... | |
31 CALL LBL 2 | :サブプログラム LBL 2 を呼び出す |
* - ... | |
41 LBL 0 | :サブプログラム "UP1" の最後 |
42 LBL 2 | :サブプログラム LBL 2 の最初 |
* - ... | |
51 LBL 0 | :サブプログラム LBL 2 の最後 |
52 END PGM UPGMS MM |
NC プログラムは次のように処理されます:
- NC プログラム UPGMS は NC ブロック 11 まで実行されます。
- サブプログラム UP1 が呼び出され、NC ブロック 31 まで実行されます。
- サブプログラム 2 が呼び出され、NC ブロック 51 まで実行されます。サブプログラム 2 の終了後、それを呼び出したサブプログラムに戻ります。
- サブプログラム UP1 は NC ブロック 32 から NC ブロック 41 まで実行されます。サブプログラム UP1 の終了後、NC プログラム UPGMS に戻ります。
- NC プログラム UPGMS が NC ブロック 12 から NC ブロック 21 まで実行されます。プログラムの終了後、NC ブロック 0 に戻ります。
プログラムセクションの反復内でのプログラムセクションの反復
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
0 BEGIN PGM REPS MM | |
* - ... | |
11 LBL 1 | :プログラムセクション 1 の最初 |
* - ... | |
21 LBL 2 | :プログラムセクション 2 の最初 |
* - ... | |
31 CALL LBL 2 REP 2 | :プログラムセクション 2 を呼び出して、2 回繰り返す |
* - ... | |
41 CALL LBL 1 REP 1 | :プログラムセクション 2 を含むプログラムセクション 1 を呼び出して、1 回繰り返す |
* - ... | |
51 END PGM REPS MM |
NC プログラムは次のように処理されます:
- NC プログラム REPS は NC ブロック 31 まで実行されます。
- NC ブロック 31 と NC ブロック 21 の間のプログラムセクションが 2 回繰り返され、合計 3 回処理されます。
- NC プログラム REPS が NC ブロック 32 から NC ブロック 41 まで実行されます。
- NC ブロック 41 と NC ブロック 11 の間のプログラムセクションが 1 回繰り返され、合計 2 回処理されます (NC ブロック 21 と NC ブロック 31 の間のプログラムセクションの反復を含む)。
- NC プログラム REPS が NC ブロック 42 から NC ブロック 51 まで実行されます。プログラムの終了後、NC ブロック 0 に戻ります。
プログラムセクションの反復内でのサブプログラム呼出し
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
0 BEGIN PGM UPGREP MM | |
* - ... | |
11 LBL 1 | :プログラムセクション 1 の最初 |
12 CALL LBL 2 | :サブプログラム 2 を呼び出す |
13 CALL LBL 1 REP 2 | :プログラムセクション 1 を呼び出して、2 回繰り返す |
* - ... | |
21 L Z+100 R0 FMAX M30 | :M30 によるメインプログラムの最後の NC ブロック |
22 LBL 2 | :サブプログラム 2 の最初 |
* - ... | |
31 LBL 0 | :サブプログラム 2 の最後 |
32 END PGM UPGREP MM |
NC プログラムは次のように処理されます:
- NC プログラム UPGREP は NC ブロック 12 まで実行されます。
- サブプログラム 2 が呼び出され、NC ブロック 31 まで実行されます。
- NC ブロック 13 と NC ブロック 11 の間のプログラムセクション (サブプログラム 2 を含む) が 2 回繰り返され、合計 3 回処理されます。
- NC プログラム UPGREP が NC ブロック 14 から NC ブロック 21 まで実行されます。 プログラムの終了後、NC ブロック 0 に戻ります。