Obróbka ubytkowa metali jest dotychczas najczęściej wykorzystywaną metodą kształtowania części maszyn i urządzeń w różnych gałęziach przemysłu. Obecnie zauważyć można ciągły rozwój tego typu obrabiarek, który uwarunkowany jest przede wszystkim rosnącym wymaganiom technologicznym dla produkowanych części.

Dynamiczny rozwój tej branży jest spowodowany rosnącymi możliwościami systemów komputerowych oraz niestandardowymi rozwiązaniami konstrukcyjnymi, które pozwalają na projektowanie obrabiarek wielozadaniowych o coraz to większych zasobach technologicznych oraz produkcyjnych.

Ciągłe udoskonalanie obrabiarek sterowanych numerycznie (CNC) oraz ich coraz gęstsze występowanie sprawiło, że znajomość obsługi oraz metod ich programowania stała się bardzo cenną i pożądaną umiejętnością.

Aby lepiej poznać i zrozumieć sposoby programowania ruchów narzędzi na wstępie należy wyjaśnić co kryje się za sformułowaniem programowanie maszyn CNC. Pod tym pojęciem zawiera się stworzenie programu sterującego zespołami obrabiarki, który zapisany jest w odpowiednim formacie
i języku, który zgodny jest z będącym na jej wyposażeniu sterownikiem.

Dla dostępnych na rynku typów sterowania takich jak przykładowo Fanuc, Sinumerik, i Heidenhain deklarowanie ruchu narzędzi działa na tej samej zasadzie, którą przedstawiono na poniższym rysunku 1.

Rys. 1. Składowe opisu ruchu narzędzia

Rys. 1. Składowe opisu ruchu narzędzia

W celu zawarcia pełnego opisu ruchu konieczne jest określenie jego:
a) Punktu początkowego – (1),
b) Punktu końcowego – (2),
c) Prędkości,
d) Toru – (3).

Programowanie ruchów narzędzia odbywa się w sposób ciągły, a w blokach podaje się współrzędne końcowe ruchu, co zatem wskazuje, że punkt końcowy ruchu danego bloku programu jest zarazem punktem początkowym ruchu dla bloku kolejnego. Zasadę tą można przyjąć gdy obrabiarka pracuje w trybie automatycznym wykonując kolejne bloki programu, bez ingerencji operatora w położenie narzędzia. Zasady tej nie możemy zastosować dla trybu półautomatycznego (np. MDI) gdzie punktem startowym będzie aktualne położenie narzędzia w przestrzeni roboczej. Prędkości przypisywane są w zależności od programowanego rodzaju ruchu.

W przypadku wykorzystywania ruchów szybkich (G0, F MAX) prędkość pobierana jest z danych maszynowych, gdzie producent przypisał możliwą maksymalną jej wartość, a zmiana jej możliwa jest zazwyczaj jedynie z pulpitu maszynowego z wykorzystaniem potencjometru. Prędkości ruchów roboczych, w których wymienić można m.in. G1 deklarowane są z wykorzystaniem odpowiedniego adresu F, którego zadaniem jest przekazywanie informacji o zaprogramowanej prędkości do sterownika obrabiarki. Podobnie jak w przypadku ruchów szybkich tutaj również zazwyczaj na pulpicie operatorskim występuje możliwość korygowania wartości prędkości w czasie zachodzącego już procesu.

Istotnym w deklaracji ruchu narzędzia jest jego tor, a dokładniej rzecz ujmując kształt drogi, którą narzędzie przebywa pomiędzy określonymi punktami. Tor ruchu określa się mianem interpolacji, której zadaniem jest niezależne powiązanie ruchów wymaganych osi maszynowych, w celu uzyskania wypadkowego toru ruchu punktu odniesienia narzędzia (rysunek 2). Sterownik maszyny znając określone współrzędne końca ruchu oraz prędkość z jaką ma się on odbywać, z wykorzystaniem odpowiedniego modułu jest w stanie obliczyć wektory prędkości poszczególnych osi.

Układy napędowe wymaganych osi sterowanych otrzymują zatem niezależne sygnały, w skutek czego współpracując przemieszczają punkt charakterystyczny narzędzia po określonym torze do zadeklarowanego w bloku punktu końcowego.

Rys. 2. Wektor interpolacji i jego składowe

Rys. 2. Wektor interpolacji i jego składowe

Interpolacja punktowa – G0
Interpolację punktową zazwyczaj nazywa się ruchem szybkim i w przemyśle właśnie takie sformułowanie jest najczęściej używane. Polega ona na przemieszczaniu zespołów obrabiarki ruchem możliwie najszybszym, w taki sposób aby zaprogramowany punkt narzędzia osiągnął współrzędną końcową w możliwie jak najkrótszym czasie. Tego typu funkcja wykorzystywana jest zazwyczaj do osiągania punktów ustawczych, które mają na celu odpowiednie spozycjonowanie narzędzia.

Ruch do miejsca docelowego z wykorzystaniem interpolacji punktowej G0 odbywa się zawsze po najkrótszej drodze (rysunek 3) i przy pełnej prędkości, dlatego ważnym jest aby ruchy te programować ostrożnie i starannie, ponieważ ewentualna kolizja może przynieść bardzo negatywne skutki.

Rys. 3. Interpolacja punktowa G0

Rys. 3. Interpolacja punktowa G0

Interpolacja liniowa – G1
Interpolacja liniowa G1 jest najczęściej wykorzystywanym ruchem roboczym w przypadku programowania obrabiarek sterowanych numerycznie (CNC). Zadeklarowany w poprzednim bloku punkt końcowy staje się punktem początkowym bloku kolejnego.

Startując od tych współrzędnych narzędzie pokonuje drogę po linii prostej do zadeklarowanych współrzędnych końca z zaprogramowaną wartością posuwu F (rysunek 4).

Rys. 4. Interpolacja liniowa G1

Rys. 4. Interpolacja liniowa G1

Interpolacja kołowa – G2/G3
W przypadku interpolacji kołowej znajomość jedynie dwóch punktów ruchu – początku oraz końca nie pozwala na jednoznaczne zdefiniowanie ruchu po łuku okręgu. Dlatego konieczne jest określenie dodatkowego parametru, który umożliwi zbudowanie odpowiedniej ścieżki narzędzia. W przypadku interpolacji kołowej zazwyczaj tym dodatkowym parametrem jest promień łuku R.

Znając już współrzędne początku oraz jego końca, a dodatkowo wartość jego promienia należy następnie zdecydować który rodzaj interpolacji kołowej w danym przypadku będzie tym właściwym. Zadeklarowanie odpowiedniej funkcji przygotowawczej ma wpływ na kierunek tworzonego łuku, a tym samym na położenie punktu zaczepienia jego promienia.

Wyróżnia się:
a) G2 – interpolacja kołowa z kierunkiem zgodnym z ruchem wskazówek zegara (CW),
b) G3 – interpolacja kołowa z kierunkiem przeciwnym do ruchu wskazówek zegara (CCW).

W przypadku frezowania do wyznaczenia kierunku ruchu po okręgu konieczne jest określenie właściwej płaszczyzny roboczej (rysunek 5).

Wybór ten dokonywany jest z wykorzystaniem odpowiednich funkcji przygotowawczych, takich jak:
a) G17 – płaszczyzna główna XY,
b) G18 – płaszczyzna gówna ZX,
c) G19 – płaszczyzna główna YZ.

Rys. 5. Określanie kierunku łuku G2/G3 dla frezowania na określonych płaszczyznach roboczych

Rys. 5. Określanie kierunku łuku G2/G3 dla frezowania na określonych płaszczyznach roboczych

W przypadku toczenia kierunek ruchu po okręgu zależy przede wszystkim od umiejscowienia głowicy narzędziowej na danej obrabiarce. W przypadku wykorzystywania narzędzia z górnego imaka narzędziowego, który znajduje się „nad osią” detalu obrabianego kierunki ruchu po łuku okręgu określane są ja na rysunku 6a. Przeciwny przypadek, który wykorzystuje narzędzie z głowicy przedniej (toczenie „pod osią”) opisuje rysunek 6b.

Rys. 6. Określanie kierunku łuku G2/G3 dla toczenia: a) położenie narzędzia nad osią Z, b) położenie narzędzia pod osią Z

Rys. 6. Określanie kierunku łuku G2/G3 dla toczenia: a) położenie narzędzia nad osią Z, b) położenie narzędzia pod osią Z

Jako, że w przypadku programowania interpolacji kołowej wymaga się zdefiniowania promienia tworzonego łuku to jego opisu można dokonać na kilka sposobów. Najczęściej spotykanymi metodami definiowania promienia są:

a) Określenie środka okręgu
Jest to jeden ze sposobów, który w pełni umożliwia zdefiniowanie ścieżki narzędzia w kształcie łuku. Parametry interpolacji I, J, K, z wykorzystaniem których programowany jest środek okręgu określane są dla odpowiednich osi w danej aktywnej płaszczyźnie obróbki.

Parametr I odpowiada za oś X, J za oś Y, zaś ostatni K analogicznie za oś Z.

Rys. 7. Parametry I oraz K definiujące środek łuku

Rys. 7. Parametry I oraz K definiujące środek łuku

Powyżej opisana metoda definiowania interpolacji kołowej z wskazywaniem za pośrednictwem parametrów I, J, K środka okręgu jest często wykorzystywanym i zalecanym sposobem tworzenia interpolacji kołowej. Użytkownik podając te wartości pomija konieczność przeliczania i wyznaczania współrzędnych środka okręgu przez układ sterowania, jak to następuje przy innych metodach.

b) Bezpośrednie programowanie promienia okręgu
W przemyśle, w przypadku dokumentacji wykonawczej detali gdzie występują powierzchnie wymagające programowania z wykorzystaniem interpolacji kołowej przeważnie są one opisane z wykorzystaniem wymiarów promieniowych bądź średnicowych. Zatem, programowanie interpolacji kołowej z wykorzystaniem definicji promienia (rysunek 8) jest szybszą i bardziej przyjazną metodą dla użytkownika. Na podstawie zdeklarowanego, w kodzie sterującym, promienia, układ sterowania sam wyznacza położenie środka okręgu.

Rys. 8. Definiowanie interpolacji kołowej z wykorzystaniem promienia

Rys. 8. Definiowanie interpolacji kołowej z wykorzystaniem promienia

Dodatkowo wartość promienia można podawać ze znakiem dodatnim bądź ujemnym, który warunkuje wybór drogi narzędzia po krótszym bądź dłuższym łuku okręgu. Znak jest zależny od wielkości kąta, dla którego dany łuk jest rozpięty. W nawiązaniu do rysunku 9, dla wartości dodatniej promienia, narzędzie przebiegać będzie po kącie mniejszym bądź równym 180°. Dla ujemnej, ruch narzędzia odbywać będzie po kącie większym niż 180°.

Rys. 9. Wpływ znaku wartości promienia przy definiowaniu interpolacji kołowej

Rys. 9. Wpływ znaku wartości promienia przy definiowaniu interpolacji kołowej

Poza wyżej wymienionymi i najczęściej stosowanymi możliwościami deklaracji promienia występują jeszcze dodatkowe sposoby, których obecność i sposób definicji zależy od rodzaju sterowania.

Wymienić można przykładowo:
a) Programowanie z określeniem kąta łuku,
b) Programowanie kąta i środka łuku,
c) Programowanie przez punkt pośredni,
d) Programowanie z określeniem łuku stycznego,
e) Programowanie łuku po pełnym okręgu.

Korekcja promienia narzędzia
Istotnym czynnikiem, o którym należy wspomnieć podczas programowania torów ruchu narzędzi jest ich korekcja, którą niekiedy zwie się również kompensacją. O ile trudniejsze byłoby programowanie konturów detali, przy których użytkownik musiałby brać poprawkę na wykorzystywane narzędzie i odsuwać programowany kontur o wartość jego promienia.

Mając dodatkowo na uwadze, że narzędzia nie są bryłami o idealnych kształtach i wymiarach, które często mogą się zmieniać na skutek np. zużycia, to ile pracy kosztowałaby zmiana konturu o setne milimetra aby uzyskać żądane tolerancje wymiarowe? Na szczęście występują odpowiednie funkcje przygotowawcze (G41 i G42), które w sposób automatyczny sczytują konieczne informacje z tabeli narzędziowej.

Na rysunku 10 przedstawiono przykład korekcji promienia narzędzia na przykładzie obróbki tokarskiej. Ze względu na zaokrąglenie płytki narzędzia, tor ruchu musiał zostać odsunięty o wartość promienia aby wykonać programowany kontur w odpowiednich wymiarach.

Rys. 10. Kompensacja promienia narzędzia na przykładzie obróbki tokarskiej

Rys. 10. Kompensacja promienia narzędzia na przykładzie obróbki tokarskiej

Obecnie wyróżnić można dwie metody programowania korekcji promienia narzędzia:
a) Programową
Przemysł wykorzystuje obecnie w dużej mierze systemy CAM, które umożliwiają tworzenie programów obróbkowych wraz z symulacją pełnego procesu wykonywania detali na maszynach CNC. Oprogramowania te również posiadają moduł korekcji promienia narzędzi, które umożliwiają generowanie G-kodu o zmienionych współrzędnych o wartość promienia wykorzystywanego narzędzia.

Zaletą takiego rozwiązania jest możliwość pełnej weryfikacji utworzonego kodu sterującego na etapie przed jego uruchomieniem na maszynie, jednak ewentualne zmiany wynikające z stanu narzędzi wymagają ponownego generowania zmodyfikowanego programu. Takie rozwiązanie idealnie sprawdza się podczas obróbki powierzchni swobodnych, gdzie wymaga się stosowania kompensacji przestrzennej.

b) Automatyczną
Korekcja realizowana jest przez układ sterowania obrabiarki, który zaczytuje odpowiednie dane na temat wykorzystywanego narzędzia z tabeli narzędziowej. Ma to duży wpływ na dokładność obróbki, ponieważ każde najmniejsze zmiany w wymiarach narzędzi mogą być na bieżąco wprowadzane przez operatora i uwzględniane przez sterownik obrabiarki przy każdym kolejnym uruchamianiu programu.

Do generowania odpowiedniego toru ruchu z uwzględnianiem geometrii narzędzia wykorzystuje się określone do tego celu funkcje przygotowawcze G (rysunek 11): G40 – wyłączenie automatycznej korekcji promienia narzędzia (tor ruchu zgodny z konturem), G41 – włączenie automatycznej korekcji promienia narzędzia na lewo od programowanego konturu (położenie narzędzia po lewej stronie programowanego konturu patrząc w kierunku jego ruchu), G42 – włączenie automatycznej korekcji promienia narzędzia na prawo od programowanego konturu (położenie narzędzia po prawej stronie programowanego konturu patrząc w kierunku jego ruchu).

Rys. 11. Programowanie automatycznej korekcji promienia narzędzia

Rys. 11. Programowanie automatycznej korekcji promienia narzędzia

Definiowanie toru ruchu narzędzi to podstawowy element każdego z programów, z pominięciem którego nie bylibyśmy w stanie wykonać żadnego detalu na obrabiarkach CNC.

Wykorzystanie interpolacji punktowej G0, za pośrednictwem której m.in. definiowane są ruchy ustawcze narzędzi, konieczne do ich właściwego spozycjonowania, dostarczają dużej oszczędności czasu ze względu na pracę przy maksymalnych prędkościach. Interpolacja liniowa G1 oraz kołowa G2/G3 to funkcje tworzące ruchy robocze narzędzia dla obróbki detali różnego przeznaczenia. Są one podstawą programów na maszyny różnego typu i budowy, począwszy od prostych tokarek i frezarek po tokarki z pod wrzecionem i kilkoma głowicami narzędziowymi aż po pięcio-osiowe centra frezarskie wykonujące najbardziej złożone powierzchnie. Na zasadzie ich działania opierają się wszystkie cykle obróbkowe, które dostępne są w sterownikach obrabiarek różnych producentów dostępnych pod programowaniem dialogowym.

Korekcja narzędzi to również istotna kwestia programowania, która w łatwy sposób pozwala na dostosowanie toru ruchu narzędzia w nawiązaniu do jego geometrii, a możliwość korygowania wartości i uwzględniania zużycia narzędzia powoduje możliwość wykonywania detali, w których dokładność kształtowo-wymiarowa ma pierwszorzędne znaczenie.