G-code

język programowania

G-code – znormalizowany język zapisu poleceń dla urządzeń CNC. Definiuje podstawowe operacje, które należy wykonać, aby obrobić detal na obrabiarce sterowanej numerycznie.

Charakterystyka

edytuj

G-code opisuje standard ISO 6983[1], DIN 66025, w Polsce wycofane normy: PN-93/M-55251[2], PN-73/M-55256[3].

G-code można utworzyć 3 metodami:

  • pisać samodzielnie w edytorach tekstu (np. notatnik) i przenieść do pamięci obrabiarki,
  • wprowadzać na pulpicie sterującym obrabiarki (nowsze sterowania podpowiadają opcje, które należy zdefiniować do poprawnego działania danej funkcji),
  • wygenerować programem typu CAM po przetworzeniu przez postprocesor przeznaczony dla konkretnej maszyny.

Funkcje oraz parametry nieopisane w normie różnią się w zależności od producenta. Niektórzy producenci (np. Heidenhain, Mazak) wykorzystują własne języki programowania odmienne od kodów ISO, jednak programy w tych językach są często błędnie nazywane G-kodami.[potrzebny przypis]

Podstawowe komendy G-code zawarte są w Polskiej Normie będącej tłumaczeniem normy ISO. Pozostałe polecenia G-code oraz M funkcje są dowolnie definiowane przez różnych producentów obrabiarek, gdzie głównym kryterium definiowania jest przeznaczenie maszyny.

Przykładowe funkcje przygotowawcze G

edytuj

Kody, które opisują sposób wykonania bądź interpretowania poleceń wydawanych przez programistę[4].

G00 – ruch szybki, pozycjonowanie narzędzia
G01 – ruch narzędzia według interpolacji liniowej
G02 – ruch narzędzia według interpolacji kołowej zgodnie z ruchem wskazówek zegara
G03 – ruch narzędzia według interpolacji kołowej przeciwnie do ruchu wskazówek zegara
G04 – postój czasowy
G05 – interpolacja kołowa współrzędne kartezjańskie, bez określania kierunku obrotu
G06 – interpolacja kołowa, współrzędne kartezjańskie, przejście styczne z poprzedniego konturu
G07 – blok pozycjonowania wzdłużnego
G09 – dokładne zatrzymanie
G20 – wymiarowanie w calach
G21 – wymiarowanie w milimetrach
G40 – koniec korekcji
G41 – korekcja toru narzędzia lewostronna (kompensacja promienia płytki, freza)
G42 – korekcja toru narzędzia prawostronna (kompensacja promienia płytki, freza)
G43 – włączenie kompensacji długości narzędzia (frezarka)
G33 – toczenie gwintu
G53 – wybranie układu współrzędnych maszynowych
G54 – G59 – wybranie układu współrzędnych przedmiotu
G76 – cykl planowania zgrubnego
G79 – cykl podcięć
G80 – koniec cyklu wielokrotnego
G81 – cykl nawiercania
G82 – cykl wiercenia z przerwą czasową
G83 – cykl wiercenia z łamaniem wióra
G84 – cykl gwintowania
G87 – cykl frezowania kieszeni prostokątnej
G90 – pozycjonowanie bezwzględne
G91 – pozycjonowanie przyrostowe
G92 – ustalanie pozycji maszyny
G94 – programowanie prędkości posuwu w [mm/min]
G95 – programowanie prędkości posuwu w [mm/obr.]
G96 – włączenie trybu stałej prędkości skrawania [m/min] (frezarka)
G97 – włączenie trybu stałej prędkości obrotowej wrzeciona [obr./min] (tokarka)

Przykładowe funkcje pomocnicze M

edytuj

Za konkretne działania „mechaniczne, fizyczne” odpowiadają funkcje maszynowe, potocznie nazywane funkcjami M[4].

M00 – stop programu bezwarunkowy
M01 – stop programu warunkowy (zależnie od trybu pracy)
M02 – koniec programu
M03 – włączenie prawych obrotów wrzeciona
M04 – włączenie lewych obrotów wrzeciona
M05 – wyłączenie obrotów wrzeciona
M06 – zmiana narzędzia (polecenie „zmień”)
M07 (M51) – włączenie chłodziwa przez narzędzie (zależnie od producenta)
M08 – włączenie chłodziwa wylewki zewnętrzne
M09 – wyłączenie chłodziwa
M10 (M36) – otwarcie szczęk (zależnie od producenta)
M11 (M37) – zamknięcie szczęk (zależnie od producenta)
M13 – włączenie prawych obrotów wrzeciona i chłodziwa
M14 – włączenie lewych obrotów wrzeciona i chłodziwa
M17 - Koniec podprogramu ze skokiem na początek
M30 – koniec programu i „przewinięcie” do początku

Ponadto można wyróżnić grupę adresową parametrów i osi[4].

T – wybór narzędzia
S – zdefiniowanie prędkości obrotowej wrzeciona (symbol „S” oraz podana wartość, np. S1500)
F – zdefiniowanie prędkości posuwu (analogicznie do „S”)
X – położenie w osi „X” (po adresie występuje wartość bezwzględna lub względna, np. X200)
Y – położenie w osi „Y” (po adresie występuje wartość bezwzględna lub względna, np. Y200)
Z – położenie w osi „Z” (po adresie występuje wartość bezwzględna lub względna, np. Z200)
A – położenie w osi „A” (po adresie występuje wartość bezwzględna lub względna, np. A10)
B – położenie w osi „B” (po adresie występuje wartość bezwzględna lub względna, np. B10)
C – położenie w osi „C” (po adresie występuje wartość bezwzględna lub względna, np. C10)
D – korektor narzędzia. Zazwyczaj wpisuje się za narzędziem T (np. T10 D10)

Przykład programowania

edytuj
Blok danych Opis
N10 G90 G21 deklaracja sposobu pozycjonowania (absolutne), deklaracja systemu metrycznego (mm)
N20 T2 M6 deklaracja numeru narzędzia i wymiana narzędzia
N30 G54 D200 S1500 M3 przesunięcie układu współrzędnych do miejsca określonego w rejestrze D200, deklaracja prędkości obrotowej wrzeciona 1500 obr./min, włączenie obrotów wrzeciona w kierunku CW (zgodnie z ruchem wskazówek zegara)
N40 G01 X10 Y0 Z10 G94 F1200 M8 ruch roboczy do punktu o współrzędnych (10,0,10) z zaprogramowaną prędkością posuwową 1200 mm/min, włączenie chłodziwa
N50 G81 wywołanie cyklu nawiercania (z zadeklarowanym szeregiem parametrów charakteryzujących cykl)
N60 X20 Y20 ponowne wykonanie cyklu G81 w miejscu początkowych współrzędnych (20,20,10)
N70 Y80 ponowne wykonanie cyklu G81 w miejscu początkowych współrzędnych (20,80,10)
N80 G80 odwołanie wykonywania cyklu
N90 G00 X10 Y0 Z100 M5 M9 ruch szybki do punktu o współrzędnych (10,0,100), wyłączenie obrotów wrzeciona, wyłączenie chłodziwa
N90 M30 koniec programu i „przewinięcie” go do początku


Zobacz też

edytuj

Przypisy

edytuj
  1. ISO 6983-1:2009 - Automation systems and integration - Numerical control of machines - Program format and definitions of address words - Part 1: Data format for positioning, l... [online], www.iso.org [dostęp 2017-11-23] (ang.).
  2. PN-M-55251:1993 – Maszyny sterowane numerycznie -- Osie współrzędnych i zwroty ruchów -- Nazwy i oznaczenia, „Polski Komitet Normalizacyjny”, sklep.pkn.pl [dostęp 2016-06-15].
  3. PN-73/M-55256 Obrabiarki do metali. Kodowanie funkcji przygotowawczych G i funkcji pomocniczych M dla obrabiarek sterowanych numerycznie (wycofana)
  4. a b c Indeks poleceń programowania sterownika CNC. Uniwersytet Warmińsko-Mazurski w Olsztynie.