Strona 1 z 2

G41 - G42

: 26 cze 2024, 20:58
autor: g0home
Cześć. Zacząłem przygodę z programowaniem przy użyciu g-kodów i zdecydowanie czegoś nie rozumiem.
Program przy użyciu komendy G42 tworzy prawidłową ścieżkę jednak ze złą kompensacją, G41 tworzy nieprawidłową ścieżkę, przypuszczam, że problemem jest nieprawidłowy dojazd albo zły punkt wprowadzenia G41 bądź odwołanie za pomocą G40, dla przykładu wrzucam przykładowy rysunek wraz z programem.

Baza w prawym górnym rogu- tak jak układ wspolrzednych we freecad.
Frez fi12 promień łuku r6.
Narzędzie ma wykonać obróbke współbieżnie.

T01 M06
G00 G90 G54 X15 Y-180
S1000 M03
G43 H06 Z1 M08
G41 X0 Y-180
G01 Z-10
G01 X-15 F400
G02 X-21 Y-174 R6 F400
G01 Y-33 F400
G02 X-15 Y-27 R6 F400
G01 X15 F400
G28 Z0
G40 Y0 (tutaj może być błąd bo nie rozumiem w którym miejscu powinienem odwołać kompensację)
M30




Obrazek

Re: G41 - G42

: 26 cze 2024, 22:27
autor: Steryd
żeby włączyć kompensację musisz wykonać ruch nie krótszy niż kompensowany promień. To tak jak z wałkiem do malowania ściany. Żeby zacząć malować ścianę musisz wałek najpierw umieścić po odpowiedniej stronie ściany (programując jego oś) i dopiero dojechać co ściany. Jak zaczniesz malować trzymając wałek po złej stronie ściany, to nie pomalujesz (nawet jeśli to nie będzie amelinum).

Co do odwołania zasada jest prosta, tak jak kompensację włączasz w pierwszym bloku, którym dojeżdżasz do konturu, tak odwołujesz w pierwszym bloku, który zrywa kontakt z konturem.

Re: G41 - G42

: 26 cze 2024, 23:10
autor: tuxcnc
Steryd pisze:
26 cze 2024, 22:27
To tak jak z wałkiem do malowania ściany. Żeby zacząć malować ścianę musisz wałek najpierw umieścić po odpowiedniej stronie ściany (programując jego oś) i dopiero dojechać co ściany. Jak zaczniesz malować trzymając wałek po złej stronie ściany, to nie pomalujesz (nawet jeśli to nie będzie amelinum).
Wybacz, ale ten przykład jest tak debilny, że aż trudno go skomentować...
Bez kompensacji oś narzędzia porusza się po konturze, a z kompensacją oś narzędzia jest odsunięta od konturu o promień. To zasadniczo rozumieją wszyscy, ale mają problem ze zrozumieniem, że oś narzędzia nie może być równocześnie w dwóch różnych miejscach, więc programując kompensację trzeba też zaprogramować ten ruch o którym pisałeś. Inaczej maszyna albo inaczej zrozumie napisany kod, albo wywali błąd i odmówi dalszej pracy.
https://linuxcnc.org/docs/2.6/html/gcod ... mpensation (To jest LinuxCNC, ale na każdej maszynie będzie to działać tak samo, bo matematyka jest jedna i inaczej tego zrobić się nie da).

Re: G41 - G42

: 27 cze 2024, 13:21
autor: WZÓR
g0home pisze:
26 cze 2024, 20:58
Cześć. Zacząłem przygodę z programowaniem przy użyciu g-kodów i zdecydowanie czegoś nie rozumiem.
Program przy użyciu komendy G42 tworzy prawidłową ścieżkę jednak ze złą kompensacją, G41 tworzy nieprawidłową ścieżkę, przypuszczam, że problemem jest nieprawidłowy dojazd albo zły punkt wprowadzenia G41 bądź odwołanie za pomocą G40, dla przykładu wrzucam przykładowy rysunek wraz z programem.

Baza w prawym górnym rogu- tak jak układ wspolrzednych we freecad.
Frez fi12 promień łuku r6.
Narzędzie ma wykonać obróbke współbieżnie.

T01 M06
G00 G90 G54 X15 Y-180
S1000 M03
G43 H06 Z1 M08
G41 X0 Y-180
G01 Z-10
G01 X-15 F400
G02 X-21 Y-174 R6 F400
G01 Y-33 F400
G02 X-15 Y-27 R6 F400
G01 X15 F400
G28 Z0
G40 Y0 (tutaj może być błąd bo nie rozumiem w którym miejscu powinienem odwołać kompensację)
M30


Fajnie , że robisz coś samodzielnie .... , ale - niestety popełniasz bardzo dużo błędów .
Wrzuciłem Twój program do maszyny w celu wykonania symulacji i mój Haas zaświecił się na czerwono. :D

1. Brak zgodności kodu T do H (jak wywołałeś narzedzie T1 , to stosuj do niego korektor długości H o tym samym numerze , tj. H1 , a nie H6).
2. Brak kropek.
3. Wywołanie korekcji G41 bez podania korektora średnicy narzędzia (w tym wypadku D1).
ten błąd wykryłem wizualnie wpisując program do maszyny.

Zapoznaj się z zasadą stosowania / działania korekcji G41/G42 , bo jak widzę Twoja wiedza w tym zakresie jest nijaka.
Obrazek
i wprowadź ją do swojego zadania.
Obrazek

Twój program po drobnej korekcie (usunąłem w/w błędy) przeszedł w symulacji , a stosując (błędnie korekcję G41) wciąłeś się całym frezem w materiał niszcząc detal.
Obrazek

Po zmianie korekcji na G42 frez osiągnął ścieżkę po zaprogramowanym przez Ciebie konturze (nie wcinając się w detal)
Obrazek
.... , ale obydwa programy wykonały ten ruch przeciwbieżnie , a nie jak zakładałeś (współbieżnie).
Raz jeszcze napisz program wpisując w nim kontur w odwrotnej kolejności i daj znać co wyszło. :D
Obrazek

Mariusz.

Re: G41 - G42

: 28 cze 2024, 05:14
autor: g0home
@WZÓR Muszę się trochę wytłumaczyć, program jak i detal który wkleiłem nie był wpisywany w maszynę a jedynie stworzony przeze mnie na potrzeby opisania problemu, tak się skupiłem na tym, żeby nie popełnić błedu przy współrzędnych że porobiłem błędy o których wspomniałeś. Jedynie te kropki, ja ich nie stawiam i nie bardzo wiem czemu Ty to robisz.
Kluczowe w zrozumieniu jak działa załączanie i wyłączanie kompensacji wyjaśnił @Steryd

''żeby włączyć kompensację musisz wykonać ruch nie krótszy niż kompensowany promień''

co w zasadzie jest logiczne..
Dziękuje bardzo za pomoc, dzisiaj będę testował : )

Re: G41 - G42

: 28 cze 2024, 05:39
autor: WZÓR
g0home pisze:
28 cze 2024, 05:14
..... Jedynie te kropki, ja ich nie stawiam i nie bardzo wiem czemu Ty to robisz.
....
zapis-wspolrzednych-t103333.html

Mariusz.

Re: G41 - G42

: 28 cze 2024, 11:19
autor: mag999
Przez te kropki ktoś kiedyś straci życie... Kto to wymyślił

Re: G41 - G42

: 28 cze 2024, 12:38
autor: tuxcnc
mag999 pisze:
28 cze 2024, 11:19
Przez te kropki ktoś kiedyś straci życie... Kto to wymyślił
To są pozostałości po czasach gdy sterowania były budowane na ośmiobitowych procesorach z pamięcią liczoną w kilobajtach...
Formalnie ta kropkologia jest sprzeczna ze wszystkim normami g-kodu, które stanowią, że wartości podaje się w jednostkach. Co prawda nie jest ustalone co jest tą jednostką (cal, milimetr itd...), ale kropkologia powoduje, że są DWIE jednostki zamiast jednej.
Chyba we wszystkich nowoczesnych sterowaniach można kropkologię wyłączyć, ale zawsze jest ryzyko, że ktoś może puścić stary program i suport pojedzie pół metra zamiast pół milimetra...

Re: G41 - G42

: 28 cze 2024, 13:49
autor: WZÓR
Haas na te kropki jest szczególnie uczulony.
Spróbujcie wpisać posuw F400 bez kropki na końcu .... , to się zdziwicie.

Mariusz.

Re: G41 - G42

: 28 cze 2024, 15:37
autor: Steryd
Albo spróbuj obroty z kropką;)