Programowanie CNC: Kody G, Kody M, Posuwy i Gotowe Programy

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 S2000 nakazuje wrzecionu obrót $2000\ obr/min$, a zapis G01 X50.0 F300 wymusza 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 S180 utrzymuje 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:

  1. 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.
  2. G54 / T01 M06 – Wybiera pierwszy układ współrzednych i wymienia narzędzie na T01 (frez).
  3. 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$.
  4. G41 D01 X0.0 Y10.0 – Rozpoczyna obróbkę konturu z włączoną kompensacją promienia narzędzia po lewej stronie.
  5. G02 X20.0 Y100.0 R20.0 – Wykonuje przejście łukowe po promieniu R20 mm zgodnie z ruchem wskazówek zegara.
  6. G40 X-20.0 Y-20.0 – Wyjeżdża z materiału i wyłącza kompensację promienia.
  7. T02 M06 – Wykonuje zmianę narzędzia na wiertło Ø8 mm.
  8. 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).
  9. 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:

  1. G21 G40 G95 – Ustawienie milimetrów, wyłączenie kompensacji promienia noża oraz przełączenie w tryb posuwu na obrót ($mm/obr$).
  2. T0101 – Wybór narzędzia nr 1 z korektorem nr 1.
  3. 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.
  4. G01 X-1.0 Z0.0 F0.18 – Planowanie czoła detalu (przejazd noża nieznacznie poniżej osi obrotu $X0$).
  5. 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.
  6. G01 X55.0 Z-50.0 – Toczenie drugiego stopnia wałka na średnicę Ø55 mm do długości 50 mm.
  7. 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:

  1. T10 M06 / M19 – Pobranie sondy pomiarowej oraz zorientowanie wrzeciona pod stałym kątem pomiarowym.
  2. G00 G90 G54 X25.0 Y25.0 / Z10.0 – Szybki przejazd nad środek mierzonej powierzchni detalu na wysokość Z10 mm.
  3. 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.
  4. #100 = #5063 – Zapisanie aktualnej pozycji osi Z z pamięci rejestru maszynowego do zmiennej pomocniczej #100.
  5. #2603 = #100 – Nadpisanie nowo zmierzonej wartości Z bezpośrednio do rejestru układu współrzędnych G54 w maszynie.
  6. G00 Z50.0 / M30 – Bezpieczny odjazd sondy w dół/górę oraz zakończenie cyklu bazowania.