Strona 1 z 1

TNC530i - skok do bloku

: 26 maja 2011, 21:07
autor: adam Fx
witam
orientuje się może ktoś jak w TNC530i - wykonać skok do bloku??... wiadomo jak program na pojedynczym bloku to klawisz GOTO i nr. bloku i od niego nam struje program .. ale jak ustawić w programie taki skok by wykonał się automatyczne?? dochodzi do pewnego momentu skok do bloku np. 90 wykona załóżmy frezowanie kieszeni i po zakończeniu cyklu znowu polecenie skoku do np. 40 bloku... nie chodzi mi tu o pominiecie bloków /////////// tylko o typowe skoki .. wiem że jest możliwy skok do innego programu wiec zapewne skok do bloku też powinno dać się wykonać

: 27 maja 2011, 06:55
autor: STELMI
można rozbić program na podprogramy i zamiast korzystać z funkcji GOTO to dać przywołanie podprogramu PGM CALL i np przywołać go kilka razy jeżeli o to chodziło i masz problem z głowy

: 27 maja 2011, 13:41
autor: kris852
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ść :sad:
Więcej na ten temat w instrukcji HH w podrozdziale pakietowanie

: 27 maja 2011, 17:21
autor: adam Fx
sposób z LBL jest niewątpliwe jakimś wyjściem z sytuacji ale instrukcja podaje że robiąc skok do innego programu niemożne on zawierać M30 i chyba M2 lub te bloki muszą być przeskoczone ( pisze z pamięci bo nie bardzo mogę to teraz znaleźć w instrukcji) no tak tylko co autor miał na myśli równie dobrze mogło mu chodzić o skok z LBL

: 28 maja 2011, 11:26
autor: kris852
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ć

: 01 cze 2011, 20:38
autor: wasyl#
Mozna to tez zrobic w taki sposob

.
1 Q1000 = 1
2 FN 9: IF Q+1000 EQU +1 GO TO LBL 100
.
.
.
40 LBL 100