Programowanie CNC:
Nauka G-code - szybko i łatwo
G-code to język komputerowy używany do sterowania maszynami CNC. CNC to skrót od Computerised Numerical Control, co oznacza, że maszyny są sterowane przez komputery.
W nowoczesnej produkcji kod G jest generowany automatycznie przez oprogramowanie CAD/CAM, co oznacza, że ręczne programowanie kodu G jest rzadko konieczne. Niemniej jednak ważne jest, aby znać podstawy programowania G-kodu. W szczególności, są ku temu następujące powody:
- Ręczna regulacja kodu G: W produkcji często wytwarzane są proste części, które tylko nieznacznie różnią się od siebie. W takich przypadkach korzystne jest ręczne programowanie i dostosowywanie kodu G w edytorze tekstu. Oszczędza to czas, ponieważ nie trzeba generować nowego pliku G-kodu za pomocą oprogramowania CAD/CAM dla każdego małego wariantu lub dostosowania.
- Rozwiązywanie problemów i optymalizacja: Zrozumienie programowania G-code umożliwia operatorom CNC szybkie rozpoznawanie i usuwanie błędów w programach. Jeśli maszyna CNC nie działa zgodnie z oczekiwaniami, przyczynę często można znaleźć w szczegółach programowania kodu G. Operator zaznajomiony z programowaniem G-code może samodzielnie identyfikować i korygować takie błędy.
- Dostosowanie postprocesora: Czasami konieczne jest dostosowanie postprocesora w oprogramowaniu CAD/CAM do generowania kodu G, ponieważ automatycznie wygenerowany kod G nie spełnia wymagań. W takich przypadkach korzystna jest podstawowa znajomość G-kodu.
W tym artykule na blogu poznasz podstawy G-code. Będziesz wtedy w stanie pisać własne proste programy G-code i rozwiązywać wyżej wymienione problemy niezależnie.
Nauka kodu G, część 1/2: Podstawy
Czego potrzebuję do programowania G-code?
Kod G składa się z serii instrukcji tekstowych przechowywanych w pliku tekstowym (plik ASCII). Maszyna CNC wykonuje te polecenia w kolejności od początku pliku tekstowego do końca.
Do programowania CNC i kodu G wymagany jest tylko edytor tekstu. Ponieważ jednak konieczna jest wizualna kontrola zaprogramowanego kodu G, należy użyć symulacji CNC.
Darmowy symulator kodu G: cncGraF
Oprogramowanie sterujące CNC cncGraF jest idealny do celów szkoleniowych: oferuje wbudowany symulator kodu G i emulator maszyny CNC, jest bezpłatny (freeware) i nie wymaga prawdziwego sterownika CNC.
Kliknij tutaj, aby pobrać cncGraF za darmo.
Poniższy zrzut ekranu przedstawia sterowanie CNC cncGraF, w tym edytor tekstu G-code i widok 2D. Emulator maszyny CNC jest włączony, a plik kodu G jest wykonywany w trybie emulatora.
Aby dowiedzieć się więcej, kliknij artykuł na blogu
cncGraF: Darmowy symulator kodu G i emulator maszyny CNC.

Struktura pliku G-code
Dostępny jest następujący przykład pliku G-code:
; Plik G-code: Produkcja prostokąta, utworzony w dniu 24.10.2023 r.
; Aktywuj narzędzie numer 1
T1
; Podnieść narzędzie z dużą prędkością na wysokość Z = 10 mm powyżej punktu zerowego.
G00 Z10
; Przejście do pozycji X = 10 i Y = 10 z dużą prędkością
G00 X10 Y10
; Włącz wrzeciono robocze z M3 z prędkością 20000 obr.
M3 S20000
; Odczekać 5 sekund do osiągnięcia prędkości wrzeciona.
G04 H5
; zagłębianie 2 mm w obrabiany przedmiot z prędkością posuwu 600 mm na minutę
G01 Z-2 F600
; Trawers prostokąta 100×100 mm z prędkością posuwu 600 mm na minutę
G01 X110
G01 Y110
G01 X10
G01 Y10
; Podnieść narzędzie z dużą prędkością na wysokość Z = 10 mm powyżej punktu zerowego.
G00 Z10
; Koniec programu
M5 M30

Ten kod G opisuje obróbkę prostokąta za pomocą maszyny CNC. Kod G zaczyna się od komentarzy, które są oddzielone średnikiem (;) są oznaczone. Komentarze te nie są istotne dla urządzenia, ale pomagają operatorowi zrozumieć kod.
- Wybór narzędzia: Najpierw wybierane jest narzędzie 1 za pomocą polecenia
T1wybrane. - Pozycjonowanie narzędzia: Polecenie
G00 Z10podnosi narzędzie do 10 mm powyżej punktu zerowego maszyny.G00maszyna porusza się z szybkim przesuwem, tj. z maksymalną prędkością. - Przejście do pozycji startowej: Urządzenie działa z
G00 X10 Y10do pozycji X=10 Y=10. - Włącz wrzeciono: Z
M3 S20000wrzeciono jest włączone i ustawione na 20000 obrotów na minutę. - Czas oczekiwania: Polecenie
G04 H5zapewnia, że urządzenie odczeka 5 sekund, aż wrzeciono osiągnie żądaną prędkość. - Zanurz się w materiale: Z
G01 Z-2 F600Narzędzie zagłębia się w materiał na głębokość 2 mm z prędkością posuwu 600 mm na minutę.G01jest używany do ruchów frezowania. - Obróbka prostokątna: Następne polecenia (
G01 X110,G01 Y110,G01 X10,G01 Y10) przesuń narzędzie, aby wyfrezować prostokąt o wymiarach 100×100 mm. - Powrót do pozycji wyjściowej Z:
G00 Z10podnosi narzędzie z powrotem do 10 mm powyżej punktu zerowego. - Koniec programu: Polecenie M05 przełącza wrzeciono i polecenie M
30kończy program.
G-Code: Okręgi i łuki
Następnie rozszerzymy nasz przykład o frezowanie kołowe, które należy wykonać przed prostokątem. Rozszerzone i zmodyfikowane linie kodu G są oznaczone kolorami w Jasnoczerwony podświetlony. Kod G wygląda wtedy następująco:
; Plik G-code: Produkcja prostokąta, utworzony w dniu 24.10.2023 r.
; Wybrano narzędzie numer 1
T1
; Podnieść narzędzie z dużą prędkością na wysokość Z = 10 mm powyżej punktu zerowego.
G00 Z10
; Przejście do pozycji X = 10 i Y = 10 z dużą prędkością
G00 X10 Y10
; Włącz wrzeciono robocze z M3 z prędkością 2000 obr.
M3 S2000
; Odczekać 5 sekund do osiągnięcia prędkości wrzeciona.
G04 H5
; Przesuń do środka prostokąta
G00 X60 Y40
; zagłębianie 2 mm w obrabiany przedmiot z prędkością posuwu 600 mm na minutę
G01 Z-2 F600
; Okrąg (d=20 mm, środek 60×60) zgodnie z ruchem wskazówek zegara
; z posuwem 600 mm na minutę napęd
G02 I60 J60 X60 Y40
; Podnoszenie narzędzia z dużą prędkością: Z = 10 mm powyżej punktu zerowego
G00 Z10
; Przejście do pozycji X = 10 i Y = 10 z dużą prędkością
G00 X10 Y10
; zagłębianie 2 mm w obrabiany przedmiot z prędkością posuwu 600 mm na minutę
G01 Z-2
; Trawers prostokąta 100×100 mm z prędkością posuwu 600 mm na minutę
G01 X110
G01 Y110
G01 X10
G01 Y10
; Podnoszenie narzędzia z dużą prędkością: Z = 10 mm powyżej punktu zerowego
G00 Z10
; Koniec programu
M5 M30
Symulator kodu G (patrz zrzut ekranu) pokazuje prostokąt i okrąg umieszczony w środku prostokąta.
Ważne: Jeśli rysunek nie jest wyświetlany prawidłowo, może to być spowodowane nieprawidłowym ustawieniem poleceń okręgu (łuku) G02/G03. Polecenia G02/G03 mogą być interpretowane jako względne lub bezwzględne. Ten przykład odnosi się do G02/G03 w formie bezwzględnej. W takim przypadku należy wyłączyć opcję „G02/03 relative“ w symulatorze kodu G cncGraF w menu głównym „Settings → Options → File → G-code“.“

Kod G: Polecenie arkusza G02/G03
Polecenie G02 służy do zaprogramowania ruchu kołowego lub łukowego w kierunku zgodnym z ruchem wskazówek zegara. Polecenie G03 robi to samo, ale w kierunku przeciwnym do ruchu wskazówek zegara.
Polecenie G02 w kodzie G ma następującą składnię:
G02 X... Y... I... J...
Jest tam napisane:
- ‚G02‚ dla samego polecenia, które reprezentuje łuk zgodny z ruchem wskazówek zegara. Ostatnia pozycja poprzedniego polecenia G-code jest pozycją początkową okręgu lub łuku.
- X... i Y... wskazuje współrzędne końcowe okręgu lub łuku.
- I... i J... wskazuje odległość od bieżącego punktu do środka łuku na osiach X i Y.
G00 X60 Y40 ; Jest to pozycja początkowa X,Y łuku.
G02 I60 J60 X60 Y40 ; To polecenie przesuwa narzędzie po łuku zgodnie z ruchem wskazówek zegara.
- I60 J60: Są to współrzędne środka okręgu względem bieżącej pozycji
X = 60 Y = 40 W tym przypadku punkt środkowy znajduje się w X = 60, Y = 60. - X60 Y40: Są to współrzędne końcowe łuku. Narzędzie przesuwa się do punktu X = 60, Y = 40.
- Średnica okręgu (d = 20 mm) jest określana przez położenie narzędzia i współrzędne punktu środkowego.
Tabela z najważniejszymi poleceniami G-code
W tym przykładzie nauczyłeś się podstawowych poleceń kodu G: G01 i G00 dla prostych ruchów, polecenia łuku G02, włączania i wyłączania wrzeciona za pomocą M03 (i M05), polecenia ‚S‘ dla prędkości wrzeciona, polecenia numeru narzędzia ‚T‘, G04 dla czasów oczekiwania, ‚F‘ dla prędkości roboczej i M30 dla końca pliku. Polecenia te stanowią podstawę i są już wystarczające do pisania własnych prostych programów G-code.
Poniżej znajduje się tabelaryczny przegląd wszystkich najważniejszych poleceń G-code.
Przegląd najważniejszych poleceń G-code
Tabelaryczna lista poleceń G (kod G) zawiera tylko te polecenia, które nadają się do programowania ręcznego, ponieważ są łatwe w użyciu. Pełną listę wszystkich poleceń kodu G można znaleźć w symulatorze CNC cncGraF w pomocy online [klawisz F1].
| G-Code | Opis |
|---|---|
| ; () | Komentarze są zamykane średnikiem‚;‚ lub z nawiasami ‚()‚ jest oznaczony. Komentarze są ignorowane przez maszynę CNC. Przykład: (Przejdź do pozycji Z10) G00 Z10 ; Przejście do pozycji Z10 G00 Z10 |
| N | N dla numeru rekordu (opcjonalnie) Przykład: ; Numer rekordu nie jest konieczny. N10 T1 M3 S2501 |
| F | F dla prędkości posuwu w mm/min Przykład: ; przesuw 300 mm/min G01 X100 Y10 F300 |
| T | T dla numeru narzędzia Przykład: ; Narzędzie 1 jest aktywne T1 |
| M03 S | M03 włącza wrzeciono, S określa prędkość obrotową wrzeciona w obr. Przykład: ; Wrzeciono jest przełączane na 2000 obrotów na minutę M3 S2000 |
| D | D Średnica narzędzia w milimetrach. Przykład: ; Średnica 2,5 mm. D musi znajdować się bezpośrednio za T T1 D2.5 |
| G00 | Z G00 maszyna porusza się z szybkim przesuwem, tj. z maksymalną prędkością. Narzędzie nie znajduje się w materiale (pusty przebieg). Przykład: ; Pozycja X = 100 Y = 10 Uruchomienie G00 X100 Y10 |
| G01 | Z G01 zaprogramowana ścieżka jest pokonywana z prędkością frezowania (prędkość posuwu ‚F‘). Ścieżka ta jest wizualizowana jako wektor w symulatorze kodu G cncGraF. Przykład: ; Pozycja X = 100 Y = 100 z prędkością 300 mm/min Uruchomienie G01 X100 Y10 F300 |
| G02/G03 | G02 Okrąg (łuk) zgodnie z ruchem wskazówek zegara, G03 Okrąg (łuk) w kierunku przeciwnym do ruchu wskazówek zegara. Parametry: X Y I J K X Współrzędna końcowa w kierunku X Y Współrzędna końcowa w kierunku Y I Punkt środkowy w kierunku X J Punkt środkowy w kierunku Y K Punkt środkowy w kierunku Z Przykład: G00 X10 Y10 F100 G01 Z-2 F50 ; Przesuń się po łuku z X10, Y10 do X30, Y10 z punktem środkowym I20 i J10. G02 I20 J10 X30 Y10 |
| G04 H | Z G04 zaprogramowany jest czas oczekiwania. Parametry: H - Określenie czasu w sekundach Przykład: ; Czas oczekiwania 2,5 sekundy. To polecenie nakazuje maszynie CNC ; wstrzymanie na określony czas przed wykonaniem następnego polecenia. G04 H2.5 |
| G70/G71 | Z G70 i G71 wymiarowanie współrzędnych jest zdefiniowane między calami (G70) i milimetrami (G71). Jeśli nie określono, aktywna jest opcja G71. Przykład: ; Wymiarowanie współrzędnych w milimetrach G71 |
| G80/G81/G82 | Cykl wiercenia G81/G82 nadaje się do prostego wiercenia i wiercenia z czasem oczekiwania. Cykl wiercenia jest uruchamiany poleceniem G80 lub za pomocą innego polecenia G, takiego jak. G00 lub G01 usunięty. Format: G98(G99) G81(G82) X Y Z R F (P) Parametry G81 X - Pozycja X Y - Pozycja Y Z - Głębokość Z (bezwzględna) R - Przyrostowa wartość płaszczyzny retrakcji w odniesieniu do punktu początkowego w osi Z. F - Prędkość posuwu Dodatkowe parametry dla G82 P - Czas oczekiwania w milisekundach (1000 ms = 1 s) na dnie otworu Z poleceniami G98 i G99 Określana jest wysokość wycofania, do której narzędzie powinno się przemieścić po zakończeniu cyklu wiercenia. G98 - Wysokość początkowa (wysokość początkowa) jest zbliżana po cyklu wiercenia. G99 - wysokość wycofania (zdefiniowana w parametrze R) zbliża się po cyklu wiercenia. Przykład: ; Wiercenie z czasem przebywania, głębokość Z = 10 mm, oczekiwanie 100 milisekund na dnie otworu G98 G82 X10 Y10 Z-10 F300 P100 |
| G90/G91 | Z G90 Wymiar bezwzględny jest aktywowany, tzn. wszystkie kolejne wartości współrzędnych są określane w wymiarze bezwzględnym. G91 aktywuje wymiarowanie względne (wymiarowanie przyrostowe). Bez specyfikacji G90 aktywny. Przykład: ; Ustawiony jest wymiar względny (wymiar przyrostowy) G91 |
Podsumowanie
Programowanie G-code dla maszyn CNC nie jest takie trudne. Znając tylko około dziesięciu podstawowych poleceń G-code, można już osiągnąć imponujące wyniki. Nauka kodu G jest zdecydowanie opłacalna, ponieważ pozwala lepiej zrozumieć i wykorzystać maszyny CNC.
Mam nadzieję, że ten artykuł na blogu pomoże ci szybko zapoznać się z programowaniem G-code.
Nauka G-Code część 2/2: Zaawansowane koncepcje
W drugiej części tej serii dowiesz się, jak modyfikować proste pliki G-code w produkcji za pomocą parametrów bez konieczności tworzenia nowego pliku. W części 2 skupimy się w szczególności na poleceniach dla podprogramów, pętlach G25/G26, instrukcji IF i użyciu parametrów.
Kliknij artykuł na blogu „Nauka kodu G, część 2/2: Zaawansowane programowanie CNC“, aby dowiedzieć się więcej.
Z serdecznymi pozdrowieniami, Twój zespół BOENIGK-electronics