Podstawy CNC
Kod G (G-code) podstawowe komendy i programowanie CNC
· 12 min czytania

Kod G to język, którym mówi niemal każda obrabiarka sterowana numerycznie, od frezarki w małym warsztacie po centrum obróbcze w fabryce. W tym przewodniku znajdziesz opis kodu G od podstaw: skąd się wziął, jak wygląda struktura kodu G, co robią podstawowe komendy G, czym jest punkt zerowy maszyny i jak wygląda generowanie kodu G w praktyce. Na koniec rozbieramy przykładowy program CNC linia po linii.
Czym jest kod G
Kod G (G-code) to standardowy język programowania maszyn sterowanych numerycznie, w którym zapisuje się polecenia sterujące ruchem narzędzia i funkcjami maszyny. Formalną podstawą są dwie normy: międzynarodowa ISO 6983 i niemiecka DIN 66025, które definiują standardowy kod g wspólny dla większości sterowań. Nazwa pochodzi od litery G rozpoczynającej najważniejsze polecenia (stąd potocznie G kody), choć kompletny program CNC zawiera także adresy M, X, Y, Z, F, S czy T. Korzenie sięgają lat 50. i amerykańskiego standardu RS-274; dziś każdy producent sterowania, Fanuc, Siemens, Heidenhain czy otwarty LinuxCNC, ma własny dialekt, ale rdzeń pozostaje wspólny. To sprawia, że wśród języków programowania cnc G-code jest tym, czym angielski wśród języków naturalnych: kto go zna, dogada się niemal z każdą maszyną.
Cel kodu G jest prosty: zamienić geometrię z rysunku technicznego na zaplanowane ruchy narzędzia oraz komendy dla wrzeciona, chłodziwa i magazynu narzędzi. Obróbka CNC (Computer Numerical Control) polega właśnie na tym, że sterowanie maszynami CNC odbywa się przez program, a nie przez ręczne pokręcanie korbami. Dzięki temu obróbka skrawaniem staje się powtarzalna: raz opracowany kod g wykona się identycznie za pierwszym i za tysięcznym razem, co jest fundamentem tego, co dziś nazywamy precyzyjna produkcja.
Jak działa programowanie CNC
Programowanie CNC to proces tłumaczenia geometrii detalu na instrukcje zrozumiałe dla sterownika. Działanie maszyn CNC opiera się na prostym cyklu: sterownik czyta plik kodu G blok po bloku, interpretuje polecenia i zamienia je na impulsy dla napędów osi oraz wrzeciona. Programowanie ruchów narzędzia sprowadza się do opisania, dokąd narzędzie ma jechać, jak szybko i po jakiej trajektorii, a sterowanie ruchem realizują serwonapędy z dokładnością do tysięcznych części milimetra.
Cały proces programowania CNC wygląda zwykle tak: konstruktor dostarcza model lub rysunek, technolog planuje operacje i narzędzia CNC, następnie powstaje program, w którym zapisane są kolejne ruchy narzędzia i funkcje maszyny. Po symulacji i przezbrojeniu program trafia na maszynę, a operator nadzoruje pierwszą sztukę. Obsługa maszyn CNC nie wymaga pisania programów od zera przy każdym detalu, ale obsługa kodu G, czyli umiejętność jego czytania i korekty, to podstawowa kompetencja przy maszynie.
Struktura kodu G: blok, linia i słowo
Program CNC to zwykły plik tekstowy. Każda linia kodu g, nazywana blokiem, opisuje jeden krok: ruch, funkcję maszyny albo zmianę ustawień. Blok kodu G składa się ze słów, a każde słowo to adres (litera) i wartość liczbowa. Taka instrukcja kodu G jak N30 G01 X50.0 Y20.0 F200 oznacza: blok numer 30, ruch roboczy po linii prostej do punktu X=50, Y=20, z posuwem 200 mm/min.
Interpretowanie poleceń kodu G
Interpretowanie poleceń kodu G ułatwia znajomość adresów. G wybiera rodzaj ruchu lub tryb pracy, M włącza funkcje maszyny, X, Y, Z podają współrzędne, F określa prędkość posuwu, S zadaje obroty wrzeciona, T wybiera narzędzie, a N numeruje bloki. Ważna jest modalność: większość poleceń G działa, dopóki nie odwoła ich inne polecenie z tej samej grupy. Po jednym G01 kolejne bloki mogą zawierać już same współrzędne, a sterownik nadal wykonuje ruch liniowy. To dlatego polecenia kodu G w realnych programach wyglądają oszczędnie: raz zadeklarowany tryb obowiązuje przez dziesiątki bloków.
Układ współrzędnych i punkt zerowy maszyny
Wszystkie współrzędne w programie odnoszą się do jakiegoś zera i tu pojawia się kluczowe rozróżnienie. Punkt zerowy maszyny to stały punkt odniesienia ustalony przez producenta, zwykle w skrajnym położeniu osi; to od niego maszyna liczy swój układ współrzędnych po każdym uruchomieniu i najeździe referencyjnym (G28 to powrót do punktu referencyjnego związanego z zerem maszyny). Punkt zerowy przedmiotu to z kolei zero, od którego wygodnie liczy się wymiary detalu, na przykład narożnik lub oś otworu.
Ponieważ punkt zerowy maszyny leży daleko od mocowanego detalu, w praktyce stosuje się przesunięcie punktu zerowego: komendy G54 do G59 zapisują w sterowniku odległość między zerem maszyny a zerem przedmiotu, zmierzoną sondą lub czujnikiem przy ustawianiu. Programista pisze wtedy współrzędne od detalu, a sterownik sam dolicza przesunięcie punktu względem zera maszyny. Polecenie G53 pozwala chwilowo wrócić do współrzędnych maszynowych, na przykład na bezpieczną pozycję do zmiany narzędzia, a starsze G92 ustawia zero programowo, bez tabeli przesunięć. Do tego dochodzą dwa tryby wymiarowania: G90 (współrzędne absolutne, liczone od aktywnego zera) i G91 (przyrostowe, liczone od aktualnej pozycji). Błędy wokół zera to klasyka wypadków przy maszynie: źle wpisane przesunięcie punktu zerowego albo pomylony punkt zerowy maszyny z zerem przedmiotu kończy się złomem lub kolizją, dlatego ustawienia programu cnc zawsze weryfikuje się przed startem.
Podstawowe komendy G: ruchy narzędzia
Cztery polecenia kodu G to absolutna baza i zarazem podstawowe komendy g, od których zaczyna się każda nauka. G00 to ruch szybki: pozycjonowanie narzędzi cnc z maksymalną prędkością maszyny, poza materiałem. G01 to ruch liniowy z zadanym posuwem, czyli właściwy ruch roboczy w materiale. G02 i G03 to interpolacja kołowa, zgodnie i przeciwnie do ruchu wskazówek zegara; te ruchy narzędzia pozwalają frezować łuki i okręgi bez żadnych dodatkowych obliczeń po stronie operatora. Uzupełnieniem jest G04, czyli programowana przerwa czasowa, używana np. na dnie otworu dla poprawy jego powierzchni.
Warto wiedzieć, że istnieją też rzadziej używane kody G z tej rodziny: G05 i G06 spotyka się przy obróbce szybkościowej i interpolacjach krzywoliniowych (spline), G07 przy osiach wirtualnych, a G09 wymusza dokładne zatrzymanie w narożniku. To już jednak specyfika konkretnego sterowania i konkretny typ maszyny cnc.

G kody CNC: przegląd najważniejszych poleceń
Poniższa tabela zbiera używane kody G, które spotkasz w większości programów. Traktuj ją jak ściągę: to polecenia kodu G zgodne z ISO 6983 / DIN 66025; w konkretnym sterowaniu opisy mogą się minimalnie różnić.
| Kod | Funkcja kodu G |
|---|---|
| G00 | ruch szybki (pozycjonowanie poza materiałem) |
| G01 | ruch liniowy z posuwem roboczym |
| G02 / G03 | interpolacja kołowa CW / CCW |
| G04 | przerwa czasowa (dwell) |
| G09 | dokładne zatrzymanie w bloku |
| G20 / G21 | wymiarowanie w calach / milimetrach |
| G28 | powrót do punktu referencyjnego maszyny |
| G33 | gwintowanie ze sprzężeniem posuwu z obrotami |
| G40 / G41 / G42 | odwołanie / lewa / prawa kompensacja promienia narzędzia |
| G43 | kompensacja długości narzędzia |
| G53 | współrzędne maszynowe (od zera maszyny) |
| G54–G59 | przesunięcie punktu zerowego przedmiotu |
| G76 | cykl wytaczania dokładnego (frezarki) / cykl gwintowania (tokarki) |
| G79 | cykl obróbki zdefiniowany parametrycznie (wybrane sterowania) |
| G80 | odwołanie cykli stałych |
| G81 / G82 / G83 | cykl wiercenia: prosty / z przystankiem / z wycofaniem wióra |
| G84 | cykl gwintowania gwintownikiem |
| G87 | cykl wytaczania wstecznego |
| G90 / G91 | wymiarowanie absolutne / przyrostowe |
| G92 | programowe ustawienie punktu zerowego |
| G94 / G95 | posuw w mm/min / mm/obr |
| G96 / G97 | stała prędkość skrawania / stałe obroty wrzeciona |
| G98 / G99 | powrót w cyklu na płaszczyznę startu / wycofania |
Kompensacja promienia i długości narzędzia
Komendy G41 i G42 przesuwają tor ruchu o promień freza, dzięki czemu programuje się kontur detalu, a nie środek narzędzia; G40 kompensację odwołuje. G43 dokłada do tego kompensację długości, pobieraną z tabeli narzędzi. To dzięki nim edycja kodów G po przeszlifowaniu freza sprowadza się do poprawienia jednej wartości w tabeli, bez ruszania programu.
Cykle wiercenia i gwintowania
Cykl wiercenia to gotowa sekwencja: najazd, wiercenie, wycofanie, zapisana w jednym bloku. G81 wystarcza do płytkich otworów, G82 dodaje przystanek na dnie, a G83 wycofuje wiertło co kilka milimetrów, żeby łamać wiór w głębokich otworach. G84 to gwintowanie sztywne, w którym sterownik sprzęga obroty wrzeciona z posuwem, podobnie jak G33 przy gwintowaniu na tokarce. G98 i G99 decydują, na jaką wysokość narzędzie wraca między otworami, a G80 kończy pracę cyklu.
Jednostki, posuw i obroty wrzeciona
G20 i G21 przełączają cale i milimetry, o czym boleśnie przypomina każdy program ściągnięty z internetu w złych jednostkach. G94 i G95 określają, czy posuw liczony jest na minutę, czy na obrót, a G96 i G97 to domena tokarki: stała prędkość skrawania utrzymuje jakość powierzchni przy zmiennej średnicy, zmieniając obroty w locie.
M-code, czyli funkcje maszyny
Drugą połową języka jest M-code: polecenia włączające funkcje maszyny cnc niezwiązane z geometrią. Najważniejsze to M03 i M04 (start wrzeciona w prawo i w lewo), M05 (stop wrzeciona), M06 (zmiana narzędzia), M08 i M09 (chłodziwo) oraz M30, czyli koniec programu z przewinięciem do początku. Współczesne maszyny cnc zawierają magazyny narzędzi, więc zmiana narzędzi odbywa się automatycznie: blok T05 M06 pobiera narzędzie numer 5 bez udziału operatora. Właśnie automatyczna zmiana narzędzi sprawia, że jeden program może wykonać wiercenie, frezowanie i gwintowanie w jednym zamocowaniu.
Przykład kodu G z opisem linia po linii
Tak wygląda prosty, opracowany kod g dla frezarki: planowanie ścieżki wokół prostokąta i wywiercenie jednego otworu.
%
O0006 (PLYTKA 60x40)
N10 G21 G90 G54 (milimetry, wymiarowanie absolutne, zero przedmiotu G54)
N20 T01 M06 (zmiana narzedzia: frez fi 10)
N30 S3000 M03 (obroty wrzeciona 3000 obr/min, start w prawo)
N40 G00 X-10.0 Y-10.0 Z5.0 (ruch szybki nad punkt startu)
N50 G01 Z-2.0 F100 (zaglebienie na 2 mm, posuw roboczy)
N60 G01 X70.0 F300 (ruch liniowy wzdluz dolnej krawedzi)
N70 G01 Y50.0 (bok prawy - G01 nadal aktywne)
N80 G01 X-10.0 (gorna krawedz)
N90 G01 Y-10.0 (powrot do startu)
N100 G00 Z50.0 (odjazd bezpieczny)
N110 T02 M06 (zmiana narzedzia: wiertlo fi 6)
N120 S1500 M03 (nowe obroty)
N130 G00 X30.0 Y20.0 (pozycjonowanie nad otworem)
N140 G81 Z-12.0 R2.0 F80 (cykl wiercenia do -12 mm)
N150 G80 G00 Z50.0 (odwolanie cyklu, odjazd)
N160 M05 M09 (stop wrzeciona i chlodziwa)
N170 M30 (koniec programu)
%
Ten krótki skrypt g pokazuje wszystko, co najważniejsze: ustawienia na początku, ruchy narzędzia wzdłuż konturu, cykl stały i porządne zakończenie. Kontrolowanie ruchów w osi Z (najpierw bezpieczna wysokość, potem zagłębienie) to nawyk, który chroni i narzędzie, i detal.
Generowanie kodu G: ręcznie czy z CAD/CAM
Proste detale można zaprogramować ręcznie przy maszynie i wielu operatorów tak pracuje na co dzień. Przy skomplikowanych kształtach ręczne pisanie nie ma jednak sensu: generowanie kodu G przejmują systemy CAD/CAM, które na podstawie modelu 3D planują ścieżki, a postprocesor tłumaczy je na dialekt konkretnego sterowania. Wygenerować kod g potrafią też prostsze narzędzia: Generator G-Code DraftSight tworzy programy wprost z rysunku 2D, slicery do drukowania 3D generują G-code dla drukarek, a darmowy LinuxCNC pozwala uruchomić własną maszynę na zwykłym komputerze. Niezależnie od źródła, generowanie kodu G kończy się plikiem tekstowym, który zawsze można ręcznie doszlifować.
Weryfikacja poprawnego kodu NC
Zanim program trafi na maszynę, warto sprawdzić go w symulatorze: graficzna weryfikacja poprawnego kodu NC wychwytuje kolizje, błędne przesunięcia i literówki taniej niż złamany frez. Dobrą praktyką jest też pierwsza sztuka z obniżonym posuwem i ręką na potencjometrze. Stosować kody g bez symulacji można przy trywialnych programach; przy wszystkim innym te kilka minut się po prostu opłaca.

Zastosowanie maszyn CNC: gdzie spotkasz G-code
Choć kojarzy się z frezowaniem, G-code steruje ruchem niemal wszędzie tam, gdzie liczy się powtarzalne sterowanie ruchem maszyny. Frezarki i tokarki to klasyka, ale ten sam język obsługuje cięcie laserowe, cięcie plazmowe, wycinarki strunowe i wodne, szlifierki, wytaczarki, a nawet roboty przemysłowe i drukarki 3D. Nie wszystkie maszyny cnc rozumieją dokładnie ten sam dialekt, dlatego dobierając odpowiednią maszynę CNC pod produkcję, warto sprawdzić sterowanie i dostępny postprocesor. Samo zastosowanie maszyny CNC określa, które grupy poleceń są w użyciu: na tokarce królują G96 i cykle gwintowania, na wypalarce ruch maszyn CNC ogranicza się do dwóch osi, a centrum frezarskie korzysta z pełnej palety.
Potencjał maszyn CNC: optymalizacja i automatyzacja procesów
Dobrze napisany program to nie tylko poprawna geometria. Optymalizacja maszyn CNC zaczyna się w kodzie: krótsze drogi przejazdów G00, przemyślana kolejność operacji, mniej zbędnych zmian narzędzi i dobrany posuw potrafią ściąć czas cyklu o kilkadziesiąt procent bez żadnych inwestycji. Pełny potencjał maszyn CNC uwalnia dopiero automatyzacja procesów: podajniki prętów, sondy pomiarowe i roboty przemysłowe ładujące detale sprawiają, że maszyna pracuje także wtedy, gdy operator zajmuje się czym innym. O tym, dlaczego każda zaoszczędzona minuta wrzeciona jest tyle warta, pisaliśmy w artykule o najdroższej minucie w obróbce CNC.
Z perspektywy zamawiającego działa to tak samo, tylko w drugą stronę: im mniej roboczogodzin programisty i wrzeciona potrzebuje Twój detal, tym mniej zapłacisz. W wycenie MetronQ geometria detalu przekłada się wprost na czas obróbki, a orientacyjne stawki znajdziesz w cenniku. Warto też pamiętać, że o cenie decyduje nie tylko program, ale i tolerancje na rysunku oraz wymagana chropowatość powierzchni.
Najczęstsze pytania o kod G
Czym różni się kod G dla CNC od kodu M? Polecenia kodu G opisują geometrię i ruch: dokąd, jak szybko i po jakiej trajektorii jedzie narzędzie. M-code steruje urządzeniami maszyny: wrzecionem, chłodziwem, magazynem narzędzi. Kompletny program CNC używa obu naprzemiennie.
Czy kody G są takie same na tokarce i frezarce? Rdzeń jest wspólny (G00, G01, G02, G03, G90, G91), ale tokarki pracują w osiach X i Z, używają G96/G97 i własnych cykli toczenia, a frezarki mają cykle wiercenia i kompensację w płaszczyźnie XY. Program z frezarki nie zadziała na tokarce bez przeróbki.
Jak działa automatyczna zmiana narzędzia? Blok w rodzaju T03 M06 każe maszynie odłożyć aktualne narzędzie do magazynu i pobrać narzędzie numer 3. Sterownik dolicza przy tym kompensację długości z tabeli (G43), więc każde narzędzie ma poprawne zero w osi Z.
Co ustawia obroty wrzeciona i posuw? Adres S zadaje obroty (np. S3000), a M03/M04 je uruchamiają; adres F określa prędkość posuwu, interpretowaną według G94 lub G95. Na tokarkach G96 utrzymuje stałą prędkość skrawania niezależnie od średnicy.
Od czego zacząć naukę, żeby napisać pierwszy program CNC? Od czterech ruchów (G00, G01, G02, G03), wymiarowania G90/G91 i zrozumienia, czym jest punkt zerowy maszyny oraz przesunięcia G54. Potem cykle wiercenia i kompensacja promienia. Darmowy symulator albo LinuxCNC wystarczą do ćwiczeń bez dostępu do maszyny.
Czy przy obróbce CNC muszę znać kod G, jeśli mam CAD/CAM? W praktyce tak, przynajmniej biernie. System CAM wygeneruje program, ale przy maszynie zawsze coś trzeba skorygować: posuw, przesunięcie zera, kolejność bloków. Operator, który rozumie G kody, wychwyci błąd postprocesora zanim ten kosztuje frez lub detal.
Do czego służy optymalizacja maszyn CNC na poziomie programu? Do skracania czasu cyklu i oszczędzania narzędzi: mniej pustych przejazdów, mniej zmian narzędzi, posuwy dobrane do materiału. Przy serii nawet drobna poprawka programu mnoży się przez liczbę sztuk.
Tematytechnologiaprogramowanieobróbka
Źródła
- 1.ISO 6983-1:2009 - Numerical control of machines - Program format and definitions of address words
- 2.DIN 66025 - Struktura programu dla obrabiarek sterowanych numerycznie
- 3.P. Smid, "CNC Programming Handbook", 3rd ed., Industrial Press, 2008
- 4.Dokumentacja LinuxCNC (dialekt RS-274/NGC)
Przeczytaj też
- Oznaczenia chropowatości powierzchni: znak, symbole i zapisy na rysunkuZnak chropowatości na rysunku mówi wykonawcy, jak gładka ma być każda powierzchnia części. Wyjaśniamy budowę symbolu, zapisy Ra i Rz, oznaczenie maksymalnej chropowatości, kierunek śladów obróbki i klasy chropowatości - z tabelami i przykładami.
- Kalkulator parametrów skrawania, jak obliczyć prędkość, obroty i posuwPrędkość skrawania, obroty wrzeciona i posuw - od tych trzech liczb zależy trwałość narzędzia, jakość powierzchni i czas obróbki. Pokazujemy wzory, przykładowe obliczenia i typowe wartości, które wystarczy podstawić do kalkulatora parametrów skrawania.
- Narzędzia skrawające: rodzaje, budowa i jak wybrać odpowiednieNoże tokarskie, frezy, wiertła i piły - to narzędzia skrawające wykonują całą realną pracę na obrabiarce. Wyjaśniamy rodzaje, budowę i materiały narzędzi oraz podpowiadamy, jak wybrać odpowiednie narzędzie do operacji.
Wypróbuj na swoim detalu
Załóż konto, wgraj swoje pliki STEP i porównaj wyceny z własnymi. Pierwsze 14 dni za darmo, bez karty.
Załóż konto za darmo