Annidamento di tecniche di programmazione
Applicazione
È anche possibile combinare tra loro tecniche di programmazione, ad es. per richiamare in una ripetizione di blocchi di programma un altro programma NC separato o un sottoprogramma.
Se si ritorna all'origine dopo ogni chiamata, si utilizza soltanto un livello di annidamento. Se prima del ritorno all'origine si programma un'altra chiamata, si raggiunge un livello di annidamento più basso.
Argomenti trattati
- Sottoprogrammi
- Ripetizioni di blocchi di programma
- Chiamata di un programma NC separato
Descrizione funzionale
Tenere presente i livelli di annidamento massimi:
- Massimo livello di annidamento per chiamate di sottoprogrammi: 19
- Livello massimo di annidamento per chiamate di programmi NC esterni: 19, dove CYCL CALL ha lo stesso effetto di una chiamata di un programma esterno
- Le ripetizioni di parti di programma possono essere concatenate un numero di volte qualsiasi
Esempio
Chiamata del sottoprogramma all'interno di un sottoprogramma
0 BEGIN PGM UPGMS MM | |
* - ... | |
11 CALL LBL “UP1“ | ; Chiamata del sottoprogramma LBL "UP1" |
* - ... | |
21 L Z+100 R0 FMAX M30 | ; Ultimo blocco del programma principale con M30 |
22 LBL “UP1“ | ; Inizio del sottoprogramma "UP1" |
* - ... | |
31 CALL LBL 2 | ; Chiamata del sottoprogramma LBL 2 |
* - ... | |
41 LBL 0 | ; Fine del sottoprogramma "UP1" |
42 LBL 2 | ; Inizio del sottoprogramma LBL 2 |
* - ... | |
51 LBL 0 | ; Fine del sottoprogramma LBL 2 |
52 END PGM UPGMS MM |
Il controllo numerico esegue il programma NC come descritto di seguito:
- Esecuzione del programma NC UPGMS fino al blocco NC 11.
- Chiamata del sottoprogramma UP1 e relativa esecuzione fino al blocco NC 31.
- Richiamo sottoprogramma 2 e relativa esecuzione fino al blocco NC 51. Fine del sottoprogramma 2 e salto di ritorno al sottoprogramma dal quale è stato richiamato.
- Esecuzione del sottoprogramma UP1 dal blocco NC 32 al blocco NC 41. Fine del sottoprogramma UP1 e salto di ritorno al programma NC UPGMS.
- Esecuzione del programma NC UPGMS dal blocco NC 12 al blocco NC 21. Fine programma con salto al blocco NC 0.
Ripetizione di blocchi di programma all'interno di una ripetizione di blocchi di programma
0 BEGIN PGM REPS MM | |
* - ... | |
11 LBL 1 | ; Inizio dei blocchi di programma 1 |
* - ... | |
21 LBL 2 | ; Inizio dei blocchi di programma 2 |
* - ... | |
31 CALL LBL 2 REP 2 | ; Chiamata dei blocchi di programma 2 e ripetizione per due volte |
* - ... | |
41 CALL LBL 1 REP 1 | ; Chiamata dei blocchi di programma 1 incl. blocchi di programma 2 e ripetizione per una volta |
* - ... | |
51 END PGM REPS MM |
Il controllo numerico esegue il programma NC come descritto di seguito:
- Esecuzione del programma NC REPS fino al blocco NC 31.
- Ripetizione per due volte dei blocchi di programma tra il blocco NC 31 e il blocco NC 21; nel complesso esecuzione per tre volte.
- Esecuzione del programma NC REPS dal blocco NC 32 al blocco NC 41.
- Ripetizione per una volta dei blocchi di programma tra il blocco NC 41 e il blocco NC 11, ossia nel complesso esecuzione per due volte (contiene la ripetizione di blocchi di programma tra il blocco NC 21 e il blocco NC 31).
- Esecuzione del programma NC REPS dal blocco NC 42 al blocco NC 51. Fine programma con salto al blocco NC 0.
Chiamata del sottoprogramma all'interno di una ripetizione di blocchi di programma
0 BEGIN PGM UPGREP MM | |
* - ... | |
11 LBL 1 | ; Inizio dei blocchi di programma 1 |
12 CALL LBL 2 | ; Chiamata del sottoprogramma 2 |
13 CALL LBL 1 REP 2 | ; Chiamata dei blocchi di programma 1 e ripetizione per due volte |
* - ... | |
21 L Z+100 R0 FMAX M30 | ; Ultimo blocco NC del programma principale con M30 |
22 LBL 2 | ; Inizio del sottoprogramma 2 |
* - ... | |
31 LBL 0 | ; Fine del sottoprogramma 2 |
32 END PGM UPGREP MM |
Il controllo numerico esegue il programma NC come descritto di seguito:
- Esecuzione del programma NC UPGREP fino al blocco NC 12.
- Richiamo sottoprogramma 2 e relativa esecuzione fino al blocco NC 31.
- Ripetizione per due volte dei blocchi di programma tra il blocco NC 13 e il blocco NC 11 (incl. sottoprogramma 2); nel complesso esecuzione per tre volte.
- Esecuzione del programma NC UPGREP dal blocco NC 14 al blocco NC 21. Fine programma con salto al blocco NC 0.