Kod G - G-code

kody maszynowe
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
  • Z G04 definiuje wartość czasu przebywania.
  • Służy również jako parametr w niektórych cyklach standardowych, reprezentujący czasy przestoju lub inne zmienne.
  • Stosowany również w wywoływaniu i zakańczaniu podprogramów. (W przypadku M98 określa, który podprogram należy wywołać; w przypadku M99 określa numer bloku programu głównego, do którego należy powrócić.)
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  
  • Dobry cykl na rozwiertak.
  • W niektórych przypadkach jest to dobre narzędzie do wytaczania jednopunktowego, chociaż w innych przypadkach brak głębokości skrawania w drodze powrotnej jest zły dla wykończenia powierzchni, w którym to przypadku zamiast tego można użyć G76 (OSS/shift).
  • W razie potrzeby zatrzymaj się na dnie otworu, patrz G89 .
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.)

Próbka
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).
Ścieżka narzędzia dla programu

Kilka punktów do zapamiętania:

  1. 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.
  2. 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).
  3. 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:
    1. Zapobiegaj uszkodzeniom maszyny w przypadku złamania narzędzia lub błędu programowania.
      1. 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ęść.
    2. 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”.
  4. 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.
  5. 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.
  6. 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).
  7. 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ż

Rozszerzone opracowania

Podobne koncepcje

Obawy podczas aplikacji

Bibliografia

Bibliografia

Zewnętrzne linki