Teoria

Historia maszyn CNC

Przełom wieku XX oraz XXI niesie za sobą masowy rozwój gospodarczy, ekonomiczny oraz co za tym idzie również technologiczny. Zmierzamy do wytworzenia produktów coraz doskonalszych jak również w jak najkrótszym czasie. Przestarzałe maszyny zostają modernizowane lub też zastępowane nowszymi rozwiązaniami. Niejednokrotnie wiąże się to z przymusem wytwarzania elementów od podstaw.

Do takich czynności świetnie nadają się urządzenia numeryczne sterowane komputerowo, popularnie mówiąc maszyny CNC (ang. Computerized Numerical Control). Dążenie do polepszenia produktów obrabiarek niesie za sobą również konieczność polepszenia parametrów wytwarzających je maszyn. Aby możliwy był rozwój maszyn CNC niezbędne jest także spełnienie wymagań odnośnie dokładności wymiarowania i zachowanie tolerancji chropowatości powierzchni. Osiągnięcie tego wymaga również udoskonalenie systemów sterowania owymi maszynami.

Trochę historii. Lata 1949-1950r. przyniosły ze sobą pierwszy pomysł numerycznego sterowanie obrabiarek. Narodził się on w Massachusetts Institutes of Technology na konieczność wykorzystania w lotnictwie wojskowym Stanów Zjednoczonych. Opisywano funkcją matematyczną kształt przedmiotu, następnie opracowano sterowanie zamieniające sformułowanie binarne i impulsowe wartości wejściowe połączeń oraz schematów na docelowy ruch poszczególnych elementów frezarki. Nie odbyłoby się to bez przygotowanych wcześniej elementów elektronicznych, które miały za zadanie sterowanie mechanizmami maszyny. Frezarka otrzymywała wówczas ciąg liter i liczb znaczeniowych, co nazwano później programem NC (ang. Numerical Control). Lata siedemdziesiąte przyniosły znaczny rozwój informatyczny i zaczęto wykorzystywać komputery do sterowania maszynami frezującymi.

Ostatecznie Powstały skomputeryzowane układy sterowania, które otrzymały nazwę CNC (ang. Computer Numerical Control) [6]. Dzisiejsza technologia pozwala na rozwijanie nowocześniejszych sposobów sterowania numerycznego. Dzięki zastosowaniu minikomputera lub mikrokomputera, jako układu sterującego zwiększył się zakres jak i jakość wytwarzania wykonanych elementów.

Uzyskano również lepsze przystosowanie obrabiarek do sterowania cyfrowego dzięki rozwojowi układów napędowych i pomiarowych. Unowocześniono także język programowania poprzez zminimalizowanie kodu, który stał się łatwiej przyswajalny dla programistów oraz nadający szersze możliwości maszynom.

Dobór i podstawowe informacje o silnikach prądu stałego.

Silnik prądu stałego, jak sama nazwa wskazuje zasilany jest prądem stałym i wykorzystywany jest do zamiany energii elektrycznej na mechaniczną. Maszyna ta może pracować, jako silnik lub jako prądnica. Większość silników prądu stałego to maszyny komutatorowe, których uzwojenie twornika zasilane jest przez komutator.

Michael Faraday w 1821 roku odkrył, w jaki sposób wprawić w ruch wirnik silnika. Jego projekt składał się ze swobodnie zawieszonego przewodu zanurzonego w rtęci umieszczonej w rowku o kształcie okręgu otaczającym magnes. Trwały magnes był umieszczony pośrodku naczynia z rtęcią. Gdy prąd elektryczny przepływał przez przewód, obracał się on wokół magnesu, pokazując, że prąd wytwarza pole magnetyczne wokół przewodnika [1].

Inną konstrukcją silnika elektrycznego była maszyna wykorzystująca rdzeń wewnątrz solenoidu. Thomas Davenport zbudował owy silnik prądu stałego w 1834 roku i wykorzystywał go do napędzania różnego rodzaju urządzeń, jak np. zabawek, tokarek, wiertarek. Nowoczesny silnik prądu stałego został wynaleziony przez przypadek, w 1873, gdy Zenobie Gramme połączył uzwojenie dynama z oddzielnym źródłem prądu. Maszyna Gramma była pierwszym używanym w przemyśle silnikiem elektrycznym [1].

Podział silników prądu stałego

Silniki prądu stałego można podzielić ze względu na sposób wzbudzenia pola magnetycznego:

Silnik obcowzbudny – silnik prądu stałego z magnesami trwałymi z osobnym uzwojeniem wzbudzenia w stojanie zasilanym z oddzielnego źródła zasilania niż obwód twornika – stosowane głównie w napędach wymagających regulacji prędkości w szerokim zakresie obrotów

Silnik samowzbudny – silniki z elektromagnesem w stojanie mogą mieć połączone uzwojenia stojana i wirnika szeregowo, równolegle (bocznikowo) lub w sposób mieszany [3].

Silnik szeregowy – o uzwojeniu wzbudzenia w stojanie połączonym szeregowo z uzwojeniem twornika. Charakteryzuje się dużą zależnością prędkości obrotowej od obciążenia [3].

Silnik bocznikowy – uzwojenie wzbudzenia w stojanie przyłączone jest równolegle z uzwojeniem twornika. Charakteryzuje się małą podatnością na zmianę prędkości obrotowej na skutek zmiany obciążenia. Stosowany głównie w napędach obrabiarek, pomp, dmuchaw, kompresorów [3].

Zasada działania silnika krokowego

Silniki skokowe (krokowe) – (ang. step motors) – są cyfrowo sterowanymi napędami stosowanymi do pozycjonowania. Umożliwiają łatwą kontrolę kąta i prędkości obrotowej w zakresie od zera do kilku tysięcy obrotów na minutę zależnie od parametrów silnika i sterownika. Charakterystyczną cechą silnika krokowego jest utrzymywanie rotora w określonej pozycji z pełnym momentem trzymającym, co oznacza stały pobór prądu, dlatego też silniki krokowe mimo postoju są niepokojąco ciepłe. Zaleta łatwego pozycjonowania silnika stwarza wiele możliwości wykorzystanie go np. w automatyce [13].

Zasada działania silnika krokowego.

Za pioniera w budowie silnika krokowego uznano Salvatore del Negro, który to w 1831 roku zbudował mechanizm o wzbudzeniu elektromagnetycznym z mechaniczną komutacją. Od czasów wynalezienia silnika skokowego zaczęto je sukcesywnie ulepszać:

  • 1890 – zastosowania silników w urządzeniach zdalnego sterowania na okrętach wojennych,
  • 1952 – opatentowano silnik hybrydowy w General Electric,
  • 1957 – po raz pierwszy wykorzystano silniki krokowe do sterowania 3-osiową frezarką,
  • 1974 – zastosowano ośmiobitowe procesory do sterowników,
  • 1983 – od tego roku powszechnie wykorzystuje się układy scalone do sterowania silnikami krokowymi.

Większe i mniejsze silniki krokowe są obecnie bardzo często wykorzystywane w rozmaitych urządzeniach. Jednocześnie dla bardzo wielu zarówno zrozumienie zasady działania tych silników, jak i sposobu ich sterowania wydaje się wyjątkowo trudne. Utwierdza w takim przekonaniu dziwna budowa oraz obecność kilku, zwykle 4-8 wyprowadzeń. Budowa popularnego silnika pokazana jest na fotografii poniżej [3].

Istnieje kilka typów silników krokowych, kilka sposobów sterowania. Silniki te zwane też skokowymi, przekształcają impulsy elektryczne w ruchy mechaniczne. Każdy impuls podany na uzwojenia silnika powoduje obrót wirnika o niewielki kąt. Czym większa częstotliwość impulsów sterujących, tym szybciej obraca się wirnik. Kierunek obrotów zależy od sekwencji impulsów zasilających uzwojenia. Ponieważ pojedynczy skok wirnika w większości silników krokowych jest mały, około 0,72…3,6 stopnia, podając odpowiednią liczbę impulsów można precyzyjnie ustawić wirnik w potrzebnym położeniu. Choć maksymalna prędkość obrotowa nie jest imponująca (rzędu kilku, kilkunastu obrotów na sekundę), silniki takie mają szereg zalet.

Znakomicie sprawdzają się tam, gdzie potrzebny jest kontrolowany ruch. Dużą zaletą silników krokowych jest możliwość pracy z bardzo małymi prędkościami obrotowymi, przy czym silnik dysponuje cały czas swym pełnym momentem obrotowym. Dzięki temu zastępują stosowane wcześniej klasyczne silniki z przekładnią i kosztowne serwomechanizmy. Aktualna pozycja wirnika wyznaczona jest przez liczbę podanych impulsów. Silniki krokowe nie mają szczotek, komutatora ani innych elementów, gdzie występuje znaczne tarcie, więc są bardzo trwałe. Ich trwałość wyznaczona jest przez żywotność łożysk. Dają się bardzo precyzyjnie sterować. Każdy impuls obraca wirnik o ściśle określony, niewielki kąt, więc przemieszczenie wirnika i napędzanych elementów dokładnie odpowiada liczbie impulsów sterujących.

Silniki krokowe zdobyły ogromną popularność, co nie znaczy, że są najlepsze ze wszystkich silników. Do niektórych zastosowań w ogóle się nie nadają, bo na przykład nie mogą pracować przy dużej prędkości obrotowej [15]. O różnorodności rynkowej oferty w zakresie silników krokowych może świadczyć choćby strona internetowa poważnego dystrybutora, na przykład poznańskiej firmy Wobit.

Najpopularniejsze silniki krokowe mają cztery uzwojenia, a właściwie dwie pary uzwojeń. W silnikach skokowych liczba wyprowadzonych przewodów bywa różna. Aby odnaleźć ich końcówki należy użyć do tego celu multimetru. Bardzo często silnik ma sześć wyprowadzeń.

Identyfikacja końcówek za pomocą omomierza jest wtedy bardzo prosta. W niektórych silnikach wyprowadzonych przewodów jest tylko pięć. Łatwo wtedy z pomocą omomierza określić przewód wspólny, ale nie sposób określić, które dwa uzwojenia tworzą parę. Nie jest to dużym utrudnieniem – ostatecznej identyfikacji można łatwo dokonać po dołączeniu silnika do (prostego) sterownika, zamieniając końcówki uzwojeń [15].

Podział silników krokowych

Silnik krokowy o wirniku reluktancyjnym

Silnik skokowy o wirniku reluktancyjnym jest jednym z najprostszych rozwiązań silnika skokowego.

Działanie silnika skokowego o wirniku reluktancyjnym opiera się o wykorzystanie momentu reluktancyjnego, którego powstawanie wyjaśnia rysunek poniżej.

Znane są dwa rodzaje reluktancyjnych silników skokowych:

– o jednym zębie wirnika na „biegun” stojana

– o kilku zębach wirnika na „biegun” stojana.

Strumień w obwodzie magnetycznym Φ jest funkcją przepływu (Iz) oraz reluktancji (oporu magnetycznego) Rm. Reluktancja jest najmniejsza przy kącie θ=0. Linie pola magnetycznego wykazują dążenie do zamknięcia się w obwodzie o najmniejszej reluktancji. W ten sposób powstaje moment obrotowy, zwany reluktancyjnym, który dąży do ustawienia wirnika w położeniu θ=0 [18].

Schemat budowy magnetowodu pięciopasmowego silnika reluktancyjnego z niejednakową podziałką kątową zębów stojana i wirnika oraz algorytm komutacji pasm [18].

a) Schemat budowy silnika.

b) Przykładowy algorytm komutacji (jednopasmowa, unipolarna).

1′ do 12′ – wydatne zęby wirnika,

1 do 10 – wydatne zęby stojana,

A, B, C, D, E – pasma uzwojenia

Ruch obrotowy biernego ferromagnetycznego wirnika powstaje na tej samej zasadzie, co ruch zwory w elektromagnesie. Przez zasilanie pasm uzwojeń stojana w odpowiedniej kolejności uzyskuje się dyskretne wirowanie pola magnetycznego w szczelinie maszyny. Towarzyszy mu powstawanie momentu reluktancyjnego, powodującego skokowy ruch obrotowy wirnika [18]. Podobnie działają inne typy silników reluktancyjnych.

a) Silniki krokowy z magnesem trwałym.

Silniki krokowe o magnesach stałych mogą być wykonane w wersji jednosegmentowej i wielosegmentowej. Silnik jednosegmentowy może mieć na wirniku podobnie do klasycznej maszyny synchronicznej bieguny jawne lub utajone.

Silniki krokowe o magnesach trwałych na wirniku, można również podzielić na magnesowane osiowo lub promieniowo. Silnik krokowy o wirniku czynnym często nazywany jest również silnikiem kubkowym. Jest to silnik o wirniku wytwarzającym strumień magnetyczny i o stojanie z uzwojeniem sterującym [19].

Wirnik silnika stanowią magnesy trwałe. Silnik tego typu jest tani, charakteryzuje się niską rozdzielczością o typowych wartościach kąta 7,5 o -15 o tj. 24-48 kroków na obrót. Namagnesowane bieguny rotora wpływają na zwiększenie indukcji magnetycznej, dlatego silnik z magnesem trwałym w porównaniu z silnikami o zmiennej reluktancji mają lepszą charakterystykę momentową [18].

b) Silnik hybrydowy.

Silnik hybrydowy (od ang. HyBrid) jest bardziej kosztowny niż silnik z magnesem trwałym, ale ma lepsze parametry, jeśli chodzi o rozdzielczość, moment i szybkość.

Typowe kąty silnika hybrydowego mieszczą sie w zakresie 3, 6° – 0,9° (100 – 400 kroków na obrót). Silnik hybrydowy łączy w sobie zalety silnika ze zmienną reluktancją i silnika z magnesem trwałym. Rotor ma wiele zębów jak w silnikach VR i posiada osiowo namagnesowane magnesy umieszczone koncentrycznie wokół osi. Dwa najczęściej używane typy silników krokowych to silniki z magnesem trwałym i hybrydowe [18].

c)  Silniki krokowe liniowe.

Liniowy reluktancyjny silnik krokowy jest odpowiednikiem wielosegmentowego wirującego reluktancyjnego silnika skokowego. Rdzeń stojana i nabiegunniki są wykonane z blachy elektrotechnicznej. Hybrydowy, liniowy silnik krokowy składa się z ruchomego biegunnika i nieruchomego stojana. Stojan stanowi uzębiona płyta z materiału ferromagnetycznego. Stwierdzono, że liniowe silniki skokowe mają większą dokładność i sprawność oraz lepsze charakterystyki dynamiczne w porównaniu z wirującymi silnikami krokowymi w połączeniu z mechanizmami przetwarzania ruchu obrotowego na postępowy [18].

Parametry silników krokowych

  • Napięcie znamionowe uzwojeń
  • Napięcie zasilania – napięcie, przy którym silnik powinien być eksploatowany
  • Prąd – nominalne natężenie prądu, jakie należy stosować by nie przeciążać i nie przegrzewać silnika
  • Rezystancja – rezystancja uzwojenia
  • Moment bezwładności rotora – moment bezwładności samego nieobciążonego rotora
  • Moment trzymania – moment, jakim dysponuje silnik, gdy jest zasilany znamionowo, ale nie kręci się
  • Maksymalna moc przy danej prędkości – optymalne zestawienie maksimum momentu i prędkość, przy której może być uzyskany
  • Maksymalna częstotliwość początkowa – prędkość krokowa, z którą silnik może zacząć lub przerwać pracę w sposób niezwłoczny.
    Obliczane dla obciążenia osi tylko momentem bezwładności rotora,
  • Masa – waga silnika
  • Wymiar A lub L– długość korpusu silnika, zazwyczaj wzdłuż osi obrotu

Własności silników krokowych

Zalety:

  • Kąt obrotu silnika jest proporcjonalny do ilości impulsów wejściowych
  • Silnik pracuje z pełnym momentem w stanie spoczynku (o ile uzwojenia są zasilane)
  • Precyzyjne pozycjonowanie i powtarzalność ruchu – lepsze silniki krokowe mają dokładność ok. 3 – 5% kroku i błąd ten nie kumuluje się z kroku na krok
  • Możliwość bardzo szybkiego rozbiegu, hamowania i zmiany kierunku
  • Niezawodne – ze względu na brak szczotek, żywotność silnika zależy, zatem tylko od żywotności łożysk
  • Zależność obrotów silnika od dyskretnych impulsów umożliwia sterowanie w pętli otwartej, przez co silnik krokowy jest łatwiejszy i tańszy w sterowaniu
  • Możliwość osiągnięcia bardzo niskich prędkości synchronicznych obrotów z obciążeniem umocowanym bezpośrednio na osi
  • Szeroki zakres prędkości obrotowych uzyskiwany dzięki temu, że prędkość jest proporcjonalna do częstotliwości impulsów wejściowych
  • Jedną z najbardziej znaczących zalet silnika krokowego jest możliwość dokładnego sterowania w pętli otwartej. Praca w pętli otwartej oznacza, że nie potrzeba sprzężenia zwrotnego – informacji o położeniu

Wady:

  • Rezonanse mechaniczne pojawiające się przy niewłaściwym sterowaniu
  • Trudności przy pracy z bardzo dużymi prędkościami
  • W praktyce małe maksymalne obroty: rzędu kilku-kilkuset obrotów na minutę
  • Występuje zjawisko gubienia kroków
  • Duży pobór prądu
  • Duża emisja ciepła

Ze względu na wymienione cechy charakterystyczne silniki skokowe znalazły bardzo wiele różnorodnych zastosowań. Najwięcej silników skokowych znajduje się w komputerach i urządzeniach peryferyjnych (stacjach dyskietek, dysków twardych, czytnikach i nagrywarkach płyt CD, DVD, drukarkach, skanerach). W każdym komputerze domowym jest kilka takich silników [18].

Drugą grupą urządzeń powszechnego użytku, w których znaleźć można wiele różnorodnych silników skokowych, są wyroby mechanizujące prace biurowe, zapisujące i odczytujące informacje dźwiękowe oraz obrazowe, a także zegary i zegarki z regulatorem kwarcowym. Nowoczesne aparaty fotograficzne, kamery wideo, rzutniki obrazów i projektory, pozycjonery anten satelitarnych, telefaksy mają w swej budowie silniki skokowe [18].

Sposoby sterowania silnikami krokowymi

Zasadniczy rozwój silników krokowych zmierza w kierunku zwiększenia liczby skoków, sprawności i momentu obrotowego a zmniejszeniu inercji mechanicznej. O parametrach napędu skokowego decyduje konstrukcja mechaniczna danego obiektu i silnika, własności elektryczne i magnetyczne materiałów, z których wykonano silnik oraz sposób zasilania jego uzwojeń i wreszcie algorytm sterowania.

Rozróżnia się następujące rodzaje sterowań:

  • Sterowanie pełnokrokowe
  • Sterowanie półkrokowe
  • Sterowanie mikrokrokowe
  • Bipolarne sterowanie uzwojeń
  • Unipolarne sterowanie uzwojeń

Sterowanie falowe

W sterowaniu falowym – jednofazowym w danym momencie zasilana jest jedna faza. Wynikiem tego rodzaju sterowania jest wykonanie pełnego kroku. Zaletą takiego sterowania jest jego prostota, ponieważ jednocześnie należy zasilać jedynie jedną fazę silnika. Wadą natomiast jest niewielki moment trzymający, ponieważ pole wytwarzane jest tylko w jednej z faz.

Sterowanie pełno krokowe

W sterowaniu pełno krokowym (dwufazowym) w każdej chwili czasu zasilane są dwie fazy. Wynikiem tego rodzaju sterowania są takie same ruchy jak przy sterowaniu jednofazowym z tym, że pozycja wirnika jest przesunięta o pół kroku [18].

Sterowanie półkrokowe

Sterowanie półkrokowe jest kombinacją sterowania dwufazowego i jednofazowego. Co drugi krok jest zasilana tylko jedna faza a w pozostałych krokach dwie fazy. Stojan silnika dwufazowego jest zasilany zgodnie z sekwencją AB-B-AB-A-AB-B-AB-A. Wynikiem tego są obroty wirnika równe połowie tych ze sterowania z jedną lub dwiema fazami włączonymi. Sterowanie półkrokowe może zredukować efekt rezonansu mechanicznego, który ujawnia silnie w dwóch poprzednich rodzajach sterowania.

Sterowanie mikrokrokowe

Jako, że wykorzystywany w projekcie sterownik pracuje w układzie mikrokrokowym, ten rodzaj sterowania został dokładnie opisany. Sterowanie mikrokrokowe różni się od pełno krokowego tym, że każdy krok podzielony jest na wiele mniejszych mikrokroków. Dzięki temu uzyskuje się przede wszystkim większą dokładność, a co za tym idzie bardziej płynną i cichobieżną pracę.

Płynna praca silnika wywołuje efekt elektrycznej przekładni. Standardowy krok podzielony może być od 2 do ponad 256 razy. W praktyce już przy podziale 8 i 16 uzyskuje się zadowalające rezultaty zmniejszenia wpływu rezonansu silnika [13].

Silnik krokowy jest silnikiem synchronicznym. Obroty rotora powodowane są rotacją pola magnetycznego. Moment dynamiczny jest zależny od spoczynkowego.

Wartość tą opisuje wzór:

MS – moment spoczynkowy (moment trzymający)

QS – QR kątowa odległość stojana i rotora wyrażona w jednostkach elektrycznych.

Aby przejść na kąty mechaniczne należy kąt elektryczny pomnożyć przez ułamek 4/n, gdzie n jest liczbą kroków na obrót.

Rezonans powstały w wyniku sterowania mikrokrokowego.

Prąd powodujący rotację w danym kierunku możemy łatwo obliczyć ze wzorów:

Charakterystyka drgań wywołanych obrotem wirnika [13].

Dla pracy falowej, pełnokrokowej i półkrokowej uzyskujemy ruch dzięki dwóm stanom prądowym Imax i 0. Sterowanie Mikrokrokowe wymaga płynnego sterowania i dlatego sterownik musi generować natężenie prądu o różnych poziomach. Dla ośmiu wartości natężenia i 0 istnieje osiem pozycji rotora. Gdy sterownik jest w stanie wygenerować prąd o wartości maksymalnej równej 141% prądu nominalnego, daje to możliwość osiągnięcia dowolnego kąta elektrycznego.

Stosując sterowanie mikrokrokowe należy pamiętać, że wraz z podziałem kroku spadkowi podlega względna energia wzbudzająca przypadająca na jeden mikrokrok.  Już przy 1/8 kroku energia potrzebna do wykonania skoku rotora jest 50 krotnie mniejsza. Sterowanie miakrokrokowe pozwala, po pierwsze, ustawić wirnik precyzyjnie pomiędzy pozycjami dostępnymi przy sterowaniu pół czy pełnokrokowym. Po drugie, zapewnia płynny ruch wirnika także przy najmniejszych częstotliwościach.

Zależność długości kroku względem pełnego kroku do energii przy pełnym kroku [13].

Wykorzystywane są też specjalizowane układy scalone. W dążeniu do zwiększania precyzji

pozycjonowania i płynności ruchu nie można osiągnąć ideału. Nawet przy sterowaniu najczystszym sygnałem sinusoidalnym, pojawią się błędy [13].

Bipolarne oraz unipolarne sterowanie silnikami krokowymi

Silnik bipolarny

Silnik bipolarny o dwóch fazach ma jedno uzwojenie na fazę. W celu zapewnienia zmiany pola magnetycznego w każdym z uzwojeń musimy zapewnić przepływ prądu w obu kierunkach. W silniku bipolarnym do zmiany pola magnetycznego w rdzeniu wystarcza jeden przełącznik dwupozycyjny lub dwa tranzystory włączane na przemian. Zaletą sterowania bipolarnego jest dobre wykorzystanie momentu obrotowego dzięki temu, że całe uzwojenie jest w stanie prądowym po otrzymaniu impulsu.

Budowa silnika bipolarnego [3].

Sterowanie silnika bipolarnego

Silnik krokowy unipolarny

Budowa silnika unipolarnego[3].

Silnik unipolarny ma jedno uzwojenie z odczepem pośrodku. Istnieją także silniki posiadające po dwa uzwojenia na fazę. Mogą one pracować zarówno w trybie unipolarnym jak i bipolarnym. Sterowanie unipolarne zapewnia przepływ prądu w danym uzwojeniu tylko w jednym kierunku. Zaletą wariantu unipolarnego jest prostszy układ połączeń i mniejsza liczba tranzystorów, wadą zaś to, że jednocześnie pracuje tylko połowa uzwojenia, a zatem nie wytwarza się moment obrotowy o pełnej wartości [13].

Sposoby wytworzenia pola magnetycznego w silniku bipolarnym i unipolarnym [18].

Mach 3 wstępna konfiguracja

Temat mojej pracy skłonił mnie do poszerzania wiedzy w zakresie CNC. Ksiązki, z którymi się zapoznałem jak również czasopisama oraz witryny internetowe skłoniły mnie do pójścia w kierunku obrabiarek numerycznych. Jako, że w przyszłości zamierzam dość poważnie rozwinąć mój  projekt, zainteresowałem się programem pozwalającym na swobodne wykorzystanie połączenia trzech silników krokowych, wrzeciona (w moim przypadku lasera) oraz sterownika do całej maszyny. Program nazywa się Mach3 i jest jednym z lapszych propozycji dla osób, które budują amatorskie, lecz w pełni użyteczne maszyny CNC.

Logo programu [7].

Definiowanie pinów wejściowych oraz wyjściowych

Pracę z ploterem należy zacząć od instalacji programu Mach3. Do płynnej obsługi, komputer powinien być wyposażony w przynajmniej 256MB pamięci RAM oraz procesor o taktowaniu minimalnie 1,6 GHz.

Po zakończeniu instalacji i otwarciu aplikacji zobaczymy poniższe okno.

Widok głównego okna programu.

W pierwszej kolejności należy skonfigurować jednostki miary w jakich będzie pracowała maszyna.

Wybór ustawień jednostek miary.

W celu skonfigurowania należy wybrać kolejno „Config/Select Native Units”. Do wyboru mamy dwie możliwości, cale lub milimetry. Wybieramy milimetry.

Następnym krokiem, który jest niezbędny do poprawnego działania maszyny jest ustawienie właściwości portu. W tym celu wybieramy kolejno „Config/Ports and Pins”.

Wybór ustawień portu.

Czynność ta jest niezbędna i praktycznie bez wykonania tego kroku niemożliwe jest późniejsza prawidłowa praca plotera.

Po wyborze odpowiedniej pozycji z menu wyświetli się okno:

Widok ogólny okna konfiguracji portu.

Podstawową czynnością jest wskazanie numeru portu. W przypadku, gdy komputer wyposażony jest w jeden fizyczny port, jego adres będzie widniał jako „0x378”. Gdy jednak posiadamy dodatkowe porty LPT należy zastanowić się, z którego będziemy korzystali a następnie odnaleźć odpowiedni wpis. Aby to zrobić musimy sprawdzić w Menedżerze urządzeń systemu Windows wybierając port i sprawdzając pierwszy adres w zakładce „zasoby”. (Start/ Panel sterowania/ System/ Sprzęt/ Menedżer urządzeń/Porty (COM i LPT)/ Portdrukarki/ Właściwości/ Zasoby/ Typ zasobu = zakres we/wy. Liczba określająca dolny zakres we/wy będzie adresem naszego portu.

Wybór portu LPT sterującego maszyną.

Kolejnym krokiem jest ustawienie częstotliwości podczas pracy aplikacji. Ustalenie tej wartości zależy od prędkości procesora naszego komputera. Jeśli komputer ma procesor 1GHz lub szybszy zalecamy ustawienie 45000Hz. Konfigurację należy zatwierdzić przyciskiem „Zastosuj”. Po ustawieniu parametrów w danej zakładce, chcąc przejść do kolejnej należy zapisać ustawienia, klikając przycisk ”Zastosuj”, w przeciwnym wypadku

wprowadzona konfiguracja nie zostanie zapamiętana.

Wybór taktowania pracy komputera.

Definiowanie pinów wejściowych oraz wyjściowych

Gdy już zakończyliśmy podstawowe ustawienia należy zdefiniowanać piny odpowiedzialne za sterowaie silnikami. W tym celu wybieramy kolejno „Config/Ports and Pins”, następnie przechodzimy do zakładki „Motor Outputs”. Ustawienia w tej zakładce pozwalają na określenie ile osi ma wysterować program, oraz do których pinów zostały podłączone sterowniki silników. Na płycie głównej sterownika umieszczona jest lista pinów, mówiąca nam, który pin, za co odpowiada. Znaczenie opcji:

  • Enabled – dana oś ma być używana, jeśli pole zaznaczone jest na zielono
  • Step Pin# – numer pinu, na którym będą podawane impulsy kroku dla danej osi
  • Dir Pin# – numer pinu, na którym będzie określany kierunek ruchu dla danej osi
  • Dir Low Active – określa czy linia sterująca kierunkiem ma być domyślnie w stanie wysokim czy niskim -zmiana zaznaczenia pozwala odwrócić kierunek ruchu osi
  • Step Low Active – określa czy linia sterująca krokiem ma być domyślnie w stanie wysokim czy niskim, z reguły sterowniki działają prawidłowo niezależnie od ustawienia tego parametru

Dostępne osie w programie to X, Y, Z, A, B, C oraz wrzeciono. Kierując się tą listą wprowadzamy ustawienia. Poniżej przedstawione zostały ustawienia mojego sterownika osi X oraz Y.

Okno konfiguracji wyjść dla silników.

W każdej obrabiarce numerycznej powinny być zamontowane wyłączniki krańcowe, potocznie zwane krańcówkami. Są to zwykłe wyłączniki wyposażone w ramię. Mogą pracować jako zwierne, bądź rozwierne. W moim projekcie wykorzystuje 4 wyłączniki. Ich parametry: 10A / 250V AC, długość dźwigni wynosi 42mm.

Wykorzystany w projekcie typ wyłączników krańcowych.

Zamontowana krańcówka.

Dodatkowo maszyna wyposażona jest w przycisk bezpieczeństwa pospolicie nazywany E-STOP od ang. Emergency Stop. Załączenie wyłącznika krańcowego bądź E-STOP’u powoduje natychmiastowe zatrzymania pracy silników oraz wyłączenia lasera.

Sterownik na którym pracuję posiada 4 wejścia na m.in. krańcówki lub wyłącznik bezpieczeństwa. Każda para wyłączników obsługuje jedną oś. Dwie krańcówki na każdej z osi połączone są ze sobą równolegle. W ten sposób wykorzystuje trzy z czterech możliwych sygnałów wejściowych. Sygnały wejściowe konfigurujemy w zakładce „Inputs Signals”.

Zakładka z konfiguracją przycisku bezpieczeństwa.

Zakładka przedstawiająca piny wejściowe krancówek.

Zakładka podzielona jest na kolumny. Pierwsza oznacza rodzaj czujnika zamontowanego w maszynie. W kolejnej zaznaczamy czy ma być wykorzystywany czy też nie. W dwóch następnych definiujemy numer portu oraz numer pinu, do którego ma wpływać sygnał. W kolumnie „Active Low” zaznaczamy czy ma być w stanie niskim czy też wysokim.

W programie Mach 3 mamy również możliwość emulowania czujników na klawiaturze, wystarczy tylko przypisać odpowiedni nr przycisku poprzez mini kreator.

Kolejnym krokiem jest ustawienie sygnałów wyjściowych sterownika. W tej zakładce aktywujemy piny, które są odpowiedzialne za uruchomienie konkretnych osi na płycie sterownika oraz do uruchomienia przekaźnika załączającego bądź wyłączającego laser. Za uruchomienie przekaźnika odpowiedzialny jest pin nr 9 na wyjściu pierwszym.

Zamontowana dioda LED sygnalizująca pracę lasera.

Zakładka z ustawieniami sygnałów wyjściowych.

Następną zakładką jest ustawienie właściowości enkoderów. W moim projekcie nie wykorzystuję ich i dlatego ta część zostanie pominięta.

Wykorzystując przekaźnik do załączania lasera niezbędne jest otwarcie zakładki o nazwie „Spindle Setup”.

Poprawna konfiguracja przekaźnika umieszczonego w sterowniku.

Domyślnie działanie przekaźnika jest wyłączone. Aby jednak uruchomić jego funkcję należy odznaczyć pole „Disable Spindle Relays”. W tej zakładce definiujemy również wcześniej wybrany numer wyjścia sygnału, w naszym przypadku pierwsze „Output#1”. W tym momencie można zauważyć, że załączenie lasera będzie się odbywało za pomocą komendy M3 (jedna z komend języka g-code) .

Kolejną zakładką jest ustawienie frezowania. Nie dotyczy to mojego projektu więc nie będę opisywał tych ustawień. Stół, który został przeze mnie zaprojektowany i wykonany bardzo dobrze się nadaje do szybkiego jak i wolnego posuwu tacy. Jednakże, aby poprawnie określić prędkość przemieszczania się obrabianego materiału względem wiązki laserowej niezbędna jest odpowiednia kalibracja parametrów ilości kroków oraz prędkości obrotowej silników.

Ustawienie pracy silników

Po skonfigurowaniu sygnałów wejściowych oraz wyjściowych pozostaje sprawdzenie czy przy podaniu sygnału zapalają się odpowiednie kontrolki w oknie diagnostycznym.

Widok okna diagnostyki.

Aby w pełni korzystać z prawidłowo pracującej maszyny należy przeprowadzić dostrajanie silników. W tym celu w menu „Config” wybieramy opcję „Motor Tubing”. Pojawi się nam następujące okno:

Dostrajanie silników.

Przyciski Oś X, Y, Z (X, Y, Z Axis) pozwolą wybrać oś, dla której chcemy dokonać ustawień. Dostępne są tylko osie, które zostały uaktywnione w „Motor Outputs”. Za pomocą strzałek w górę i w dół możemy sterować silnikiem danej osi w obie strony. Prędkość silnika „Velocity” oraz jego przyśpieszenie „Accel” ustawiamy przy użyciu odpowiednich suwaków, lub wpisujemy ręcznie w odpowiednie okienko. Na bieżąco prezentowana jest aktualna charakterystyka prędkości silnika.

Bardzo ważnym parametrem jest ilości kroków na 1 jednostkę miary „Steps per”. Jednostką są milimetry lub cale, zależnie od ustawień w „Konfiguracja/jednostki miary”. Wartość tę należy wyznaczyć na podstawie ustawień sterownika i skoku śruby oraz ewentualnie użytych przekładni. Liczbę tą wpisujemy w okienko w lewym dolnym rogu ekranu „Steps per”. Wykorzystany przez mnie silnik posiada 200 kroków/obrót, sterownik z podziałem kroku ustawionym na 1/16, śruba napędowa trapezowa 10×2.

Podział kroku umożliwi uzyskanie 3200 kroków na obrót silnika. Skok śruby wynosi 2mm na obrót. W takiej konfiguracji ilość kroków potrzebna do przesunięcia osi o 1mm wynosi 1600. Wartość tą należy wpisać w polu Steps perWpisana błędna wartość spowoduje, iż maszyna nie będzie trzymała zadanych wymiarów przy pracy. Po wpisaniu liczby kroków, dostrajanie silników należy zacząć od niskich prędkości i przyspieszeń stopniowo zwiększając ich wartość.

Obie wielkości należy dobrać tak, aby uzyskać wymagane posuwy przy stabilnej pracy maszyny (brak gubienia kroków lub zrywanie się silnika). Jeśli silnik się nie obraca, należy sprawdzić czy wyłącznik bezpieczeństwa nie jest aktywny (migający klawisz „RESET” na ekranie głównym, jeśli miga trzeba go wcisnąć). Ustawienie każdej z osi należy przed zmianą osi lub zamknięciem okienka zatwierdzić przyciskiem „SAVE AXIS SETTINGS”. „Impuls kroku” pozwala na określenie szerokości impulsu dla pojedynczego kroku. Im krótszy tym większa prędkość ruchu da się osiągnąć, ale niektóre sterowniki mogą sobie nie poradzić z niższymi wartościami.

Najważniejsze funkcje programu Mach 3

Mach 3 jest programem wielozadaniowym stąd jego szerokie zastosowanie we wszelkiego rodzaju obróbkach metalu, drewna czy też tworzyw sztucznych. Posiada wiele różnego rodzaju udogodnień, aby praca z nim nie była uciążliwa i nie sprawiała większych problemów. Przedstawię cechy, na które warto zwrócić uwagę używając go.

Mach 3 bazuje na języku G-CODE i to właśnie w nim zawarty jest kształt obrazu oraz parametry niezbędne do pracy maszyny. Przygotowanie oraz import plików CNC przedstawię w następnym rozdziale. Po wczytaniu pliku do programu zobaczymy widok:

Widok po zaimportowaniu pliku CNC do programu.

To okno stanowi główny widok programu Mach3. Posiada wiele zakładek, w zależności od rodzaju wykonywanek pracy oraz urządzeń kontrolnych oraz narzędzi którymi obrabiamy dany materiał. W moim przypadku jest to tworzywo sztuczne oraz papier. Wykorzystuję tylko i wyłącznie laser, dlatego możliwości programu zawężają się.

Okno podglądu pliku G-CODE.

W lewym górnym rogu widoczne jest szare okienko, w którym na bieżąco w zależności od linii wykonywanej czynności, pokazany jest postęp odczytu współrzędnych.

Sekcja zarządzania plikiem oraz postępem pracy.

Sekcja edycji pliku.

Powyżej znajduje się okienko zarządzania plikiem, który aktualnie otworzyliśmy. Na górze widoczna jest ścieżka z dostępem do niego. Przycisk o nazwie „Cycle Start” służy, jak sama nazwa wskazuje do uruchomienia. pracy maszyny. Poniżej umieszczony jest przycisk „Feed Hold” oznacza on wstrzymanie posuwu. Czerwony przycisk to po zatrzymanie maszyny. Bardzo dobrym rozwiązaniem jest możliwość edycji pliku podczas pracy. Gdy zauważymy, że prędkość posuwu tacki jest zbyt wolna możemy ją zwiększyć. W tym celu klikamy na „Edit G-Code”  po czym otworzy się nam edytor tekstowy i tam właśnie wpisujemy odpowiednią nas wartość. Następnie zapisujemy i zamykamy okno. Poniżej, kolejno znajdują się przyciski: „Ostatnio otwierany plik”; „Zamknij”;  „Wczytaj”. Możemy również zacząć pracę od konkretnej linii kodu. Odpowiedzialne za to są klawisze „Run from Here”.

Okienko pokazujące prędkość: jednostek na minutę.

Sekcja ta pokazuje nam aktualną predkość przesuwu tacki w maszynie. Służy tylko i wyłącznie jako informacja.

Tablica współrzędnych.

Okno to pokazuje aktualną pozycję stołu maszyny. W moim projekcie wykorzystuję tylko dwie z czterech osi, dlatego na dwóch pozostałych zawsze będzie widoczne 0.

Okno podglądu pracy.

Po prawej stronie widzimy czarny prostokąt. Jest to obszar roboczy opatrzony układem współrzędnych. Stół posiada 3 osie. Można nim manewrować w trójwymiarze, aby dokładniej zobaczyć postęp aktualnie wykonywanej pracy. W lewym dolnym rogu jest punkt 0,0 i stamtąd właśnie będzie zaczynała się praca. Linia koloru czerwonego pokazuje posuw stołu z wyłączonym laserem, natomiast linia niebieska z włączonym. Widok podglądu możemy powiększyć obracając rolką myszki, a przesuwać prawym jej przyciskiem.

Wykorzystanie programów graficznych do tworzenia rysunków oraz importowanie pliku do programu Mach 3

Do tworzenia rysunków możemy wykorzystać dwa programy graficzne Autocad oraz Corel Draw. Po przetestowaniu obu z nich zdecydowałem się na użycie Corel Draw z racji większych jego możliwości.

Korzystanie z programu Corel Draw 12

Na rynku istnieje wiele programów do tworzenia grafiki dwuwymiarowej. Dostępne są z  firmy Autodesk oraz z wielu innych. Pod uwagę wziąłem Corel Draw 12. Niewątpliwą zaletą tego programu jest niezwykła łatwość tworzenia rysunku wektorowego. Wszystkie projekty, które planujemy wypalić lub wygrawerować za pomocą plotera laserowego, powinny być wykonane w grafice wektorowej, ponieważ tak wykonany rysunek jest dokładniej odzwierciedlony jak za pomocą języka G-CODE.  W ploterach bardzo ważna jest dokładność odzwierciedlenia wykonanego wcześniej rysunku. Mach3 posiada funkcję importowania obrazu w postaci bitmapy, lecz różnica w jakości jest znaczna. Szczególnie widoczna jest podczas skalowania (czyli zmiany rozmiaru) rysunku lub obiektu.

Rożnica pomiędzy grafiką rastrową (z lewej) a grafiką wektorową (z prawej).

Główne okno programu Corel Draw 12.

W programie możemy wykonać dowolny rysunek, bądź napis. Po zrobieniu projektu należy go odpowiednio zapisać. W tym celu klikamy kolejno w „Plik/Eksportuj…”

Eksport pliku graficznego.

Następnie wybieramy odpowiednio „PLT-Plik plotera HPGL”. Format ten znakomicie się nadaje do wykorzystania w programie Mach 3. Pojawi się poniższe okno.

Okno wyboru prędkości posuwu

Istnieje możliwość ustawienia szybkości wycinania poprzez funkcję Prędkość pisaka”, której wartość domyślna wynosi 32cm/s. Prędkość wycinania zależy również od koloru materiału, który planujemy wyciąć bądź też wygrawerować. Kolor materiału jest ważnym aspektem, na który należy zwrócić uwagę ponieważ wiązka laserowa jest najlepiej pochłaniana przez materiały o ciemnych barwach, np. tworzywo sztuczne w kolorze czarnym. Przy laserach o większej mocy przekraczającej 20W, kolor wycinanego materiału nie ma żadnego wypływu na pożądane efekty pracy.

Okno wyboru początku układu współrzędnych.

Kolejną zakładką  we właściwościach zapisu jest  „Strona”. Najważniejszą opcją patrząc pod kątem plotera laserowego jest  „Początek układu współrzędnych plotera”. W tej zakładce mamy możliwość ustawienia miejsca znajdowania się punktu zerowego współrzędnych. Prawidłowe ustawienie punktu zerowego już w fazie projektu znacząco ułatwia późniejszą pracę podczas wypalania na laserze. Natomiast pozostałe ustawienia w tej zakładce, takie jak „Strona” i „Orientacja”, nie mają żadnego wypływu na późniejszą pracę z projektem w programie MACH 3.

Okno wyboru rodzaju krycia przestrzeni zamkniętych.

Następną a zarazem ostatnią zakładką ułatwiającą późniejszą pracę  z projektem we właściwościach zapisu jest zakładka o nazwie „Zaawansowane”.  W tym oknie automatycznie możemy ustawić wypełnienie naszego projektu. Mamy tutaj różne możliwości wypełnienia, takie jak linie równoległe oraz kreskowanie krzyżykowe. Po wybraniu tej opcji należy ustawić odstępy między liniami wypełnienia. Najlepsze efekty daje kreskowanie krzyżykowe ponieważ wiązka lasera jest bardzo wąska.

Import obrazu oraz zamiana na G-CODE

Oprogramowanie Mach 3 jest o tyle wygodne i profesjonalne, że dostarcza również narzędzie do importu plików graficznych oraz zapisu ich do plików o rozszerzeniu „.tap” czyli takich, jakie zaladowywuje się do Mach 3. Narzędzie nazywa się LazCam i służy do edycji plików wyeksportowanych między innymi przez program CorelDraw 12.

Widok programu LazyCam.

Widok menu otwarcia pliku.

W celu zaimportowania pliku klikamy na „Open DXF” a nastepnie wybieramy rodzaj pliku jako ”HPGL – PLT” i później otwieramy wcześniej powstały plik.

Przycisk eksportu do pliku o rozszerzeniu „tap”.

Następnie klikamy w wyżej pokazany przycisk, co spowoduje przełączenie użytkownika do kolejnego okna.

Okno końcowej konfiguracji eksportu pliku.

W tym oknie nie zmieniamy nic. Klikamy „OK.” i zapisujemy plik. Następnie otwieramy program Mach3 i zaladowywujemy plik, który wcześniej stworzyliśmy w LazyCam.

Okno podglądu pliku po załadowaniu do programu.

Po załadowaniu pliku do programu Mach3 ukazuje się wyżej pokazany obraz przedstawiający przygotowany w Corel Draw napis: „Politechnika”. Powyższy kod nie może być bezpośrednio wykorzystany do wypalenia przez zaprezentowany ploter. Spowodowane jest to tym, że w kodzie występuje oś Z, która odpowiedzialna jest za podnoszenie lub opuszczanie elementu tnącego. W przypadku zastosowania lasera jako elementu tnącego samo opuszczanie czy też podnoszenie nie przyniosłoby pożądanego efektu. W przedstawionym ploterze załączanie lasera odbywa się poprzez wykorzystanie funkcji pomocniczej M03, która standardowo odpowiedzialna jest za włączenie prawych obrotów wrzeciona.

Za wyłączanie diody odpowiedzialna jest funkcja pomocnicza, w tym przypadku M05, która odpowiedzialna jest za wyłączenie obrotów wrzeciona.  Kolejną rzeczą, na którą należy zwrócić uwagę jest prędkość podczas samego wypalania, która opisuje parametr F w g-kodzie. Prędkość pracy w przypadku wycinarek laserowych jest bardzo ważna,  ponieważ każdy materiał inaczej oddziaływujena wiązkę lasera i wszystko jest zależne od efektu jaki chcemy osiągnąć. Wszystkie wygenerowane kody można łatwo edytować w programach tekstowych. Nie musimy jednak korzystać z zewnetrznych edytorów np. notatnika, gdyż Mach 3 ma wbudowany edytor, który w pełni posłuży nam do potrzebnych zmian.

Okno edycji pliku.

W celu zmiany w pliku wciskamy przycisk „Edit G-Code”. Wyświetli się okno:

Naniesienie zmian w edytorze tekstowym.

Naszym zadaniem jest zamiana funkcji Z1.0000 na M05 oraz kolejnej funkcji Z0.0000 na M03. Dopasowanie prędkości  ustawiamy podczas wypalania w różnego rodzaju materiale.

Struktura G-CODE

Podstawą do sterowania ploterem laserowym są tak zwane g-kody. Jest to zapis poleceń dla urządzeń CNC, które za ich pomocą opisują ścieżkę ruchu elementu tnącego zastosowanego w urządzeniu.  W przedstawionym projekcie elementem tnącym jest głowica laserowa, która porusza się  tylko po określonych liniach kodu, które można samodzielnie edytować lub otrzymać w wyniku przetworzenia przez postprocesor, na podstawie ścieżek ruchu narzędzia wygenerowanych w programach graficznych. W tabeli nr 5 przedstawione są wszystkie komendy jakie występują w środowisku programistycznym urządzeń CNC dwu wymiarowych, tzw. 2D. Pozostałe polecenia G-kodu oraz M funkcje są dowolnie definiowane przez różnych producentów sterowników obrabiarki. 

Funkcje przygotowawcze

G00 – Szybki przesuw (szybkie pozycjonowanie)
G01 – Interpolacja liniowa
G02 – Interpolacja kołowa zgodna z ruchem wskazówek zegara
G03 – Interpolacja kołowa przeciwna ruchowi wskazówek zegara
G04 – Zwłoka czasowa / zatrzymanie przy przygotowywaniu bloku
G05 – Zaokrąglanie narożnika
G06 – Punkt środkowy łuku we współrzędnych absolutnych
G07 – Narożnik prostokątny
G08 – Łuk styczny do poprzedniej drogi
G09 – Łuk definiowany przez 3 punkty
G10 – Odwołanie odzwierciedlania osi
G11 – Odzwierciedlenie osi na osi X
G12 – Odzwierciedlenie osi na osi Y
G13 – Odzwierciedlenie osi na osi Z
G14 – Odzwierciedlenie osi w programowanym kierunku
G15 – Definiowanie osi podłużnej
G16 – Wybór płaszczyzny głównej w dwóch kierunkach
G17 – Płaszczyzna główna X/Y i oś podłużna Z
G18 – Płaszczyzna główna i Z/X oś podłużna Y
G19 – Płaszczyzna główna i Y/Z oś podłużna X
G20 – Definicja dolnej wartości granicznej zabronionej strefy
G21 – Definicja górnej wartości granicznej zabronionej strefy
G22 – Zabroniona strefa aktywna/nieaktywna
G23 – Sonda
G24 – Dygitalizacja
G25 – Odwołanie sondy/dygitalizacji
G26 – Obmierzanie sondą
G27 – Definiowanie konturu sondą
G28 – Wybór drugiego wrzeciona
G29 – Wybór wrzeciona głównego
G32 – Posuw F jako funkcja powrotna czasu
G33 – Nacinanie gwintu
G36 – Automatyczne przejście promienia
G37 – Styczny dojazd
G38 – Styczny odjazd
G39 – Fazowanie
G40 – Odwołanie kompensacji promienia narzędzia
G41 – Kompensacja promienia narzędzia z lewej strony detalu
G42 – Kompensacja promienia narzędzia z prawej strony detalu
G43 – Kompensacja długości narzędzia
G44 – Odwołanie kompensacji długości narzędzia
G47 – Przesunięcie narzędzia według systemu współrzędnych
G48 – Transformacja TCP
G49 – Definicja płaszczyzny nie liniowej
G50 – Sterowanie zaokrągleniem narożnika
G51 – Przegląd
G52 – Przejazd do dotknięcia
G53 – Programowanie współrzędnych z uwzględnieniem zera maszyny
G54 – Przesunięcie punktu zerowego maszyny l
G55 – Przesunięcie punktu zerowego maszyny 2
G56 – Przesunięcie punktu zerowego maszyny 3
G57 – Przesunięcie punktu zerowego maszyny 4
G58 – Dodatkowe przesunięcie punktu zerowego maszyny l
G59 – Dodatkowe przesunięcie punktu zerowego maszyny 2
G60 – Cykl wielokrotnego obrabiania równolegle do wzorca
G61 – Cykl wielokrotnego obrabiania według prostokąta
G62 – Cykl wielokrotnego obrabiania według siatki
G63 – Cykl wielokrotnego obrabiania według okręgu
G64 – Cykl wielokrotnego obrabiania według łuku
G65 – Cykl obróbki według cięciwy
G66 – Cykl obróbki nieregularnej kieszeni
G67 – Cykl obróbki zgrubnej nieregularnej kieszeni
G68 – Cykl obróbki wykańczającej nieregularnej kieszeni
G69 – Kompleksowe głębokie wiercenie
G70 – Programowanie w calach
G71 – Programowanie w mm
G72 – Ogólne i specjalne współczynniki skalowania
G73 – Obracanie wzorca
G74 – Szukanie punktu odniesienia maszyny
G75 – Sondowanie aż do dotknięcia
G76 – Sondowanie przy dotyku
G77 – Oś pomocnicza
G78 – Odwołanie osi pomocniczej
G79 – Zmiana parametrów cyklu
G80 – Odwołanie cyklu
G81 – Cykl wiercenia
G82 – Cykl wiercenia ze zwłoką czasową
G83 – Głębokie wiercenie
G84 – Cykl gwintowania
G85 – Cykl rozwiercania
G86 – Cykl wtaczania z powrotem w GOO
G87 – Cykl frezowania kieszeni prostokątnej
G88 – Cykl frezowania kieszeni okrągłej
G89 – Cykl wtaczania z powrotem w GOI
G90 – Programowanie absolutne
G91 – Programowanie przyrostowe
G92 – Ustawienie współrzędnych ograniczenie obrotów wrzeciona
G93 – Ustawienie współrzędnych biegunowych
G94 – Prędkość posuwu w mm (cal) na minutę
G95 – Prędkość posuwu w mm (cal) na obrót
G96 – Stała prędkość skrawania
G97 – Stała prędkość środka narzędzia
G98 – Powrót do płaszczyzny wyjściowej [wyjazd narzędzia nad detal z = 60 mm ]
G99 – Powrót do płaszczyzny odniesienia [wyjazd narzędzia nad detal z = 2 mm ]

Funkcje pomocnicze M

M00 – Stop programu bezwarunkowy
M01 – Stop programu warunkowy (zależy od trybu pracy)
M02 – Koniec programu
M03 – Włączenie prawych obrotów wrzeciona
M04 – Włączenie lewych obrotów wrzeciona
M05 – Wyłączenie obrotów wrzeciona
M06 – Zmiana narzędzia (polecenie „zmień”)
M07 – Włączenie chłodziwa przez narzędzie
M08 – Włączenie chłodziwa wylewki zewnętrzne
M09 – Wyłączenie chłodziwa
M10 – otwarcie szczęk
M11 – zamknięcie szczęk
M30 – Koniec programu i przewinięcie do początku.