Gdy frezarka ma wykonać prosty przejazd, łuk, otwór albo zmianę płaszczyzny pracy, każdy ruch wynika z konkretnej komendy programu. Poniżej porządkuję kody G stosowane w CNC, pokazuję ich składnię, zastosowanie oraz różnice między frezowaniem i toczeniem. Dodaję też przykładowy program, opis kodów M i listę kontroli przed uruchomieniem obróbki.
Najważniejsze informacje o programowaniu CNC w kilku punktach
- G00 służy do szybkiego pozycjonowania, a G01 do ruchu roboczego z określonym posuwem.
- G02 i G03 wykonują interpolację kołową, czyli ruch po łuku zgodnie z wybraną płaszczyzną.
- G90 oznacza programowanie absolutne, natomiast G91 przyrostowe.
- Najczęściej używane ustawienia to G21, G54, G43, G40 i G80.
- Znaczenie części kodów zależy od sterowania, dlatego program trzeba sprawdzić w instrukcji konkretnej maszyny.
Jak czytać kod G w programie CNC
Kody G są poleceniami przygotowawczymi, które określają sposób ruchu narzędzia albo tryb pracy sterowania. Sama komenda zwykle nie wystarcza. Jej działanie uzupełniają adresy osi, posuw, prędkość obrotowa i numer korekcji narzędzia.
Przykładowy blok G01 X50. Y20. F300 oznacza ruch liniowy do punktu X50 Y20 z posuwem 300 mm/min, jeśli aktywne są jednostki metryczne. Litera F określa posuw, a wartości X i Y położenie celu.
| Adres | Znaczenie | Przykład |
|---|---|---|
| N | Numer bloku programu | N010 |
| G | Ruch lub tryb przygotowawczy | G01 |
| X, Y, Z | Położenie osi liniowych | X25. Z-3. |
| A, B, C | Położenie osi obrotowych | A90. |
| F | Posuw roboczy | F250 |
| S | Prędkość obrotowa wrzeciona | S8000 |
| T | Numer narzędzia | T03 |
| H | Korekcja długości narzędzia | H03 |
| D | Korekcja promienia narzędzia | D03 |
Ważną cechą wielu komend jest modalność. Oznacza ona, że kod pozostaje aktywny w kolejnych blokach, dopóki nie zostanie zastąpiony innym kodem z tej samej grupy. Po zapisaniu G01 X50. kolejny blok Y30. często również będzie ruchem liniowym, choć nie zawiera już symbolu G01.
Nie zakładam jednak, że każdy sterownik interpretuje program identycznie. Fanuc, Haas, Siemens, LinuxCNC, Mach i sterowania producentów maszyn mogą różnić się składnią cykli, jednostkami czasu dla G04 czy obsługą dodatkowych funkcji.
Najważniejsze komendy ruchu i interpolacji
To grupa poleceń, od której najlepiej zacząć naukę. Decyduje ona o tym, jak narzędzie przemieszcza się względem przedmiotu, a nie tylko do którego punktu ma dotrzeć.
| Kod | Funkcja | Praktyczne zastosowanie |
|---|---|---|
G00 |
Szybkie pozycjonowanie | Przejazd nad detalem lub wycofanie narzędzia bez skrawania |
G01 |
Interpolacja liniowa | Cięcie po linii prostej z zadanym posuwem |
G02 |
Interpolacja kołowa zgodna z ruchem wskazówek zegara | Wykonanie łuku lub fragmentu okręgu |
G03 |
Interpolacja kołowa przeciwna do ruchu wskazówek zegara | Wykonanie łuku w przeciwnym kierunku |
G04 |
Postój czasowy | Odczekanie na ustabilizowanie obrotów lub wykonanie dna otworu |
G09 |
Dokładne zatrzymanie | Ograniczenie zaokrąglenia narożnika w wybranym bloku |
G00 nie jest ruchem roboczym. Sterowanie może prowadzić osie jednocześnie, ale ich droga nie musi tworzyć bezpiecznej linii prostej. Dlatego przy przejazdach nad detalem zostawiam wystarczający odstęp Z, zamiast zakładać, że narzędzie ominie wszystkie przeszkody.
W przypadku G01 trzeba podać posuw odpowiedni dla materiału, średnicy narzędzia i liczby ostrzy. Przykład G01 Z-2. F120 oznacza zagłębienie narzędzia do poziomu -2 z posuwem 120, ale nie mówi jeszcze, czy taki parametr jest bezpieczny. To zależy od technologii obróbki.
Łuki z użyciem G02 i G03
Ruch po łuku można zaprogramować przez promień R albo przez odległości do środka łuku, najczęściej I, J i K. Ich znaczenie zależy od płaszczyzny oraz ustawień sterowania. W płaszczyźnie XY zwykle używa się wartości I i J.
G17
G02 X40. Y20. I10. J0. F250
Komenda G17 wybiera płaszczyznę XY, a G02 prowadzi narzędzie zgodnie z ruchem wskazówek zegara. Przy trudniejszych konturach preferuję zapis przez I, J lub K, ponieważ promień R może prowadzić do niejednoznaczności, szczególnie przy łukach większych niż 180 stopni.
Do wyboru płaszczyzny służą także G18 dla XZ i G19 dla YZ. Ma to znaczenie nie tylko przy łukach, lecz także podczas wiercenia i pracy na tokarkach.
Ustawienia współrzędnych, jednostek i korekcji
Sam ruch narzędzia nie wystarczy, jeśli sterowanie nie wie, względem jakiego punktu ma liczyć położenie. Najwięcej kolizji wynika nie z błędnego G01, ale z pomylonego zera przedmiotu, jednostek albo korekcji długości.
| Kod | Znaczenie | Na co uważać |
|---|---|---|
G20 |
Jednostki calowe | Nie używać przypadkowo w programie metrycznym |
G21 |
Jednostki milimetrowe | Najczęstszy wybór w polskich zakładach |
G90 |
Współrzędne absolutne | Pozycja liczona od aktywnego zera układu |
G91 |
Współrzędne przyrostowe | Ruch liczony od aktualnej pozycji narzędzia |
G54-G59 |
Układy współrzędnych przedmiotu | Każdy offset może wskazywać inne mocowanie |
G43 H... |
Korekcja długości narzędzia | Numer H powinien odpowiadać narzędziu i tabeli korekcji |
G40 |
Anulowanie kompensacji promienia | Bezpieczny stan przed zmianą trybu pracy |
G41/G42 |
Kompensacja promienia po lewej lub prawej stronie toru | Wymaga prawidłowego wpisu D i najazdu |
G80 |
Anulowanie cyklu stałego | Chroni przed przypadkowym powtórzeniem wiercenia |
W większości programów frezarskich na początku umieszczam blok inicjalizujący, na przykład G21 G90 G17 G40 G49 G80. Ustawia on milimetry, współrzędne absolutne, płaszczyznę XY i wyłącza aktywne korekcje oraz cykle. To nie zastępuje kontroli programu, ale ogranicza wpływ poprzedniego programu pozostawionego w pamięci sterowania.
G90 jest wygodny przy programowaniu całego konturu, bo każdy punkt ma stałe odniesienie. G91 sprawdza się przy powtarzaniu krótkich przesunięć, lecz łatwo zapomnieć o jego wyłączeniu. Po jednym bloku przyrostowym kolejny ruch może pojechać w zupełnie inne miejsce, niż oczekuje operator.
Przeczytaj również: Obróbka skrawaniem od podstaw - toczenie, frezowanie i CNC
Korekcja długości i promienia narzędzia
Komenda G43 H01 aktywuje korekcję długości zapisaną w tabeli pod numerem H01. Bez niej współrzędna Z może być formalnie poprawna, ale końcówka narzędzia znajdzie się na innej wysokości niż zakłada program. W praktyce numer narzędzia, numer korekcji H i fizycznie zamontowane narzędzie powinny tworzyć jednoznaczny zestaw.
Kompensacja G41 lub G42 pozwala sterowaniu przesunąć tor środka narzędzia względem programowanego konturu. Przy jej stosowaniu potrzebny jest poprawny kierunek wejścia i wyjścia z konturu. Błędny najazd może wywołać alarm albo pozostawić ślad na detalu.
Cykle wiercenia oraz komendy używane przy toczeniu
Cykle stałe skracają program i zmniejszają ryzyko pomyłki przy powtarzalnych operacjach. Zamiast osobno programować dojazd, zagłębienie i wycofanie, można wykorzystać gotową sekwencję sterowania.
| Kod | Zastosowanie | Charakterystyka |
|---|---|---|
G81 |
Wiercenie proste | Zjazd na głębokość i wycofanie |
G82 |
Wiercenie z postojem | Przydatne przy płaskim dnie lub poprawie powierzchni dna |
G83 |
Wiercenie peck | Wiercenie stopniowe z wycofaniem wiórów |
G84 |
Gwintowanie | Wymaga zgodności parametrów z oprawką i sterowaniem |
G80 |
Anulowanie cyklu | Kończy aktywny cykl stały |
Przykład prostego cyklu wygląda tak:
G90 G54
G00 X20. Y20. Z5.
G81 Z-12. R2. F150
X60.
X60. Y50.
X20. Y50.
G80
G00 Z20.
W tym przypadku Z-12. określa głębokość, R2. płaszczyznę rozpoczęcia wiercenia, a kolejne pozycje X i Y wskazują otwory. Najczęstszy błąd polega na pozostawieniu aktywnego cyklu, dlatego po ostatnim otworze zawsze stosuję G80 przed przejściem do innej operacji.
Na tokarce spotyka się dodatkowe kody związane z geometrią i cyklami obróbkowymi. G18 wybiera zwykle płaszczyznę XZ, G96 aktywuje stałą prędkość skrawania, a G97 powrót do stałych obrotów wrzeciona. Cykle G70, G71, G72 i G76 służą odpowiednio między innymi do wykańczania, toczenia zgrubnego i gwintowania, ale ich parametry są mocno zależne od sterowania.
Właśnie przy toczeniu szczególnie ostrożnie podchodzę do gotowych tabel. Ten sam numer cyklu może mieć inną kolejność parametrów lub dodatkowe wymagane adresy w zależności od producenta. Dokumentacja konkretnego sterownika jest tu ważniejsza niż ogólna lista kodów.
Kody M i przykładowy bezpieczny blok programu
Kody G opisują przede wszystkim geometrię i tryb ruchu. Kody M sterują funkcjami pomocniczymi maszyny, takimi jak wrzeciono, chłodziwo, zmiana narzędzia czy zakończenie programu.
| Kod | Funkcja |
|---|---|
M03 |
Włączenie wrzeciona zgodnie z ruchem wskazówek zegara |
M04 |
Włączenie wrzeciona w przeciwnym kierunku |
M05 |
Zatrzymanie wrzeciona |
M06 |
Zmiana narzędzia |
M08 |
Włączenie chłodziwa |
M09 |
Wyłączenie chłodziwa |
M00 |
Obowiązkowe zatrzymanie programu |
M01 |
Warunkowe zatrzymanie programu |
M30 |
Zakończenie i przewinięcie programu |
Poniższy przykład pokazuje strukturę prostego przejścia frezem po prostokątnym konturze. Wartości posuwu, obrotów i głębokości są wyłącznie przykładowe i trzeba je dobrać do materiału, narzędzia, mocowania oraz konkretnej maszyny.
%
O1001 (KONTUR PROSTOKATA)
G21 G90 G17 G40 G49 G80
G54
T01 M06
S8000 M03
G00 G43 H01 Z15.
M08
G00 X10. Y10.
G01 Z-2. F120
G01 X60. F500
Y40.
X10.
Y10.
G00 Z15.
M09
M05
M30
%
Program najpierw ustawia tryby pracy, wybiera bazę G54 i narzędzie, a potem aktywuje korekcję długości. Ruch do Z15 odbywa się bezpiecznie nad detalem, natomiast dopiero blok G01 Z-2. rozpoczyna zagłębianie z posuwem roboczym.
Przed uruchomieniem sprawdzam program w symulatorze, a na maszynie korzystam z pojedynczego bloku, niskiego posuwu i zatrzymania awaryjnego w zasięgu ręki. Szczególnie dokładnie kontroluję pierwszy przejazd, wysokość Z, kierunek obrotów i numer korekcji narzędzia.
Najczęstsze błędy przy używaniu kodów G
Początkujący często koncentrują się na samych numerach komend, a pomijają tryby, które pozostają aktywne w tle. To właśnie modalność sprawia, że program może wykonać poprawną komendę w niewłaściwym miejscu.
- Brak G21 lub G20 może zmienić skalę programu z milimetrów na cale.
- Pomylenie G90 z G91 prowadzi do błędnych współrzędnych i nieoczekiwanych przesunięć.
- Użycie G00 w materiale może spowodować gwałtowne wejście narzędzia i jego złamanie.
- Brak G80 może powtórzyć cykl wiercenia podczas kolejnego przejazdu.
- Nieprawidłowe H lub D zmienia rzeczywiste położenie końcówki albo tor narzędzia.
- Założenie uniwersalności kodu kończy się alarmem, gdy sterowanie wymaga innej składni.
Nie kopiuję programu między maszynami bez sprawdzenia. Nawet jeśli podstawowe polecenia, takie jak G00, G01, G02 i G03, są szeroko stosowane, cykle specjalne, makra i parametry korekcji mogą działać inaczej.
Dobrym zwyczajem jest także komentowanie programu. Krótkie opisy typu (WIERCENIE OTWOROW) czy (WYKANIECIE KONTURU) nie wpływają na ruch maszyny, ale ułatwiają późniejszą kontrolę i edycję kodu.
Przed uruchomieniem programu sprawdzam te cztery rzeczy
Lista kodów G jest przydatna, lecz sama znajomość składni nie gwarantuje bezpiecznej obróbki. Zawsze sprawdzam układ współrzędnych, jednostki, korekcje i wysokość bezpieczną, a dopiero później analizuję parametry skrawania.
- Czy aktywne są właściwe jednostki, płaszczyzna i tryb G90 lub G91?
- Czy G54 albo inny offset odpowiada rzeczywistemu zamocowaniu przedmiotu?
- Czy numer T zgadza się z korekcją H i narzędziem w magazynie?
- Czy pierwszy przejazd można bezpiecznie wykonać w trybie pojedynczego bloku?
Najlepiej traktować kody G jako język sterowania ruchem, a nie gotową receptę na każdą obróbkę. Gdy połączę poprawną składnię z dokumentacją maszyny, symulacją i rozsądnymi parametrami skrawania, program CNC staje się przewidywalnym narzędziem, a nie próbą zgadywania, co zrobi sterownik.