Nesting van programmeertechnieken

Toepassing

U kunt ook programmeertechnieken met elkaar combineren, bijvoorbeeld in een herhaling van een programmadeel een ander, afzonderlijk NC-programma of een subprogramma oproepen.

Wanneer u na elke oproep weer teruggaat naar de oorsprong, gebruikt u slechts één nestingniveau. Als u nog een oproep programmeert voordat u terugkeert naar de oorsprong, komt u een nesting-niveau lager uit.

Functiebeschrijving

Let op de maximale nesting-diepten:

  • Maximale nesting-diepte voor oproepen van subprogramma's: 19
  • Maximale nesting-diepte voor oproepen van externe NC-programma's: 19, waarbij een CYCL CALL actief is als een oproep van een extern programma
  • Programmadeelherhalingen mogen willekeurig vaak worden genest.

Voorbeeld

Subprogramma-oproep binnen een subprogramma

0 BEGIN PGM UPGMS MM

* - ...

11 CALL LBL “UP1“

; Subprogramma LBL "UP1" oproepen

* - ...

21 L Z+100 R0 FMAX M30

; Laatste programmaregel van het hoofdprogramma met M30

22 LBL “UP1“

; Begin van subprogramma "UP1"

* - ...

31 CALL LBL 2

; Subprogramma LBL 2 oproepen

* - ...

41 LBL 0

; Einde van subprogramma "UP1"

42 LBL 2

; Begin van subprogramma LBL 2

* - ...

51 LBL 0

; Einde van subprogramma LBL 2

52 END PGM UPGMS MM

De besturing werkt het NC-programma als volgt af:

  1. ; NC-programma UPGMS wordt tot NC-regel 11 uitgevoerd.
  2. ; Subprogramma UP1 wordt opgeroepen en tot NC-regel 31 uitgevoerd.
  3. Subprogramma 2 wordt opgeroepen en tot NC-regel 51 uitgevoerd. ; Einde van subprogramma 2 en terugspringen naar het subprogramma van waaruit het opgeroepen werd.
  4. Subprogramma UP1 wordt van NC-regel 32 tot NC-regel 41 uitgevoerd. Einde van subprogramma UP1 en terugspringen naar het NC-programma UPGMS.
  5. NC-programma UPGMS wordt van NC-regel 12 tot NC-regel 21 uitgevoerd. Programma-einde met terugspringen naar NC-regel 0.

Herhaling van een programmadeel binnen een herhaling van een programmadeel

0 BEGIN PGM REPS MM

* - ...

11 LBL 1

; Begin van het programmadeel 1

* - ...

21 LBL 2

; Begin van het programmadeel 2

* - ...

31 CALL LBL 2 REP 2

; Programmadeel 2 oproepen en twee keer herhalen

* - ...

41 CALL LBL 1 REP 1

; Programmadeel 1 incl. programmadeel 2 oproepen en een keer herhalen

* - ...

51 END PGM REPS MM

De besturing werkt het NC-programma als volgt af:

  1. NC-programma REPS wordt tot NC-regel 31 uitgevoerd.
  2. Programmadeel tussen NC-regel 31 en NC-regel 21 wordt twee keer herhaald, dus in totaal drie keer afgewerkt.
  3. NC-programma REPS wordt van NC-regel 32 tot NC-regel 41 uitgevoerd.
  4. Programmadeel tussen NC-regel 41 en NC-regel 11 wordt één keer herhaald, dus in totaal twee keer afgewerkt (omvat de herhaling van het programmadeel tussen NC-regel 21 en NC-regel 31).
  5. NC-programma REPS wordt van NC-regel 42 tot NC-regel 51 uitgevoerd. Programma-einde met terugspringen naar NC-regel 0.

Subprogramma-oproep binnen een herhaling van een programmadeel

0 BEGIN PGM UPGREP MM

* - ...

11 LBL 1

; Begin van het programmadeel 1

12 CALL LBL 2

; Subprogramma 2 oproepen

13 CALL LBL 1 REP 2

; Programmadeel 1 oproepen en twee keer herhalen

* - ...

21 L Z+100 R0 FMAX M30

; Laatste NC-regel van het hoofdprogramma met M30

22 LBL 2

; Begin van subprogramma 2

* - ...

31 LBL 0

; Einde van subprogramma 2

32 END PGM UPGREP MM

De besturing werkt het NC-programma als volgt af:

  1. NC-programma UPGREP wordt tot NC-regel 12 uitgevoerd.
  2. Subprogramma 2 wordt opgeroepen en tot NC-regel 31 uitgevoerd.
  3. Programmadeel tussen NC-regel 13 en NC-regel 11 (incl. subprogramma 2) wordt twee keer herhaald, dus in totaal drie keer afgewerkt.
  4. NC-programma UPGREP wordt van NC-regel14 tot NC-regel 21 uitgevoerd. Programma-einde met terugspringen naar NC-regel 0.