LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
Po pomiarze narzędzia pojawia się komunikat
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2329
- Rejestracja: 25 kwie 2016, 11:58
- Lokalizacja: Jodlowa
- Kontakt:
LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
Witam,
Zaczął mi się dziś objawiać dziwny problem który wcześniej nigdy nie napotkałem.
Działa sobie program, gdzieś tam w trakcie po którejś zmianie narzędzia wykonuje się podprogram pomiaru długości narzędzia, komenda G38.3. Po zetknięciu czujnika z narzędziem program się zatrzymuje i wywala mi komunikat:
Kolejka nie jest pusta po skanowaniu.
Dzieje się tak tylko co jakiś czas, nigdy wcześniej tego komunikatu na żadnej maszynie nie miałem.
Zaczął mi się dziś objawiać dziwny problem który wcześniej nigdy nie napotkałem.
Działa sobie program, gdzieś tam w trakcie po którejś zmianie narzędzia wykonuje się podprogram pomiaru długości narzędzia, komenda G38.3. Po zetknięciu czujnika z narzędziem program się zatrzymuje i wywala mi komunikat:
Kolejka nie jest pusta po skanowaniu.
Dzieje się tak tylko co jakiś czas, nigdy wcześniej tego komunikatu na żadnej maszynie nie miałem.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 1
- Posty: 5598
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
znalazłem takie cos może to jakoś naprowadzi (przejrzałem pobieżnie i widzę że nie do końca na tema ale teraz idę spać) https://www.forum.linuxcnc.org/38-gener ... ng?start=0
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2329
- Rejestracja: 25 kwie 2016, 11:58
- Lokalizacja: Jodlowa
- Kontakt:
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
Dzięki.
Z tego co zrozumiałem, to błąd się pojawia jeśli sonduję wiele razy tą samą pozycję bez odczytania parametru.
Nie do końca rozumiem, czujnik narzędzia mam w tym samy miejscu więc jak mam sondować inną pozycję za każdym razem. Parametr #5063 odczytuję ale dopiero po G38.4.
Mam tak:
G38.3 ...
G38.4 ...
#<_ODCZYT> = #5063
A może powinienem robić tak?
G38.3 ...
#<_ODCZYT> = #5063
G38.4 ...
#<_ODCZYT> = #5063
Nie wiem co to za kolejka.
Z tego co zrozumiałem, to błąd się pojawia jeśli sonduję wiele razy tą samą pozycję bez odczytania parametru.
Nie do końca rozumiem, czujnik narzędzia mam w tym samy miejscu więc jak mam sondować inną pozycję za każdym razem. Parametr #5063 odczytuję ale dopiero po G38.4.
Mam tak:
G38.3 ...
G38.4 ...
#<_ODCZYT> = #5063
A może powinienem robić tak?
G38.3 ...
#<_ODCZYT> = #5063
G38.4 ...
#<_ODCZYT> = #5063
Nie wiem co to za kolejka.
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 2
- Posty: 689
- Rejestracja: 21 mar 2005, 18:51
- Lokalizacja: Trójmiasto
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
zamiast G38.4 używaj G38.5 i po ptakach - g38.2 i g38.4 w razie pojawienia się błędu przy wykonaniu tych G-kodów wyświetlają odpowiedni komunikat na ekranie.
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2329
- Rejestracja: 25 kwie 2016, 11:58
- Lokalizacja: Jodlowa
- Kontakt:
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
GumiRobot I to jest rozwiązanie! W sumie bardzo proste, pewnie dlatego mi do głowy nie przyszło. O ile zadziała
Oczywiście nie jest to rozwiązanie problemu a ominięcie ale w sumie na nic mi ta sygnalizacja błędu potrzebna nie jest, skoro wymianę narzędzia mam ręczną więc operator i tak przy tym stoi i patrzy na pomiar.

-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 2
- Posty: 689
- Rejestracja: 21 mar 2005, 18:51
- Lokalizacja: Trójmiasto
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
To jest rozwiązanie jedynie przerwania programu zgłoszeniem błędu sondowania.
Ta kolejka to nie jest "15.10 do Yumy" tylko kolejka niepobranych odczytów ze sondy.
Należy sprawdzić czy
G38.3 ...
G38.5 ...
#<_ODCZYT> = #5063
daje ten sam wynik co
G38.3 ...
#<_ODCZYT> = #5063
G38.5 ...
#<_ODCZYT> = #5063
Jeżeli odczyty z sondy są kolejkowane to wartość w #<_ODCZYT> może się różnić zgodnie z zasadą FIFO dla kolejki.
Ta kolejka to nie jest "15.10 do Yumy" tylko kolejka niepobranych odczytów ze sondy.
Należy sprawdzić czy
G38.3 ...
G38.5 ...
#<_ODCZYT> = #5063
daje ten sam wynik co
G38.3 ...
#<_ODCZYT> = #5063
G38.5 ...
#<_ODCZYT> = #5063
Jeżeli odczyty z sondy są kolejkowane to wartość w #<_ODCZYT> może się różnić zgodnie z zasadą FIFO dla kolejki.
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2329
- Rejestracja: 25 kwie 2016, 11:58
- Lokalizacja: Jodlowa
- Kontakt:
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
Gdyby kolejka była FIFO to by mi to nie działało, a działa do tej pory, każdy pomiar jest dobry. Problem się pojawił wczoraj, bo zaczął się pojawiać komunikat.
Załóżmy że kolejka to fifo.
Mam narzędzie 1 które jest dłuższe od narzędzia 2 o 10mm. Załóżmy że kolejno dla narzędzia 1:
G38.3 daje wynik 25.0
G38.5 daje wynik 25.01
a dla narzędzia 2:
G38.3 daje wynik 36.0
G38.5 daje wynik 36.01
Robię coś takiego:
Zakładam narzędzie 1 i wykonuję:
Po takiej czynności powinienem mieć w parametrze #<_ODCZYT> wartość 25.0
Zakładam narzędzie 2 i wykonuję:
Po takiej czynności powinienem mieć w parametrze #<_ODCZYT> wartość 25.01
A tak nie jest, mam wynik poprawny po drugim pomiarze narzędzia. Nie wiem, czy 35.0 albo 35.01, nie rozróżniam tego bo tego nie debugowałem. Ale gdyby to działało na zasadzie kolejki fifo to miałbym przekłamanie o 10 mm a to bym zauważył.
Załóżmy że kolejka to fifo.
Mam narzędzie 1 które jest dłuższe od narzędzia 2 o 10mm. Załóżmy że kolejno dla narzędzia 1:
G38.3 daje wynik 25.0
G38.5 daje wynik 25.01
a dla narzędzia 2:
G38.3 daje wynik 36.0
G38.5 daje wynik 36.01
Robię coś takiego:
Zakładam narzędzie 1 i wykonuję:
Kod: Zaznacz cały
G38.3 ... stan kolejki fifo [25.0]
G38.5 ... stan kolejki fifo [25.0][25.01]
#<_ODCZYT> = #5063 stan kolejki fifo [25.01]
Zakładam narzędzie 2 i wykonuję:
Kod: Zaznacz cały
G38.3 ... stan kolejki fifo [25.01][36.0]
G38.5 ... stan kolejki fifo [25.01][36.0][36.01]
#<_ODCZYT> = #5063 stan kolejki fifo [36.0][36.01]
A tak nie jest, mam wynik poprawny po drugim pomiarze narzędzia. Nie wiem, czy 35.0 albo 35.01, nie rozróżniam tego bo tego nie debugowałem. Ale gdyby to działało na zasadzie kolejki fifo to miałbym przekłamanie o 10 mm a to bym zauważył.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 3
- Posty: 9323
- Rejestracja: 26 lut 2011, 23:24
- Lokalizacja: mazowieckie
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
Może to Ci pomoże :
(http://linuxcnc.org/docs/2.6/html/gcode ... :G38-probe)A comment of the form (PROBEOPEN filename.txt) will open filename.txt and store the 9-number coordinate consisting of XYZABCUVW of each successful straight probe in it. The file must be closed with (PROBECLOSE). For more information see the Comments Section.
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2329
- Rejestracja: 25 kwie 2016, 11:58
- Lokalizacja: Jodlowa
- Kontakt:
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
Rozumiem, że to mam mi pomóc w debugowaniu jaki jest wynik pomiaru. Jednak zakładam narzędzia różniące się znacznie długością, cała procedura działa mi wzorowo mimo, że w programie jest:
Jeśli komunikat ten dotyczy kolejki nieodczytanych wyników, to albo nie jest to kolejka fifo albo resetuje się ona po każdy wywołaniu nowego programu.
Niestety dziś nie udało mi się podejść do maszyny, żeby sprawdzić. Zweryfikuję jutro.
Kod: Zaznacz cały
G38.3 ...
G38.4 ...
#<_ODCZYT> = #5063
Niestety dziś nie udało mi się podejść do maszyny, żeby sprawdzić. Zweryfikuję jutro.
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 8
- Posty: 2329
- Rejestracja: 25 kwie 2016, 11:58
- Lokalizacja: Jodlowa
- Kontakt:
Re: LinuxCNC - dziwny komunikat po pomiarze długości narzędzia
No więc, wygląda na to, że wyniki pomiarów nie trafiają do żadnej kolejki, a przynajmniej nie jest to kolejka FIFO.
Zrobiłem test.
otrzymałem 38.5 = -3.13
Drugi program:
otrzymałem 38.3 = -3.14
otrzymałem 38.5 = -3.13
Jeśli jest tam kolejka wyników, to z pewnością typu STOS (LIFO).
Gdzie mogę o tym poczytać? Usiłowałem szukać w dokumentacji linuxcnc 2.9 ale za nic nie mogę dopasować hasła pod którym mogę to znaleźć.
Zrobiłem test.
Kod: Zaznacz cały
G38.3
G38.5
#<_ODCZYT> = #5063
(debug, G38.5 = #<_ODCZYT>)
Drugi program:
Kod: Zaznacz cały
G38.3
#<_ODCZYT> = #5063
(debug, G38.3 = #<_ODCZYT>)
G38.5
#<_ODCZYT> = #5063
(debug, G38.5 = #<_ODCZYT>)
otrzymałem 38.5 = -3.13
Jeśli jest tam kolejka wyników, to z pewnością typu STOS (LIFO).
Gdzie mogę o tym poczytać? Usiłowałem szukać w dokumentacji linuxcnc 2.9 ale za nic nie mogę dopasować hasła pod którym mogę to znaleźć.