G-code – Wikipedia, wolna encyklopedia
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 | edytuj kod]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 | edytuj kod]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 | edytuj kod]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
Inne
[edytuj | edytuj kod]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 | edytuj kod]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 | edytuj kod]- LinuxCNC - w pełni darmowy system czasu rzeczywistego i oprogramowanie do sterowania maszynami CNC, obsługujący G code.
Przypisy
[edytuj | edytuj kod]- ↑ 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.).
- ↑ 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.