LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

W temacie przedstawiam poradnik jak dodać przycisk pomiaru długości narzędzia do LinuxCNC.

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 62
Posty: 1760
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#181

Post napisał: drzasiek90 » 15 sie 2021, 16:04

Ryzyko dzwona jest zawsze. No, chyba że nie włączasz maszyny. Natomiast co byś nie zrobił, wszystkiego nie przewidzisz. Miałem jeden dzwon z czujnikiem, przypomniałem sobie, ale nie z winy procedury pomiaru lecz postprocesora, to było jak robiłem prototyp maszyny i pierwsze testy postprocesora do niej. Czujnik jest poza polem, natomiast w postprocesora do rozkradania płyt mam bezpieczne z dość nisko, 5 mm nad materiałem. Problem był w tym, że po zakończonym pomiarze najpierw z zjeżdżała na bezpieczne z, potem jechała głowica nad punkt obróbki. Jak założyłem cieńsza płytę, to się okazało że bezpieczne z jest poniżej czujnika.
Tu jest założenie, że wiesz gdzie jest czujnik i wiesz jakie masz najdłuższe narzędzie. Ale jaki problem wpisać wartość Z w TOOLSENSOR na 0 i wtedy mierzy od samej góry. Można też dopisać obsługę magazynu. Co kto lubi, zaczątek jest.




szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 31
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#182

Post napisał: szatri » 16 sie 2021, 17:28

Mniej więcej już coś mi wychodzi, ale mam problem z doborem zapisu do obliczenia offsetu g10 Z:
#<_Dystans> = 80.0
#<tool> = #<_selected_tool>
G94
G90
G53 G0 Z0
G91 (Programowanie przyrostowe)
G38.3 Z-[#<_Dystans>] F#<_Fszybki>
G38.5 Z10 F#<_Fwolny>
G10 L1 P#<tool> Z[#5063 - #5422]
G43
G90
5061-5069 - Współrzędne wyniku sondy G38 (X, Y, Z, A, B, C, U, V i W). Współrzędne znajdują się w układzie współrzędnych, w którym odbyło się G38. Lotny.

5420-5428 — Bieżąca pozycja względna w aktywnym układzie współrzędnych, w tym wszystkie przesunięcia oraz w bieżących jednostkach programu dla X, Y, Z, A, B, C, U, V i W, niestabilna.
Czy to #5422 to to samo co G53 z0?
Jak nie to jakim paramentem # jest g53?

Kod: Zaznacz cały

31-5000 - Parametry użytkownika kodu G. Te parametry są globalne w pliku G-Code i są dostępne do ogólnego użytku. Lotny.

5061-5069 - Współrzędne wyniku sondy G38 (X, Y, Z, A, B, C, U, V i W). Współrzędne znajdują się w układzie współrzędnych, w którym odbyło się G38. Lotny.

5070 - Wynik sondy G38 : 1 jeśli się powiedzie, 0 jeśli sonda nie zamknęła się. Używany z G38.3 i G38.5. Lotny.

5161-5169 — Strona główna „G28” dla X, Y, Z, A, B, C, U, V i W. Trwała.

5181-5189 — Strona główna „G30” dla X, Y, Z, A, B, C, U, V i W. Trwała.

5210 - 1, jeśli aktualnie stosowana jest korekcja "G52" lub "G92", 0 w przeciwnym razie. domyślnie niestabilny; trwałe jeśli DISABLE_G92_PERSISTENCE = 1 w [RS274NGC] odcinka ini pliku.

5211-5219 — Współdzielone przesunięcie „G52” i „G92” dla X, Y, Z, A, B, C, U, V i W. Domyślnie niestabilne; trwałe jeśli DISABLE_G92_PERSISTENCE = 1 w [RS274NGC] odcinka ini pliku.

5220 - Numer układu współrzędnych 1 - 9 dla G54 - G59.3. Uporczywy.

5221-5230 — Układ współrzędnych 1, G54 dla X, Y, Z, A, B, C, U, V, W i R. R oznacza kąt obrotu XY wokół osi Z. Uporczywy.

5241-5250 — Układ współrzędnych 2, G55 dla X, Y, Z, A, B, C, U, V, W i R. Trwałe.

5261-5270 — Układ współrzędnych 3, G56 dla X, Y, Z, A, B, C, U, V, W i R. Trwałe.

5281-5290 — Układ współrzędnych 4, G57 dla X, Y, Z, A, B, C, U, V, W i R. Trwałe.

5301-5310 - Układ współrzędnych 5, G58 dla X, Y, Z, A, B, C, U, V, W i R. Trwałe.

5321-5330 — układ współrzędnych 6, G59 dla X, Y, Z, A, B, C, U, V, W i R. Trwałe.

5341-5350 — Układ współrzędnych 7, G59.1 dla X, Y, Z, A, B, C, U, V, W i R. Trwałe.

5361-5370 — układ współrzędnych 8, G59.2 dla X, Y, Z, A, B, C, U, V, W i R. Trwałe.

5381-5390 — Układ współrzędnych 9, G59.3 dla X, Y, Z, A, B, C, U, V, W i R. Trwałe.

5399 - Wynik M66 - Sprawdź lub poczekaj na dane wejściowe. Lotny.

5400 — Numer narzędzia. Lotny.

5401-5409 — Przesunięcia narzędzi dla X, Y, Z, A, B, C, U, V i W. Lotne.

5410 - Średnica narzędzia. Lotny.

5411 - Kąt przedni narzędzia. Lotny.

5412 - Kąt oparcia narzędzia. Lotny.

5413 - Orientacja narzędzia. Lotny.

5420-5428 — Bieżąca pozycja względna w aktywnym układzie współrzędnych, w tym wszystkie przesunięcia oraz w bieżących jednostkach programu dla X, Y, Z, A, B, C, U, V i W, niestabilna.

5599 — Flaga do sterowania wyjściem instrukcji (DEBUG). 1=wyjście, 0=brak wyjścia; domyślnie=1. Lotny.

5600 — Wskaźnik awarii zmieniacza narzędzi. Używany z komponentem iocontrol-v2. 1: uszkodzony zmieniacz narzędzi, 0: normalny. Lotny.

5601 — Kod błędu zmieniacza narzędzi. Używany z komponentem iocontrol-v2. Odzwierciedla wartość pinu HAL zmieniacza narzędzi przyczyny, jeśli wystąpił błąd. Lotny.

W tabeli narzędzi mam offsety w mikronach wyliczone.
Czy użycie g38.3 oraz g38.5 jest prawidłowe zamiast g38.2 oraz g38.4?
G38.2 - sonda w kierunku przedmiotu obrabianego, zatrzymanie przy kontakcie, błąd sygnału w przypadku awarii
G38.3 - sonda w kierunku obrabianego przedmiotu, zatrzymaj się przy kontakcie
G38.4 - sonda z dala od przedmiotu, zatrzymanie przy utracie kontaktu, błąd sygnału w przypadku awarii
G38.5 - sonda z dala od obrabianego przedmiotu, zatrzymaj się przy utracie kontaktu
PS. Czemu nie mogę używać T0 mimo ze jest dopisane w tabeli?

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 7859
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#183

Post napisał: tuxcnc » 16 sie 2021, 18:31

szatri pisze:
16 sie 2021, 17:28
Jak nie to jakim paramentem # jest g53?
Nie ma takiego parametru. Autorzy Linuxcnc mieli za słabą wyobraźnię żeby uzasadnić potrzebę jego istnienia. Jednak czasem by się przydał i da się to zrobić dookoła: predykcja-ruchu-t112552.html
szatri pisze:
16 sie 2021, 17:28
Czy użycie g38.3 oraz g38.5 jest prawidłowe zamiast g38.2 oraz g38.4?
Moim zdaniem to bardzo poważny błąd.
szatri pisze:
16 sie 2021, 17:28
PS. Czemu nie mogę używać T0 mimo ze jest dopisane w tabeli?
Zakłada się, że T0 to brak narzędzia we wrzecionie.


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 62
Posty: 1760
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#184

Post napisał: drzasiek90 » 16 sie 2021, 19:20

szatri pisze:
16 sie 2021, 17:28
Czy użycie g38.3 oraz g38.5 jest prawidłowe zamiast g38.2 oraz g38.4?
Używaj g38.2 oraz g38.4 jeśli u ciebie zadziała.
Ja używając tych kodów miałem losowo pojawiający się błąd: Kolejka nie jest pusta po skanowaniu.
Skąd błąd się brał, nie zostało wyjaśnione.
Nie nazwałbym tego poważnym błędem, te kody zostały po to stworzone aby je używać.
Tutaj akurat zostały użyte, aby ominąć problem którego przyczyn nie poznałem.


szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 31
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#185

Post napisał: szatri » 16 sie 2021, 20:01

tuxcnc pisze:Jednak czasem by się przydał i da się to zrobić dookoła:

Czyli mogę wywołać g30.1 i zapiszą sie współrzędne maszynowe (g53) w parametrach #5181-5189.
Potem mogę się odwołać do #5183 jako wartość odniesienia (g53 z0)?

Dodane 14 minuty 23 sekundy:
Jeszcze jedno pytanie(może mało istotne ale chce wiedzieć)
Po wywołaniu tx M6 jest uruchomiony podprogram tool-change.ngc
w nim jest kolejne m6 bez tx, a po bloku z g10 następuje wywołanie kompensacji narzędzia g43 ale:
G43 bez słowa H używa aktualnie załadowanego narzędzia z ostatniego Tn M6
czy to ostatnie m6 to jest to w podprogramie, czy w głównym z m6 tx?
Czy lepiej użyć tego sformułowania: G43 H#<tool> gdzie #<tool> = #<_selected_tool>

Dodane 13 minuty 56 sekundy:
Sprawdziłem ale #5183 zapisuje pozycje w momencie wpisania g30.1 teraz żeby brać punk odniesienia z tego trzeba znać pozycje w momencie wpisania g30.1

Dodane 2 minuty 25 sekundy:
W moim przypadku jest to punkt wymiany narzędzia czyli #5183 = 0

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 7859
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#186

Post napisał: tuxcnc » 16 sie 2021, 20:24

szatri pisze:
16 sie 2021, 20:01
Po wywołaniu tx M6 jest uruchomiony podprogram tool-change.ngc
w nim jest kolejne m6 bez tx
Tego Ci nie wyjaśnię, bo sam nie wiem dlaczego tak jest.
Po prostu pierwsze wywołanie M6 jest mapowane, ale te z wewnątrz procedury już nie i wywołuje się standardowe M6. Nawiasem mówiąc, gdyby tak nie było, toby się podprogram zapętlił i nigdy nie zakończył.
O tym że tak jest dowiedziałem się przypadkiem, nawet byłem zaskoczony, ale jeśli działa to wykorzystałem.
Podsumowując, pierwsze M6 i drugie M6 to zupełnie inne M6.
szatri pisze:
16 sie 2021, 20:01
Czy lepiej użyć tego sformułowania: G43 H#<tool> gdzie #<tool> = #<_selected_tool>
Co do zasady, to nie powinno się używać parametru H jeśli nie jest to absolutnie konieczne, bo wtedy trudniej popełnić błąd.
Parametr H jest bardzo użyteczny, jeśli chcemy z tego samego narzędzia korzystać z różnymi offsetami.


szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 31
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#187

Post napisał: szatri » 16 sie 2021, 20:36

Zapis G10 L1 P#<tool> Z[#5183 - #5063] nie daje oczekiwanych rezultatów (przejazd na wysokości offetów), choć w tabeli zety już są w realnych wartościach (w minusie)

Ps. Jak (oraz czy jest sens) wykorzystać T0 do ustawienia offsetów?

Dodane 7 minuty 50 sekundy:
tuxcnc pisze:Podsumowując, pierwsze M6 i drugie M6 to zupełnie inne M6.

Taj pierwsze uruchamia remap drugie wyświetla ładny komunikat z numerkiem tx do założenia.
Ale parametr HX jest (w moim przypadku (i nie tylko pewnie)) sztywno powiązany z TX w tabeli
W postprocesorze mam sztywne powiązanie m6TX z g43 HX wiec może nie ma sensu tego dublować w podprogramie do remapowania m6 jak jest w głównym programie?

Dodane 7 minuty 9 sekundy:
Czy mi się już coś pomieszało i w tabeli wartość P to nie odpowiednik H (g43)?

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 7859
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#188

Post napisał: tuxcnc » 16 sie 2021, 20:55

szatri pisze:
16 sie 2021, 20:43
Czy mi się już coś pomieszało i w tabeli wartość P to nie odpowiednik H (g43)?
H to odpowiednik T.
P to pozycja w magazynie narzędzi.


szatri
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 31
Posty: 235
Rejestracja: 23 lut 2011, 15:12
Lokalizacja: PL

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#189

Post napisał: szatri » 16 sie 2021, 22:47

Czyli już wiadomo ze g43 Hx t=x jest prawidłowe, tylko czemu nie uwzględnia tego? Zawsze robi przejazd na wysokości ustawionej dla t1 od którego jest offset ustawiony.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 28
Posty: 7859
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: LinuxCNC - pomiar długości narzędzia - instrukcja jak skonfigurować

#190

Post napisał: tuxcnc » 17 sie 2021, 05:25

szatri pisze:
16 sie 2021, 22:47
Zawsze robi przejazd na wysokości ustawionej dla t1 od którego jest offset ustawiony.
Gdzie dodałeś G43?
Ba mam wrażenie że znowu naprawiasz to co nie jest zepsute.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”