Pakietowanie technik programowania

Zastosowanie

Techniki programowania możesz kombinować ze sobą, np. w powtórzeniu części programu wywołać inny, oddzielny program NC bądź podprogram.

Jeżeli po każdym wywołaniu powracasz do początku, to możesz używać płaszczyzny pakietowania. A jeżeli przed powrotem do początku programujesz dalsze wywołanie, to trafiasz o jedną płaszczyznę na głębszy poziom pakietowania.

Opis funkcji

Należy uwzględnić maksymalne głębokości pakietowania:

  • Maksymalna głębokość pakietowania dla wywołań podprogramów: 19
  • Maksymalna głębokość pakietowania dla wywołań zewnętrznych programów NC: 19, przy czym CYCL CALL działa jak wywołanie zewnętrznego programu
  • Powtórzenia części programu można dowolnie często pakietować

Przykład

Wywołanie podprogramu w obrębie podprogramu

0 BEGIN PGM UPGMS MM

* - ...

11 CALL LBL “UP1“

; wywołanie podprogramu LBL "UP1"

* - ...

21 L Z+100 R0 FMAX M30

; ostatni wiersz programu głównego z M30

22 LBL “UP1“

; początek podprogramu "UP1"

* - ...

31 CALL LBL 2

; wywołanie podprogramu LBL 2

* - ...

41 LBL 0

; koniec podprogramu "UP1"

42 LBL 2

; początek podprogramu LBL 2

* - ...

51 LBL 0

; koniec podprogramu LBL 2

52 END PGM UPGMS MM

Sterowanie odpracowuje program NC następująco:

  1. Program NC UPGMS zostaje wykonany do bloku NC 11.
  2. Podprogram UP1 zostaje wywołany i wykonany do bloku NC 31.
  3. Podprogram 2 zostaje wywołany i wykonany do bloku NC 51. Koniec podprogramu 2 i skok powrotny do podprogramu, z którego został on wywołany.
  4. Podprogram UP1 zostaje wykonany od bloku NC 32 do bloku NC 41. Koniec podprogramu UP1 i skok powrotny do programu NC UPGMS.
  5. Program NC UPGMS zostaje wykonany od bloku NC 12 do bloku NC 21. Koniec programu i skokiem powrotnym do wiersza NC 0.

Powtórzenia części programu w obrębie powtórzenia części programu

0 BEGIN PGM REPS MM

* - ...

11 LBL 1

; początek części programu 1

* - ...

21 LBL 2

; początek części programu 2

* - ...

31 CALL LBL 2 REP 2

; wywołanie części programu 2 i dwukrotne powtórzenie

* - ...

41 CALL LBL 1 REP 1

; wywołanie części programu1 włącznie z częścią 2 i jednokrotne powtórzenie

* - ...

51 END PGM REPS MM

Sterowanie odpracowuje program NC następująco:

  1. Program NC REPS zostaje wykonany do bloku NC 31.
  2. Część programu pomiędzy blokiem NC 31 i blokiem NC 21 zostanie dwa razy powtórzona, czyli wykonana łącznie trzy razy.
  3. Program NC REPS zostaje wykonany od bloku NC 32 do bloku NC 41.
  4. Część programu pomiędzy blokiem NC 41 i blokiem NC 11 zostaje raz powtórzona, czyli dwa razy wykonana (zawiera powtórzenie części programu pomiędzy blokiem NC 21 i blokiem NC 31).
  5. Program NC REPS zostaje wykonany od bloku NC 42 do bloku NC 51. Koniec programu i skokiem powrotnym do wiersza NC 0.

Wywołanie podprogramu w obrębie powtórzenia części programu

0 BEGIN PGM UPGREP MM

* - ...

11 LBL 1

; początek części programu 1

12 CALL LBL 2

; wywołanie podprogramu 2

13 CALL LBL 1 REP 2

; wywołanie części programu 1 i dwukrotne powtórzenie

* - ...

21 L Z+100 R0 FMAX M30

; ostatni blok NC programu głównego z M30

22 LBL 2

; początek podprogramu 2

* - ...

31 LBL 0

; koniec podprogramu 2

32 END PGM UPGREP MM

Sterowanie odpracowuje program NC następująco:

  1. Program NC UPGREP zostaje wykonany do bloku NC 12.
  2. Podprogram 2 zostaje wywołany i wykonany do bloku NC 31.
  3. Część programu pomiędzy blokiem NC 13 i blokiem NC 11 (włącznie z podprogramem 2) zostanie dwa razy powtórzona, czyli wykonana łącznie trzy razy.
  4. Program NC UPGREP zostaje wykonany od bloku NC 14 do bloku NC 21. Koniec programu i skokiem powrotnym do wiersza NC 0.