Jedna literka lub pominięty tryb pracy potrafią zmienić bezpieczny przejazd narzędzia w kosztowną kolizję. Kody G CNC opisują ruchy, układy współrzędnych i sposób prowadzenia obróbki, dlatego ich znajomość przydaje się zarówno przy pisaniu programu, jak i przy sprawdzaniu kodu wygenerowanego przez CAM. Poniżej wyjaśniam najważniejsze polecenia po polsku, pokazuję prosty program oraz wskazuję różnice między frezowaniem, toczeniem i poszczególnymi sterowaniami.
Najważniejsze zasady czytania programu CNC w kilku punktach
- G00 służy do szybkiego pozycjonowania, a G01 do ruchu roboczego z posuwem.
- G02 i G03 wykonują interpolację kołową, czyli ruch po łuku.
- G90 oznacza współrzędne absolutne, natomiast G91 przyrostowe.
- Kody G są modalne, więc część z nich pozostaje aktywna w kolejnych blokach programu.
- Znaczenie poleceń może się różnić zależnie od sterowania, dlatego przed uruchomieniem trzeba sprawdzić instrukcję konkretnej maszyny.
Czym są kody G i jak czytać pojedynczy blok
G-code to tekstowy język sterowania obrabiarką CNC. Litera G oznacza funkcję przygotowawczą, czyli polecenie związane głównie z ruchem, układem współrzędnych lub sposobem wykonywania obróbki. Sam kod G zwykle nie wystarcza, ponieważ program wykorzystuje też adresy osi, posuwu, obrotów i narzędzia.
Typowy blok może wyglądać tak:
N20 G01 X50.0 Y20.0 F300
Numer N20 oznacza numer bloku i nie zawsze jest konieczny. G01 wybiera ruch liniowy, wartości X i Y określają punkt docelowy, a F300 ustawia posuw na poziomie 300 jednostek na minutę, zwykle milimetrów na minutę. To właśnie z takich krótkich poleceń sterowanie buduje całą ścieżkę narzędzia.
Trzeba od razu rozróżnić kody G i M. Pierwsze opisują przede wszystkim geometrię oraz sposób ruchu, a drugie sterują funkcjami pomocniczymi, takimi jak wrzeciono, chłodziwo, wymiana narzędzia i koniec programu. Przykładowo G01 prowadzi narzędzie po prostej, natomiast M03 uruchamia wrzeciono zgodnie z kierunkiem obrotów przewidzianym przez sterowanie.
W praktyce najwięcej nieporozumień powoduje modalność. Kod modalny pozostaje aktywny do chwili wywołania innego kodu z tej samej grupy. Po wpisaniu G01 kolejne bloki mogą zawierać wyłącznie nowe współrzędne, ponieważ sterowanie nadal zakłada ruch roboczy. Z kolei G04, czyli czasowa przerwa, działa tylko w konkretnym bloku.

Najważniejsze kody G do ruchu i ustawiania współrzędnych
Podstawową grupę tworzą polecenia, które decydują o tym, jak narzędzie porusza się po materiale. Ich opanowanie wystarcza, aby czytać proste programy i rozumieć większość ścieżek wygenerowanych przez system CAM.
| Kod | Znaczenie | Praktyczne zastosowanie |
|---|---|---|
| G00 | Ruch szybki | Przejazd nad materiałem lub do punktu rozpoczęcia obróbki |
| G01 | Interpolacja liniowa | Skrawanie po prostej z określonym posuwem F |
| G02 | Interpolacja kołowa zgodna z ruchem wskazówek zegara | Wykonywanie łuków i fragmentów okręgów |
| G03 | Interpolacja kołowa przeciwna do ruchu wskazówek zegara | Łuki w przeciwnym kierunku |
| G04 | Zaprogramowana przerwa | Odczekanie określonego czasu, na przykład przy wierceniu |
G00 nie służy do skrawania. Maszyna jedzie wtedy z prędkością szybką, a tor przejazdu może zależeć od konfiguracji sterowania. Dlatego używam go wyłącznie wtedy, gdy mam pewność, że narzędzie znajduje się nad materiałem i nie zahaczy o detal, imadło ani element mocujący.
W przypadku G01 trzeba podać posuw F. Przykład G01 X80 F250 oznacza liniowy przejazd do pozycji X80 z posuwem 250. Jeżeli w kolejnym bloku wpiszemy tylko Y40, sterowanie zwykle wykona także ruch G01, ponieważ ten kod nadal jest aktywny.
Przy G02 i G03 kierunek łuku zależy od wybranej płaszczyzny. Dla frezowania w płaszczyźnie XY standardowo używa się G17, a środek łuku opisuje się parametrami I i J albo promieniem R. Przykładowo:
G17
G02 X40 Y20 I20 J0 F180
Ten zapis wykonuje łuk w płaszczyźnie XY, ale jego poprawność zależy od punktu początkowego, końcowego i interpretacji sterowania. Przy bardziej wymagających konturach bezpieczniej sprawdzić tor w symulatorze niż oceniać program wyłącznie na podstawie tekstu.
Przeczytaj również: Jaki papier ścierny do drewna wybrać? Gradacje i zasady
G90 i G91 zmieniają sposób rozumienia osi
G90 włącza programowanie absolutne. Współrzędne odnoszą się wtedy do ustalonego zera przedmiotu, na przykład G54. Przy G91 każda wartość oznacza przesunięcie względem aktualnego położenia. Polecenie G91 X10 przesuwa o 10 mm, a nie do pozycji X10.
Programowanie przyrostowe jest wygodne przy powtarzających się ruchach, ale łatwiej w nim o kumulację błędu. Ja przy prostych konturach preferuję G90 i jawne punkty docelowe, ponieważ szybciej można porównać kod z rysunkiem technicznym.
Układ współrzędnych, jednostki i korekcje narzędzia
Nawet poprawny ruch może zakończyć się błędem, jeśli program korzysta z niewłaściwego zera lub jednostek. Przed analizą ścieżki sprawdzam przede wszystkim G20 lub G21, wybraną bazę przedmiotu oraz płaszczyznę interpolacji.
| Kod | Funkcja | Na co uważać |
|---|---|---|
| G17 | Płaszczyzna XY | Najczęściej używana przy frezowaniu |
| G18 | Płaszczyzna XZ | Częsta przy toczeniu i wybranych operacjach na frezarce |
| G19 | Płaszczyzna YZ | Potrzebna przy obróbce bocznych powierzchni |
| G20 | Jednostki calowe | Niebezpieczna pomyłka przy programie zapisanym w milimetrach |
| G21 | Jednostki metryczne | Typowy wybór w polskich zakładach |
| G54-G59 | Układy współrzędnych przedmiotu | Każdy może wskazywać inną bazę detalu |
| G40 | Anulowanie kompensacji promienia | Przydatne przy bezpiecznym zakończeniu konturu |
| G41/G42 | Kompensacja promienia narzędzia | Wymaga poprawnie ustawionej korekcji D |
| G43 | Kompensacja długości narzędzia | Najczęściej korzysta z numeru korekcji H |
Bazy G54-G59 pozwalają obrabiać kilka detali lub kilka stron jednego detalu bez przepisywania całej geometrii. Jeśli operator ustawi G54 na innym punkcie niż autor programu, maszyna wykona kod zgodnie z instrukcją, ale w niewłaściwym miejscu. Zero programu trzeba zawsze porównać z rysunkiem i ustawieniem na stole.
Kompensacja promienia, czyli G41 lub G42, przesuwa tor środka frezu tak, aby rzeczywista krawędź narzędzia trafiła w zaprogramowany kontur. G41 oznacza zwykle kompensację po lewej stronie kierunku ruchu, a G42 po prawej. Dokładna interpretacja zależy od kierunku przejazdu i sterowania, dlatego nie należy wybierać kodu wyłącznie na pamięć.
Przy zmianie narzędzia znaczenie ma też korekcja długości. W uproszczeniu zapis G43 H02 Z50 włącza korekcję długości przypisaną do narzędzia numer 2 i jedzie na wysokość Z50. Błędny numer H może spowodować różnicę kilku lub kilkudziesięciu milimetrów, czyli wystarczającą do uderzenia frezem w detal.
Przykład prostego programu frezarskiego
Poniższy przykład pokazuje schemat przejazdu po prostokątnym konturze. Nie jest gotowym programem do uruchomienia na każdej maszynie, ponieważ brakuje w nim między innymi danych narzędzia, obrotów i parametrów konkretnego materiału. Jego celem jest pokazanie logiki kolejnych bloków.
%
O1001
G21 G17 G90 G40 G49 G80
G54
T01 M06
S3000 M03
G00 X10 Y10 Z5
G01 Z-1.0 F100
G01 X70 F250
G01 Y40
G01 X10
G01 Y10
G00 Z20
M05
M30
%
Pierwszy blok przygotowawczy wybiera milimetry, płaszczyznę XY, współrzędne absolutne oraz odwołuje aktywne wcześniej kompensacje i cykle. G54 wybiera bazę przedmiotu, T01 M06 zmienia narzędzie, a S3000 M03 uruchamia wrzeciono z prędkością 3000 obr./min.
Narzędzie najpierw szybko dojeżdża na wysokość Z5. Dopiero później G01 opuszcza je na głębokość -1 mm z bezpiecznym posuwem. Cztery kolejne ruchy tworzą prostokąt, a po zakończeniu G00 Z20 odsuwa narzędzie od detalu. Właśnie takie rozdzielenie ruchu szybkiego od roboczego ogranicza ryzyko kolizji.
Przed uruchomieniem sprawdziłbym ten kod w trzech etapach. Najpierw symulacja graficzna, potem przejazd w powietrzu nad materiałem, a na końcu pierwsza sztuka z obniżonym posuwem i gotowym przyciskiem zatrzymania. Brak alarmu sterowania nie oznacza, że program jest technologicznie poprawny.
Cykle wiercenia i polecenia używane przy bardziej złożonej obróbce
Przy wielu otworach ręczne powtarzanie ruchów szybko staje się nieczytelne. Zamiast tego stosuje się cykle stałe, czyli gotowe sekwencje ruchów zapisane jednym kodem. Ich szczegóły różnią się między frezarkami, ale ogólna idea pozostaje podobna.
| Kod | Zastosowanie | Charakterystyka |
|---|---|---|
| G80 | Anulowanie cyklu | Kończy działanie aktywnego cyklu wiercenia |
| G81 | Proste wiercenie | Do standardowych otworów bez dodatkowego łamania wióra |
| G82 | Wiercenie z czasem postoju | Przydatne między innymi przy pogłębianiu lub poprawie dna otworu |
| G83 | Wiercenie głębokie | Wiercenie z wycofaniami ułatwiającymi odprowadzanie wiórów |
| G84 | Gwintowanie | Wymaga zgodności parametrów z gwintownikiem i wrzecionem |
Przykładowy zapis G81 może wyglądać tak:
G98 G81 X20 Y20 Z-12 R2 F120
X50 Y20
X50 Y50
X20 Y50
G80
W tym przykładzie Z-12 określa głębokość otworu, R2 płaszczyznę rozpoczęcia wiercenia, a F120 posuw. Kolejne punkty wykorzystują ten sam cykl, dlatego program jest krótki. G80 powinno pojawić się po zakończeniu grupy otworów, aby przypadkowy późniejszy przejazd nie uruchomił cyklu w nowym miejscu.
G98 i G99 określają sposób powrotu narzędzia po cyklu, lecz ich znaczenie może się różnić w szczegółach. Przy głębokim wierceniu wybór bezpiecznej wysokości ma większe znaczenie niż skrócenie przejazdu o kilka sekund. Oszczędność czasu nie uzasadnia ryzyka zahaczenia o mocowanie.
Różnice między frezarką, tokarką i sterowaniami CNC
Ta sama nazwa kodu nie zawsze oznacza identyczne zachowanie na każdej maszynie. G00, G01, G02, G03, G90 i G91 są bardzo rozpowszechnione, ale już cykle toczenia, gwintowania, ograniczenia obrotów czy format parametrów mogą być charakterystyczne dla danego sterowania.
Na frezarce najczęściej pracujemy w osiach X, Y i Z, a narzędzie obraca się we wrzecionie. Na tokarce detal zwykle obraca się wokół osi Z, a narzędzie porusza się w X i Z. W efekcie kody G71, G72, G76 czy G92 mogą odnosić się do cykli toczenia, ale ich składnia nie jest uniwersalna dla wszystkich producentów.
Podobnie wygląda sprawa kodów pomocniczych. M06 często zmienia narzędzie, M03 uruchamia wrzeciono, M05 je zatrzymuje, M08 włącza chłodziwo, a M30 kończy program. Nie traktowałbym jednak takiej listy jak bezwarunkowego słownika. Instrukcja konkretnego sterowania ma pierwszeństwo przed ogólną tabelą znalezioną w internecie.
Najczęstsze błędy początkujących są dość powtarzalne. Należą do nich brak G21, pomylone G90 z G91, użycie G00 w materiale, niewłaściwe G54, pozostawiony aktywny cykl oraz błędna korekcja długości narzędzia. Dodałbym do tego jeszcze zbyt szybkie przechodzenie od symulacji do obróbki bez sprawdzenia mocowania i punktu bazowego.
- Sprawdź jednostki przed pierwszym ruchem.
- Odwołaj aktywne cykle i kompensacje na początku programu.
- Zweryfikuj kierunek osi oraz położenie zera przedmiotu.
- Przetestuj kod w trybie pojedynczego bloku przy pierwszej sztuce.
- Nie kopiuj cyklu z innego sterowania bez porównania składni.
Najbezpieczniejsza metoda nauki polega na łączeniu tabeli kodów z obserwacją toru narzędzia. Sama znajomość tłumaczenia G02 jako interpolacji kołowej niewiele daje, jeśli nie rozumiemy jeszcze płaszczyzny, punktu początkowego, promienia i parametrów I, J lub K.
Jak podejść do kodów G, żeby nie uczyć się ich na pamięć
Nie próbuję zapamiętywać całej listy poleceń jednocześnie. Na początek wystarcza zestaw obejmujący G00, G01, G02, G03, G17, G21, G54, G90, G40, G43 i G80. Potem można dołożyć cykle wiercenia, kompensację promienia oraz funkcje charakterystyczne dla konkretnej maszyny.
Dobrym ćwiczeniem jest ręczne napisanie prostego konturu, a następnie porównanie go z programem z CAM. Taka konfrontacja szybko pokazuje, które ruchy są konieczne, gdzie pojawiają się odwołania cykli i jak program zabezpiecza narzędzie przed detalem.
Najważniejsza zasada brzmi prosto. Każdy kod trzeba czytać razem z osiami, parametrami i stanem sterowania, a nie jako pojedynczą liczbę. Dzięki temu polskie objaśnienia kodów CNC stają się praktyczną pomocą przy analizie programu, a nie tylko tabelą do szybkiego przepisania.