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.
Spokrewnione tematy
- Podprogramy
- Powtórzenia części programu
- Wywołanie oddzielnego programu NC.
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:
- Program NC UPGMS zostaje wykonany do bloku NC 11.
- Podprogram UP1 zostaje wywołany i wykonany do bloku NC 31.
- 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.
- Podprogram UP1 zostaje wykonany od bloku NC 32 do bloku NC 41. Koniec podprogramu UP1 i skok powrotny do programu NC UPGMS.
- 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:
- Program NC REPS zostaje wykonany do bloku NC 31.
- Część programu pomiędzy blokiem NC 31 i blokiem NC 21 zostanie dwa razy powtórzona, czyli wykonana łącznie trzy razy.
- Program NC REPS zostaje wykonany od bloku NC 32 do bloku NC 41.
- 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).
- 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:
- Program NC UPGREP zostaje wykonany do bloku NC 12.
- Podprogram 2 zostaje wywołany i wykonany do bloku NC 31.
- 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.
- Program NC UPGREP zostaje wykonany od bloku NC 14 do bloku NC 21. Koniec programu i skokiem powrotnym do wiersza NC 0.