G-kody CNC po polsku - jak czytać program bez błędów

8 kwietnia 2026

Przykład G-kodu CNC po polsku: G1 (typ komendy), X23 (wartość parametru), F1000 (szybkość posuwu).

Spis treści

Ten tekst porządkuje g kody cnc po polsku i pokazuje, jak czytać je bez zgadywania, czy dana linia rusza narzędzie, ustawia jednostki, czy włącza laser. Skupiam się na tym, co naprawdę przydaje się przy frezowaniu, cięciu laserem i pracy z CAM. Zobaczysz też, gdzie najczęściej pojawiają się błędy i jak je wyłapywać, zanim program trafi na maszynę.

G-code trzeba czytać razem z kontekstem maszyny, a nie jako samą listę komend

  • G-kody opisują ruch i tryb pracy, a M-kody sterują funkcjami maszyny, na przykład wrzecionem, chłodziwem albo laserem.
  • Jedna linia programu może ustawiać kilka rzeczy naraz: jednostki, układ współrzędnych, posuw i sam ruch narzędzia.
  • Najważniejsze są nie tylko same kody, ale też modalność, czyli to, które polecenie zostaje aktywne do odwołania.
  • W CNC, laserze i CAM ten sam kod bywa interpretowany trochę inaczej, dlatego zawsze liczy się postprocesor i sterownik.
  • Najwięcej problemów robią zwykle: pomyłka w G90/G91, zły punkt zerowy, złe jednostki i nieodpowiedni tryb lasera.

Co naprawdę oznaczają g-kody w CNC

W praktyce G-code to język, którym mówi się do maszyny: jedź tu, jedź tak szybko, użyj tej płaszczyzny, trzymaj się tej bazy. Litera G najczęściej oznacza ruch albo tryb pracy, a litera M funkcje pomocnicze, czyli to, co nie jest samą geometrią przejazdu. To dlatego jeden program może wyglądać skromnie, a mimo to robić bardzo dużo, bo każda linia ustawia konkretny fragment zachowania obrabiarki.

Najważniejsza rzecz, którą rozumiem po latach pracy z takimi programami, jest prosta: G-code nie opisuje tylko ścieżki. Opisuje też logikę wykonania. Maszyna musi wiedzieć, w jakich jednostkach pracuje, gdzie jest zero, czy ruch ma być szybki, czy roboczy, czy ma ciąć po łuku, a nie po prostej. W CNC frezującym to oczywiste, ale w laserze i ploterze sprawa działa podobnie, tylko źródło energii jest inne.

Warto też pamiętać, że nie istnieje jeden „uniwersalny” G-code dla wszystkich maszyn. Sterowniki różnią się dialektem, a postprocesor dopasowuje wynik do konkretnego kontrolera. Dlatego ten sam projekt z CAM może działać świetnie na jednej maszynie, a na innej wymagać korekty. To właśnie odróżnia poprawny kod od kodu, który tylko wygląda poprawnie na ekranie.

Żeby to uporządkować, najpierw rozbijmy typową linię programu na części, a potem przejdziemy do komend, które pojawiają się najczęściej.

Jak czytać pojedynczą linię programu

Każdy zapis w programie CNC składa się z adresów i wartości. Najczęściej spotkasz litery X, Y, Z dla osi, F dla posuwu, S dla obrotów lub mocy, T dla narzędzia oraz I, J, K dla parametrów łuku. Sama składnia jest zwykle zwięzła, ale znaczenie zależy od tego, co już zostało wcześniej ustawione.

Adresy i stan modalny

Wiele komend jest modalnych, czyli działa dalej, dopóki nie zastąpi ich inne polecenie z tej samej grupy. Jeśli w jednej linii ustawisz G1, to kolejne ruchy mogą pozostać liniowe, nawet gdy nie powtórzysz już samego G1. To wygodne, ale też zdradliwe, bo początkujący często patrzą tylko na ostatnią linię i nie widzą, że maszyna nadal pamięta poprzedni tryb.

Przykładowo zapis G90 G21 G17 zwykle oznacza: pracuj absolutnie, w milimetrach i w podstawowej płaszczyźnie XY. To drobny zestaw, ale ustawia fundament całego programu. Bez takiego początku łatwo o chaos już przy pierwszym przejeździe.

Przeczytaj również: Modelowanie 3D w przeglądarce - które narzędzie wybrać?

Przykład krótkiego programu

G21 G90 G17
G54
G0 X0 Y0 Z5
M3 S12000
G1 Z-1 F300
G1 X40 Y0 F800
G2 X40 Y40 I0 J20
G1 X0 Y40
M5
M30

Ten prosty fragment pokazuje typowy tok pracy: ustawienie jednostek, trybu absolutnego i płaszczyzny, wybór bazy roboczej, szybkie dojście nad detal, włączenie wrzeciona, wejście w materiał, przejazd roboczy, łuk i zakończenie programu. Widzisz od razu, że w jednym miejscu mieszają się ruch, parametry pracy i zakończenie cyklu. To właśnie dlatego czytanie G-code wymaga spojrzenia na cały blok, nie tylko na pojedynczy znak.

Takie rozbicie jest potrzebne, bo dopiero na tym poziomie można sensownie omówić najważniejsze komendy, które w praktyce robią większość roboty.

Najczęściej używane komendy i co robią

Jeśli mam wskazać kilka poleceń, bez których trudno czytać większość programów, to zaczynam od poniższych. To nie jest pełna lista całego standardu, tylko zestaw, który rzeczywiście przewija się w codziennej pracy przy frezowaniu, laserze i prostych operacjach CAM.

Kod Znaczenie Po co jest ważny
G0 Szybki przejazd bez obróbki Służy do dojazdu nad detal lub między punktami, gdzie narzędzie nie tnie materiału.
G1 Ruch liniowy z posuwem roboczym To podstawowy ruch cięcia, frezowania i grawerowania po prostej.
G2 Łuk zgodny z ruchem wskazówek zegara Używany przy interpolacji kołowej, gdy ścieżka ma iść po okręgu lub fragmencie łuku.
G3 Łuk przeciwny do ruchu wskazówek zegara Druga połowa interpolacji kołowej, równie ważna jak G2.
G17 Wybór płaszczyzny XY Najczęściej używana w frezowaniu 2D i wielu operacjach laserowych.
G18 Wybór płaszczyzny XZ Przydaje się w specyficznych operacjach tokarskich i niektórych cyklach obróbczych.
G19 Wybór płaszczyzny YZ Spotykana rzadziej, ale istotna tam, gdzie geometria programu tego wymaga.
G20 Jednostki w calach Ważne przy imporcie obcych postprocesorów i plików z rynków anglosaskich.
G21 Jednostki metryczne W Polsce to najczęstsze ustawienie i zwykle bezpieczniejszy punkt startu.
G28 Powrót do punktu referencyjnego maszyny Pomaga bezpiecznie odsunąć maszynę po zakończeniu pracy.
G54 do G59 Układy współrzędnych roboczych Określają, z którego zera roboczego korzysta program.
G90 Programowanie absolutne Wszystko liczy się od wspólnego zera, co zwykle ułatwia kontrolę nad programem.
G91 Programowanie przyrostowe Każdy ruch odnosi się do aktualnej pozycji, więc łatwo o błąd, jeśli pomylisz tryb.
G94 Posuw na minutę To bardzo częsty sposób definiowania prędkości pracy w CNC.
G43 Korekcja długości narzędzia Istotna w frezowaniu, bo bez niej wysokość może się rozjechać.
M3 Włączenie wrzeciona lub źródła mocy W laserze i routerze często uruchamia pracę roboczą, ale znaczenie zależy od sterownika.
M4 Tryb dynamiczny, często używany w laserach Przydaje się tam, gdzie moc ma reagować na zmianę prędkości przejazdu.
M5 Wyłączenie wrzeciona lub lasera To komenda bezpieczeństwa, którą warto traktować bez dyskusji.
M8 / M9 Chłodziwo włączone / wyłączone Ważne przy obróbce skrawaniem, choć w laserze zwykle nie ma zastosowania.
M30 Koniec programu Zamyka cykl i często resetuje stan programu w kontrolerze.

Ta tabela obejmuje to, co w praktyce pojawia się najczęściej, ale nie wyczerpuje całego języka. Właśnie tu wielu użytkowników popełnia błąd: zakładają, że skoro rozumieją kilka kodów, to rozumieją już cały program. Nie. Trzeba jeszcze umieć połączyć je z trybem pracy, bazą roboczą i sterownikiem, a to prowadzi wprost do CAM i do tego, jak generowany jest kod.

G-kody w laserze i w CAM nie działają tak samo

W CNC frezującym G-code steruje ruchem narzędzia, ale w laserze często steruje też energią wiązki. To subtelna, ale bardzo ważna różnica. W laserach spotkasz zwykle G0 i G1 jako podstawę ruchu, a moc bywa podawana przez S, z włączeniem i wyłączeniem przez M3, M4 i M5. Przy sterownikach typu GRBL tryb dynamiczny potrafi utrzymać bardziej równomierną jakość graweru, bo kompensuje zmiany prędkości na zakrętach i przy przyspieszeniach.

W CAM z kolei G-code jest zwykle produktem końcowym całej ścieżki. Najpierw projektujesz geometrię, potem wyznaczasz operacje, a dopiero postprocesor tłumaczy to na język sterownika. I tu jest miejsce, w którym wszystko się albo składa, albo psuje. Jeśli postprocesor jest źle dobrany, kod może wyglądać poprawnie, ale maszyna wykona go inaczej niż oczekujesz.

To szczególnie ważne w 2026 roku, gdy wiele osób pracuje na różnych platformach: od małych ploterów i laserów po większe centra obróbcze. Jedna osoba może projektować w tym samym CAM-ie, a potem generować kod dla zupełnie innych sterowników. Dlatego nie wystarczy znać nazwy kodów. Trzeba też wiedzieć, jaką logikę narzuca dany kontroler.

W praktyce patrzę na trzy rzeczy: czy postprocesor jest dopasowany do maszyny, czy jednostki są spójne, oraz czy tryb lasera lub wrzeciona zgadza się z firmware. Jeżeli te trzy warunki są spełnione, połowa problemów znika jeszcze przed pierwszym ruchem. To dobry moment, żeby przejść do błędów, które najczęściej psują cały dzień pracy.

Najczęstsze błędy, które kosztują czas i materiał

Najbardziej bolesne pomyłki w G-code nie wyglądają dramatycznie w edytorze. Często to tylko jedna linia, jeden tryb albo jedno źle ustawione zero. W maszynie jednak taki detal potrafi oznaczać zły przejazd, przejście zbyt nisko, wypalenie narożnika albo uderzenie w stół.

  • Pomylenie G90 z G91 - to klasyk. Program napisany do ruchu absolutnego uruchomiony w trybie przyrostowym może wykonać kompletnie nieoczekiwane przejazdy.
  • Złe jednostki - plik wygenerowany w calach uruchomiony jako metryczny daje od razu skalę błędu, której nie da się zignorować.
  • Brak poprawnego zera roboczego - G54 ustawione w złym miejscu potrafi przesunąć cały detal o kilka lub kilkanaście milimetrów, a czasem znacznie więcej.
  • Założenie, że każdy łuk da się wykonać tak samo - nie każdy sterownik interpretuje G2 i G3 identycznie, zwłaszcza przy krótkich łukach i pełnych okręgach.
  • Mylenie M3 i M4 w laserze - przy niewłaściwym trybie możesz dostać przegrzane narożniki albo nierówny ślad graweru.
  • Brak kontroli posuwu - zbyt szybki F kończy się przeciążeniem, a zbyt wolny potrafi przypalić materiał lub wydłużyć cykl bez sensu.
  • Ręczna edycja kodu bez testu - mały dopisek w złym miejscu potrafi zmienić logikę całego programu, zwłaszcza jeśli pomijasz modalność.

Najprościej mówiąc, większość problemów nie wynika z samego G-code, tylko z tego, że ktoś czyta go zbyt dosłownie i bez kontekstu. Właśnie dlatego przed uruchomieniem programu robię krótką kontrolę, która oszczędza materiał, czas i nerwy.

Zanim puścisz program na maszynie, sprawdź te trzy rzeczy

Gdybym miał zostawić tylko jedną praktyczną radę, brzmiałaby tak: zawsze sprawdzaj kod w symulacji albo w trybie bezpiecznym. Nie chodzi o przesadną ostrożność, tylko o normalną higienę pracy. Dwie minuty sprawdzania potrafią oszczędzić godzinę poprawiania błędu, który wziął się z jednej źle ustawionej linii.

  1. Zweryfikuj jednostki i tryb współrzędnych - G20 czy G21, G90 czy G91, a także właściwe G54/G55. To podstawa, nie dodatek.
  2. Sprawdź punkt startowy i bezpieczną wysokość - maszyna musi wiedzieć, gdzie jest zero i na jakiej wysokości może bezpiecznie przemieszczać narzędzie.
  3. Oceń zgodność postprocesora z maszyną - jeśli używasz CAM, to właśnie postprocesor decyduje, czy wygenerowany program naprawdę pasuje do sterownika.

W pracy z laserem dorzuciłbym jeszcze kontrolę mocy i trybu wyjścia, a w frezowaniu korekcję długości narzędzia i chłodziwo. To są drobiazgi tylko na papierze. W praktyce właśnie one oddzielają sprawny proces od kosztownego eksperymentu.

Jeżeli chcesz czytać kody G pewnie, zaczynaj od ruchu, potem ogarnij modalność, a dopiero na końcu zaglądaj do rzadkich instrukcji specjalnych. Taka kolejność daje lepszy efekt niż uczenie się przypadkowej listy symboli. A jeśli pracujesz z CAM, traktuj postprocesor jak równie ważny element procesu, jak sam model i narzędzie.

FAQ - Najczęstsze pytania

Jedna linia może jednocześnie ustawiać jednostki, płaszczyznę, tryb współrzędnych, posuw i sam ruch narzędzia. Warto pamiętać, że wiele kodów jest modalnych, więc ich efekt zostaje aktywny, dopóki nie zastąpi ich nowe polecenie z tej samej grupy. Przykład G90 G21 G17 oznacza pracę absolutną, w milimetrach i w płaszczyźnie XY.

G0 służy do szybkiego przejazdu bez obróbki, na przykład nad detalem lub między punktami. G1 to ruch liniowy z posuwem roboczym, czyli podstawowy ruch cięcia lub frezowania. G2 i G3 odpowiadają za łuki - odpowiednio zgodne i przeciwne do ruchu wskazówek zegara.

Najczęściej problem robi pomylenie G90 z G91, złe jednostki G20 i G21 oraz źle ustawione zero robocze G54. W laserze często dochodzi jeszcze mylenie M3 i M4, a w każdej technologii groźny jest zbyt wysoki posuw F albo ręczna edycja kodu bez testu. To właśnie takie drobiazgi najczęściej prowadzą do złego przejazdu lub uszkodzenia materiału.

Nie ma jednego uniwersalnego G-code dla wszystkich sterowników. Różnią się one dialektem, a postprocesor tłumaczy projekt z CAM na konkretną maszynę. Jeśli postprocesor jest źle dobrany, kod może wyglądać poprawnie na ekranie, ale wykona się inaczej niż zakładałeś.

M3 i M4 służą do włączenia pracy źródła, a M5 do jego wyłączenia. W artykule M4 opisano jako tryb dynamiczny, często przydatny w laserach, bo pomaga utrzymać bardziej równomierną jakość graweru przy zmianach prędkości. Znaczenie tych kodów zależy jednak od sterownika, więc zawsze trzeba sprawdzić, jak interpretuje je konkretna maszyna.

Oceń artykuł

Ocena: 0.00 Liczba głosów: 0

Tagi:

cam laser g-kody m-kody postprocesor

Udostępnij artykuł

Tomasz Lis

Tomasz Lis

Nazywam się Tomasz Lis i od 10 lat z pasją zajmuję się technologiami 3D, od projektowania po produkcję. Moje zainteresowanie tym obszarem zaczęło się, gdy po raz pierwszy zetknąłem się z możliwościami, jakie niesie ze sobą modelowanie przestrzenne. Fascynuje mnie, jak nowe technologie mogą zmieniać sposób, w jaki myślimy o projektowaniu i produkcji. Staram się tłumaczyć złożone zagadnienia w przystępny sposób, aby każdy mógł zrozumieć, jakie korzyści płyną z zastosowania druku 3D, skanowania czy symulacji. Piszę na temat najnowszych trendów w branży, porównując różne technologie i rozwiązania, aby dostarczyć rzetelnych i aktualnych informacji. Zawsze dbam o to, aby moje artykuły były oparte na wiarygodnych źródłach, co pozwala mi organizować wiedzę w sposób jasny i zrozumiały. Moją misją jest wspieranie czytelników w odkrywaniu potencjału technologii 3D oraz pomoc w rozwiązywaniu napotykanych problemów.

Napisz komentarz