G-code
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
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
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 - ograniczenie prędkości obrotowej wrzeciona np. G92 S200
- 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
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
- M30 - koniec programu i "przewinięcie" do początku.
Inne
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
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 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 |
- ↑ Normy ISO 6983
- ↑ 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] .
- ↑ PN-73/M-55256 Obrabiarki do metali. Kodowanie funkcji przygotowawczych G i funkcji pomocniczych M dla obrabiarek sterowanych numerycznie (wycofana)
- ↑ a b c Indeks poleceń programowania sterownika CNC. Uniwersytet Warmińsko-Mazurski w Olsztynie.