Mówiąc najprościej G-Code to język programowania maszyn CNC. Używamy go, aby porozumieć się z maszyną i zlecić jej wykonanie detalu w określony sposób, który jest zapisany właśnie w formie kodu. Polecenia w formie G-Code instruują maszynę, jak ma się poruszać, jak szybko i jaką ścieżką ma podążać. W przypadku obrabiarki CNC, takiej jak tokarka czy frezarka, narzędzie skrawające jest kierowane przy pomocy tych właśnie poleceń. Dzięki nim podąża określoną ścieżką narzędzia i odcina materiał do momentu, aż uzyska pożądany kształt. Każda linia kodu mówi maszynie, aby wykonała konkretną akcję w określonej pozycji, prędkości, obrocie itp. Kształty są tworzone przez łączenie zestawów instrukcji punkt po punkcie. Nawet proste detale mogą wymagać setek lub tysięcy linii kodu, aby w efekcie bezbłędnie ze sobą współpracować i doprowadzić do zamierzonego rezultatu. Ponieważ G-Code działa jako seria punktów i instrukcji linia po linii, możliwe jest wykonanie tego samego detalu przy użyciu różnych ścieżek i instrukcji. Mogą one zależeć np. od rodzaju obrabiarki, liczby osi, rodzaju narzędzi, od materiału itp. Nazwa G-Code to skrót od „kodu geometrycznego”, który jest zapisem prostych, logicznych poleceń w formie fraz zaczynających się od litery G, po której następuje liczba. Jest ona poleceniem zmiany geometrii, czyli np. „G00” to polecenie szybkiego ruchu.
G-Code to zbiór pojedynczych poleceń z literą początkową G, M lub inną zależną od polecenia, po której następuje liczba określająca instrukcję i wartość. Podstawowe komendy G-Code są określone w normie ISO 6983 oraz DIN 66025. Pozostałe polecenia są dowolnie definiowane przez różnych producentów obrabiarek, gdzie głównym kryterium jest przeznaczenie maszyny.
Przykładowe i podstawowe symbole G-Code, które opisują sposób wykonania bądź interpretowania poleceń wydawanych przez programistę:
M-Code to kody odpowiadające za konkretne działania mechaniczne, które informują maszynę, jak wykonać daną akcję. W odróżnieniu od G-Code, te polecenia nie są uniwersalne dla wszystkich maszyn i zależą od producenta danej obrabiarki. W celu ich poznania należy dokładnie zapoznać się z instrukcją obsługi maszyny.
Dodatkowo występują jeszcze kody, definiujące inne parametry systemu:
Na pierwszy rzut oka plik G-Code może wydawać się dość skomplikowany, ale w rzeczywistości nie jest aż tak trudny do zrozumienia. Jeśli przyjrzymy się bliżej kodowi, zauważymy, że większość linii ma taką samą strukturę. Wydaje się, że „skomplikowaną” częścią G-Code są wszystkie liczby, które widzimy, a które są po prostu współrzędnymi kartezjańskimi (prostoliniowy układ współrzędnych, mający dwie prostopadłe osie).
Przyjrzyjmy się pojedynczej linii i wyjaśnijmy jak to działa:
G01 X247.951560 Y11.817060 Z-1.000000 F400.000000
Linia ma następującą strukturę:
G## X## Y## Z## F##
Pierwszy symbol to polecenie G-Code, w tym przypadku G01. Oznacza on komendę „przesuń w linii prostej do określonej pozycji”. Następnie określamy pozycję lub współrzędne z wartościami X, Y i Z. Na koniec wartością F ustalamy tzw. posuw, czyli prędkość, z jaką będzie wykonywany ruch. Podsumowując – linia G01 X247.951560 Y11.817060 Z1.000000 F400 mówi maszynie CNC, aby poruszała się po linii prostej od aktualnej pozycji do współrzędnych X247.951560, Y11.817060 i Z1.000000 z prędkością 400mm/min. Jednostką jest mm/min, gdyż na początku kodu użyliśmy polecenia G21, które określa jednostki właśnie w mm.
Każda linia G-Code nazywana jest blokiem, a każdy blok ma swoją określoną funkcję. Na przykład jeden blok może nakazać maszynie przejście do określonej współrzędnej, podczas gdy inny może nakazać maszynie rozpoczęcie lub zatrzymanie cięcia. Bloki kodu muszą być starannie napisane, aby w efekcie stworzyć działający model. Program często zaczyna się od kodu inicjującego (%), po którym następuje numer programu. Następnie pojawia się linia kodów bezpieczeństwa. Kolejna zostanie zapisana linia do wymiany narzędzi, dzięki której zostaje umieszczone w maszynie odpowiednie narzędzie z określoną prędkością. Większość programu obejmuje więc ruchy i pozycjonowanie maszyny. Po zakończeniu programowania G-Code program zostaje zakończony serią funkcji, które zatrzymują i resetują maszynę, aby przygotować ją do kolejnej pracy.
W zależności od maszyny, której używamy do konkretnego zlecenia, programowanie G-Code może nie raz nas zaskoczyć np.:
Dobrym pomysłem będzie uruchomienie przykładowych programów, które znajdują się w instrukcji obsługi maszyny, zanim operator uruchomi docelowy program. Często testowe programy nie działają i będzie konieczne określenie problemów, wprowadzenie korekt oraz ustawienie testowania. Inaczej można doprowadzić do błędnego wyprodukowania detalu i narazić się na straty. Warto na początku prac przejrzeć również unikalny schemat kodowania maszyny, aby wiedzieć jakiego typu kodów używa do realizacji zadania.
Najstarszym językiem programowania i co zaskakujące nadal używanym jest Fortran. Zaprojektował go w 1957r. amerykański informatyk John Backus w celu wykonywania obliczeń statystycznych i matematycznych. Był to przełomowy krok, gdyż już rok później w 1958r. napisano pierwszą wersję G-Code (RS-274). Można więc powiedzieć, że G-Code jest jednym z pierwszych języków programowania, a do tego nadal używanym. Szczególnie, że w obecnym czasie korzystają z niego maszyny CNC oraz drukarki 3D, a nie wiemy w jakim kierunku pójdzie rozwój maszyn w przyszłości.
Początkowo G-Code w branży CNC był przeznaczony do 2-osiowych maszyn. Aktualnie na jego bazie działają 12-osiowe centra obróbcze.
Można więc zauważyć jak z biegiem czasu rozwijał się zakres jego działania. Programiści mogą wykorzystywać różne zmienne, jak i instrukcje logiczne i nie tylko. Dzięki temu G-Code staje się coraz bardziej podobny do tradycyjnego języka programowania z możliwością zapisywania matematycznych danych wyjściowych i równań oraz przywoływania ich w dowolnej części programu. Dzięki temu umożliwia pisanie własnych niestandardowych cykli i znacznie przyspiesza ręczne kodowanie. Wykwalifikowany programista jest w stanie znacznie szybciej napisać program w G-Code niż zbudować model i skonstruować ścieżki narzędziowe w pakiecie CAD/CAM. Szczególnie w przypadku podstawowych części i prac tokarskich.
Obecna standardowa wersja G-Code to RS-274D określona normą ISO 6983. Korzystają z niej producenci maszyn CNC przy konstruowaniu elementów sterujących. Używają jej jako podstawy i dodają swoje własne unikalne kody, określające niestandardowe funkcje ich maszyn. Na przykład nowa maszyna może mieć więcej typów systemów dostarczania chłodziwa niż jest to określone w RS-274D. Producent maszyny dodaje więc do oprogramowania dodatkowe kody M, które służą do sterowania dodatkowymi systemami. Warto z tego powodu przed rozpoczęciem prac z daną maszyną zapoznać się dokładnie z jej instrukcją i sprawdzić, o jakie funkcje jest rozszerzona w porównaniu do standardowego G-Code.
© 2023 All rights Reserved. Designed and powered by ZMZ Radosław Misztela, Kamil Kraska s.c.
Projekt graficzny: Magdalena Mirowska, Zdjęcia: Agnieszka Seklecka