Czym jest kod G i dlaczego warto go znać?
Kod G (ang. G-code) to standardowy język programowania stosowany w sterownikach maszyn CNC na całym świecie. Mimo że nowoczesne oprogramowanie CAM potrafi automatycznie generować gotowe programy obróbcze, znajomość kodu G pozostaje nieocenioną umiejętnością każdego operatora i technologa. Pozwala na szybkie ręczne korekty, diagnozowanie błędów oraz pełne zrozumienie tego, co dzieje się na maszynie podczas obróbki.
Dla frezerki CNC kod G definiuje każdy ruch narzędzia – od przejazdu na pozycję startową, przez interpolację liniową i kołową, aż po cykle wiercenia i frezowania kieszeni. Opanowanie tej wiedzy to fundament, na którym zbudujesz swoją karierę jako specjalista CNC.
Układ współrzędnych – podstawa wszystkiego
Zanim napiszesz pierwszą linię kodu, musisz zrozumieć, jak działa układ współrzędnych frezerki. Standardowy układ kartezjański dla frezarki trzyosiowej składa się z trzech osi:
- Oś X – ruch poziomy w lewo i w prawo (z perspektywy operatora)
- Oś Y – ruch poziomy w przód i w tył
- Oś Z – ruch pionowy w górę i w dół (głębokość skrawania)
Punkt zerowy obrabianego przedmiotu (tzw. punkt bazowy lub zero przedmiotu) ustala operator przed rozpoczęciem obróbki. Najczęściej umieszcza się go w narożniku detalu lub w jego centrum geometrycznym. Dobrze zdefiniowany punkt zerowy to połowa sukcesu – błąd w jego ustawieniu skutkuje złą obróbką całego detalu.
W programowaniu CNC używamy dwóch trybów pozycjonowania:
- Tryb absolutny (G90) – wszystkie współrzędne odnoszą się do punktu zerowego przedmiotu. Polecenie „przejedź do X50 Y30" oznacza zawsze ten sam punkt w przestrzeni, niezależnie od aktualnej pozycji narzędzia.
- Tryb przyrostowy (G91) – współrzędne odnoszą się do aktualnej pozycji narzędzia. To tryb przydatny przy powtarzających się wzorcach ruchów.
Struktura programu CNC – jak wygląda kod?
Program CNC zbudowany jest z kolejnych bloków (wierszy), z których każdy zawiera jeden lub kilka rozkazów. Każda linia zaczyna się od litery „N" i numeru bloku (np. N10, N20), choć w wielu systemach numeracja jest opcjonalna. Oto przykład prostego programu dla frezerki:
% O0001 (PROGRAM TESTOWY) N10 G21 G40 G49 G80 G90 (INICJALIZACJA) N20 T01 M06 (ZMIANA NARZEDZIA - FREZ 10mm) N30 G54 (WYBOR UKLADU WSPOLRZEDNYCH) N40 S2500 M03 (WRZECIONO 2500 obr/min, kierunek prawy) N50 G00 X0 Y0 Z50 (SZYBKI PRZEJAZD NAD DETALEM) N60 G00 Z5 (PODEJSCIE DO DETALU) N70 G01 Z-3 F150 (ZEJSCIE NA GLEBOKOS 3mm, posuw 150mm/min) N80 G01 X100 F300 (FREZOWANIE WZDLUZ OSI X) N90 G01 Y50 (FREZOWANIE WZDLUZ OSI Y) N100 G01 X0 (POWROT W OSI X) N110 G01 Y0 (ZAMKNIECIE KONTURU) N120 G00 Z50 (ODSKOK W GORE) N130 M05 (ZATRZYMANIE WRZECIONA) N140 M30 (KONIEC PROGRAMU) %
Jak widać, każda linia pełni konkretną funkcję. Przyjrzyjmy się teraz najważniejszym rozkazom z osobna.
Najważniejsze kody G dla frezerki
G00 – Szybki przejazd pozycjonujący
Polecenie G00 nakazuje maszynie przemieszczenie narzędzia z maksymalną prędkością (posuw szybki) do zadanej pozycji. Używamy go wyłącznie do ruchów poza materiałem – nigdy podczas skrawania! Prędkość posuwu szybkiego nie jest programowana przez operatora, lecz zdefiniowana przez producenta maszyny.
Przykład: G00 X100 Y50 Z10 – przejazd na pozycję X=100, Y=50, Z=10
G01 – Interpolacja liniowa (frezowanie po linii prostej)
G01 to podstawowe polecenie robocze. Nakazuje narzędziu ruch po linii prostej z zadanym posuwem (F). Parametr F określa prędkość posuwu w mm/min. To polecenie stosuje się przy każdym ruchu skrawającym w prostej linii.
Przykład: G01 X50 Y30 F200 – ruch z posuwem 200 mm/min do punktu X=50, Y=30
G02 i G03 – Interpolacja kołowa
Gdy potrzebujesz wyciąć łuk lub okrąg, sięgasz po interpolację kołową. G02 oznacza ruch po łuku zgodnie z ruchem wskazówek zegara (CW), natomiast G03 – przeciwnie do wskazówek zegara (CCW). Oprócz współrzędnych docelowych podajesz parametry I i J (przesunięcie środka okręgu względem punktu startowego) lub parametr R (promień łuku).
Przykład z promieniem: G02 X70 Y20 R25 F150 – łuk CW do punktu X=70, Y=20 o promieniu 25 mm
Przykład z I/J: G03 X40 Y60 I-10 J15 F150 – łuk CCW, środek okręgu przesunięty o I=-10, J=15 od punktu startowego
G17, G18, G19 – Wybór płaszczyzny interpolacji
Te kody definiują, w jakiej płaszczyźnie odbywa się interpolacja kołowa. Dla standardowego frezowania na frezarce pionowej używamy G17 (płaszczyzna XY). G18 to płaszczyzna XZ, a G19 – płaszczyzna YZ.
G40, G41, G42 – Kompensacja promienia narzędzia
To jeden z ważniejszych aspektów programowania frezerki. Kompensacja promienia pozwala programować tory środka narzędzia z uwzględnieniem jego rzeczywistego wymiaru. G40 wyłącza kompensację, G41 włącza kompensację po lewej stronie toru (frezowanie współbieżne zewnętrzne), a G42 – po prawej stronie toru.
G43 – Korekcja długości narzędzia
Każde narzędzie ma inną długość. G43 aktywuje korekcję długości narzędzia z tabeli przesunięć narzędzi (H). Dzięki temu nie musisz przeprogramowywać wartości Z dla każdego narzędzia z osobna.
Przykład: G43 H01 Z50 – aktywacja korekcji narzędzia nr 1, przejazd na Z=50
Kody M – funkcje maszynowe
Obok kodów G w programach CNC znajdziemy kody M (funkcje pomocnicze), które sterują funkcjami maszynowymi niezwiązanymi bezpośrednio z ruchem narzędzia:
- M03 – uruchomienie wrzeciona w kierunku prawym (CW)
- M04 – uruchomienie wrzeciona w kierunku lewym (CCW)
- M05 – zatrzymanie wrzeciona
- M06 – zmiana narzędzia
- M08 – włączenie chłodziwa
- M09 – wyłączenie chłodziwa
- M30 – koniec programu i powrót do początku
Cykle stałe – potężne narzędzie dla powtarzalnych operacji
Frezerki CNC dysponują wbudowanymi cyklami stałymi (ang. canned cycles), które automatyzują powtarzalne operacje, takie jak wiercenie, gwintowanie czy rozwiercanie. Zamiast programować każdy ruch z osobna, definiujesz parametry cyklu jedną linią kodu.
Przykładowe cykle:
- G81 – cykl wiercenia prostego
- G83 – cykl wiercenia głębokiego z wyprowadzaniem wiórów (peck drilling)
- G84 – cykl gwintowania
- G85 – cykl rozwiercania
Przykład użycia cyklu wiercenia: G81 X10 Y20 Z-15 R5 F100 – wiercenie do głębokości 15 mm w punkcie X=10, Y=20, z poziomem szybkiego podejścia R=5 mm i posuwem 100 mm/min.
Po zakończeniu operacji wymagającej cyklu stałego należy go anulować poleceniem G80.
Parametry skrawania – jak dobrać właściwe wartości?
Nawet najlepiej napisany program CNC nie zadziała prawidłowo, jeśli parametry skrawania będą nieodpowiednie. Podstawowe parametry to:
- Prędkość obrotowa wrzeciona (S) – podawana w obr/min. Wynika z prędkości skrawania zalecanej dla danej pary materiał-narzędzie oraz średnicy narzędzia. Wzór: S = (Vc × 1000) / (π × D)
- Posuw (F) – podawany w mm/min lub mm/obr. Zależy od liczby ostrzy frezu, posuwy na ostrze i prędkości obrotowej.
- Głębokość skrawania (ap) – osiowa głębokość skrawania, czyli ile materiału zbieramy w osi Z na jedno przejście.
- Szerokość skrawania (ae) – promieniowa głębokość skrawania, czyli jak szeroki ślad zostawia frez.
Dla przykładu, przy frezowaniu stali węglowej frezem HSS o średnicy 10 mm, prędkość skrawania wynosi około 20–30 m/min. Przy Vc = 25 m/min prędkość obrotowa S = (25 × 1000) / (3,14 × 10) ≈ 796 obr/min. Przy frezie czteroostrzowym i posuwie na ostrze 0,05 mm/ząb posuw F = 796 × 4 × 0,05 ≈ 159 mm/min.
Typowe błędy początkujących programistów CNC
Podczas nauki programowania CNC łatwo o potknięcia. Oto najczęstsze błędy, których warto unikać:
- Brak inicjalizacji programu – zawsze rozpoczynaj program od bloków zerujących (G40, G49, G80, G90), aby mieć pewność, że maszyna startuje w znanych warunkach.
- Ruch G00 w materiale – szybki przejazd pozycjonujący nigdy nie powinien odbywać się w materiale. Zawsze upewniaj się, że narzędzie jest wyciągnięte ponad detal przed użyciem G00.
- Nieprawidłowa kompensacja narzędzia – aktywowanie G41/G42 w złym miejscu może spowodować kolizję lub uszkodzenie detalu.
- Zapomnienie o M30 – brak zakończenia programu może powodować nieprzewidywalne zachowanie maszyny.
- Nieuwzględnienie płaszczyzny bezpiecznej – zawsze planuj ruchy z wystarczającym zapasem w osi Z, aby unikać zderzenia z imadłem, zaciskami i innymi elementami osprzętu.
Jak ćwiczyć programowanie CNC bez dostępu do maszyny?
Nie każdy ma dostęp do frezerki CNC na co dzień. Na szczęście istnieje kilka sposobów na ćwiczenie programowania bez ryzyka kosztownych kolizji:
- Symulatory CNC – programy takie jak CNCSimulator Pro, Vericut czy FANUC CNC Guide pozwalają na wirtualne uruchamianie i symulację programów.
- Oprogramowanie CAM z symulacją – Fusion 360, Mastercam czy SolidCAM oferują wbudowane narzędzia do symulacji toru narzędzia.
- Małe frezarki hobbystyczne – niedrogie maszyny CNC sterowane Grbl to świetna platforma do nauki podstaw.
Podsumowanie
Programowanie CNC w kodzie G to umiejętność, którą nabywa się przez praktykę. Znajomość podstawowych komend – G00, G01, G02, G03, trybów pozycjonowania G90/G91, korekcji narzędzi G41/G42/G43 oraz funkcji M – daje solidny fundament do samodzielnego pisania programów obróbczych. Nie bój się eksperymentować, korzystaj z symulatorów i stopniowo poszerzaj swoją wiedzę o cykle stałe, makroprogramowanie i zaawansowane strategie obróbkowe. Na stronie weldmetal.net znajdziesz więcej praktycznych poradników z zakresu obróbki skrawaniem i spawalnictwa, które pomogą Ci rozwijać swoje kompetencje warsztatowe.