Ścieżka narzędzia w systemach CAM – #161

ścieżka narzędzia

Jak jest generowana ścieżka narzędzia w systemach CAM?


Za chwilę przejdziemy do dodawania własnych narzędzi do biblioteki narzędzi Alphacam, ale w tym miejscu warto chwilę poświęcić na to, aby zrozumieć jak są generowane ścieżki narzędzia przez system CAM. I nie chodzi w tym miejscu o algorytmy systemu CAM, a bardziej o to co jest podstawą do wygenerowania ścieżki narzędzia, na której podstawie wygenerowany będzie program NC.

W przypadku obróbki konturów istotną kwestią jest to czy korzystamy z korekcji narzędzia G41/G42 czy generujemy kod bez korekcji narzędzia.

Jeżeli nie korzystamy z korekcji narzędzia to podstawą do wygenerowania prawidłowego programu NC jest geometria przedstawiająca przedmiot obrabiany i narzędzie, które wybraliśmy do obróbki (w tym miejscu pomijamy kwestie postprocesora, zakładamy, że jest poprawny). Na podstawie geometrii i średnicy narzędzia generowana jest ścieżka narzędzia w odpowiedniej odległości od konturu. W poniższym przykładzie mamy obróbkę kwadratu 100 x 100 mm, frezem o średnicy 10 mm. Początek układu współrzędnych jest w lewym dolnym rogu kwadratu.

Ścieżka narzędzia jest odsunięta o 5 mm od obrabianego konturu, czyli o połowę średnicy narzędzia. Więc możemy wywnioskować, że ścieżka narzędzia opisuje ruch punktu środka narzędzia. Sprawdźmy jak to będzie wyglądało w kodzie NC.

Analizując kod NC widzimy, że obróbka rozpoczyna się od współrzędnych X-5 Y-5. Pomijając ruch w osi Z, narzędzie następnie przemieszcza się do współrzędnych Y105 (przy czym X pozostaje bez zmian, czyli X-5), następnie do X105 (Y bez zmian, czyli Y105), następnie do Y-5 (X pozostaje na wartości X105), i na końcu X-5 (a Y-5), czyli wracamy do punktu początkowego. Przez całą obróbkę narzędzie jest odsunięte od konturu o 5 mm na stronę. Ścieżka narzędzia opisuje kwadrat 105 x 105. Narzędzie jest już odsunięte o wartość połowy średnicy narzędzia od obrabianego konturu, czyli od nominalnego wymiaru. Uruchamiając taki program na obrabiarce CNC otrzymamy detal o prawidłowych wymiarach 100 x 100 mm (w idealnym przypadku, kiedy narzędzie ma średnicę równą 10 mm).

Sprawdźmy jak to się zmieni jeżeli zastosujemy korekcję narzędzia G41/G42 (Korekcja G41/G24 w Maszynie).

Tutaj podobnie obróbka rozpoczyna się od współrzędnych X-5 Y-5, ale następnie mamy X0 Y100, następnie X100, następnie Y0 i na koniec X-5. Czyli środek narzędzia przemieszcza się po kwadracie 100 x 100 mm. Uruchamiając taki program otrzymamy detal o wymiarach 90 x 90 mm.

Tutaj pomocna byłaby korekcja narzędzia. Nawet zaznaczyliśmy odpowiednią opcję w Alphacam przed wygenerowanie programu obróbkowego, ale co poszło nie tak?

W systemach CAM jedną z najbardziej istotnych kwestii jest prawidłowo wdrożony postprocesor. W tym momencie korzystamy z domyślnego postprocesora zainstalowanego w Alphacam i może nie być tam zaimplementowanych opcji, odpowiedzialnych za korekcję G41/G42. Dlatego musimy na to uważać, jeżeli korzystamy z postprocesorów, które nie są dostosowane do naszej maszyny (np. takie które znajdziemy w internecie). Takie postprocesory, z niepewnego źródła, mogą wyrządzić wiele kosztownych szkód na maszynie.

Ale po sprawdzeniu postprocesora okazuje się, że funkcje odpowiedzialne za działanie korekcji narzędzia są zaimplementowane. Więc o co chodzi?

A no o to, że podczas generowania programu obróbkowego pojawiło się ostrzeżenie.

Oczywiście zignorowałem ostrzeżenie i kliknąłem OK. I program jest błędny. A za wszystko odpowiedzialny jest brak Wejścia/Wyjścia narzędzia. I o ile w przypadku gdzie nie korzystamy z korekcji narzędzia, brak wejścia i wyjścia narzędzia w niczym nie przeszkadza. Ale kiedy chcemy skorzystać z korekcji promienia narzędzia, musimy mieć wejścia i wyjście narzędzia, aby było miejsce na włączenie korekcji narzędzia.

Tak wygląda ścieżka narzędzia bez wejścia i wyjścia narzędzia. Narzędzie zagłębi się pionowo, jak wiertło, w miejscu początku obróbki.

Dodajmy teraz wejście i wyjście narzędzia odpowiednie do zastosowania korekcji. Tak, wejście i wyjście narzędzia musi być odpowiednie do zastosowania korekcji.

Korekcji nie zastosujemy jeżeli pierwszym ruchem narzędzia będzie łuk. Np. tak jak na poniższym przykładzie.

A najgorsze jest to, że system CAM najprawdopodobniej nie wyrzuci żadnego ostrzeżenia (Alphacam nie informuje o błędzie). Program obróbkowy został wygenerowany bez żadnego ostrzeżenia. A w środku nawet nie ma funkcji G41.

Co spowoduje to, że na maszynie też nie pojawi się żaden błąd. Czyli otrzymamy podcięcia na detalu. Jakby został wygenerowany tutaj kod G41, to sterownik obrabiarki wyświetliłby błąd. Korekcja może być zastosowana, w większości przypadków, wtedy kiedy pierwszym ruchem jest ruch po linii G1, a nie ruch po łuku G2 lub G3. Sterownik musi odpowiednio przeliczyć ścieżkę narzędzia, musi ją odsunąć o odpowiednią wartość od obrabianego konturu i ma problem żeby to zrobić jak pierwszym ruchem jest łuk. Nie spotkałem się jeszcze z sytuacją żeby sterownik obrabiarki CNC zastosował korektę w ruchu po łuku. Ale nie upieram się przy tym, że jest to niemożliwe.

Ok, więc musi być wejście i wyjście narzędzia po linii. Sprawdźmy co się stanie w sytuacji jak na poniższym rysunku, gdzie wejście i wyjście jest po prostu przedłużeniem ścieżki narzędzia.

Program został wygenerowany bez żadnych błędów. Kod G41 również został wygenerowany.

Wszystko wygląda dobrze i ten program na wielu maszynach mógłby działać poprawnie, ale niestety nie na wszystkich.

Zdarza się, że niektóre sterowniki pokazałby w takiej sytuacji błąd programu. Program jest poprawny, ale niektóre układy sterowania mogą wyrzucić błąd, jeżeli w systemie CAM przygotujemy takie wejście i wyjście narzędzie. Może to wynikać ze sposobu w jaki postprocesor generuje program obróbkowy. Ale już bez zagłębiania się w szczegóły, chciałem tylko na to zwrócić uwagę, jakby ktoś kiedyś miał tego typu problem.

Więc jakie wejście i wyjście narzędzia będzie poprawne i będzie działać zawsze? Niestety nie da się odpowiedzieć na to pytanie. Najmniej problemów występuje wtedy kiedy linia wejścia jest wyraźnie inna niż pozostała część ścieżki narzędzia (nie tak jak na powyższym rysunku, gdzie jest przedłużeniem).

Z wejściem i wyjściem narzędzia przedstawionym na powyższym rysunku mam najmniej problemów jeżeli korzystam z korekcji narzędzia. Najpierw mamy wejście po linii, które przechodzi w łuk i narzędzie łagodnie wchodzi w materiał.

 

Podsumowanie

Po tym prostym przykładzie widać, że podstawą do wygenerowania programu obróbkowego jest geometria detalu, średnica narzędzia i to czy korzystamy z korekcji G41/G42. Jeżeli nie korzystamy z korekcji narzędzia to system CAM automatycznie wygeneruje ścieżkę narzędzia odsuniętą o połowę średnicy narzędzia od obrabianego konturu. Problem może pojawić się wtedy, kiedy narzędzie jest stępione a chcemy uzyskać dokładny wymiar. Np. narzędzie zamiast nominalnych 10 mm średnicy ma 9,9 mm. Program zostanie wygenerowany dla narzędzia o średnicy 10 mm, a w rzeczywistości obrobiony narzędziem o średnicy 9,9 mm. Otrzymamy 0,1 mm naddatku na wymiarze. Co w przypadku tolerancji warsztatowej będzie poprawne (dla powyższego przykładu 100×100) i detal powinien zostać zaakceptowany. I nie ma potrzeby korzystania z korekcji narzędzia aby to poprawić.

Jednak jeżeli musimy uzyskać wymiar w dosyć wąskiej tolerancji może się to nie udać aby uzyskać to od razu po pierwszym uruchomieniu programu. Wtedy warto zastosować korekcję narzędzia G41/G42 i już bezpośrednio na maszynie dostosować ścieżkę narzędzia.

Skoro korekcja pozwala na dostosowanie programu bezpośrednio w sterowniku maszyny, dlaczego nie korzystać z niej cały czas? Ja mam kilka powodów, między innymi to, że czasami występują problemy z programem, w którym występuje korekcja. Inna rzecz to taka, że operator może nie wyzerować, w tabeli narzędzi w maszynie, wartości korekcji z poprzedniego programu i wtedy program pójdzie od razu z wcześniej wpisaną wartością korekcji – a nie wiadomo jaka była wpisana. Więc mam prostą zasadę, jak nie muszę to nie korzystam z korekcji narzędzia.

Pobierz i przetestuj pełną, oryginalną licencję Alphacam za darmo na 30 dni!