Jak pisać program CNC krok po kroku i uniknąć błędów

Gabriel Jakubowski .

15 października 2026

Przykład G-kodu: G1 (typ komendy) X23 (parametr) F1000 (szybkość posuwu). To jest pisanie programu CNC krok po kroku.

Gdy detal ma wyjść zgodnie z rysunkiem, sam zapis G-code nie wystarczy. Trzeba jeszcze poprawnie odczytać wymiary, ustawić bazę, dobrać narzędzie i przewidzieć zachowanie maszyny. Pokażę, jak wygląda pisanie programu CNC krok po kroku, od przygotowania danych przez budowę kodu aż po symulację, przejazd testowy i kontrolę gotowego detalu.

Dobry program CNC powstaje z planu, nie z przypadkowych linii kodu

  • Najpierw rysunek i baza, dopiero później wpisywanie poleceń G-code.
  • G90, G54, G43 i G80 pomagają jednoznacznie określić układ współrzędnych, korekcje i tryb pracy.
  • Każdy program trzeba sprawdzić w symulatorze, grafice sterownika lub podczas bezpiecznego przejazdu testowego.
  • Parametry skrawania zależą od materiału, narzędzia, mocowania i sztywności maszyny.
  • Ręczne programowanie sprawdza się przy prostych detalach, a CAM zwykle wygrywa przy złożonych geometriach.

Od czego naprawdę zaczyna się program CNC

Ja zaczynam zawsze od rysunku wykonawczego, a nie od kodów G. Sprawdzam wymiary, tolerancje, materiał, rodzaj obróbki i sposób zamocowania detalu. Najdroższy błąd często powstaje jeszcze przed uruchomieniem maszyny, gdy programista przyjmie niewłaściwy punkt zerowy albo pominie wymiar związany z bazą.

Przygotuj dane wejściowe

Przed napisaniem pierwszego bloku trzeba ustalić, czy program dotyczy frezarki, tokarki, centrum obróbczego czy innej maszyny. Znaczenie kodów może się różnić zależnie od sterowania, dlatego dokumentacja konkretnego modelu ma pierwszeństwo przed ogólną tabelą G-code.

  • rodzaj i wymiary półfabrykatu,
  • materiał obrabiany,
  • narzędzia i ich średnice,
  • punkt bazowy detalu,
  • głębokości i poziomy bezpieczne,
  • prędkość obrotowa oraz posuw,
  • kolejność operacji.

W praktyce dobrze działa prosta zasada: najpierw plan obróbki, potem program. Jeśli detal wymaga planowania, wiercenia i frezowania konturu, zapisuję te operacje osobno. Dzięki temu łatwiej znaleźć błąd i bezpieczniej zmienić tylko jedną część programu.

Ustal układ współrzędnych

Najczęściej spotkasz programowanie absolutne G90, w którym każda pozycja odnosi się do ustalonego zera, oraz przyrostowe G91, gdzie punkt docelowy liczony jest od aktualnej pozycji. Na początku nauki polecam G90, ponieważ łatwiej kontrolować współrzędne na podstawie rysunku.

Na frezarce bazą może być narożnik materiału, środek detalu albo jego górna powierzchnia. Dla przykładu, przy wierceniu otworów często przyjmuje się górę materiału jako Z0, a głębokości zapisuje jako wartości ujemne. To rozwiązanie jest czytelne, ale wymaga konsekwencji przy ustawianiu korekcji narzędzia.

Jak zbudować czytelny i bezpieczny blok programu

Program CNC składa się z bloków, czyli wierszy zawierających polecenia ruchu, parametry i funkcje pomocnicze. Nie każdy sterownik wymaga identycznego układu, jednak przejrzysta struktura ogranicza ryzyko pomyłki i ułatwia pracę operatorowi.

Element Przykład Znaczenie
Numer programu O0100 Identyfikuje program w pamięci sterownika.
Jednostki G21 Ustawia milimetry. G20 zwykle oznacza cale.
Tryb współrzędnych G90 Włącza programowanie absolutne.
Układ bazowy G54 Wybiera zapisany układ współrzędnych detalu.
Ruch szybki G00 Przejazd bez skrawania, zwykle z dużą prędkością.
Ruch roboczy G01 Ruch liniowy z określonym posuwem.
Koniec programu M30 Kończy program i zwykle przewija go do początku.

Bezpieczny początek programu powinien wyzerować tryby, które mogły pozostać aktywne po wcześniejszej operacji. Często stosuje się zestaw G21 G17 G90 G40 G49 G80, ale dokładny dobór zależy od maszyny i sterowania. G40 wyłącza korekcję promienia, G49 korekcję długości narzędzia, a G80 anuluje cykl wiercenia.

Nie traktuję takiego wiersza jak magicznej formuły. Jeśli sterownik nie obsługuje któregoś kodu albo maszyna wymaga innego sposobu anulowania funkcji, trzeba zastosować zapis z instrukcji producenta. Uniwersalny G-code w praktyce nie jest całkowicie uniwersalny.

Dodaj komentarze i logiczne sekcje

Krótki komentarz przy zmianie narzędzia potrafi oszczędzić sporo czasu. Operator od razu widzi, czy program wykonuje planowanie, wiercenie, zgrubne wybieranie materiału czy wykańczanie konturu.

O0100 (KIESZEN 40 X 25 MM)
G21 G17 G90 G40 G49 G80
T1 M6 (FREZ FI 8)
G54
S2500 M3
G43 H01 Z50
...
M5
M30

W tym przykładzie H01 wskazuje korekcję długości pierwszego narzędzia, a G43 ją aktywuje. Jeżeli numer narzędzia i numer korekcji nie odpowiadają rzeczywistym ustawieniom, maszyna może zejść na niewłaściwą wysokość.

Pisanie programu CNC krok po kroku na prostym przykładzie

Załóżmy, że chcemy wywiercić dwa otwory w aluminiowej płytce. Przyjmuję górną powierzchnię materiału jako Z0, punkt zerowy w lewym dolnym narożniku, a otwory znajdują się w pozycjach X10 Y10 oraz X30 Y10. Głębokość wynosi 8 mm, a płaszczyzna bezpiecznego wycofania jest na Z2.

1. Wybierz narzędzie i parametry

Dobieram wiertło do średnicy otworu, materiału i dostępnego chłodzenia. Prędkość 2500 obr./min oraz posuw 100 mm/min w poniższym przykładzie są wyłącznie wartościami demonstracyjnymi. Nie należy przenosić ich bezpośrednio na każdą średnicę i każdy materiał.

2. Ustaw bazę i bezpieczną pozycję

Po zmianie narzędzia maszyna powinna przejść do pozycji, w której nie grozi kolizja z imadłem ani detalem. Dopiero potem aktywuję korekcję długości, wybieram G54 i uruchamiam wrzeciono.

3. Zastosuj cykl wiercenia

O0101 (DWA OTWORY FI 6)
G21 G17 G90 G40 G49 G80
T2 M6 (WIERTLO FI 6)
G54
S2500 M3
G43 H02 Z50
G00 X10 Y10
G00 Z5
G81 Z-8 R2 F100
X30 Y10
G80
G00 Z50
M5
M30

G81 jest cyklem wiercenia. W tym zapisie Z-8 oznacza głębokość, R2 poziom rozpoczęcia wiercenia, a F100 posuw. Po podaniu drugiej pozycji sterownik powtarza cykl w nowym punkcie, dlatego nie trzeba ponownie wpisywać całej komendy G81.

4. Anuluj cykl i zakończ operację

Po ostatnim otworze wpisuję G80, aby wyłączyć cykl. To drobny, ale ważny nawyk. Pozostawienie aktywnego cyklu może spowodować, że kolejny ruch zostanie zinterpretowany jako następne wiercenie.

Przy frezowaniu prostego konturu logika pozostaje podobna. Najpierw dojazd nad detal, potem zejście na głębokość roboczą, ruchy G01 z odpowiednim posuwem, wycofanie narzędzia i dopiero na końcu zatrzymanie wrzeciona. Ruch G00 powinien odbywać się poza materiałem, a skrawanie najlepiej wykonywać przez G01, G02 lub G03.

Co sprawdzić przed pierwszym przejazdem

Najbezpieczniejszy program może stać się niebezpieczny, jeśli baza w maszynie różni się od tej przyjętej podczas pisania kodu. Dlatego przed uruchomieniem sprawdzam zgodność programu z ustawieniami obrabiarki, numerami narzędzi i korekcjami.

  • czy wybrano właściwe jednostki, na przykład G21,
  • czy aktywny jest prawidłowy układ G54 lub inny używany offset,
  • czy numer T odpowiada narzędziu w magazynie,
  • czy korekcja H ma właściwą długość,
  • czy wartości Z nie prowadzą narzędzia w materiał przed właściwym dojazdem,
  • czy posuw F i obroty S pasują do narzędzia,
  • czy ruchy szybkie G00 nie przecinają elementów mocowania.

Najpierw uruchamiam symulację albo podgląd graficzny, jeśli sterownik go oferuje. Potem korzystam z pojedynczego bloku, zmniejszonego posuwu i zatrzymania opcjonalnego. Pierwszy przejazd powinien być kontrolowany, a nie efektowny.

Przeczytaj również: Tolerancje otworów H7 i H8 w CNC. Jak dobrać i zmierzyć?

Najczęstsze błędy początkujących

Błąd Skutek Jak go ograniczyć
Pominięcie G80 Niespodziewane powtórzenie cyklu wiercenia. Anulować cykl przed kolejną operacją.
Zły offset G54 Obróbka w niewłaściwym miejscu. Zmierz bazę i sprawdź ją przed startem.
Brak G43 H Niewłaściwa długość narzędzia w osi Z. Aktywować poprawną korekcję po zmianie narzędzia.
Zbyt duży posuw Drgania, złamana krawędź lub uszkodzenie narzędzia. Dobrać parametry do materiału i średnicy.
Ruch G00 nad detalem Ryzyko kolizji przy błędnej wysokości. Ustawić bezpieczną płaszczyznę i sprawdzić tor ruchu.

Jeśli podczas testu pojawia się pisk, stukanie, nietypowe drgania albo opóźniona reakcja maszyny, zatrzymuję cykl i szukam przyczyny. Dźwięk obróbki często mówi o problemie szybciej niż gotowy pomiar, ale nie zastępuje kontroli wymiarów.

Ręczne programowanie czy CAM

Ręczne pisanie ma sens przy prostych otworach, kieszeniach, konturach i krótkich poprawkach. Daje pełną kontrolę nad kodem i uczy, jak maszyna interpretuje współrzędne. Przy skomplikowanych powierzchniach 3D, wielu przejściach lub pięciu osiach ręczne tworzenie ścieżki staje się jednak czasochłonne i bardziej podatne na pomyłki.

Metoda Najlepsze zastosowanie Ograniczenie
Programowanie ręczne Proste detale, wiercenie, szybkie poprawki. Dużo pracy przy złożonej geometrii.
CAM Kontury 3D, kieszenie, wiele narzędzi i operacji. Wymaga poprawnego modelu, postprocesora i weryfikacji.
Program z gotowego wzorca Powtarzalne elementy i produkcja seryjna. Ryzyko bezmyślnego skopiowania złej bazy lub parametrów.

CAM nie zwalnia z odpowiedzialności za program. Postprocesor może wygenerować kod poprawny dla jednego sterownika, ale nieodpowiedni dla innego. Przed wysłaniem pliku sprawdzam układ osi, korekcje, cykle i wysokości bezpieczne, nawet jeśli ścieżka wygląda dobrze w symulacji.

W mojej ocenie najlepszy efekt daje łączenie obu metod. Ręczne podstawy pomagają zrozumieć, co generuje CAM, a oprogramowanie przyspiesza pracę tam, gdzie ręczne liczenie punktów nie ma już praktycznego sensu.

Małe nawyki, które skracają drogę do dobrego detalu

Każdy program zapisuję z nazwą operacji, numerem wersji i informacją o narzędziu. Przy zmianie wartości posuwu lub głębokości nie nadpisuję bez śladu poprzedniej wersji. Prosta kontrola wersji jest równie ważna jak znajomość kodów, zwłaszcza gdy kilka osób korzysta z tej samej maszyny.

Nie zaczynam nauki od skomplikowanych makr ani pięcioosiowych ścieżek. Najlepszą kolejność stanowią proste ruchy G00 i G01, układy G90 oraz G91, korekcje narzędzi, cykle wiercenia, a dopiero później kompensacja promienia i programowanie parametryczne.

Na końcu zawsze porównuję gotowy detal z rysunkiem, a nie tylko z tym, co pokazała symulacja. Maszyna może wykonać kod bez alarmu, a mimo to detal będzie poza tolerancją przez bicie narzędzia, niewłaściwe zamocowanie lub błędnie zmierzoną bazę.

Najkrótsza droga do pewnego programowania prowadzi przez powtarzalny schemat: rysunek, baza, narzędzia, kod, symulacja, przejazd testowy i pomiar. Gdy te etapy wykonuję w tej kolejności, samo pisanie programu staje się przewidywalną częścią obróbki, a nie zgadywaniem, czy maszyna zrobi to, czego od niej oczekuję.

Artykuł ma charakter wyłącznie informacyjny i edukacyjny. Materiał został opracowany przy wsparciu nowoczesnych narzędzi analitycznych i językowych (AI). Przed podjęciem decyzji skonsultuj się z ekspertem.

FAQ - Najczęstsze pytania

Najpierw przeanalizuj rysunek, wymiary, tolerancje, materiał, półfabrykat, narzędzia i sposób mocowania. Następnie ustal punkt bazowy, poziomy bezpieczne oraz kolejność operacji, a dopiero potem buduj kod.
G90 określa pozycje absolutnie względem ustalonego zera, a G91 przyrostowo względem aktualnego położenia. Na początku nauki wygodniej stosować G90, ponieważ współrzędne można bezpośrednio kontrolować na podstawie rysunku.
Sprawdź jednostki, właściwy offset G54, zgodność numeru narzędzia T z magazynem oraz poprawność korekcji długości H. Zweryfikuj także wartości Z, posuw F, obroty S i tor ruchów szybkich G00, a następnie wykonaj symulację, przejazd pojedynczym blokiem lub test ze zmniejszonym posuwem.
G80 anuluje aktywny cykl wiercenia, na przykład G81. Bez tego kolejny ruch może zostać zinterpretowany jako następne wiercenie, dlatego cykl należy wyłączyć przed rozpoczęciem kolejnej operacji.
Programowanie ręczne sprawdza się przy prostych otworach, kieszeniach, konturach i krótkich poprawkach. CAM jest praktyczniejszy przy złożonych powierzchniach 3D, wielu przejściach i pięciu osiach, ale wygenerowany kod nadal trzeba zweryfikować pod kątem sterowania, osi, korekcji, cykli i wysokości bezpiecznych.
Oceń artykuł

Średnia: 5.0 / 5 · 2 oceny

Tagi

g-code wiercenie cam symulacja korekcje
Autor Gabriel Jakubowski
Gabriel Jakubowski
Nazywam się Gabriel Jakubowski i mam 8-letnie doświadczenie w dziedzinie techniki warsztatowej, elektryki oraz automatyki. Moja fascynacja tymi obszarami zaczęła się już w młodości, kiedy to z ciekawością obserwowałem, jak działają różne urządzenia i systemy. Z czasem postanowiłem zgłębić tę wiedzę, co pozwoliło mi nie tylko zrozumieć złożoność technologii, ale także podzielić się nią z innymi. Piszę na temat najnowszych trendów w technice warsztatowej oraz elektryce, starając się uprościć skomplikowane zagadnienia i dostarczyć czytelnikom zrozumiałe oraz rzetelne informacje. Dokładam wszelkich starań, aby moje artykuły były aktualne i oparte na sprawdzonych źródłach, co pozwala mi skutecznie pomagać w rozwiązywaniu problemów, z którymi borykają się zarówno amatorzy, jak i profesjonaliści w tej dziedzinie.
Komentarze (0)
Dodaj komentarz