TNC530i - skok do bloku

Dyskusje na temat systemu Heidenhaina
Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

TNC530i - skok do bloku

#1

Post napisał: adam Fx » 26 maja 2011, 21:07

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ć


sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Tagi:


STELMI
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 551
Rejestracja: 23 mar 2008, 11:30
Lokalizacja: Bydgoszcz
Kontakt:

#2

Post napisał: STELMI » 27 maja 2011, 06:55

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


kris852
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 2
Posty: 69
Rejestracja: 18 cze 2010, 16:11
Lokalizacja: Wielkopolska

#3

Post napisał: kris852 » 27 maja 2011, 13:41

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

Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

#4

Post napisał: adam Fx » 27 maja 2011, 17:21

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
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


kris852
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 2
Posty: 69
Rejestracja: 18 cze 2010, 16:11
Lokalizacja: Wielkopolska

#5

Post napisał: kris852 » 28 maja 2011, 11:26

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ć


wasyl#
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 1
Posty: 4
Rejestracja: 01 kwie 2011, 18:47
Lokalizacja: Kalisz

#6

Post napisał: wasyl# » 01 cze 2011, 20:38

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
DMC-80H, iTNC530

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Heidenhain”