Jak napisać program CNC? Pisanie programu krok po kroku

1 lipca 2019 0

Autor:

G kody

program CNC. Pisanie programów CNC można podzielić na kilka metod:

Pisanie programów CNC

– Ręczne, w G kodach,

– ręczne, przy pomocy cykli,

– generowanie programów CAM

Wyżej wymienione metody pisania programów przedstawione zostaną na przykładzie frezowania CNC.

Ręczne pisanie programów cnc jak sama nazwa wskazuje polega na wpisywaniu kolejnych kodów bezpośrednio na pulpicie maszyny, w trybie edycji programu lub przy pomocy edytora tekstu na komputerze. Program pisany jest na zasadzie linia po linii.

W celu lepszego przedstawienia idei (oraz różnic) pisania programów bezpośrednio z pulpitu maszyny zostaną porównane dwa sterowania Fanuc oraz Heidenhain.

Przykładowy program CNC

Przykładem na sterowaniu FANUC będzie program (oraz omówienie) wiercenia z wyciąganiem wiórów.

Fanuc przykładowy program

G90 G94 G17 G54 G80 G40 G0;

T1 M6;

S6000 M3;

G43 H1 Z100;

X15 Y15 M8;

G83 G99 Z-20 R1 Q5 F200;

X30 Y30;

G80;

G0 Z100;

M30;

Pisanie programu CNC krok po kroku

Powyższy program jest jednym z podstawowych cykli na wiercenie. Warto zapamiętać sobie pierwszą linię (lub stworzyć swoją według uznania), ponieważ będzie ona wykorzystywana w każdym programie bez wyjątku. Przedstawione są w niej niezbędne informacje od których program powinien się zaczynać. Kod G90 to wymiarowanie bezwzględne, w którym kolejne punkty w programie są określane względem ustawionego punktu zerowego (zalecane używanie takie sposobu wymiarowania, gdyż jest dużo mniejsza szansa na pomyłkę a tym samym kolizję). Jeżeli programowana jest frezarka, kod G94 jest niezbędny, ponieważ definiuje on rodzaj posuwu w mm/min. Jeżeli maszyna jest 3 osiowa to zwykle nie trzeba używać kodu G17, który ustala płaszczyznę roboczą X/Y (dla tokarek G18, osie Z/X). Kolejno określane jest przesunięcie bazowe G54. W sterowaniu FANUC występują tabele przesunięcia punktu zerowego (G54-G57 lub więcej) co jest bardzo przydatne w momencie, gdy mamy na maszynie zamocowane więcej niż jeden element. Przykładowo mając do wyfrezowania dwie takie same części można zamocować je w dwóch różnych imadłach, a następnie zmierzyć bazę i zapisać odpowiednio na G54 dla pierwszego elementu i na G55 dla drugiego. Tym sposobem zmieniając jeden G kod na początku programu, można przyspieszyć sobie pracę. Następne kody to odpowiednio G80 i G40 służą one do odwołania cyklu oraz odwołania kompensacji narzędzia (nie są niezbędne, jednak są przypadki, gdy program został zatrzymany w trakcie cyklu i nie został on odwołany przez co nie jest możliwe załączenie nowego cyklu nawet w innym programie). Na końcu linii znajduje się G0 czyli ruch szybki (ustawczy), warto wstawiać go na początku programu.

Druga linia przedstawia zdefiniowanie narzędzia T1 (numer w magazynie 1) oraz wywołanie go z magazynu M6.

Kolejno ustawienie obrotów S na prędkość 6000obr/min i załączenie w kierunku prawym M3.

Bardzo ważnym G kodem jest G43, ponieważ wczytuje on długość narzędzia z tabeli narzędziowej. H1 oznacza nic innego jak długość i numer narzędzia (a właściwie komórkę w tabeli narzędzi, która odpowiada kolumnie H oraz wierszowi nr 1). Ponadto warto dodać wysokość na której ma być ustawiona korekcja (przykładowo Z100).

Następna linia to nic innego jak ustawienie się maszyny w punkcie wiercenia X15 Y15 oraz załączenie chłodzenia zewnętrznego M8.

Kolejna linia to już sam cykl wiercenia G83 G99 Z-20 R1 Q5 F200:

G83 jest to wywołanie cyklu wiercenia z wyciąganiem wiórów.

G99 ustawienie powrotu narzędzia do poziomu bezpiecznego R po każdym dojeździe (kod ten można zastąpić G98 jednak wtedy narzędzie po każdym wyjechaniu z materiału cofa się na wysokość początkową, czyli Z100, ponieważ jest to ostatnia wysokość Z przed cyklem).

Z jest to ustalenie głębokości na jaką ma być wiercony otwór (na przykładzie -20mm).

R oznacza wysokość bezpieczną (w tym przykładzie jest to R1 czyli 1mm, może być np. R5 czyli 5mm nad punktem zerowym w osi Z, powiązane z kodem G99).

Q występuje tylko w tym cyklu (ponieważ jest to cykl wiercenia z wyciąganiem wiórów), definiuje wielkość zagłębiania się narzędzia w materiale (w przykładzie Q5 oznacza, że narzędzie będzie wiercić po 5mm w głąb zanim wyjedzie nad materiał i wyrzuci wiór).

F to nic innego jak posuw roboczy (ustalony w mm/min przez kod G94).

Po zdefiniowaniu cyklu można podawać kolejne współrzędne w których maszyna ma wiercić otwory (tak jak jest to pokazane w kolejnej linii programu X30 Y30). Zakończenie cyklu następuje po wpisaniu kodu G80.

Następnie maszyna wyjeżdża na bezpieczną wysokość Z100 i kończy program kodem M30.

W przypadku pisania w G kodzie warto wiedzieć, że niektóre maszyny (zwykle starsze) wymagają podwójnego numerowania kodów i tak np. można w niektórych programach znaleźć G00 zamiast G0, lub G01 zamiast G1. W obu przypadkach jest to kolejno ruch ustawczy oraz ruch roboczy.

Sterowanie Heidenhain

Na sterowaniu Heidenhain przedstawiony zostanie przykład wymiany narzędzia oraz przesunięcia się w zaprogramowanych osiach (na przykładzie sterowania Heidenhain iTNC530):

Heidenhain przykładowy program

1 BEGIN PGM PROGRAM1 MM

2 BLK FORM 0.1 Z X-50 Y-50 Z-50

3 BLK FORM 0.2 X+50 Y+50 Z0

4 TOOL CALL 10 Z S3000 F1000

5 L Z100 R0 FMAX M3 M8

6 L X0 Y0 FMAX

7 M30

Już na samym początku widać różnicę, która polega na możliwości zdefiniowania gabarytów półfabrykatu (przydatne gdy chcemy przeprowadzić symulację).

Program w tym przypadku posiada numerowane linie (od 0 do 6) z lewej strony każdego wiersza. Zaczynając od numeru 0 jest to standardowa linia, która pokazuje nazwę obecnie edytowanego programu (na przykładzie PROGRAM1). Kolejno numer 1 oraz 2 to definicja wymiarów półfabrykatu na którym będzie przeprowadzana obróbka. Według przykładu baza (punkt zerowy półfabrykatu) ustawiona jest na środku kostki o wymiarach 100x100mm oraz na górnej powierzchni półfabrykatu. Wyjaśniając w prosty sposób skąd wzięły się takie gabaryty wystarczy dodać do siebie wartości osobno dla każdej osi (w sposób bezwzględny), stąd:

– dla X 50+50 = 100mm

– dla Y 50+50 = 100mm

– dla Z 50+0 = 50mm

Kolejna linia programu (nr 3) definiuje komendę wymiany narzędzia o numerze 10, ustalenie osi w której pracuje wrzeciono (oś Z) oraz ustawienie obrotów S i posuwu roboczego F.

Następnie wykonywany jest ruch szybki w osi Z na współrzędną +100, bez korekcji narzędzia (R0) oraz załączane są obroty prawe (M3) i chłodzenie zewnętrzne (M8). Dalej następuje ustawienie się maszyny ruchem szybki na współrzędnych X0 i Y0 oraz zakończenie programu (M30).

Podsumowując, przedstawione programy różnią się w kilku miejscach jednak zasada ich pisania jest ta sama. Dla przykładu Heidenhain zamiast G0 posiada po prostu FMAX, w obu przypadkach jest to ruch ustawczy. Można stwierdzić, że każde sterowanie mimo różnic w pisaniu oraz posiadaniu odmiennych znaków (zależnie od producenta oprogramowania), oparte jest na podobnej metodzie programowania.

Większość sterowań np. Sinumerik, Heidenhain, Fanuc, Okuma posiada cykle. Jest to duże ułatwienie i wygoda w pisaniu programów, ponieważ można w bardzo szybki sposób wykonać podstawowe operacje frezarskie. Dla przykładu, porównane zostaną dwa programy, pierwszy napisany linia po linii, a drugi przy pomocy cyklu (na sterowaniu Heidenhain iTNC 530).

Zakładając że naszym półfabrykatem jest kostka aluminium o wymiarach 100x100x50mm chcemy wyfrezować kwadrat 95x95x20mm. Do frezowania wykorzystany zostanie frez o średnicy Ø20mm. Baza, X/Y na środku kostki oraz Z na górnej powierzchni.

Pierwszy z programów cnc, pisany bez użycia cykli przedstawia rysunek 1 (w trybie edycji programu).

Rysunek 1. Program frezowania kostki metodą linia po linii.

Na pierwszy rzut oka dla osoby która nie miała nic wspólnego z programowaniem CNC może to wyglądać nieco skomplikowanie, jednak nie jest to nic trudnego. Linia zerowa przedstawia nazwę programu (tak jak w przykładzie wyżej). Kolejno wiersze 1 i 2 to zdefiniowanie wymiarów półfabrykatu (oraz ustawienie go w przestrzeni roboczej). Następnie kolej na wybranie z magazynu narzędzia numer 10 (nasz frez Ø20mm) oraz ustawienie obrotów S (Obr/min) i posuwu roboczego F (mm/min). Wiersz 4 to ustawienie się narzędzia w osi Z, bez korekcji promienia (R0), posuwem szybkim (FMAX) oraz załączenie obrotów prawych (M3) i chłodzenia zewnętrznego (M8). Kolejna linia przedstawia przesunięcie się narzędzia na punkt startu w osi X i Y, ale tym razem z załączoną lewą korekcją promienia narzędzia (RL), znaczy to że frez odsunie się od materiału o swój promień czyli w tym przypadku 10mm. Następnie szybki zjazd nad materiał (FMAX) i zagłębienie się na wymaganą głębokość 20mm ruchem roboczym (F AUTO, czyli wyżej zdefiniowany posuw F2000). Linie 8-11 przedstawiają ruch narzędzia od punktu do punktu w materiale w osiach X i Y, z czego wiersz 11 to punkt wyjścia freza. Kolejno następuje wyjazd na Z100 i zakończenie programu (M30). Rysunek 2 przedstawia symulację wyżej opisanego programu.

 

Rysunek 2. Symulacja programu PROGRAM1

Dla porównania jak bardzo wygodne są cykle, przedstawiony zostanie ten sam program napisany przy pomocy cyklu frezowania wyspy kwadratowej (Rysunek 3).

Rysunek 3. Symulacja programu z cyklem, PROGRAM2

Jak łatwo zauważyć program cnc nieco różni się od poprzedniego, jednak jest on dużo prostszy. Patrząc na PROGRAM2 można przyjąć, że wiersze 0-4 oraz 7-9 (w poprzednim programie są to wiersze 0-4 i 12-14) to stała i niezmienna podstawa każdego programu, a zmianom podlega tylko to co znajduje się pomiędzy tymi wierszami, a więc z poprzedniego programu wyrzucany wiersze 5-11 i wstawiamy cykl (linia numer 5 w programie 2).

Każdy cykl prowadzi programistę poprzez kolejne etapy w których należy wpisać odpowiednie wartości (dane). Jak łatwo zauważyć z prawej strony występuje opis każdego parametru Q. Tym sposobem, aby utworzyć dokładnie taki sam program jak poprzednio wpisane zostały wartości wymiarów kwadratu, który ma być wyfrezowany (parametry Q218, Q219 i Q201) oraz kilka innych współczynników jak np. Q437 (czyli naroże materiału od którego frez zaczyna pracować) czy Q351 (frezowanie współbieżne).

Na podstawie wyżej przedstawionych przykładów można stwierdzić, że programowanie cnc przy pomocy cykli jest znacznym uproszczeniem oraz przyspiesza pisanie programów cnc. Dużą zaletą używania cykli maszynowych jest możliwość uzyskania naprawdę skomplikowanych kształtów bez potrzeby liczenia każdej współrzędnej (co ma miejsce w pisaniu linia po linii). Ograniczeniem może być jedynie wyobraźnia programisty, którego zadaniem jest rozłożenie geometrii danego elementu na pojedyncze cykle i połączenie ich w taki sposób aby osiągnąć zamierzony efekt końcowy.

Pisanie programów CNC przy pomocy oprogramowania CAM

Ostatnim sposobem na pisanie programów CNC  jest generowanie ich przy pomocy oprogramowania CAM (computer-aided manufacturing). Jest to zaawansowana metoda tworzenia programów polegająca na pracy bezpośrednio na modelu 3D danej części.

Obecnie projektowane elementy mają często skomplikowane kształty, których wykonanie przy pomocy cykli maszynowych jest niemożliwe. Dobrym przykładem mogą być formy wtryskowe, gdzie jedynym rozwiązaniem aby wykonać taki element jest wygenerowanie kodu z programu CAM. Metoda ta ma bardzo wiele zalet, z których możliwe że najważniejszą jest dostępność pełnej symulacji obróbki. Programy CAM umożliwiają zdefiniowanie dowolnego narzędzia skrawającego wraz z różnego rodzaju oprawkami, dzięki czemu programista już na etapie pisania programu może sprawdzić ewentualne kolizje czy też błędy wymiarowe (opcja porównania modelu 3D, z bryłą po zakończeniu danego programu).

Mamy nadzieje, że pisanie programów CNC stało się bardziej zrozumiałe:)

UdostępnijShare on FacebookShare on Google+Tweet about this on Twitter

Powiązane produkty

Newsletter
Bądź na bieżąco