Kod G - G-code
Paradygmat | proceduralny , imperatyw |
---|---|
Zaprojektowany przez | Instytut Technologii w Massachusetts |
Po raz pierwszy pojawiły się | 1950 (pierwsze wydanie) |
Rozszerzenia nazw plików | .gcode, .mpt, .mpf, .nc i kilka innych |
Główne wdrożenia | |
wielu, głównie Siemens Sinumerik, FANUC , Haas , Heidenhain , Mazak . Generalnie istnieje jeden międzynarodowy standard — ISO 6983. |
Kod G (również RS-274 ) jest najczęściej używanym językiem programowania komputerowego sterowania numerycznego (CNC) . Stosowany jest głównie w produkcji wspomaganej komputerowo do sterowania zautomatyzowanymi obrabiarkami i ma wiele wariantów.
Instrukcje kodu G są dostarczane do sterownika maszyny (komputera przemysłowego), który informuje silniki, gdzie mają się poruszać, jak szybko się poruszać i jaką ścieżką podążać. Dwie najczęstsze sytuacje to to, że w obrabiarce, takiej jak tokarka lub frezarka , narzędzie tnące jest przesuwane zgodnie z tymi instrukcjami przez ścieżkę narzędzia, odcinając materiał, aby pozostawić tylko gotowy przedmiot i/lub niedokończony przedmiot jest precyzyjnie pozycjonowany w dowolnej z maksymalnie dziewięciu osi wokół trzech wymiarów w stosunku do ścieżki narzędzia i jeden lub oba mogą poruszać się względem siebie. Ta sama koncepcja obejmuje również narzędzia nietnące , takie jak narzędzia do formowania lub nagniatania, fotoplotowanie , metody addytywne, takie jak drukowanie 3D i przyrządy pomiarowe.
Realizacje
Pierwsza implementacja języka programowania sterowania numerycznego została opracowana w Laboratorium Serwomechanizmów MIT pod koniec lat pięćdziesiątych. Przez dziesięciolecia wiele wdrożeń zostało opracowanych przez wiele organizacji (komercyjnych i niekomercyjnych). W tych implementacjach często używano kodu G. Główna standaryzowana wersja stosowana w Stanach Zjednoczonych została ustalona przez Electronic Industries Alliance na początku lat 60. XX wieku. Ostateczna rewizja została zatwierdzona w lutym 1980 jako RS-274-D . W innych krajach często stosowana jest norma ISO 6983 , ale wiele krajów europejskich stosuje inne normy. Np. DIN 66025 jest stosowany w Niemczech, a PN-73M-55256 i PN-93/M-55251 były wcześniej stosowane w Polsce.
Rozszerzenia i odmiany zostały dodane niezależnie przez producentów sterowników i producentów obrabiarek, a operatorzy określonego sterownika muszą być świadomi różnic w produkcie każdego producenta.
Jedna znormalizowana wersja kodu G, znana jako BCL (Binary Cutter Language), jest używana tylko na niewielu maszynach. Opracowany w MIT, BCL został opracowany do sterowania maszynami CNC w zakresie linii prostych i łuków.
W latach siedemdziesiątych i dziewięćdziesiątych wielu konstruktorów obrabiarek CNC próbowało przezwyciężyć trudności ze zgodnością poprzez standaryzację sterowników obrabiarek zbudowanych przez firmę Fanuc . Siemens był kolejnym dominatorem na rynku sterowników CNC, zwłaszcza w Europie. W latach 2010-tych różnice w sterownikach i niekompatybilność nie były tak kłopotliwe, ponieważ operacje obróbki są zwykle opracowywane za pomocą aplikacji CAD/CAM, które mogą wyprowadzać odpowiedni kod G dla konkretnej maszyny za pomocą narzędzia programowego zwanego postprocesorem (czasami skracane do zaledwie "Poczta").
Niektóre maszyny CNC używają programowania „konwersacyjnego”, które jest trybem programowania podobnym do kreatora , który ukrywa kod G lub całkowicie omija użycie kodu G. Niektóre popularne przykłady to Advanced One Touch (AOT) firmy Okuma, ProtoTRAK firmy Southwestern Industries, Mazatrol firmy Mazak, Ultimax i Winmax firmy Hurco, system programowania intuicyjnego firmy Haas (IPS) oraz oprogramowanie konwersacyjne CAPS firmy Mori Seiki.
G-kod rozpoczął się jako ograniczony język, w którym brakowało konstrukcji, takich jak pętle, operatory warunkowe i zmienne deklarowane przez programistę z nazwami naturalnymi zawierającymi słowa (lub wyrażenia, w których ich używać). Nie był w stanie zakodować logiki, ale był tylko sposobem na "połączenie kropek", w którym programista odręcznie odkrył wiele lokalizacji kropek. Najnowsze implementacje G-kodu zawierają możliwości języka makr nieco bliższe językowi programowania wysokiego poziomu . Dodatkowo wszyscy główni producenci (np. Fanuc, Siemens, Heidenhain) zapewniają dostęp do danych PLC , takich jak dane pozycjonowania osi i dane narzędzi, za pośrednictwem zmiennych używanych przez programy NC. Te konstrukcje ułatwiają tworzenie aplikacji automatyzacji.
Specyficzne kody
Kody G, zwane również kodami przygotowawczymi, to dowolne słowo w programie CNC, które zaczyna się na literę G . Ogólnie jest to kod informujący obrabiarkę, jaki rodzaj akcji ma wykonać, na przykład:
- Szybki ruch (transportuj narzędzie tak szybko, jak to możliwe pomiędzy cięciami)
- Kontrolowany posuw w linii prostej lub po łuku
- Seria kontrolowanych ruchów posuwu, które spowodowałyby wywiercenie otworu, przycięcie (trasowanie) przedmiotu obrabianego do określonego wymiaru lub dodanie kształtu profilu (konturu) do krawędzi przedmiotu obrabianego
- Ustaw informacje o narzędziu, takie jak przesunięcie
- Przełącz układy współrzędnych
Istnieją inne kody; kody typów można traktować jak rejestry w komputerze.
Przez lata zwracano uwagę, że termin „kod G” jest nieprecyzyjny, ponieważ „G” jest tylko jednym z wielu adresów literowych w całym języku. Pochodzi z dosłownego sensu tego słowa, odnoszącego się do adresu jednoliterowego i konkretnych kodów, które można z nim utworzyć (np. G00, G01, G28), ale każda litera alfabetu angielskiego jest używana gdzieś w języku . Niemniej jednak „kod G” jest metonimicznie ustalony jako powszechna nazwa języka.
Adresy listowe
Niektóre adresy literowe są używane tylko we frezowaniu lub tylko w toczeniu; większość jest używana w obu. Poniżej pogrubioną czcionką są najczęściej widywane litery w programie.
Źródła: połowa 2008; połowa 2010; Green i in. 1996.
Zmienny | Opis | Informacje uzupełniające |
---|---|---|
A | Pozycja bezwzględna lub przyrostowa osi A (oś obrotowa wokół osi X) | Obrót dodatni definiuje się jako obrót w kierunku przeciwnym do ruchu wskazówek zegara, patrząc od X dodatniego do X ujemnego. |
b | Pozycja bezwzględna lub przyrostowa osi B (oś obrotowa wokół osi Y) | |
C | Pozycja bezwzględna lub przyrostowa osi C (oś obrotowa wokół osi Z) | |
D | Definiuje średnicę lub przesunięcie promieniowe używane do kompensacji frezu. D służy do określania głębokości skrawania na tokarkach. Służy do wyboru przysłony i poleceń na fotoploterach. | G41 : kompensacja lewego noża, G42 : kompensacja prawego noża |
mi | Precyzyjny posuw do gwintowania na tokarkach | |
F | Określa prędkość posuwu | Typowe jednostki to odległość na czas dla frezów (cale na minutę, IPM lub milimetry na minutę, mm/min) i odległość na obrót dla tokarek (cale na obrót, IPR lub milimetry na obrót, mm/obr.) |
g | Adres dla komend przygotowawczych | Komendy G często informują układ sterowania, jaki rodzaj ruchu jest pożądany (np. pozycjonowanie szybkie, posuw liniowy, posuw kołowy, cykl stały) lub jaką wartość korekcji należy zastosować. |
h | Definiuje korekcję długości narzędzia; Oś przyrostowa odpowiadająca osi C (np. na tokarko-młynie) |
G43 : Ujemna kompensacja długości narzędzia, G44 : Dodatnia kompensacja długości narzędzia |
i | Definiuje środek łuku w osi X dla poleceń łuku G02 lub G03 . Używany również jako parametr w niektórych stałych cyklach. |
Środek łuku to względna odległość od bieżącej pozycji do środka łuku, a nie bezwzględna odległość od roboczego układu współrzędnych (GUW). |
J | Definiuje środek łuku w osi Y dla poleceń łuku G02 lub G03 . Używany również jako parametr w niektórych stałych cyklach. |
Te same informacje uzupełniające, co powyżej. |
K | Definiuje środek łuku w osi Z dla poleceń łuku G02 lub G03 . Używany również jako parametr w niektórych stałych cyklach, równy adresowi L. |
Te same informacje uzupełniające, co powyżej. |
L | Stała liczba pętli cykli; Specyfikacja jaki rejestr edytować za pomocą G10 |
Stała liczba pętli cykli: Określa liczbę powtórzeń („pętli”) stałego cyklu w każdej pozycji. Zakłada się, że wynosi 1, chyba że zaprogramowano inną liczbę całkowitą. Czasami adres K jest używany zamiast L. W przypadku pozycjonowania przyrostowego ( G91 ) serię równomiernie rozmieszczonych otworów można zaprogramować jako pętlę, a nie jako pojedyncze pozycje. Zastosowanie G10 : Specyfikacja rejestru do edycji (korekty robocze, korekcje promienia narzędzia, korekcje długości narzędzia itp.). |
m | Różne funkcje | Kod akcji, polecenie pomocnicze; opisy różnią się. Wiele kodów M odwołuje się do funkcji maszyny, dlatego ludzie często mówią, że „M” oznacza „maszynę”, chociaż nie było to zamierzone. |
n | Numer wiersza (bloku) w programie; Numer parametru systemowego do zmiany za pomocą G10 |
Numery wierszy (bloków): Opcjonalne, często pomijane. Niezbędne w przypadku niektórych zadań, takich jak adres M99 P (aby poinformować sterowanie, do którego bloku programu ma powrócić, jeśli nie jest to domyślny) lub instrukcje GoTo (jeśli sterowanie je obsługuje). Numeracja N nie musi być zwiększana o 1 (na przykład może być zwiększana o 10, 20 lub 1000) i może być używana w każdym bloku lub tylko w niektórych miejscach w programie. Numer parametru systemu: G10 umożliwia zmianę parametrów systemu pod kontrolą programu. |
O | Nazwa programu | Na przykład O4501. Przez wiele lat w wyświetlaczach sterowanych CNC używano ukośnych glifów zerowych w celu łatwego odróżnienia litery „O” od cyfry „0”. Dzisiejsze kontrolki GUI często mają wybór czcionek, podobnie jak komputery PC. |
P | Służy jako adres parametru dla różnych kodów G i M |
|
Q | Przyrost dziobania w cyklach standardowych | Na przykład G73 , G83 (cykle wiercenia głębokiego) |
r | Definiuje rozmiar promienia łuku lub definiuje wysokość wycofania w cyklach standardowych frezowania | W przypadku promieni nie wszystkie kontrolki obsługują adres R dla G02 i G03 , w którym to przypadku używane są wektory IJK. W przypadku wysokości wycofania, „poziom R”, jak to się nazywa, jest zwracany, jeśli zaprogramowano G99 . |
S | Określa prędkość , prędkość wrzeciona lub prędkość powierzchniową w zależności od trybu | Typ danych = liczba całkowita. W trybie G97 (co zwykle jest ustawieniem domyślnym) liczba całkowita po S jest interpretowana jako liczba obr/min (obr /min ). W trybie G96 (stała prędkość powierzchniowa lub CSS), liczba całkowita po S jest interpretowana jako prędkość powierzchniowa —sfm ( G20 ) lub m/min ( G21 ). Zobacz także Prędkości i posuwy . W maszynach wielofunkcyjnych (tokarko-frezarka lub frezarko-tokarka), które wrzeciono otrzymuje dane wejściowe (wrzeciono główne lub podrzędne) jest określane przez inne kody M. |
T | Wybór narzędzia | Aby zrozumieć, jak działa adres T i jak współdziała (lub nie) z M06 , należy przestudiować różne metody, takie jak programowanie rewolweru tokarki, ATC (automatyczna zmiana narzędzia, ustawiana przez M06 ) stały wybór narzędzia, wybór narzędzia z pamięci losowej ATC , pojęcie „następnego czekania na narzędzie” oraz puste narzędzia. Programowanie na dowolnej konkretnej obrabiarce wymaga znajomości metody używanej przez tę maszynę. |
U | Oś przyrostowa odpowiadająca osi X (zwykle tylko sterowanie tokarkami grupy A) Określa również czas oczekiwania na niektórych maszynach (zamiast „ P ” lub „ X ”). |
W tych kontrolach X i U omijają odpowiednio G90 i G91 . W tych tokarkach G90 jest zamiast tego stałym adresem cyklu obróbki zgrubnej . |
V | Oś przyrostowa odpowiadająca osi Y | Do 2000 roku adres V był bardzo rzadko używany, ponieważ większość tokarek używających U i W nie miała osi Y, więc nie używały V. (Green i wsp. 1996 nawet nie wymienili V w swojej tabeli adresów.) Nadal często tak się dzieje, chociaż rozpowszechnienie oprzyrządowania tokarskiego i obróbki tokarsko-frezowej sprawiło, że użycie adresu V stało się rzadsze niż kiedyś (przykład Smid 2008). Zobacz także G18 . |
W | Oś przyrostowa odpowiadająca osi Z (zazwyczaj tylko elementy sterujące grupy A tokarek) | W tych kontrolach Z i W unikają odpowiednio G90 i G91 . W tych tokarkach G90 jest zamiast tego stałym adresem cyklu obróbki zgrubnej . |
x | Pozycja bezwzględna lub przyrostowa osi X. Określa również czas przebywania na niektórych komputerach (zamiast „ P ” lub „ U ”). |
|
Tak | Pozycja bezwzględna lub przyrostowa osi Y | |
Z | Pozycja bezwzględna lub przyrostowa osi Z | Oś obrotu wrzeciona głównego często określa, która oś obrabiarki jest oznaczona jako Z. |
Lista kodów G powszechnie występujących w FANUC i podobnie zaprojektowanych elementach sterujących do frezowania i toczenia
Źródła: połowa 2008; połowa 2010; Green i in. 1996.
- Uwaga : Modalny oznacza, że kod obowiązuje do czasu zastąpienia lub anulowania przez inny dozwolony kod. Niemodalny oznacza, że jest wykonywany tylko raz. Zobacz na przykład kody G09, G61 i G64 poniżej.
Kod | Opis | Frezowanie ( M ) |
Toczenie ( T ) |
Informacje uzupełniające |
---|---|---|---|---|
G00 | Szybkie pozycjonowanie | m | T | Przy ruchach 2- lub 3-osiowych, G00 (w przeciwieństwie do G01 ) tradycyjnie niekoniecznie porusza się po pojedynczej linii prostej między punktem początkowym a punktem końcowym. Porusza się każdą osią z maksymalną prędkością, aż zostanie osiągnięta jej wielkość wektora. Krótszy wektor zwykle kończy się jako pierwszy (biorąc pod uwagę podobne prędkości osi). Ma to znaczenie, ponieważ może spowodować ruch psiej nogi lub kija hokejowego, który programista musi wziąć pod uwagę w zależności od przeszkód znajdujących się w pobliżu, aby uniknąć awarii. Niektóre maszyny oferują interpolowane bystrza jako funkcję ułatwiającą programowanie (bezpieczne jest założenie linii prostej). |
G01 | Interpolacja liniowa | m | T | Najpopularniejszy kod konia pociągowego do karmienia podczas cięcia. Program określa punkt początkowy i końcowy, a układ sterowania automatycznie oblicza ( interpoluje ) punkty pośrednie, przez które przechodzą, tworząc linię prostą (stąd „ liniowa ”). Układ sterowania oblicza następnie prędkości kątowe, przy których należy obracać śruby pociągowe osi za pomocą ich serwomotorów lub silników krokowych. Komputer wykonuje tysiące obliczeń na sekundę, a silniki szybko reagują na każde wejście. W ten sposób rzeczywista ścieżka narzędzia obróbki odbywa się z zadanym posuwem na ścieżce, która jest dokładnie liniowa z bardzo małymi granicami. |
G02 | Interpolacja kołowa, zgodnie z ruchem wskazówek zegara | m | T | Bardzo podobny w koncepcji do G01. Ponownie, układ sterowania interpoluje punkty pośrednie i nakazuje serwomotorom lub silnikom krokowym obrócenie o wartość potrzebną do przełożenia ruchu przez śrubę pociągową na prawidłowe ustawienie końcówki. Ten proces powtarzany tysiące razy na minutę generuje pożądaną ścieżkę narzędzia. W przypadku G02 interpolacja generuje okrąg, a nie linię. Podobnie jak w przypadku G01, rzeczywista ścieżka narzędzia obróbki odbywa się z zadanym posuwem na ścieżce, która dokładnie odpowiada ideałowi (w przypadku G02 okrąg) z bardzo małymi granicami. W rzeczywistości interpolacja jest tak dokładna (gdy wszystkie warunki są poprawne), że frezowanie interpolowanego okręgu może ominąć operacje takie jak wiercenie, a często nawet znaleźć nudne. Adresy promienia lub środka łuku: G02 i G03 przyjmują adres R (dla promienia pożądanego na części) lub adresy IJK (dla wektorów składowych, które definiują wektor od punktu początkowego łuku do punktu środka łuku). Kompensacja frezu: W większości elementów sterujących nie można uruchomić G41 lub G42 w trybach G02 lub G03 . Musiałeś już dokonać kompensacji we wcześniejszym bloku G01 . Często programowany jest krótki liniowy ruch wprowadzający, tylko po to, aby umożliwić kompensację frezu przed główną akcją, rozpoczynającą się cięciem po okręgu. Pełne okręgi: Gdy punkt początkowy łuku i punkt końcowy łuku są identyczne, narzędzie wycina łuk 360° (pełny okrąg). (Niektóre starsze kontrolki nie obsługują tego, ponieważ łuki nie mogą przecinać się między ćwiartkami układu kartezjańskiego. Zamiast tego wymagają one czterech łuków ćwiartkowych zaprogramowanych jeden po drugim). |
G03 | Interpolacja kołowa, przeciwnie do ruchu wskazówek zegara | m | T | Te same informacje uzupełniające, co w przypadku G02. |
G04 | Mieszkać | m | T | Pobiera adres dla okresu przebywania (może to być X , U lub P ). Okres oczekiwania jest określony przez parametr kontrolny, zwykle ustawiony na milisekundy . Niektóre maszyny mogą akceptować X1.0 ( s ) lub P1000 ( ms ), które są równoważne.Wybór czasu przerwy : Często przerwa musi trwać tylko jeden lub dwa pełne obroty wrzeciona. Zwykle jest to znacznie mniej niż jedna sekunda. Wybierając wartość czasu trwania należy pamiętać, że długi czas oczekiwania jest stratą czasu cyklu. W niektórych sytuacjach nie będzie to miało znaczenia, ale w przypadku wielkoseryjnej, powtarzalnej produkcji (ponad tysiącami cykli) warto obliczyć, że być może wystarczy 100ms, a można to nazwać 200, aby być bezpiecznym, ale 1000 to tylko marnotrawstwo (zbyt długie). |
G05 P10000 | Precyzyjna kontrola konturu (HPCC) | m | Wykorzystuje głęboki bufor wyprzedzający i przetwarzanie symulacji, aby zapewnić lepsze przyspieszenie i spowolnienie ruchu osi podczas frezowania konturowego | |
G05.1 K1. | Zaawansowana kontrola podglądu AI | m | Wykorzystuje głęboki bufor wyprzedzający i przetwarzanie symulacji, aby zapewnić lepsze przyspieszenie i spowolnienie ruchu osi podczas frezowania konturowego | |
G06.1 | Obróbka niejednorodna racjonalna B-spline (NURBS) | m | Aktywuje Non-Uniform Rational B Spline dla złożonej obróbki krzywych i przebiegów (ten kod jest potwierdzony w Mazatrol 640M ISO Programming) | |
G07 | Wyimaginowane oznaczenie osi | m | ||
G09 | Dokładna kontrola zatrzymania, niemodalna | m | T | Wersja modalna to G61 . |
G10 | Programowalne wprowadzanie danych | m | T | Modyfikuje wartość współrzędnych roboczych i korekcji narzędzi |
G11 | Anuluj zapis danych | m | T | |
G17 | Wybór płaszczyzny XY | m | ||
G18 | Wybór samolotu ZX | m | T | |
G19 | Wybór samolotu YZ | m | ||
G20 | Programowanie w calach | m | T | Nieco rzadkie z wyjątkiem USA i (w mniejszym stopniu) Kanady i Wielkiej Brytanii. Jednak na globalnym rynku kompetencja zarówno z G20, jak i G21 zawsze ma szansę być niezbędna w dowolnym momencie. Zwykły minimalny przyrost w G20 to jedna dziesięciotysięczna cala (0,0001"), co jest większą odległością niż zwykły minimalny przyrost w G21 (jedna tysięczna milimetra, 0,001 mm, czyli jeden mikrometr ). różnica fizyczna czasami sprzyja programowaniu G21. |
G21 | Programowanie w milimetrach (mm) | m | T | Powszechne na całym świecie. Jednak na globalnym rynku kompetencja zarówno z G20, jak i G21 zawsze ma szansę być niezbędna w dowolnym momencie. |
G28 | Powrót do pozycji wyjściowej (maszyna zero, czyli punkt odniesienia maszyny) | m | T | Przyjmuje adresy XYZ, które definiują punkt pośredni, przez który przejdzie końcówka narzędzia w drodze powrotnej do punktu zerowego maszyny. Są one w kategoriach zerowej części (aka zero programu), a nie zerowej maszyny. |
G30 | Powrót do drugorzędnej pozycji wyjściowej (zero maszyny, czyli punkt odniesienia maszyny) | m | T | Przyjmuje adres P określający, który punkt zerowy maszyny ma zostać użyty, jeśli maszyna ma kilka punktów drugorzędnych (P1 do P4). Przyjmuje adresy XYZ, które definiują punkt pośredni, przez który przechodzi podpowiedź w drodze do punktu zerowego maszyny. Są one wyrażone jako część zero (aka zero programu), a NIE zero maszyny. |
G31 | Podawanie do funkcji pominięcia | m | Stosowany do sond i systemów pomiaru długości narzędzi. | |
G32 | Gwintowanie jednopunktowe, styl odręczny (jeśli nie używa się cyklu, np. G76 ) | T | Podobna do interpolacji liniowej G01 , z wyjątkiem automatycznej synchronizacji wrzeciona dla gwintowania jednopunktowego . | |
G33 | Gwintowanie o stałym skoku | m | ||
G33 | Gwintowanie jednopunktowe, styl odręczny (jeśli nie używa się cyklu, np. G76 ) | T | Niektóre sterowniki tokarek przypisują ten tryb do G33, a nie do G32. | |
G34 | Gwintowanie o zmiennym skoku | m | ||
G40 | Kompensacja promienia narzędzia wyłączona | m | T | Wyłącz kompensację promienia frezu (CRC) . Anuluje G41 lub G42. |
G41 | Kompensacja promienia narzędzia w lewo | m | T | Włącz kompensację promienia frezu (CRC) po lewej stronie dla frezowania współbieżnego. Frezowanie: Biorąc pod uwagę prawoskrętny frez i kierunek wrzeciona M03 , G41 odpowiada frezowaniu współbieżnemu (frezowanie w dół) . Przyjmuje adres ( D lub H ), który wywołuje wartość rejestru przesunięcia dla promienia. Toczenie: Często nie wymaga adresu D ani H na tokarkach, ponieważ każde aktywne narzędzie automatycznie wywołuje wraz z nim swoje przesunięcia geometrii. (Każda stacja głowicy rewolwerowej jest powiązana ze swoim rejestrem przesunięcia geometrii). G41 i G42 do frezowania zostały częściowo zautomatyzowane i pominięte (choć nie całkowicie), ponieważ programowanie CAM stało się bardziej powszechne. Systemy CAM pozwalają użytkownikowi programować tak, jakby używał frezu o zerowej średnicy. Podstawowa koncepcja kompensacji promienia frezu jest nadal w grze (tj. wytwarzana powierzchnia będzie znajdować się w odległości R od środka frezu), ale sposób myślenia programistyczny jest inny. Człowiek nie układa choreografii ścieżki narzędzia ze świadomą, drobiazgową uwagą do G41, G42 i G40, ponieważ dba o to oprogramowanie CAM. Oprogramowanie ma różne tryby CRC, takie jak komputer, sterowanie, zużycie, zużycie odwrotne, wyłączenie , z których niektóre w ogóle nie używają G41/G42 (dobre do obróbki zgrubnej lub szerokich tolerancji wykończenia) i inne, które go używają, aby przesunięcie zużycia można nadal dostosowywać na maszynie (lepsze dla wąskich tolerancji wykończenia). |
G42 | Kompensacja promienia narzędzia w prawo | m | T | Włącz kompensację promienia frezu (CRC) po prawej stronie dla konwencjonalnego frezowania. Podobne informacje uzupełniające jak w przypadku G41 . Biorąc pod uwagę frez prawoskrętny i kierunek wrzeciona M03, G42 odpowiada frezowaniu konwencjonalnemu (frezowanie w górę) . |
G43 | Kompensacja kompensacji wysokości narzędzia ujemna | m | Przyjmuje adres, zwykle H, aby wywołać wartość rejestru korekcji długości narzędzia. Wartość jest ujemna, ponieważ zostanie dodana do pozycji linii wskaźnika. G43 to powszechnie używana wersja (w porównaniu z G44). | |
G44 | Dodatnia kompensacja wysokości narzędzia | m | Przyjmuje adres, zwykle H, aby wywołać wartość rejestru korekcji długości narzędzia. Wartość jest dodatnia, ponieważ zostanie odjęta od pozycji linii wskaźnika. G44 to rzadko używana wersja (w porównaniu z G43). | |
G45 | Przesunięcie osi pojedynczego wzrostu | m | ||
G46 | Przesunięcie osi pojedynczy spadek | m | ||
G47 | Podwójny wzrost przesunięcia osi | m | ||
G48 | Przesunięcie osi podwójne zmniejszenie | m | ||
G49 | Anulowanie kompensacji kompensacji długości narzędzia | m | Anuluje G43 lub G44 . | |
G50 | Określ maksymalną prędkość wrzeciona | T | Przyjmuje liczbę całkowitą adresu S , która jest interpretowana jako rpm. Bez tej funkcji tryb G96 (CSS) obróciłby wrzeciono do „szeroko otwartej przepustnicy” przy bliskim zbliżeniu się do osi obrotu. | |
G50 | Anulowanie funkcji skalowania | m | ||
G50 | Rejestr pozycji (programowanie wektora od części zerowej do podpowiedzi) | T | Rejestr pozycji jest jedną z oryginalnych metod powiązania układu współrzędnych części (programu) z pozycją narzędzia, która pośrednio wiąże go z układem współrzędnych maszyny , jedyną pozycją, którą sterowanie naprawdę "zna". Nie jest już powszechnie programowany, ponieważ G54 do G59 (WCS) są lepszą, nowszą metodą. Wywoływane przez G50 do toczenia, G92 do frezowania. Te adresy G mają również alternatywne znaczenia ( patrz ). Rejestr pozycji może być nadal przydatny do programowania przesunięcia punktu odniesienia. Przełącznik „ręczny bezwzględny”, który ma bardzo niewiele przydatnych zastosowań w kontekstach WCS, był bardziej przydatny w kontekstach rejestrów pozycji, ponieważ pozwalał operatorowi na przesunięcie narzędzia na pewną odległość od części (na przykład poprzez dotknięcie 2,0000" miernik), a następnie zadeklaruj kontroli, jaka powinna być odległość do przebycia (2.0000). | |
G52 | Lokalny układ współrzędnych (LCS) | m | Tymczasowo przenosi program zero do nowej lokalizacji. Jest to po prostu „przesunięcie od przesunięcia”, to znaczy dodatkowe przesunięcie dodane do przesunięcia GUW . W niektórych przypadkach upraszcza to programowanie. Typowym przykładem jest przechodzenie od części do części w konfiguracji wieloczęściowej. Przy aktywnym G54 , G52 X140.0 Y170.0 przesuwa punkt zerowy programu o 140 mm ponad w X i 170 mm ponad w Y. Kiedy część "tam" jest wykonana, G52 X0 Y0 przywraca program zerowy do normalnego G54 (poprzez zmniejszenie przesunięcia G52 Do niczego). Ten sam wynik można również osiągnąć (1) przy użyciu wielu źródeł WCS, G54/G55/G56/G57/G58/G59; (2) w nowszych sterownikach, G54.1 P1/P2/P3/etc. (aż do P48); lub (3) użycie G10 do programowalnego wprowadzania danych, w którym program może zapisać nowe wartości korekcji do rejestrów korekcji. Sposób użycia zależy od aplikacji specyficznej dla sklepu. | |
G53 | Układ współrzędnych maszyny | m | T | Przyjmuje współrzędne bezwzględne (X,Y,Z,A,B,C) w odniesieniu do zera maszyny, a nie zera programu. Może być pomocny przy zmianie narzędzi. Tylko niemodalne i bezwzględne. Kolejne bloki są interpretowane jako "powrót do G54 ", nawet jeśli nie jest to wyraźnie zaprogramowane. |
G54 do G59 | Układy współrzędnych roboczych (GUW) | m | T | W dużej mierze zastąpiły rejestr pozycji ( G50 i G92 ). Każda krotka przesunięć osi odnosi zero programu bezpośrednio do zera maszyny. Standardem jest 6 krotek (G54 do G59), z opcjonalną możliwością rozszerzenia do kolejnych 48 przez G54.1 P1 do P48. |
G54.1 P1 do P48 | Rozszerzone układy współrzędnych pracy | m | T | Do 48 więcej WCS oprócz 6 dostarczonych standardowo przez G54 do G59. Zwróć uwagę na zmiennoprzecinkowe rozszerzenie typu danych G-code (dawniej wszystkie liczby całkowite). Inne przykłady również ewoluowały (np. G84.2 ). Nowoczesne sterowanie ma sprzęt, który sobie z tym poradzi. |
G61 | Dokładna kontrola zatrzymania, modalna | m | T | Można anulować za pomocą G64 . Wersja niemodalna to G09 . |
G62 | Automatyczne nadpisywanie narożników | m | T | |
G64 | Domyślny tryb cięcia (anuluj tryb kontroli dokładnego zatrzymania) | m | T | Anuluje G61 . |
G68 | Obróć układ współrzędnych | m | Obraca układ współrzędnych w bieżącej płaszczyźnie podanej za pomocą G17 , G18 lub G19 . Środek obrotu jest podawany z dwoma parametrami, które różnią się w zależności od implementacji każdego dostawcy. Obróć o kąt podany z argumentem R. Można to wykorzystać na przykład do wyrównania układu współrzędnych z niewłaściwą częścią. Może być również używany do powtarzania sekwencji ruchów wokół centrum. Nie wszyscy dostawcy obsługują obrót układu współrzędnych. | |
G69 | Wyłącz obrót układu współrzędnych | m | Anuluje G68 . | |
G70 | Cykl stały, cykl wielokrotnych powtórzeń, do obróbki wykańczającej (włącznie z konturami) | T | ||
G71 | Cykl stały, cykl wielokrotnych powtórzeń, do obróbki zgrubnej (podkreślenie osi Z) | T | ||
G72 | Cykl stały, cykl wielokrotnych powtórzeń, do obróbki zgrubnej (podkreślenie osi X) | T | ||
G73 | Cykl stały, cykl wielokrotnych powtórzeń, do obróbki zgrubnej, z powtarzaniem wzoru | T | ||
G73 | Cykl nawiercania do frezowania – duża prędkość (BEZ pełnego wycofania z dziobów) | m | Wycofuje się tylko do przyrostu prześwitu (parametr systemowy). Bo gdy łamanie wiórów jest głównym problemem, ale zatykanie się wiórów nie jest. Porównaj G83 . | |
G74 | Cykl wiercenia głębokiego do toczenia | T | ||
G74 | Cykl gwintowania do frezowania, gwint lewy , kierunek wrzeciona M04 | m | Patrz uwagi do G84 . | |
G75 | Cykl rowkowania dziobania do toczenia | T | ||
G76 | Dokładny cykl wytaczania do frezowania | m | Obejmuje OSS i przesunięcie (zorientowane zatrzymanie wrzeciona i przesunięcie narzędzia poza linię środkową w celu wycofania) | |
G76 | Cykl gwintowania do toczenia, cykl wielokrotnych powtórzeń | T | ||
G80 | Anuluj cykl w puszkach | m | T |
Frezowanie: Anuluje wszystkie cykle, takie jak G73 , G81 , G83 , itd. Oś Z powraca do poziomu początkowego Z lub poziomu R, zgodnie z zaprogramowaniem (odpowiednio G98 lub G99 ). Toczenie: Zwykle nie jest potrzebne na tokarkach, ponieważ nowy adres G grupy-1 ( G00 do G03 ) anuluje jakikolwiek aktywny cykl. |
G81 | Prosty cykl wiercenia | m | Brak wbudowanego mieszkania | |
G82 | Cykl wiercenia z przerwą | m | Przebywa na dnie otworu (głębokość Z) przez liczbę milisekund określoną przez adres P. Dobry, gdy liczy się wykończenie dna otworu. Dobry do nawiercania punktowego, ponieważ bruzda z pewnością zostanie równomiernie wyczyszczona. Rozważ uwagę „ wybór czasu przebywania ” w G04 . | |
G83 | Cykl wiercenia dziobania (pełne wycofanie z dziobania) | m | Powraca do poziomu R po każdym dziobnięciu. Dobry do czyszczenia fletów z wiórów . Porównaj G73 . | |
G84 | Cykl gwintowania , gwint prawy , kierunek wrzeciona M03 | m | G74 i G84 to prawe i lewe „pary” do starej szkoły gwintowania z niesztywnym uchwytem narzędziowym (styl „głowica gwintująca”). Porównaj „parę” gwintowania sztywnego, G84.2 i G84.3 . | |
G84.2 | Cykl gwintowania prawy gwint , M03 w kierunku wrzeciona sztywny uchwyt narzędziowy | m | Patrz uwagi do G84 . Sztywne gwintowanie synchronizuje prędkość i posuwy zgodnie z pożądaną spiralą gwintu. Oznacza to, że synchronizuje stopnie obrotu wrzeciona z mikrometrami przesunięcia osiowego. Dlatego może używać sztywnego uchwytu narzędziowego do trzymania kranu. Ta funkcja nie jest dostępna na starych maszynach lub nowszych maszynach z niższej półki, które muszą używać ruchu „głowicy gwintującej” ( G74 / G84 ). | |
G84.3 | Cykl gwintowania, gwint lewy , kierunek wrzeciona M04 , sztywny uchwyt narzędziowy | m | Patrz uwagi do G84 i G84.2 . | |
G85 | cykl wytaczania, dosuw/wysuw | m |
|
|
G86 | cykl wytaczania, posuw/zatrzymanie wrzeciona/szybkie wyjście | m | Narzędzie do wytaczania pozostawia niewielki ślad w drodze powrotnej. Odpowiedni cykl dla niektórych zastosowań; w przypadku innych można zamiast tego użyć G76 (OSS/przesunięcie). | |
G87 | cykl wytaczania, wytaczanie wsteczne | m | Do wytaczania wstecznego . Powraca tylko do poziomu początkowego ( G98 ); cykl ten nie może użyć G99, ponieważ jego poziom R znajduje się po drugiej stronie części, z dala od wrzeciennika wrzeciona. | |
G88 | cykl wytaczania, posuw/zatrzymanie wrzeciona/praca ręczna | m | ||
G89 | cykl wytaczania, wsuwanie/opuszczanie/wysuwanie | m | G89 jest podobny do G85, ale z przerwą dodaną na dnie otworu. | |
G90 | Programowanie absolutne | m | T (B) | Pozycjonowanie zdefiniowane w odniesieniu do części zerowej. Frezowanie: Zawsze jak wyżej. Toczenie: Czasami jak powyżej (grupa Fanuc typ B i podobnie zaprojektowana), ale w większości tokarek (grupa Fanuc typ A i podobnie zaprojektowana), G90/G91 nie są używane dla trybów bezwzględnych/przyrostowych. Zamiast tego U i W są adresami przyrostowymi, a X i Z są adresami bezwzględnymi. W tych tokarkach G90 jest zamiast tego stałym adresem cyklu obróbki zgrubnej. |
G90 | Cykl stały, cykl prosty, do obróbki zgrubnej (podkreślenie osi Z) | T (A) | Gdy nie służy do programowania absolutnego (powyżej) | |
G90.1 | Programowanie łuku absolutnego | m | Pozycjonowanie I, J, K zdefiniowane w odniesieniu do części zerowej. | |
G91 | Programowanie przyrostowe | m | T (B) | Pozycjonowanie zdefiniowane w odniesieniu do poprzedniej pozycji. Frezowanie: Zawsze jak wyżej. Toczenie: Czasami jak powyżej (grupa Fanuc typ B i podobnie zaprojektowana), ale w większości tokarek (grupa Fanuc typ A i podobnie zaprojektowana), G90/G91 nie są używane dla trybów bezwzględnych/przyrostowych. Zamiast tego U i W są adresami przyrostowymi, a X i Z są adresami bezwzględnymi. W tych tokarkach G90 jest stałym adresem cyklu obróbki zgrubnej. |
G91.1 | Przyrostowe programowanie łuku | m | Pozycjonowanie I, J, K zdefiniowane w odniesieniu do poprzedniej pozycji. | |
G92 | Rejestr pozycji (programowanie wektora od części zerowej do wierzchołka narzędzia) | m | T (B) | Te same informacje następcze jak w rejestrze pozycji G50 . Frezowanie: Zawsze jak wyżej. Toczenie: Czasami jak powyżej (grupa Fanuc typ B i podobnie zaprojektowana), ale na większości tokarek (grupa Fanuc typ A i podobnie zaprojektowana) rejestr pozycji to G50 . |
G92 | Cykl gwintowania, prosty cykl | T (A) | ||
G94 | Prędkość posuwu na minutę | m | T (B) | W grupie tokarek typu A posuw na minutę wynosi G98 . |
G94 | Cykl stały, cykl prosty, do obróbki zgrubnej ( podkreślenie osi X ) | T (A) | Gdy nie podaje się dla szybkości podawania na minutę (powyżej) | |
G95 | Prędkość posuwu na obrót | m | T (B) | W grupie tokarek typu A posuw na obrót wynosi G99 . |
G96 | Stała prędkość powierzchniowa (CSS) | T | Automatycznie zmienia prędkość wrzeciona, aby osiągnąć stałą prędkość powierzchniową. Zobacz prędkości i posuwy . Bierze S adres całkowitą, co jest interpretowane jako SFM w G20 trybie lub jako m / min G21 trybu. | |
G97 | Stała prędkość wrzeciona | m | T | Przyjmuje liczbę całkowitą adresu S, która jest interpretowana jako obr/min (rpm). Domyślny tryb prędkości dla parametru systemowego, jeśli żaden tryb nie jest zaprogramowany. |
G98 | Powrót do początkowego poziomu Z w cyklu standardowym | m | ||
G98 | Prędkość posuwu na minutę (grupa typu A) | T (A) | Szybkość posuwu na minutę wynosi G94 w grupie typu B. | |
G99 | Powrót do poziomu R w cyklu konserwowym | m | ||
G99 | Posuw na obrót (grupa typu A) | T (A) | Szybkość posuwu na obrót wynosi G95 w grupie typu B. | |
G100 | Pomiar długości narzędzia | m |
Lista kodów M powszechnie występujących w FANUC i podobnie zaprojektowanych elementach sterujących do frezowania i toczenia
Źródła: połowa 2008; połowa 2010; Green i in. 1996.
Niektóre starsze kontrolki wymagają, aby kody M znajdowały się w oddzielnych blokach (tzn. nie w tej samej linii).
Kod | Opis | Frezowanie ( M ) |
Toczenie ( T ) |
Informacje uzupełniające |
---|---|---|---|---|
M00 | Obowiązkowe zatrzymanie | m | T | Nieopcjonalne — maszyna zawsze zatrzymuje się po osiągnięciu M00 podczas wykonywania programu. |
M01 | Opcjonalny przystanek | m | T | Maszyna zatrzymuje się na M01 tylko wtedy, gdy operator naciśnie opcjonalny przycisk zatrzymania. |
M02 | Koniec programu | m | T | Program się kończy; wykonanie może, ale nie musi, powrócić do początku programu (w zależności od sterowania); może lub nie może zresetować wartości rejestru. M02 był oryginalnym kodem zakończenia programu, obecnie uważanym za przestarzały, ale nadal obsługiwany w celu zapewnienia kompatybilności wstecznej. Wiele nowoczesnych kontroli traktuje M02 jako ekwiwalent M30 . Patrz M30, aby uzyskać dodatkowe omówienie stanu sterowania po wykonaniu M02 lub M30. |
M03 | Wrzeciono włączone (obrót w prawo) | m | T | Prędkość wrzeciona jest określona przez adres S , w obrotach na minutę ( tryb G97 ; domyślny) lub powierzchni w stopach na minutę lub [powierzchni] metrach na minutę ( tryb G96 [CSS] pod G20 lub G21 ). Reguła prawej dłoni mogą być wykorzystane do określenia, który kierunek jest w prawo i który kierunek jest przeciwny do ruchu wskazówek zegara.
Śruby prawoskrętne poruszające się w kierunku dokręcania (i rowki prawoskrętne obracające się w kierunku skrawania) są zdefiniowane jako poruszające się w kierunku M03 i są umownie oznaczone jako „zgodnie z ruchem wskazówek zegara”. Kierunek M03 to zawsze M03, niezależnie od lokalnego punktu widzenia i lokalnego rozróżnienia CW/CCW. |
M04 | Wrzeciono włączone (obrót w kierunku przeciwnym do ruchu wskazówek zegara) | m | T | Patrz komentarz powyżej w M03. |
M05 | Zatrzymanie wrzeciona | m | T | |
M06 | Automatyczna zmiana narzędzi (ATC) | m | T (czasami) | Wiele tokarek nie używa M06, ponieważ sam adres T indeksuje głowicę. Programowanie na dowolnej konkretnej obrabiarce wymaga znajomości metody używanej przez tę maszynę. Aby zrozumieć, jak działa adres T i jak współdziała (lub nie) z M06, należy przestudiować różne metody, takie jak programowanie głowicy tokarki, wybór stałego narzędzia ATC, wybór losowego narzędzia pamięci ATC, koncepcja „następnego narzędzia czekającego” i puste narzędzia. |
M07 | Chłodziwo włączone (mgła) | m | T | |
M08 | Chłodziwo włączone (powódź) | m | T | |
M09 | Chłodziwo wyłączone | m | T | |
M10 | Zacisk palety włączony | m | Do centrów obróbczych ze zmieniaczami palet | |
M11 | Zacisk palet wyłączony | m | Do centrów obróbczych ze zmieniaczami palet | |
M13 | Wrzeciono włączone (obrót w prawo) i chłodziwo włączone (powódź) | m | Ten jeden kod M wykonuje pracę zarówno M03, jak i M08 . Nie jest niczym niezwykłym, że określone modele maszyn mają takie połączone polecenia, które umożliwiają pisanie krótszych i szybszych programów. | |
M19 | Orientacja wrzeciona | m | T | Orientacja wrzeciona jest częściej wywoływana w cyklach (automatycznie) lub podczas ustawiania (ręcznie), ale jest również dostępna pod kontrolą programu przez M19 . Skrót OSS (zorientowany zatrzymanie wrzeciona) może być używany w odniesieniu do zorientowanego zatrzymania w cyklach.
Znaczenie orientacji wrzeciona wzrosło wraz z rozwojem technologii. Chociaż 4- i 5-osiowe frezowanie konturowe i jednopunktowe CNC od dziesięcioleci zależą od enkoderów położenia wrzeciona, przed pojawieniem się powszechnych narzędzi na żywo i systemów frezo- toczenie/toczenie -frezowanie, nie było to tak często istotne w przypadku „zwykłych” (nie „specjalna”) obróbka dla operatora (w przeciwieństwie do maszyny) w celu poznania orientacji kątowej wrzeciona w obecnej formie, z wyjątkiem pewnych kontekstów (takich jak wymiana narzędzia lub cykle wytaczania dokładnego G76 z choreograficznym wycofaniem narzędzia ). Większość operacji frezowania elementów indeksowanych wokół toczonego przedmiotu obrabianego została wykonana za pomocą oddzielnych operacji na ustawieniach głowicy indeksującej ; w pewnym sensie głowice indeksujące zostały pierwotnie wynalezione jako oddzielne elementy wyposażenia, które miały być używane w oddzielnych operacjach, co mogło zapewnić precyzyjną orientację wrzeciona w świecie, w którym w innym przypadku w większości nie istniała (i nie musiała). Ale ponieważ CAD/CAM i wieloosiowa obróbka CNC z wieloma osiami obrotowo-tnącymi staje się normą, nawet w przypadku „zwykłych” (nie „specjalnych”) zastosowań, operatorzy często dbają o precyzyjne przechodzenie przez prawie każde wrzeciono przez jego 360°. |
M21 | Lustro, oś X | m | ||
M21 | Konik do przodu | T | ||
M22 | Lustro, oś Y | m | ||
M22 | Konik do tyłu | T | ||
M23 | Lustro WYŁĄCZONE | m | ||
M23 | Stopniowe wyciąganie wątku ON | T | ||
M24 | Stopniowe wyciąganie nitki WYŁĄCZONE | T | ||
M30 | Koniec programu, powrót do góry programu | m | T | Obecnie M30 jest uważany za standardowy kod zakończenia programu i przywraca wykonanie na początek programu. Większość kontrolek nadal obsługuje również oryginalny kod zakończenia programu, M02 , zwykle traktując go jako odpowiednik M30. Dodatkowe informacje: Porównaj M02 z M30. Najpierw stworzono M02, w czasach, gdy dziurkowana taśma miała być wystarczająco krótka, aby można ją było połączyć w ciągłą pętlę (dlatego na starych sterownikach M02 nie uruchamiał przewijania taśmy). Drugi kod zakończenia programu, M30, został dodany później, aby pomieścić dłuższe taśmy dziurkowane, które były nawinięte na szpulę i tym samym wymagały przewinięcia przed rozpoczęciem kolejnego cyklu. W wielu nowszych kontrolkach nie ma już różnicy w sposobie wykonywania kodów — oba działają jak M30. |
M41 | Wybór biegu – bieg 1 | T | ||
M42 | Wybór biegu – bieg 2 | T | ||
M43 | Wybór biegu – bieg 3 | T | ||
M44 | Wybór biegu – bieg 4 | T | ||
M48 | Dozwolone pomijanie szybkości posuwu | m | T | MFO (ręczne sterowanie prędkością posuwu) |
M49 | Nadpisywanie szybkości posuwu NIEDOZWOLONE | m | T | Zapobiegaj MFO (ręczne nadpisanie szybkości posuwu). Ta reguła jest również zwykle wywoływana (automatycznie) w cyklach gwintowania lub cyklach gwintowania jednopunktowego, gdzie posuw jest precyzyjnie skorelowany z prędkością. To samo z SSO (obejście prędkości wrzeciona) i przyciskiem zatrzymania posuwu. Niektóre kontrolki są w stanie zapewnić logowanie jednokrotne i MFO podczas wątków . |
M52 | Wyładuj ostatnie narzędzie z wrzeciona | m | T | Również puste wrzeciono. |
M60 | Automatyczna zmiana palet (APC) | m | Do centrów obróbczych ze zmieniaczami palet | |
M98 | Wywołanie podprogramu | m | T | Przyjmuje adres P, aby określić, który podprogram należy wywołać, na przykład „M98 P8979” wywołuje podprogram O8979. |
M99 | Koniec podprogramu | m | T | Zwykle umieszczany na końcu podprogramu, gdzie zwraca kontrolę wykonania do programu głównego. Domyślnie sterowanie powraca do bloku następującego po wywołaniu M98 w programie głównym. Powrót do innego numeru bloku może być określony przez adres P. M99 może być również używany w programie głównym z pominięciem bloku do nieskończonej pętli programu głównego na pracy pręta na tokarkach (do momentu przełączenia przez operatora pominięcia bloku). |
M100 | Wyczyść dyszę | Niektóre drukarki 3D mają predefiniowaną procedurę wycierania dyszy ekstrudera w kierunku X i Y, często o elastyczny skrobak zamontowany w obszarze zrzutu. |
Przykładowy program
Jest to ogólny program, który demonstruje użycie G-Code do obracania części o średnicy 1" na 1" długości. Załóżmy, że w maszynie znajduje się pręt materiału i że pręt ma nieco przewymiarowaną długość i średnicę oraz że pręt wystaje o więcej niż 1 cal od powierzchni uchwytu. (Uwaga: jest to ogólne, może nie działać na jakakolwiek prawdziwa maszyna! Zwróć szczególną uwagę na punkt 5 poniżej.)
Blokuj / Kod | Opis |
---|---|
% |
Sygnalizuje rozpoczęcie danych podczas przesyłania pliku. Pierwotnie używany do zatrzymywania przewijania taśmy, niekoniecznie do uruchamiania programu. W przypadku niektórych sterowników (FANUC) pierwszy LF (EOB) jest początkiem programu. ISO używa %, EIA używa ER (0x0B). |
O4968 (OPTIONAL PROGRAM DESCRIPTION OR COMMENT) |
Przykładowy program twarzy i skrętu. Komentarze są ujęte w nawiasy. |
N01 M216 |
Włącz monitor obciążenia |
N02 G20 G90 G54 D200 G40 |
Jednostki calowe. Tryb absolutny. Aktywuj przesunięcie robocze. Aktywuj korekcję narzędzia. Wyłączyć kompensację promienia ostrza narzędzia. Znaczenie: Ten blok jest często nazywany bezpiecznym blokiem lub blokadą bezpieczeństwa. Jego polecenia mogą się różnić, ale zwykle są podobne do przedstawionych tutaj. Pomysł polega na tym, że blok bezpieczeństwa powinien zawsze znajdować się w górnej części dowolnego programu, jako ogólne ustawienie domyślne, chyba że istnieje jakiś bardzo konkretny/konkretny powód, aby go pominąć. Blokada bezpieczeństwa jest jak kontrola rozsądku lub lista kontrolna przed lotem : wyraźnie zapewnia warunki, które w przeciwnym razie byłyby niejawne, pozostawione jedynie założeniu. Blokada bezpieczeństwa zmniejsza ryzyko awarii, a także może pomóc przeorientować myślenie ludzi, którzy piszą lub czytają program w pośpiechu. |
N03 G50 S2000 |
Ustaw maksymalną prędkość wrzeciona w obr./min — To ustawienie wpływa na tryb stałej prędkości powierzchniowej |
N04 T0300 |
Indeksowanie głowicy rewolwerowej do narzędzia 3. Skasować przesunięcie zużycia (00). |
N05 G96 S854 M03 |
Stała prędkość powierzchniowa [automatycznie zmienia prędkość wrzeciona], 854 sfm , uruchom obroty wrzeciona CW |
N06 G41 G00 X1.1 Z1.1 T0303 M08 |
Włącz tryb kompensacji promienia frezu, szybkie położenie do 0,55 cala powyżej osi osi (o średnicy 1,1 cala) i 1,1 cala dodatni od przesunięcia roboczego w Z, włącz chłodziwo zalewowe |
N07 G01 Z1.0 F.05 |
Posuw poziomy z prędkością 0,050" na obrót wrzeciona, aż narzędzie znajdzie się 1" dodatnio od przesunięcia roboczego |
N08 X-0.016 |
Przesuń narzędzie nieco poza środek — narzędzie musi przemieszczać się przynajmniej o promień ostrza poza środek części, aby zapobiec powstawaniu resztek materiału. |
N09 G00 Z1.1 |
Szybkie pozycjonowanie; wycofać się do pozycji wyjściowej |
N10 X1.0 |
Szybkie pozycjonowanie; następny przejazd |
N11 G01 Z0.0 F.05 |
Podawanie w poziomie cięcie pręta do średnicy 1" aż do punktu odniesienia, 0,05 cala/obr |
N12 G00 X1.1 M05 M09 |
Wyczyść część, zatrzymaj wrzeciono, wyłącz chłodziwo |
N13 G91 G28 X0 |
Home Oś X — powrót do pozycji wyjściowej maszyny dla osi X |
N14 G91 G28 Z0 |
Home Oś Z — powrót do pozycji wyjściowej maszyny dla osi Z |
N15 G90 |
Wróć do trybu bezwzględnego. Wyłącz monitor obciążenia |
N16 M30 |
Zatrzymaj program, przewiń do góry programu, poczekaj na rozpoczęcie cyklu |
% |
Sygnał końca danych podczas przesyłania pliku. Pierwotnie używany do oznaczania końca taśmy, niekoniecznie końca programu. ISO używa %, EIA używa ER (0x0B). |
Kilka punktów do zapamiętania:
- Nawet w tym krótkim programie jest miejsce na pewien styl programowania. Grupowanie kodów w wierszu N06 można było umieścić w wielu wierszach. Mogło to ułatwić śledzenie wykonywania programu.
- Wiele kodów jest modalnych , co oznacza, że obowiązują do czasu ich anulowania lub zastąpienia przez sprzeczny kod. Na przykład, po wybraniu cięcia ze zmienną prędkością (CSS) (G96), obowiązuje ono do końca programu. Podczas pracy prędkość wrzeciona wzrasta, gdy narzędzie znajduje się w pobliżu środka pracy, aby utrzymać stałą prędkość powierzchniową. Podobnie, po wybraniu szybkiego posuwu (G00), wszystkie ruchy narzędzia są szybkie, dopóki nie zostanie wybrany kod szybkości posuwu (G01, G02, G03).
- Powszechną praktyką jest używanie monitora obciążenia w maszynach CNC. Monitor obciążenia zatrzymuje maszynę, jeśli obciążenia wrzeciona lub posuwu przekraczają wstępnie ustawioną wartość ustawioną podczas operacji ustawiania. Zadania monitora obciążenia są różne:
- Zapobiegaj uszkodzeniom maszyny w przypadku złamania narzędzia lub błędu programowania.
- Jest to szczególnie ważne, ponieważ pozwala na bezpieczną „obróbkę bez światła”, w której operatorzy ustawiają pracę i rozpoczynają ją w ciągu dnia, a następnie wracają do domu na noc, pozostawiając maszyny pracujące i wycinające części na noc. Ponieważ w pobliżu nie ma człowieka, który mógłby usłyszeć, zobaczyć lub wyczuć problem, taki jak zepsute narzędzie, monitor obciążenia pełni ważną funkcję wartowniczą. Gdy wykryje stan przeciążenia, który semantycznie sugeruje tępe lub złamane narzędzie, nakazuje zatrzymanie obróbki. W dzisiejszych czasach dostępna jest technologia umożliwiająca zdalne wysyłanie alertu do kogoś (np. śpiącego właściciela, operatora lub właściciela-operatora), co pozwala im interweniować i wznowić produkcję, a następnie ponownie wyjść. Może to być różnica między rentownością a stratą w przypadku niektórych zadań, ponieważ obróbka przy wyłączonym świetle zmniejsza liczbę godzin pracy przypadających na część.
- Ostrzegaj przed tępym narzędziem, które należy wymienić lub naostrzyć. Tak więc operatorowi obsługującemu wiele maszyn maszyna mówi: „Zatrzymaj to, co robisz tam, i zajmij się czymś tutaj”.
- Zapobiegaj uszkodzeniom maszyny w przypadku złamania narzędzia lub błędu programowania.
- Powszechną praktyką jest szybkie doprowadzenie narzędzia do „bezpiecznego” punktu, który znajduje się blisko części — w tym przypadku 0,1 cala — a następnie rozpoczęcie podawania narzędzia. Jak blisko jest ta „bezpieczna” odległość, zależy od preferencje programisty i/lub operatora oraz maksymalny stan materiału dla surowca.
- Jeśli program jest nieprawidłowy, istnieje duże prawdopodobieństwo, że maszyna ulegnie awarii lub wbije narzędzie w część, imadło lub maszynę przy dużej mocy. Może to być kosztowne, zwłaszcza w nowszych centrach obróbczych. Możliwe jest przeplatanie programu z opcjonalnymi zatrzymaniami (kod M01), które pozwalają na częściowe działanie programu w celach testowych. Opcjonalne zatrzymania pozostają w programie, ale są pomijane podczas normalnego działania. Na szczęście większość oprogramowania CAD/CAM jest dostarczana z symulatorami CNC, które wyświetlają ruch narzędzia podczas wykonywania programu. Obecnie otaczające obiekty (uchwyt, zaciski, osprzęt, konik i inne) są zawarte w modelach 3D , a symulacja przypomina całą grę wideo lub środowisko wirtualnej rzeczywistości, co znacznie zmniejsza prawdopodobieństwo nieoczekiwanych awarii. Wiele nowoczesnych maszyn CNC umożliwia również programistom wykonanie programu w trybie symulacji oraz obserwację parametrów pracy maszyny w określonym punkcie wykonania. Umożliwia to programistom wykrywanie błędów semantycznych (w przeciwieństwie do błędów składniowych) przed utratą materiału lub narzędzi przez niewłaściwy program. W zależności od wielkości części, do celów testowych można również użyć bloczków woskowych. Ponadto wiele maszyn obsługuje nadpisania przez operatora zarówno szybkości szybkiego, jak i posuwu, które można wykorzystać do zmniejszenia prędkości maszyny, umożliwiając operatorom zatrzymanie wykonywania programu przed wystąpieniem awarii.
- W celach edukacyjnych w powyższym programie uwzględniono numery linii. Zwykle nie są one niezbędne do działania maszyny i zwiększają rozmiary plików, dlatego rzadko są używane w przemyśle. Jeśli jednak w kodzie używane są instrukcje rozgałęziające lub pętlowe, to numery wierszy mogą być równie dobrze uwzględnione jako cel tych instrukcji (np. GOTO N99).
- Niektóre maszyny nie zezwalają na wiele kodów M w tej samej linii.
Środowiska programistyczne
Środowiska programistyczne G-code ewoluowały równolegle do środowisk programowania ogólnego – od najwcześniejszych środowisk (np. pisanie programu ołówkiem, wpisywanie go do dziurkacza taśmowego) do najnowszych środowisk łączących CAD ( projektowanie wspomagane komputerowo ), CAM ( produkcja wspomagana komputerowo ) i bogato wyposażone edytory G-code. (Edytory G-code są analogiczne do edytorów XML , używają kolorów i wcięć semantycznie [plus inne funkcje], aby pomóc użytkownikowi w sposób, w jaki podstawowe edytory tekstu nie są w stanie. Pakiety CAM są analogiczne do IDE w ogólnym programowaniu.)
Dwie zmiany paradygmatu wysokiego poziomu to (1) porzucenie „programowania ręcznego” (za pomocą wyłącznie ołówka lub edytora tekstu i ludzkiego umysłu) na rzecz systemów oprogramowania CAM , które automatycznie generują kod G za pomocą postprocesorów (analogicznie do rozwoju technik wizualnych w ogólnym programowanie) i (2), zdając na sztywno konstrukcje dla tych parametrycznych (analogicznie do różnicy ogólnym programowanie pomiędzy sztywno stałą w równaniu porównaniu deklarowania zmiennej i przypisanie nowe wartości w dowolnym momencie, a do zorientowanym obiektowo ogólne podejście). Programowanie makro (parametryczne) CNC wykorzystuje przyjazne dla człowieka nazwy zmiennych, operatory relacyjne i struktury pętli, podobnie jak programowanie ogólne, do przechwytywania informacji i logiki za pomocą semantyki odczytywanej maszynowo. Podczas gdy starsze ręczne programowanie CNC mogło opisywać tylko określone przypadki części w formie numerycznej, programowanie makr opisuje abstrakcje, które można łatwo zastosować w wielu różnych przypadkach. Różnica ma wiele analogii, zarówno sprzed ery informatyki, jak i po jej nastaniu, takich jak (1) tworzenie tekstu jako bitmapy w przeciwieństwie do kodowania znaków za pomocą glifów ; (2) poziom abstrakcji tabelarycznych rysunków technicznych , z wieloma numerami części myślnikowych zdefiniowanymi parametrycznie przez ten sam rysunek i tabelę parametrów; lub (3) sposób, w jaki HTML przeszedł przez fazę używania znaczników treści do celów prezentacji, a następnie dojrzał do modelu CSS . We wszystkich tych przypadkach wyższa warstwa abstrakcji wprowadzała to, czego brakowało semantycznie.
STEP-NC odzwierciedla ten sam temat, który można postrzegać jako kolejny krok na ścieżce, która rozpoczęła się wraz z rozwojem obrabiarek, przyrządów i osprzętu oraz sterowania numerycznego, które dążyły do „wbudowania umiejętności w narzędzie”. Ostatnie opracowania kodu G i STEP-NC mają na celu wbudowanie informacji i semantyki w narzędzie. Ten pomysł nie jest nowy; Od początku sterowania numerycznego koncepcja kompleksowego środowiska CAD/CAM była celem tak wczesnych technologii, jak DAC-1 i APT . Te wysiłki były dobre dla wielkich korporacji, takich jak GM i Boeing. Jednak małe i średnie przedsiębiorstwa przeszły erę prostszych wdrożeń NC, ze stosunkowo prymitywnym kodem G typu „połącz kropki” i programowaniem ręcznym, dopóki CAD/CAM nie ulepszył się i został rozpowszechniony w całej branży.
Każda obrabiarka z dużą liczbą osi, wrzecion i stacji narzędziowych jest trudna do ręcznego zaprogramowania. Zostało to zrobione przez lata, ale niełatwo. Wyzwanie to istniało od dziesięcioleci w programowaniu śrub CNC i transferów obrotowych, a teraz pojawia się również w dzisiejszych nowszych centrach obróbczych zwanych „tokarko-frezarkami”, „frezarkami”, „maszynami wielozadaniowymi” i „maszynami wielofunkcyjnymi”. Teraz, gdy systemy CAD/CAM są szeroko stosowane, programowanie CNC (takie jak z kodem G) wymaga, aby CAD/CAM (w przeciwieństwie do programowania ręcznego) było praktyczne i konkurencyjne w segmentach rynku obsługiwanych przez te klasy maszyn. Jak mówi Smid: „Połącz wszystkie te osie z kilkoma dodatkowymi funkcjami, a ilość wiedzy wymaganej do odniesienia sukcesu jest co najmniej przytłaczająca”. Jednocześnie jednak programiści nadal muszą dokładnie zrozumieć zasady programowania ręcznego i muszą krytycznie myśleć i odgadywać niektóre aspekty decyzji oprogramowania.
Od mniej więcej połowy 2000 roku wydaje się, że zbliża się „śmierć programowania ręcznego” (tj. pisania linii kodu G bez pomocy CAD/CAM). Jednak obecnie tylko w niektórych kontekstach programowanie ręczne jest przestarzałe. Wiele programów CAM odbywa się obecnie wśród ludzi, którzy są zardzewiali lub niezdolni do programowania ręcznego – ale nie jest prawdą, że całe programowanie CNC można wykonać lub wykonać tak dobrze lub równie wydajnie , bez znajomości kodu G. Dostosowywanie i udoskonalanie programu CNC na maszynie jest obszarem praktyki, w którym łatwiej lub wydajniej może być bezpośrednio edytować kod G zamiast edytować ścieżki narzędzia CAM i ponownie przetwarzać program.
Zarabianie na życie wycinanie części na maszynach sterowanych komputerowo stało się zarówno łatwiejsze, jak i trudniejsze dzięki oprogramowaniu CAD/CAM. Sprawnie napisany kod G może być wyzwaniem dla oprogramowania CAM. W idealnej sytuacji operator CNC powinien dobrze znać zarówno programowanie ręczne, jak i programowanie CAM, aby w razie potrzeby można było wykorzystać zalety zarówno technologii brute-force CAM, jak i eleganckiego programowania ręcznego. Wiele starszych maszyn zostało zbudowanych z ograniczoną pamięcią komputera w czasach, gdy pamięć była bardzo droga; 32 KB uznano za dużo miejsca na programy ręczne, podczas gdy nowoczesne oprogramowanie CAM może publikować gigabajty kodu. CAM doskonale radzi sobie z szybkim uruchamianiem programu, który może zajmować więcej pamięci maszyny i trwać dłużej. To często sprawia, że jest to bardzo cenne przy obróbce małej ilości części. Należy jednak zachować równowagę między czasem potrzebnym na stworzenie programu a czasem, jaki zajmuje programowi rozdzielenie na części. Łatwiejsze i szybsze stało się wykonanie tylko kilku części na nowszych maszynach z dużą ilością pamięci. Odbiło się to zarówno na programistach ręcznych, jak i maszynach ręcznych. Biorąc pod uwagę naturalne obroty na emeryturę, to nie można oczekiwać, aby utrzymać dużą pulę operatorów, którzy są wysoko wykwalifikowanych w ręcznym programowaniem, gdy ich środowisko handlowy przeważnie nie może zapewnić wiele godzin głębokiego doświadczenia zajęło zbudowanie tej umiejętności; a jednak można docenić utratę tej bazy doświadczeń, a czasami brakuje takiej puli, ponieważ niektórych przebiegów CNC nadal nie można zoptymalizować bez takich umiejętności.
Skróty używane przez programistów i operatorów
Ta lista jest tylko wyborem i, z wyjątkiem kilku kluczowych terminów, w większości unika się powielania wielu skrótów wymienionych w skrótach i symbolach rysunków technicznych .
Skrót | Ekspansja | Informacje uzupełniające |
---|---|---|
APC | automatyczny zmieniacz palet | Zobacz M60 . |
ATC | automatyczny zmieniacz narzędzi | Zobacz M06 . |
CAD/CAM | komputerowe wspomaganie projektowania i komputerowego wspomagania wytwarzania, | |
CCW | przeciwnie do ruchu wskazówek zegara | Zobacz M04 . |
CNC | skomputeryzowane sterowanie numeryczne, | |
CRC | kompensacja promienia frezu | Zobacz także G40 , G41 i G42 . |
CS | prędkość cięcia | Odnosząc się do prędkości skrawania (prędkości powierzchniowej) w stopach powierzchni na minutę (sfm, sfpm) lub metrach na minutę (m/min). |
CSS | stała prędkość powierzchniowa | Objaśnienie patrz G96 . |
CW | zgodnie ze wskazówkami zegara | Zobacz M03 . |
DNC | bezpośrednie sterowanie numeryczne lub rozproszone sterowanie numeryczne | Czasami określany jako „Drip Feeding” lub „Drip Numerical Control” ze względu na fakt, że plik można „kroplowo” podawać do maszyny, linia po linii, za pośrednictwem protokołu szeregowego, takiego jak RS232. DNC pozwala maszynom z ograniczoną ilością pamięci na uruchamianie większych plików. |
DOC | głębokość cięcia | Odnosi się do głębokości (w kierunku Z) danego cięcia |
EOB | koniec bloku | Synonim kodu G końca linii (EOL) . Znak kontrolny równy nowej linii . W wielu implementacjach G-kodu (jak również, bardziej ogólnie, w wielu językach programowania ), średnik (;) jest synonimem EOB. W niektórych kontrolkach (zwłaszcza starszych) musi być jawnie wpisany i wyświetlony. Inne oprogramowanie traktuje go jako znak niedrukujący/niewyświetlający, podobnie jak aplikacje do przetwarzania tekstu traktują pilcrow (¶). |
Nie dopuścić | awaryjny postój | |
EXT | zewnętrzny | Na panelu operacyjnym jedna z pozycji przełącznika trybu jest „zewnętrzna”, czasami w skrócie „EXT”, odnosząca się do dowolnego zewnętrznego źródła danych, takiego jak taśma lub DNC, w przeciwieństwie do pamięci komputera wbudowanej w Sam CNC. |
FIM | pełny ruch wskaźnika | |
FPM | stóp na minutę | Zobacz SFM . |
HBM | wytaczarka pozioma | Rodzaj obrabiarki, która specjalizuje się w wytaczaniu, zwykle dużych otworów w dużych przedmiotach. |
HMC | poziome centrum obróbcze | |
HSM | obróbka z dużą prędkością | Odnosi się do obróbki przy prędkościach uznawanych za wysokie przez tradycyjne standardy. Zwykle osiąga się to za pomocą specjalnych przekładniowych nasadek wrzecionowych lub najnowszych wrzecion wysokoobrotowych. Na nowoczesnych maszynach HSM odnosi się do strategii skrawania z lekkim, stałym obciążeniem wiórów i wysokim posuwem, zwykle na pełnej głębokości skrawania lub w jej pobliżu. |
HSS | stal szybkotnąca | Rodzaj stali narzędziowej używanej do produkcji noży. Wciąż szeroko stosowany dzisiaj (wszechstronny, niedrogi, wydajny), chociaż węgliki i inne nadal zmniejszają swój udział w zastosowaniach komercyjnych ze względu na ich wyższą szybkość usuwania materiału. |
w | cal (e) | |
IPF | cale na flet | Znany również jako obciążenie wiórów lub IPT . Zobacz adres F i prędkość posuwu . |
IPM | cale na minutę | Zobacz adres F i prędkość posuwu . |
PWI | cale na obrót | Zobacz adres F i prędkość posuwu . |
IPT | cale na ząb | Znany również jako obciążenie wiórów lub IPF . Zobacz adres F i prędkość posuwu . |
MDI | ręczne wprowadzanie danych | Tryb pracy, w którym operator może wpisywać wiersze programu (bloki kodu), a następnie wykonywać je wciskając start cyklu. |
MEM | pamięć | Na panelu operacyjnym jedną z pozycji przełącznika trybu jest „pamięć”, czasami w skrócie „MEM”, odnosząca się do pamięci komputera wbudowanej w sam system CNC, w przeciwieństwie do dowolnego zewnętrznego źródła danych, takiego jak taśma lub DNC. |
MFO | ręczne nadpisanie szybkości posuwu | Pokrętło lub przyciski MFO umożliwiają operatorowi CNC lub mechanikowi pomnożenie zaprogramowanej wartości posuwu przez dowolny procent, zwykle między 10% a 200%. Ma to na celu umożliwienie precyzyjnej regulacji prędkości i posuwów w celu zminimalizowania drgań , poprawy wykończenia powierzchni , wydłużenia żywotności narzędzia i tak dalej. Funkcje SSO i MFO można zablokować z różnych powodów, takich jak synchronizacja prędkości i posuwu podczas gwintowania, a nawet zapobieganie „żołnierstwu”/„prześciganiu się” przez operatorów. W niektórych nowszych sterownikach synchronizacja prędkości i posuwu podczas gwintowania jest na tyle zaawansowana, że podczas gwintowania mogą być dostępne funkcje SSO i MFO, co pomaga w precyzyjnym dostrajaniu prędkości i posuwów w celu zmniejszenia drgań na wątkach lub w pracach naprawczych obejmujących podnoszenie istniejące wątki. |
mm | milimetr (y) | |
MPG | ręczny generator impulsów | Nawiązując do klamki (pokrętła) (każde kliknięcie klamki generuje jeden impuls wejścia serwa) |
NC | Sterowanie numeryczne | |
OSS | zorientowane zatrzymanie wrzeciona | Zobacz komentarze na M19 . |
SFM | stopy powierzchniowe na minutę | Zobacz także prędkości i posuwy oraz G96 . |
SFPM | stopy powierzchniowe na minutę | Zobacz także prędkości i posuwy oraz G96 . |
SPT | gwintowanie jednopunktowe | |
Jednokrotne logowanie | nadpisanie prędkości wrzeciona | Pokrętło lub przyciski SSO umożliwiają operatorowi CNC lub mechanikowi pomnożenie zaprogramowanej wartości prędkości przez dowolny procent, zwykle między 10% a 200%. Ma to na celu umożliwienie precyzyjnej regulacji prędkości i posuwów w celu zminimalizowania drgań , poprawy wykończenia powierzchni , wydłużenia żywotności narzędzia i tak dalej. Funkcje SSO i MFO można zablokować z różnych powodów, takich jak synchronizacja prędkości i posuwu w wątkach, a nawet zapobieganie „ żołnierstwu”/„doggingowi” przez operatorów. W niektórych nowszych sterownikach synchronizacja prędkości i posuwu podczas gwintowania jest na tyle zaawansowana, że podczas gwintowania mogą być dostępne funkcje SSO i MFO, co pomaga w precyzyjnym dostrajaniu prędkości i posuwów w celu zmniejszenia drgań na wątkach lub w pracach naprawczych obejmujących podnoszenie istniejące wątki. |
TC lub T/C | wymiana narzędzi, zmieniacz narzędzi | Zobacz M06 . |
TIR | całkowity odczyt wskaźnika | |
TPI | wątków na cal | |
USB | uniwersalna magistrala szeregowa | Jeden rodzaj połączenia do przesyłania danych |
VMC | pionowe centrum obróbcze | |
VTL | pionowa tokarka rewolwerowa, | Rodzaj obrabiarki, która jest zasadniczo tokarką z osią Z skierowaną pionowo, dzięki czemu płyta czołowa może siedzieć jak duży stół obrotowy. Koncepcja VTL pokrywa się z koncepcją wytaczarki pionowej. |
Zobacz też
- drukowanie 3d
- Cykl w puszkach
- LinuxCNC - darmowe oprogramowanie CNC z wieloma zasobami do dokumentacji G-kodu
- Plik wiertniczy
- HP-GL
Rozszerzone opracowania
Podobne koncepcje
Obawy podczas aplikacji
- Lokalizacja frezu, kompensacja frezu, parametry przesunięcia
- Układy współrzędnych
Bibliografia
Bibliografia
- Oberga, Eryka; Jones, Franklin D.; Horton, Holbrook L.; Ryffel, Henry H. (1996), Green, Robert E.; McCauley, Christopher J. (red.), Podręcznik maszynowy (wyd. 25.), New York: Industrial Press , ISBN 978-0-8311-2575-2, OCLC 473691581 .
- Smid, Peter (2008), Podręcznik programowania CNC (3rd ed.), New York: Industrial Press, ISBN 9780831133474, LCCN 2007045901 .
- Smid, Peter (2010), Konfiguracja sterowania CNC do frezowania i toczenia , Nowy Jork: Industrial Press, ISBN 978-0831133504, LCCN 2010007023 .
- Smid, Peter (2004), Fanuc CNC Custom Macros , Industrial Press, ISBN 978-0831131579.
Zewnętrzne linki
- Programowanie G-Code i M-Code CNC
- Samouczek dotyczący kodu G
- Kramer, TR; Proctor, FM; Messina, ER (1 sierpnia 2000), "Interpreter NIST RS274NGC - wersja 3" , NIST , NISTIR 6556
- http://museum.mit.edu/150/86 Posiada kilka linków (w tym historię MIT Servo Lab)
- Pełna lista kodów G używanych przez większość drukarek 3D
- Odniesienie do kodu G firmy Fanuc i Haas
- Samouczek dotyczący kodów G firmy Fanuc i Haas
- Instrukcja frezowania Haas
- Kod G dla tokarki i frezowania
- Kod M dla tokarki i frezowania