Programowanie CNC w języku ISO (G-code) polega na przekazywaniu maszynie dokładnych instrukcji dotyczących ruchów narzędzia, parametrów skrawania oraz funkcji pomocniczych. Poniżej znajduje się pełne zestawienie podstawowych komend, zasad ustalania posuwów, automatyzacji sondą oraz przykładów gotowych programów przedstawionych w czytelnym tekście.
1. Zestawienie Podstawowych Kodów G i M
Podstawowe Kody G (Funkcje Przygotowawcze)
- G00 – Szybki przejazd (ruch pozycjonujący, bez obróbki materiału).
- G01 – Liniowy ruch roboczy (cięcie materiału z zadanym posuwem F).
- G02 – Interpolacja kołowa zgodnie z ruchem wskazówek zegara (CW).
- G03 – Interpolacja kołowa przeciwnie do ruchu wskazówek zegara (CCW).
- G17 / G18 / G19 – Wybór płaszczyzny obróbki (G17: XY dla frezarek, G18: ZX dla tokarek, G19: YZ).
- G20 / G21 – Wybór jednostek miary (G20: cale, G21: milimetry).
- G40 – Wyłączenie kompensacji promienia narzędzia.
- G41 – Włączenie kompensacji promienia narzędzia po lewej stronie konturu.
- G42 – Włączenie kompensacji promienia narzędzia po prawej stronie konturu.
- G43 – Włączenie kompensacji długości narzędzia (pobranie korekcji Z).
- G54 do G59 – Wybór układu współrzędnych detalu (punkt zerowy detalu).
- G80 – Odwołanie dowolnego aktywnego cyklu obróbczego (np. cyklu wiercenia).
- G81 – Cykl prostego wiercenia (jednorazowy ruch do dna otworu).
- G83 – Cykl wiercenia głębokiego z pełnym wycofywaniem wiertła w celu łamania i usunięcia wióra.
- G90 – Pozycjonowanie w układzie bezwzględnym (wymiary od punktu zero detalu).
- G91 – Pozycjonowanie w układzie przyrostowym (wymiary od aktualnej pozycji narzędzia).
- G94 – Posuw minutowy (wyrażony w mm/min).
- G95 – Posuw na obrót (wyrażony w mm/obr – używany głównie na tokarkach).
- G96 – Stała prędkość skrawania $V_c$ w m/min (obroty zmieniają się automatycznie wraz ze średnicą).
- G97 – Stała prędkość obrotowa RPM (stałe obroty wrzeciona niezależnie od średnicy).
Podstawowe Kody M (Funkcje Pomocnicze i Maszynowe)
- M03 – Włączenie obrotów wrzeciona w prawo (zgodnie z ruchem wskazówek zegara).
- M04 – Włączenie obrotów wrzeciona w lewo (przeciwnie do ruchu wskazówek zegara).
- M05 – Zatrzymanie obrotów wrzeciona.
- M06 – Automatyczna zmiana narzędzia na zdefiniowane w komendzie T.
- M08 – Włączenie podawania chłodziwa.
- M09 – Wyłączenie podawania chłodziwa.
- M00 – Bezwarunkowy stop programu (zatrzymanie pracy do momentu naciśnięcia przycisku Start).
- M01 – Warunkowy stop programu (działa, jeśli na panelu maszyny włączona jest opcja Optional Stop).
- M19 – Orientacja wrzeciona (ustawienie wrzeciona pod określonym kątem, np. do pomiaru).
- M30 – Koniec programu, wyłączenie pomocniczych funkcji i powrót kursora na początek.
2. Posuwy, Prędkości i Skrypty Sondy Pomiarowej
Sterowanie Posuwem (F) i Prędkością Obrotową (S)
Współpraca parametrów skrawania w kodzie opiera się na relacji komend F, S oraz trybów pracy:
- Na frezarkach stosuje się najczęściej tryb G94 (posuw mm/min) połączony ze stałymi obrotami G97. Przykładowy zapis
M03 S2000nakazuje wrzecionu obrót $2000\ obr/min$, a zapisG01 X50.0 F300wymusza ruch narzędzia z prędkością $300\ mm/min$. - Na tokarkach używa się trybu G95 (posuw mm/obr) oraz G96 (stała prędkość skrawania). Zapis
G96 S180utrzymuje prędkość skrawania $180\ m/min$. Aby uniknąć zbyt wysokich obrotów przy toczeniu w pobliżu osi $X0$, zawsze stosuje się ograniczenie G50 S2500 (maksymalne obroty wrzeciona nie przekroczą $2500\ obr/min$).
Automatyzacja Sondą Pomiarową (G31 / Macro B)
Sonda pomiarowa stykowa wykorzystuje kod pomiarowy G31 (tzw. sygnał pętli otwartej / ruch pomiarowy).
Zasada działania: Narzędzie pomiarowe porusza się z ustaloną prędkością w stronę materiału (G31 Z-20.0 F100). W momencie fizycznego dotknięcia detalu, sygnał z sondy natychmiast zatrzymuje ruch maszyny, a bieżąca współrzędna zostaje wpisana do zmiennych systemowych sterownika (np. #5063 dla osi Z). Skrypt może automatycznie wyliczyć środek detalu i zapisać go bezpośrednio do tabeli punktów zerowych G54–G59.
3. Przykłady Gotowych Programów CNC z Opisem
Programy zostały zapisane w formie standardowego tekstu, co ułatwia zaznaczanie i kopiowanie bezpośrednio ze strony.
Przykładowy Program 1: Frezowanie Konturu z Cyklem Wiercenia G83 (Frezarka CNC)
Kod programu:
%
O1001 (FREZOWANIE KONTURU I WIERCENIE G83)
G21 G17 G90 G40 G49 G80
G54
T01 M06
G00 X-20.0 Y-20.0
G43 Z50.0 H01
M03 S2200
G94 F350 M08
G00 Z2.0
G01 Z-5.0 F150
G41 D01 X0.0 Y10.0 F300
G01 Y80.0
G02 X20.0 Y100.0 R20.0
G01 X80.0
G01 Y0.0
G01 X-10.0
G40 X-20.0 Y-20.0
G00 Z50.0 M09
M05
T02 M06
G00 X50.0 Y50.0
G43 Z50.0 H02
M03 S1800
M08
G83 X50.0 Y50.0 Z-25.0 R3.0 Q4.0 F120
G80
G00 Z100.0 M09
M05
G28 G91 Z0.0
M30
%
Opis krok po kroku co robi program:
- G21 G17 G90 G40 G49 G80 – Blok bezpieczeństwa: ustawia jednostki milimetryczne, płaszczyznę XY, tryb wymiarowania bezwzględnego oraz kasuje poprzednie cykle i korekcje.
- G54 / T01 M06 – Wybiera pierwszy układ współrzednych i wymienia narzędzie na T01 (frez).
- G43 Z50.0 H01 / M03 S2200 / G94 F350 M08 – Włącza korekcję długości narzędzia na bezpiecznej wysokości Z50, uruchamia wrzeciono na $2200\ obr/min$ oraz włącza chłodziwo i posuw minutowy $350\ mm/min$.
- G41 D01 X0.0 Y10.0 – Rozpoczyna obróbkę konturu z włączoną kompensacją promienia narzędzia po lewej stronie.
- G02 X20.0 Y100.0 R20.0 – Wykonuje przejście łukowe po promieniu R20 mm zgodnie z ruchem wskazówek zegara.
- G40 X-20.0 Y-20.0 – Wyjeżdża z materiału i wyłącza kompensację promienia.
- T02 M06 – Wykonuje zmianę narzędzia na wiertło Ø8 mm.
- G83 X50.0 Y50.0 Z-25.0 R3.0 Q4.0 F120 – Uruchamia cykl głębokiego wiercenia w punkcie X50 Y50 na głębokość -25 mm, z bezpiecznym dojazdem do poziomu R3 mm i krokiem wiercenia Q=4 mm (pełne wycofanie wiertła co 4 mm).
- G80 / G28 G91 Z0.0 / M30 – Odwołuje cykl wiercenia, odjeżdża osią Z do punktu zerowego maszyny i kończy program.
Przykładowy Program 2: Toczenie Wałka ze Stałą Prędkością Skrawania G96 (Tokarka CNC)
Kod programu:
%
O2002 (TOCZENIE WALKA Z G96 I G95)
G21 G40 G95
T0101
G50 S2800
G96 S200 M03
M08
G00 X65.0 Z2.0
G01 X-1.0 Z0.0 F0.18
G00 X62.0 Z2.0
G01 X40.0 Z2.0 F0.25
G01 X40.0 Z-25.0 F0.2
G01 X55.0 Z-25.0
G01 X55.0 Z-50.0
G01 X62.0
G00 X100.0 Z50.0 M09
G97 S1500 M03
G00 X150.0 Z100.0
M05
M30
%
Opis krok po kroku co robi program:
- G21 G40 G95 – Ustawienie milimetrów, wyłączenie kompensacji promienia noża oraz przełączenie w tryb posuwu na obrót ($mm/obr$).
- T0101 – Wybór narzędzia nr 1 z korektorem nr 1.
- G50 S2800 / G96 S200 M03 – Nałożenie ograniczenia obrotów do $2800\ obr/min$ oraz włączenie stałej prędkości skrawania $V_c = 200\ m/min$. Obroty wrzeciona będą automatycznie wzrastać podczas zbliżania się noża do osi X0.
- G01 X-1.0 Z0.0 F0.18 – Planowanie czoła detalu (przejazd noża nieznacznie poniżej osi obrotu $X0$).
- G01 X40.0 Z-25.0 F0.2 – Toczenie podłużne pierwszego stopnia wałka na średnicę Ø40 mm i długość 25 mm.
- G01 X55.0 Z-50.0 – Toczenie drugiego stopnia wałka na średnicę Ø55 mm do długości 50 mm.
- G97 S1500 M03 / M30 – Przełączenie sterownika na stałe obroty $1500\ obr/min$, odjazd na pozycję bezpieczną i zakończenie programu.
Przykładowy Program 3: Automatyczne Bazowanie Osi Z Sondą Pomiarową (Macro B)
Kod programu:
%
O3003 (POMIAR SONDA – BAZOWANIE Z G54)
T10 M06
G00 G90 G54 X25.0 Y25.0
G43 Z30.0 H10
M19
G00 Z10.0
G31 Z-10.0 F100.0
#100 = #5063
#2603 = #100
G00 Z50.0
M30
%
Opis krok po kroku co robi program:
- T10 M06 / M19 – Pobranie sondy pomiarowej oraz zorientowanie wrzeciona pod stałym kątem pomiarowym.
- G00 G90 G54 X25.0 Y25.0 / Z10.0 – Szybki przejazd nad środek mierzonej powierzchni detalu na wysokość Z10 mm.
- G31 Z-10.0 F100.0 – Ruch pomiarowy w dół z posuwem $100\ mm/min$. W momencie dotknięcia powierzchni detal nadaje impuls i ruch zostaje natychmiast zatrzymany.
- #100 = #5063 – Zapisanie aktualnej pozycji osi Z z pamięci rejestru maszynowego do zmiennej pomocniczej
#100. - #2603 = #100 – Nadpisanie nowo zmierzonej wartości Z bezpośrednio do rejestru układu współrzędnych G54 w maszynie.
- G00 Z50.0 / M30 – Bezpieczny odjazd sondy w dół/górę oraz zakończenie cyklu bazowania.