Zgadza się, podprogramy nie mogą zawierać M2 lub M30, bo cały program zostałby automatycznie zakończony i przewinięty do początku
Zerknąłem w instrukcje i przedstawia ona dwa zastosowania LBL:
1. Jako podprogram, znajdujący się za M30 lub M2, zakończony LBL0, wywoływany w programie głównym
2. jako powtórzenie, znajdujący się w programie głównym, przed M30, w celu powtórzenia grupy bloków
I w obu przypadkach to jest jak najbardziej prawdą
Drugie zastosowanie można interpretować w trochę inny sposób, o którym nie za bardzo wspomina instrukcja, LBL jako znacznik (punkt), miejsce w programie do którego zostanie wykonany skok, nie jest zakończony LBL0
LBL SET może znajdować się zarówno powyżej jak i poniżej CALL LBL (skok w górę lub w dół)
Mowa tutaj cały czas oczywiście o pracy w jednym programie głównym, więc M2 lub M30 znajdują się tak czy tak na samym dole
I to właśnie chciałem zaproponować
Znaleziono 2 wyniki
Wróć do „TNC530i - skok do bloku”
- 28 maja 2011, 11:26
- Forum: Heidenhain
- Temat: TNC530i - skok do bloku
- Odpowiedzi: 5
- Odsłony: 3523
- 27 maja 2011, 13:41
- Forum: Heidenhain
- Temat: TNC530i - skok do bloku
- Odpowiedzi: 5
- Odsłony: 3523
Typowej funkcji skoku do bloku chyba nie ma, ale można to zrobić w bardzo prosty sposób wykorzystując powtórzenia programu LBL
Normalnie kiedy program dochodzi do bloku np
20 CALL LBL 1
program wykonuje skok do powtórzenia 1, czyli bloku lub bloków pomiędzy znacznikami LBL 1 i LBL 0 np
40 LBL 1
41 L X+100
42 LBL 0
Nastepnie wraca z powrotem do bloku 21 po CALL LBL 1 i wykonuje dalej program
Kiedy zapętlimy:
........
20 CALL LBL 1 ; skok do bloku 41
........
28 LBL 2
29 L X-100
30 LBL 0
.......
40 LBL 1
41 L X+100
42 CALL LBL 2 ; skok do bloku 29
43 LBL 0
Najprostszy skok można wykonać wstawiając samo LBL, (bez LBL 0), program nie zostanie przewinięty do CALL LBL tylko pójdzie dalej, jest to trochę niezgodne ze sztuką ale działa:
..........
/40 CALL LBL 1 ; skok do bloku 91
..........
90 LBL 1
91 LX.....
.........
120 M30
Znaczniki LBL można wstawiać w dowolnym miejscu (działa w górę i w dół), zarówno w programie jak i po M30. Ilość takich zapętleń jest ograniczona do iluś tam poziomów, program nie może chodzić w nieskończoność
Więcej na ten temat w instrukcji HH w podrozdziale pakietowanie
Normalnie kiedy program dochodzi do bloku np
20 CALL LBL 1
program wykonuje skok do powtórzenia 1, czyli bloku lub bloków pomiędzy znacznikami LBL 1 i LBL 0 np
40 LBL 1
41 L X+100
42 LBL 0
Nastepnie wraca z powrotem do bloku 21 po CALL LBL 1 i wykonuje dalej program
Kiedy zapętlimy:
........
20 CALL LBL 1 ; skok do bloku 41
........
28 LBL 2
29 L X-100
30 LBL 0
.......
40 LBL 1
41 L X+100
42 CALL LBL 2 ; skok do bloku 29
43 LBL 0
Najprostszy skok można wykonać wstawiając samo LBL, (bez LBL 0), program nie zostanie przewinięty do CALL LBL tylko pójdzie dalej, jest to trochę niezgodne ze sztuką ale działa:
..........
/40 CALL LBL 1 ; skok do bloku 91
..........
90 LBL 1
91 LX.....
.........
120 M30
Znaczniki LBL można wstawiać w dowolnym miejscu (działa w górę i w dół), zarówno w programie jak i po M30. Ilość takich zapętleń jest ograniczona do iluś tam poziomów, program nie może chodzić w nieskończoność

Więcej na ten temat w instrukcji HH w podrozdziale pakietowanie