Programowanie obrabiarek CNC

background image

Dr inż. Grzegorz Nikiel

Akademia Techniczno-Humanistyczna

w Bielsku-Białej

Katedra Technologii Maszyn i Automatyzacji

Programowanie obrabiarek CNC

na przykładzie układu sterowania

Sinumerik 840D

Bielsko-Biała 2003

background image

Spis treści

1.

Zasada funkcjonowania sterowania numerycznego ............................................... 3

1.1. Zasada pomiaru współrzędnych.......................................................................... 3
1.2. Układy współrzędnych ....................................................................................... 5
1.3. Definicja układów współrzędnych...................................................................... 7
1.4. Punkty charakterystyczne obrabiarki.................................................................. 8
1.5. Najazd na punkt referencyjny ........................................................................... 10
1.6. Zależności pomiędzy współrzędnymi............................................................... 11
1.7. Wyznaczanie wartości rejestrów narzędziowych i rejestrów

przesunięć punktów zerowych.......................................................................... 14

2.

Struktura programu sterującego............................................................................ 19

2.1. Podstawowe adresy........................................................................................... 20
2.2. Numer bloku N ................................................................................................. 21
2.3. Funkcje przygotowawcze ................................................................................. 22

2.3.1. Jednostki wymiarów ................................................................................. 22
2.3.2. Rodzaj wymiarowania .............................................................................. 23
2.3.3. Wymiarowanie średnicowe/promieniowe ................................................ 24
2.3.4. Programowanie we współrzędnych biegunowych.................................... 25
2.3.5. Płaszczyzna interpolacji............................................................................ 27
2.3.6. Programowanie parametrów technologicznych........................................ 28
2.3.7. Programowanie punktów zerowych.......................................................... 29
2.3.8. Programowanie transformacji układu współrzędnych (FRAMES).......... 30
2.3.9. Programowanie ograniczenia obszaru roboczego .................................... 30
2.3.10. Programowanie toru ruchu narzędzia ....................................................... 31
2.3.11. Programowanie kompensacji promienia narzędzia .................................. 31
2.3.12. Programowanie postoju czasowego.......................................................... 32

2.4. Funkcje pomocnicze (maszynowe) M .............................................................. 32
2.5. Inne elementy w programie sterującym............................................................ 34
2.6. Ogólna struktura bloku ..................................................................................... 34
2.7. Ogólna struktura programu sterującego............................................................ 35

3.

Programowanie ruchów narzędzi.......................................................................... 36

3.1. Interpolacja punktowa G0................................................................................. 37
3.2. Interpolacja liniowa G1 .................................................................................... 37
3.3. Interpolacja kołowa G2/G3/CIP/CT ................................................................. 38
3.4. Interpolacja spiralna o stałym skoku G33......................................................... 48
3.5. Interpolacja spiralna o zmiennym skoku G34/G35 .......................................... 51
3.6. Nacinanie gwintów z wykorzystaniem funkcji G63......................................... 51
3.7. Interpolacja śrubowa G331/G332..................................................................... 52

4.

Transformacje układu współrzędnych (FRAMES) .............................................. 53

5.

Programowanie danych narzędziowych ............................................................... 56

6.

Kompensacja promienia narzędzia ....................................................................... 58

background image

1. Z

ASADA FUNKCJONOWANIA STEROWANIA NUMERYCZNEGO

Historia obrabiarek ze sterowaniem numerycznym (NC) przekroczyła już 50 lat

– pierwsza frezarka sterowania numerycznie powstała w MIT w Bostonie w roku
1952. Przez pół wieku znacznie zmieniły się cechy zewnętrzne obrabiarek CNC, ich
kinematyka i możliwości obróbkowe, jednak idea funkcjonowania pozostała bez
zmian.

Z punktu widzenia automatyki sterowanie NC jest układem automatycznej

regulacji programowej, pracującym w zamkniętej pętli sprzężenia zwrotnego (rys. 1.).
Wartość zadana położenia w danej osi sterowanej numerycznie (SN) jest wyznaczana
na podstawie programu. Jest ona porównywana z wartością rzeczywistą położenia,
mierzoną przez układ pomiarowy. Na podstawie różnicy pomiędzy wartością zadaną
a rzeczywistą położenia w osi SN układ sterowania (obecnie jest to najczęściej układ
CNC) generuje sygnał sterujący, kierowany do napędu osi SN, korygując tym samym
jej położenie aż do uzyskania zerowej różnicy pomiędzy wartością zadaną
a rzeczywistą położenia osi SN.

CNC

M

N05 X10

N10 Y20

N15 M30

N

∆X

∆X = N * ∆

Napęd

Program
sterujący

Układ sterowania

Układ pomiarowy

Rys. 1. Schemat ideowy sterowania numerycznego NC

1.1. Zasada pomiaru współrzędnych

Układ pomiarowy ma charakter przyrostowy, co oznacza pomiar zmiany

położenia elementów ruchomych

∆X (rys. 1.), a nie pomiar ich bezwzględnego

położenia. Układ sterowania otrzymuje ciąg N impulsów generowanych przez układ
pomiarowy, gdzie jeden impuls oznacza zmianę położenia o wartość podziałki
elementarnej

∆ (rys. 1.). Zliczając impulsy układ sterowania może zatem obliczyć

zmianę położenia.

W chwili uruchomienia układu sterowania (włączenie obrabiarki) liczniki

odczytu współrzędnych są zerowane, co oznacza przyjęcie aktualnej wartości
położenia bezwzględnego (absolutnego) równego 0 (rys. 2a.). Ponieważ w chwili
włączenia obrabiarki zespoły ruchome znajdują się w dowolnym położeniu, stąd przy

background image

każdym uruchomieniu punkt zerowy absolutnego układu współrzędnych danej osi
miałby inne położenie, co praktycznie uniemożliwia programowanie
z wykorzystaniem takiego układu współrzędnych.

Dlatego każda oś maszynowa posiada tzw. położenie referencyjne, bazowe –

punkt referencyjny R – fizycznie odwzorowane np. przy użyciu wyłącznika
drogowego. Położenie tego punktu jest mierzone przez producentów obrabiarek od
umownie przyjętego punktu zerowego danej osi maszynowej (punkt M)
i wprowadzane do pamięci układu sterowania. Po każdorazowym uruchomieniu
maszyny pierwszą czynnością jest przemieszczenie zespołów ruchomych obrabiarki
w każdej osi sterowanej numerycznie do punktu referencyjnego (bazowego) (rys. 2b.).
W tym położeniu następuje zerowanie liczników odczytujących położenie
i wprowadzanie do nich wartości odpowiadających pobranym z pamięci położeń
punktu referencyjnego. Tym samym jest określone stałe, niezmienne w czasie
położenie punktu zerowego osi sterowanej numerycznie, umożliwiające stosowanie
absolutnego układu współrzędnych (rys. 2c.).

∆X

−∆X

0

X

a)

−X

R

0

X

b)

R

M

−X

R

0

X

c)

∆X

X

X

= −X

R

+ ∆X

Rys. 2. Zasada przyrostowego pomiaru współrzędnych na obrabiarkach NC

background image

1.2. Układy współrzędnych

Podstawą do programowania jest przyjęcie położenia układów współrzędnych,

dzięki którym możliwe jest zadawanie współrzędnych położeń elementów ruchomych
obrabiarki NC.

Generalnie można wyróżnić następujące układy współrzędnych:

– Maszynowy układ współrzędnych;
– Bazowy układ współrzędnych;
– Układ współrzędnych przedmiotu.

Maszynowy układ współrzędnych (MKS) – układ współrzędnych zbudowanych
z osi sterowanych numerycznie obrabiarki (rys. 3.). W tym układzie odbywa się
sterowanie – współrzędne zadane w innych układach współrzędnych są przeliczane na
układ maszynowy przez układ sterowania. Układ maszynowy może być układem
prostokątnym, walcowym, sferycznym lub o złożonym charakterze (np. w robotach).
Układ maszynowy jest odniesiony do konstrukcji maszyny. W układzie maszynowym
są podane współrzędne punktu referencyjnego, punkty wymiany narzędzi, punkty
wymiany palet. Osie maszynowego układu współrzędnych mogą być oznaczane
kolejnymi cyframi (1, 2, 3..) lub oznaczeniami podobnymi do osi pozostałych układów
współrzędnych (np. X1, Y1, Z1, AX1, AX2,....).

Z

M

X

M

Rys. 3. Maszynowy układ współrzędnych (MKS)

Bazowy (podstawowy) układ współrzędnych – prostokątny, prawoskrętny układ
współrzędnych, stanowiący podstawę do programowania (rys. 4.). Jest odniesiony do
przedmiotu zamocowanego na obrabiarce, traktowanego jako nieruchomy, przy
poruszającym się narzędziu. Jest związany z układem maszynowym poprzez
transformacje kinematyczne, odwzorowujące układ bazowy na osie maszynowe (np.
osie sferycznego układu współrzędnych robota, transformacja we frezarce 5-osiowej).
W najprostszym przypadku układ bazowy (tokarki, frezarki) jest tożsamy z układem
maszynowym – brak transformacji kinematycznych. W tym układzie są definiowane
korektory narzędziowe, wyznaczana jest kompensacja promienia ostrza, wyznaczane
są transformacje układu przedmiotu, ustawiane są granice obszaru obróbki oraz
wykonywane są inne obliczenia toru ruchu narzędzia, przeliczane z układu

background image

współrzędnych przedmiotu. Służy on zatem przede wszystkim układowi sterowania
numerycznego.

Z

B

X

B

Rys. 4. Bazowy układ współrzędnych

Układ współrzędnych przedmiotu (WKS) – prostokątny, prawoskrętny układ
współrzędnych, związany z przedmiotem obrabianym, służący do programowania
obróbki, zapisanej w postaci programu sterującego (rys. 5.). Jest związany z układem
bazowym poprzez definicję tzw. FRAMES, będących matematycznymi formułami
matematycznymi, przekształcającymi układy współrzędnych z wykorzystaniem
czterech podstawowych działań:
– Translacji o wektor;
– Obrotowi wokół osi;
– Symetrii osiowej (odbicia lustrzanego);
– Skalowania osi.

Zapis matematyczny tych działań jest realizowany z wykorzystaniem rachunku

macierzowego. Wybór układu współrzędnych przedmiotu zależy od sposobu jego
wymiarowania, możliwe jest użycie w jednym programie sterującym kilku różnych
układów współrzędnych przedmiotu.

X

W

Z

W

Rys. 5. Układ współrzędnych przedmiotu (WKS)

background image

1.3. Definicja układów współrzędnych

Przy definicji układów współrzędnych (dotyczy to przede wszystkim układu

bazowego i maszynowego) są stosowane pewne zasady, pozwalające na unifikację
oznaczenia osi. Zasady te są zawarte w normach. W Polsce jest to norma M-55251,
oparta na normie DIN 66217 oraz na normach międzynarodowych (ISO).
Podstawowe zasady definiowania układów współrzędnych są następujące:
– Osie układu współrzędnych są odniesione do przedmiotu obrabianego;
– Przyjmuje się przedmiot obrabiany za nieruchomy, porusza się tylko narzędzie

(układ współrzędnych może się przemieszczać z przedmiotem obrabianym);

– Podstawowym układem jest prostokątny, prawoskrętny układ współrzędnych

(rys. 6.);

– Za podstawowe przyjmuje się nazwy osi liniowych X, Y i Z. W szczególnych

przypadkach osie mogą przyjmować nazwy U, V, W, P, Q, R;

– Sterowane numerycznie osie obrotowe przyjmują nazwy A, B, C. Są one związane

z osiami liniowymi (A obrót wokół X, B wokół Y, C wokół Z). Zwroty dodatnie
przyjmuje się zgodnie z regułą śruby prawoskrętnej;

– Jeżeli osie związane są z ruchem narzędzia przyjmują indeks ’ (np. X’) i zwrot

przeciwny do zwrotu danej osi sterowanej numerycznie (np. X).

Z

Y

X

C

B

A

Rys. 6. Układ i oznaczenia osi prostokątnego, prawoskrętnego układu współrzędnych

Definicja układu współrzędnych obejmuje trzy fazy:
1. Kierunki osi (rys. 7.):
– W pierwszej kolejności definiuje się kierunek osi Z, który powinien być zgodny

lub pokrywać się z osią wrzeciona głównego (przedmiotowego lub
narzędziowego).

– W drugiej kolejności definiuje się kierunek osi X. Jest on prostopadły do kierunku

osi Z i na ogół leży w płaszczyźnie równoległej do płaszczyzny mocowania
przedmiotu lub prowadnic obrabiarki związanych ze stołem przedmiotowym

– W trzeciej kolejności wyznacza się kierunek osi Y korzystając z właściwości

prostopadłości osi układu współrzędnych

2. Zwroty osi (rys. 7.): za zwrot dodatni osi uważa się taki, z którym związany jest
ruch od strony przedmiotu obrabianego (ruch do materiału wg ujemnego zwrotu osi).

background image

Y

+X

+Z

Rys. 7. Definiowanie kierunków i zwrotów osi układu współrzędnych

3. Punkty zerowe układu współrzędnych i punkty, których współrzędne są kodowane
w danym układzie współrzędnych: przyjmuje się pewne punkty charakterystyczne dla
każdej maszyny NC.

1.4. Punkty charakterystyczne obrabiarki

Każda obrabiarka posiada charakterystyczne punkty, odnoszące się do

zdefiniowanych układów współrzędnych. Najważniejsze z nich to [PN-ISO 3002] –
rys. 8.:
M – punkt maszynowy; punkt początku układu współrzędnych maszyny MKS

(często również układu bazowego). Jego położenie jest ustalane przez producenta
obrabiarki, na ogół ściśle związane z jej konstrukcją. Do niego odnoszone są
pozostałe punkty charakterystyczne.

W – punkt zerowy przedmiotu. Punkt początku układu współrzędnych przedmiotu

WKS, ustalany w sposób dowolny przez programistę. Warunkiem poprawnej
pracy obrabiarki jest wprowadzenie do układu sterowania informacji o położeniu
tego punktu (rys. 10.).

R – punkt referencyjny (bazowy). Punkt o znanej odległości od punktu

maszynowego M, służący do ustalenia położenia punktu początku osi układu
maszynowego MKS. Jego położenie ustala producent obrabiarki.

N – punkt zamocowania narzędzia. Punkt, względem którego wyznacza się wartości

wymiarów narzędzia, traktowanych jako wartości korekcyjne – położenie tego
punktu ustala użytkownik obrabiarki. Powinno być stałe dla wszystkich
używanych narzędzi – na ogół znajduje się ona na oprawce narzędziowej lub
innym elemencie mocującym narzędzie na obrabiarce.

P – punkt kodowy narzędzia. Punkt, którego współrzędne są zadawane w programie

sterującym. położenie tego punktu przyjmuje programista obrabiarki w zależności
od rodzaju narzędzia i jego przeznaczenia. Warunkiem poprawnej pracy
obrabiarki jest wprowadzenie do układu sterowania informacji o położeniu tego
punktu (rys. 10.).

F – punkt odniesienia sań narzędziowych. Punkt, którego współrzędne są podawane

w maszynowym układzie współrzędnych MKS. Położenie tego punktu związane

background image

jest z konstrukcją obrabiarki. Dla celów programowania obróbki znajomość
położenia tego punktu nie ma istotnego znaczenia co zostanie wyjaśnione
w dalszych rozdziałach.

C – punkt wymiany narzędzia. W tym punkcie musi znaleźć się punkt kodowy F aby

w sposób prawidłowy i bezpieczny dokonać wymiany narzędzia (nie jest to
wymagane dla wszystkich obrabiarek).

W szczególnych przypadkach niektóre punkty kodowe mogą się pokrywać (np.

F i N), niektóre mogą być nieokreślone (np. C).

M

X

M

R

C

W

P

F=N

Z

M

=Z

B

X

M

=X

B

Rys. 8. Punkty charakterystyczne obrabiarki NC

Korzystając z tak zdefiniowanych punktów charakterystycznych możliwe jest

podanie ostatecznych definicji podstawowych układów współrzędnych obrabiarki:
maszynowego, bazowego i przedmiotu (rys. 9.).

MKS: (Z

MKS

, X

MKS

)

WKS: (Z

WKS

, X

WKS

)

Z

MKS

X

MKS

M

W

P

F

Z

W

X

W

Z

M

=Z

B

X

M

=X

B

Z

WKS

X

WKS

Rys. 9. Współrzędne w układzie MKS i WKS

background image

M

W

P

F

Z

W

X

W

Z

M

=Z

B

X

M

=X

B

Rys. 10. Przekształcenie układu MKS w układ WKS

1.5. Najazd na punkt referencyjny

Jak wspomniano wcześniej, układy pomiarowe obrabiarek najczęściej są

układami inkrementalnymi (przyrostowymi), nie pozwalającymi wprost dokonywać
pomiaru w

absolutnym układzie współrzędnych. Dzięki zastosowaniu stałego

(bazowego, referencyjnego) punktu dla każdej osi SN możliwe jest zbudowanie
absolutnego układu współrzędnych. Warunkiem jest wykonanie po każdym włączeniu
obrabiarki najazdu w osiach na te właśnie punkty – nazywane jest to najazdem na
punkty referencyjne, wspomagane istnieniem specjalnego trybu pracy układu
sterowania CNC. Ideę tego postępowania przedstawiono na poniższych rysunkach
(rys. 11., 12., 13.).

M

Z

M

=Z

B

X

M

=X

B

R

Z

MR

X

MR

Włączenie maszyny - współrzędne
(Z

MKS

, X

MKS

) = (0,0)

X

MKS

Z

MKS

F

Rys. 11. Stan obrabiarki NC na początku pracy

background image

M

F

Z

M

=Z

B

X

M

=X

B

R

Z

MR

X

MR

Najazd w osiach na punkt referencyjny

X

MKS

Z

MKS

Rys. 12. Najazd na punkt referencyjny

M

Z

M

=Z

B

X

M

=X

B

F=R

Z

MKS

=Z

MR

X

MKS

=X

MR

Ustawienie współrzędnych maszynowych
równych współrzędnym punktu
referencyjnego

Rys. 13. Ustawienie współrzędnych MKS po najeździe na punkt referencyjny

1.6. Zależności pomiędzy współrzędnymi

Zadając współrzędne w układzie przedmiotu układ sterowania musi wyrazić je

w układzie maszynowym, aby odpowiednio sterować napędami. Jednocześnie
podczas wykonywania programu sterującego możliwe jest wyrażanie aktualnego
położenia obrabiarki zarówno we współrzędnych maszynowych, jak
i przedmiotowych.

background image

Wprowadzając układ współrzędnych przedmiotu należy podać następujące

wielkości:
1. Zmianę punktu zerowego (M przesunięty na W) – przesunięcia punktu zerowego

(ogólnie X

PPZ

, Y

PPZ

, Z

PPZ

), wprowadzane z pulpitu układu sterowania do rejestrów

przesunięć punktów zerowych (rys. 14.).

2. Zmianę punktu kodowego (F przesunięty na P) – korektory długości narzędzia

(ogólnie L1, L2, L3), wprowadzane z pulpitu układu sterowania do rejestrów
korektorów narzędziowych (rys. 15.).

L1

M

W

F

Z

M

=Z

B

X

M

=X

B

Z

W

X

W

Z

PPZ

X

PPZ

Z

PPZ

, X

PPZ

-

przesunięcie punktu
zerowego (PPZ)

Rys. 14. Przesunięcia punktów zerowych (PPZ)

L2

L1

L2, L1 - długości korekcyjne
narzędzia

M

W

F

Z

M

=Z

B

X

M

=X

B

Z

W

X

W

Rys. 15. Wymiary narzędzi (długości korekcyjne)

Czynności definiowania rejestrów narzędziowych i rejestrów przesunięć

punktów zerowych mają podstawowe znaczenie dla poprawności przebiegu

background image

obróbki w

trybie automatycznym (sterowanym programem) i należą do

najważniejszych czynności przygotowawczych, poprzedzających pracę w trybie
automatycznym
. Dlatego często są wspomagane specjalnie do tego celu
przeznaczonymi funkcjami układu sterowania NC.

Po ustaleniu tych wielkości układ sterowania jest już w stanie dokonywać

przeliczeń współrzędnych położenia osi SN w układach MKS i WKS. Zależności
między tymi układami na przykładzie tokarki przedstawiono na rys. 16. i 17.

L2

M

W

F

Z

M

=Z

B

X

M

=X

B

Z

W

X

W

Z

MKS

Z

WKS

Z

PPZ

Rys. 16. Zależności między współrzędnymi w osi Z tokarki

M

W

F

Z

M

=Z

B

X

M

=X

B

Z

W

X

W

L1

X

PPZ

X

MKS

X

WKS

Rys. 17. Zależności między współrzędnymi dla osi X tokarki

background image

Wtedy możemy wyprowadzić następujące zależności pomiędzy współrzędnymi

maszynowymi i przedmiotowymi (dla tokarki):

1

2

L

X

X

X

L

Z

Z

Z

PPZ

WKS

MKS

PPZ

WKS

MKS

+

+

=

+

+

=

1

2

L

X

X

X

L

Z

Z

Z

PPZ

MKS

WKS

PPZ

MKS

WKS

=

=

Wartości rejestrów przesunięć punktów zerowych oraz korektorów

narzędziowych są wielkościami wektorowymi, stąd należy pamiętać o odpowiednim
znaku przy ich wartościach. Podobne wyrażenia można wyprowadzić na frezarek.

Ponieważ dla obróbki tokarskiej większość wymiarów w osi X wyrażana jest na

średnicy, dlatego możliwe jest zadawanie wartości X

WKS

średnicowo (rys. 18.).

M

W

F

Z

M

=Z

B

X

M

=X

B

Z

W

X

W

X

PPZ

X

WKS

φ

X

MKS

L1

X

WKS

Rys. 18. Współrzędne promieniowe i średnicowe w osi X tokarki

Wówczas:

2

)

(

φ

WKS

WKS

X

X

=

co prowadzi do następujących zależności:

1

2

2

)

(

L

X

X

X

L

Z

Z

Z

PPZ

WKS

MKS

PPZ

WKS

MKS

+

+

=

+

+

=

φ

(

)

1

2

2

)

(

L

X

X

X

L

Z

Z

Z

PPZ

MKS

WKS

PPZ

MKS

WKS

=

=

φ

1.7. Wyznaczanie wartości rejestrów narzędziowych i rejestrów przesunięć

punktów zerowych

Dla prawidłowego funkcjonowania obrabiarki NC, oprócz programu

sterującego, konieczne jest ustalenie poprawnych wartości korektorów
narzędziowych i przesunięć punktów zerowych
. Sposób wyznaczenia tych wartości

background image

w dużej mierze zależy od rodzaju obrabiarki, jej wyposażenia, dostępności specjalnych
urządzeń do pomiaru i nastawiania narzędzi, rodzaju narzędzi itp. Niezależnie od tego
można wskazać na pewne ogólne zależności, na podstawie których można opracować
własne metody wyznaczania wartości korektorów narzędziowych i przesunięć
punktów zerowych.

Rozpatrzmy pewne szczególne położenia narzędzia względem przedmiotu

obrabianego, dla którego znana jest wartość co najmniej jednej współrzędnej
w układzie przedmiotu (WKS) – np. przy zetknięciu noża z materiałem, na czole
którego chcemy umieścić punkt zerowy W; wtedy Z

WKS

= 0 (rys. 19.).

Z

MKS

M

W

P

F

Z

W

X

W

Z

M

=Z

B

X

M

=X

B

Z

PPZ

L2

Rys. 19. Zasada wyznaczania wartości przesunięc punktów zerowych i korektorów

narzędziowych

Dla tego położenia znane jest również położenie punktu kodowego F

współrzędne w układzie maszynowym MKS (Z

MKS

). W przedstawionych powyżej

zależnościach na współrzędne w układzie maszynowym i przedmiotu pozostają
jeszcze po dwie wielkości niewiadome – przesunięcia punktu zerowego (Z

PPZ

)

i korektory narzędziowe (L2). Musi być zatem znana jeszcze jedna wartość, druga
może zostać wyliczona. Na ogół mierzy się narzędzia (wyznacza korektory
narzędziowe) i na tej podstawie wylicza przesunięcia punktu zerowego (rys. 19.):

1

2

2

)

(

L

X

X

X

L

Z

Z

Z

WKS

MKS

PPZ

WKS

MKS

PPZ

=

=

φ

Postępując odwrotnie, przy znanych przesunięciach punktu zerowego, należy

wyliczyć korektory narzędziowe (rys. 19.):

PPZ

WKS

MKS

PPZ

WKS

MKS

X

X

X

L

Z

Z

Z

L

=

=

2

1

2

)

(

φ

background image

W układach sterowania na ogół są funkcje półautomatycznego wyznaczania

tych wartości, dlatego nie trzeba wtedy ręcznie wyliczać podanych wartości.

Dużym ułatwieniem przy wyznaczaniu powyższych danych jest fakt, iż nie

muszą one zawsze odpowiadać wartościom rzeczywistym; ważniejsze jest podanie np.
w korektorach narzędziowych wartości odpowiadającym różnicom wymiarów
narzędzi niż ich rzeczywistym wymiarom.

Rozpatrzmy zatem dwa przykłady, w których użyto dwa narzędzia, przy czym

w pierwszym znane są rzeczywiste długości narzędzi (rys.20.), w drugim natomiast są
one większe, ale zachowana została ich różnica (rys. 21.).

M

W

F

Z

W

X

W

Z

M

=Z

B

X

M

=X

B

L2

T1

L2

T2

L2

T1

= 50

L2

T2

= 100

Rys. 20. Przykład I – rzeczywiste długości narzędzi

M

W

F

Z

W

X

W

Z

M

=Z

B

X

M

=X

B

L2

T1

L2

T2

L2

T1

= 70

L2

T2

= 120

Rys. 21. Przykład II – Zwiększone długości narzędzi

background image

Narzędzia T1 w obu przykładach użyto do wyznaczenia wartości przesunięcia

punktu zerowego, w wyniku czego uzyskano dwie różne wartości tego przesunięcia
(rys. 22. i 23.).

M

W

F

Z

W

X

W

Z

M

=Z

B

X

M

=X

B

Z

MKS

= 500

Z

WKS

= 0

L2

T1

= 50

Z

PPZ

= 500 - 0 -50 =

450

Z

MKS

Z

PPZ

L2

T1

Rys. 22. Wyznaczanie przesunięcia punktu zerowego dla przykładu I

M

W

F

Z

W

X

W

Z

M

=Z

B

X

M

=X

B

Z

MKS

= 500

Z

WKS

= 0

L2

T1

= 70

Z

PPZ

= 500 - 0 -70 =

430

Z

MKS

Z

PPZ

L2

T1

Rys. 23. Wyznaczanie przesunięcia punktu zerowego dla przykładu II

Jeżeli teraz w układzie przedmiotu (WKS) zadamy położenia narzędzia T2 na

Z

WKS

= 100 to dla obu przykładów uzyskamy następujące położenia punktu F

w układzie maszynowym (rys. 24. i 25.).

background image

M

W

F

X

W

Z

M

=Z

B

X

M

=X

B

Z

MKS

Z

PPZ

L2

T2

Z

WKS

= 100

L2

T2

= 120

Z

PPZ

=

430

Z

MKS

= 120 +

430

+ 100 =

650

Z

WKS

Rys. 24. Ustalanie położenia narzędzia w układzie WKS dla przykładu I

M

W

F

X

W

Z

M

=Z

B

X

M

=X

B

Z

MKS

Z

PPZ

L2

T2

Z

WKS

= 100

L2

T2

= 100

Z

PPZ

=

450

Z

MKS

= 100 +

450

+ 100 =

650

Z

WKS

Rys. 25. Ustalanie położenia narzędzia w układzie WKS dla przykładu II

Jak łatwo zauważyć, w obu przykładach uzyskano te same wartości

współrzędnej Z

MKS

, co przy identycznym położeniu przedmiotu obrabianego,

identycznych narzędziach i identycznym położeniu układu przedmiotu (WKS) jest
zrozumiałe, choć zostało uzyskane przy różnych wartościach korektorów
narzędziowych i przesunięć punktów zerowych. Wniosek jest zatem następujący (co
jest też widoczne na powyższych rysunkach): niedokładność pomiaru długości
narzędzi została skompensowana położeniem punktu zerowego W.

background image

2. S

TRUKTURA PROGRAMU STERUJĄCEGO

Operacja obróbki jest ciągiem ruchów wykonywanych przez narzędzie

względem przedmiotu obrabianego. Program sterujący jest więc ciągiem instrukcji
kodujących te ruchy poprzez zapis współrzędnych, uzupełnionych instrukcjami
o charakterze technologicznym. Zapis elementarnego ruchu jest nazywany blokiem
(czasami też zdaniem), przy czym blok może również zawierać inne zapisy, potrzebne
do wykonania ruchu (np. wymiana narzędzia czy ustalenie parametrów obróbki).
Program sterujący (zwany też programem głównym) jest zatem ciągiem bloków,
najczęściej zapisywanych w edytorze w oddzielnych liniach (co nie jest wymagane
przez układ sterowania):

Blok_1
Blok_2
....
Blok_n
M30/M2

Blok jest przez układ sterowania traktowany jako pewna całość (nazywany jest

też zdaniem programu), w całości czytanym z programu sterującego,
analizowanym i wykonywanym
. O kolejności wykonania bloków decyduje ich
kolejność w programie sterującym, o ile nie są stosowane zaawansowane techniki
programowania, np. skoki czy pętle. Ostatni blok, zawierający zapis M30 lub M2
oznacza zakończenie wykonywania programu głównego.

W niektórych układach sterowania wymagane są jeszcze dwa dodatkowe

elementy programu: nagłówek pliku programu (pierwszy blok programu)
i zakończenie pliku programu. Np. dla układu Heidenhain nagłówek programu ma
postać:

BEGIN PGM nazwa_programu MM

a zakończenie:

END PGM nazwa_programu MM

Taki wymóg wynika z tego, iż plik programu może zawierać oprócz programu
głównego również inne elementy, np. podprogramy.

Blok też jest strukturą złożoną, składającą się ze słów, które pozwalają na

wykonanie elementarnych funkcji układu sterowania:

Słowo_1 Słowo_2 .... Słowo_m LF

Kolejność słów w bloku nie ma znaczenia (z pewnymi wyjątkami), ponieważ

analiza treści bloku jest realizowana w stosunku do całego bloku, a nie jego
pojedynczych elementów. Ostatnim elementem bloku jest znak końca bloku (LF). Ma
on decydujące znaczenie dla układu sterowania, który zawsze czyta program z pamięci
sekwencyjnie od początku bloku do znaku końca bloku, niezależnie czy na ekranie
monitora blok zajmuje jedną, dwie lub więcej linii – zależy to od wielkości ekranu
i ustawień wyświetlania programu (dlatego nie należy mylić linii programu

background image

z blokiem programu). Graficznie znak końca bloku może mieć różną postać, może
też być wyłączone jego wyświetlanie (nie jest to zalecane).

Słowo z kolei składa się na ogół z dwóch elementów: Adresu i Wartości.

Adres należy rozumieć jako nazwę elementarnej funkcji układu sterowania, natomiast
wartość – argumenty tej funkcji (stąd istnieją też słowa składające się tylko z adresu –
funkcje bezparametryczne). Zapis słowa może być różny, w zależności od rodzaju
adresu. Można tu wyróżnić:
1. Słowa proste, gdzie adresy składają się z jednej, dużej litery alfabetu łacińskiego;

wtedy wartość pisze bezpośrednio po adresie, np. M30.

2. Słowa złożone, gdzie adresy składają się z kilku dużych liter alfabetu łacińskiego;

wtedy wartość pisze się po znaku „=”, np. AP=30.

3. Słowa rozszerzone, odnoszące się np. do wrzeciona o danym numerze (wtedy

numer ten jest rozszerzeniem słowa); wtedy bezpośrednio po adresie występuje
rozszerzenie, po nim znak „=”, a po nim wartość adresu, np. S2=300 (słowo odnosi
się do wrzeciona nr 2).

4. Słowa z wartością pośrednią (np. za pomocą tzw. R-parametrów) wymagają po

adresie znaku „=”, np. X=R20. Szerzej ten temat jest omawiany w dalszej części.

Zapis wartości słowa podlega następującym zasadom:
1. Niektóre adresy wymagają wartości całkowitej lub naturalnej wartości (np.

określające numer narzędzia), pozostałe mogą mieć wartość rzeczywistą.

2. Separatorem dziesiętnym jest znak kropki „.”, np. X23.6
3. Wartości dodatnie na ogół nie wymagają podania znaku „+”, choć podanie go nie

jest błędem, np. X+23.6.

4. Wartości ujemne wymagają wprowadzenia znaku „-”, np. X-23.6.
5. Precyzja podawania części ułamkowej jest zależna od układu sterowania, na ogół

wartości adresów można podawać z dokładnością do 3 lub 4 miejsc po przecinku,
np. X.23.678.

6. Jeżeli część całkowita jest równa 0 to można ją opuścić, np. F.2 oznacza dokładnie

to samo co F0.2.

7. Można zaznaczyć, iż wartość jest typu rzeczywistego, choć część ułamkowa jest

równa zero przez pominięcie tej części z pozostawieniem kropki dziesiętnej, np.
X23.

2.1. Podstawowe adresy

Zestaw podstawowych adresów obejmuje przede wszystkim adresy proste.

Najważniejsze z nich dla układu Sinumerik 840D to:
A, B, C – wartości współrzędnych w osiach obrotowych A, B i C
D – numer rejestru narzędziowego
F – programowanie posuwu/czasu postoju
G – funkcje przygotowawcze
H – funkcje dodatkowe
I, J, K – parametry interpolacji w osiach odpowiednio X, Y i Z
L – wywołanie podprogramu
M – funkcje pomocnicze (maszynowe)

background image

N – numer bloku
P – krotność wywołania podprogramu
R – programowanie z wykorzystaniem R-parametrów
S – programowanie obrotów wrzeciona/prędkości skrawania/czasu postoju
T – ustawienie narzędzia w magazynie narzędziowym
X, Y, Z – wartości współrzędnych w osiach odpowiednio X, Y, Z

Większość adresów zostanie szczegółowo omówiona w dalszej części, jedynym

adresem, który nie jest objęty dokumentacją producenta układu sterowania, jest adres
H. Jest on zarezerwowany do użytku producentów obrabiarek (często łącznie
z

adresem M), którzy mogą z niego korzystać przy oprogramowaniu

niestandardowych funkcji swoich produktów. Zatem ich opisu należy poszukiwać
w dokumentacji techniczno-ruchowej konkretnej obrabiarki.

Przy programowaniu obowiązuje zasada, iż adres może wystąpić dokładnie

jeden raz w bloku (nie dotyczy jedynie adresów G i M). W przeciwnej sytuacji
generowany jest błąd.

2.2. Numer bloku N

Jest on jedynym adresem, który ma stałe miejsce w bloku – zawsze musi być

pierwszym adresem w bloku. Numer bloku nie wywołuje żadnej czynności obrabiarki,
jest tylko pewną etykietą (opisem) bloku, w którym się znajduje. Mimo to jest
zalecane stosowanie numerowania bloków. Jest to podyktowane kilkoma
okolicznościami:
1. Podczas edycji obszernych programów numer bloku informuje

operatora/programistę czy jest na początku, końcu czy w środku programu.

2. Numer bloku pozwala szybko wyszukać ten blok w edytorze programów.
3. Przy wystąpieniu błędu na ogół układ sterowania podaje również numer bloku,

w którym ten błąd wystąpił – szybsza diagnostyka błędów.

4. Istnieje funkcja rozpoczynania programu nie od początku, ale od wyszukanego

w programie elementu, najczęściej jest nim właśnie numer bloku.

5. Możliwe jest wpływanie na wykonanie bloku przez uczynienie go blokiem

warunkowym, tzn. poprzez poprzedzenie adresu N znakiem „/”. Blok warunkowy
jest wykonywany, jeżeli z poziomu pulpitu układu sterowania jest nieaktywna
funkcja SKIP BLOCK. Jeżeli funkcja ta jest aktywna – blok warunkowy nie jest
wykonywany. Daje to prostą metodę na realizację programu wielowariantowego.

Numerowanie bloków może odbywać się na dowolnych, określonych przez

programistę zasadach. Jednak najczęściej numeruje się bloki rosnąco, co określoną
wartość, np. co 5 czy 10. Zawsze istnieje możliwość przenumerowania bloków
programu, o ile dodano lub usunięto z programu jakieś bloki, co zakłóciło istniejącą
numerację.

Przykład programu z numerami bloków:

N05 G54 G71
/N10 T1 D1

blok warunkowy

N15 X90 Y20

background image

2.3. Funkcje przygotowawcze

Są to jedne z najważniejszych adresów. Choć same nie wywołują żadnych

czynności obrabiarki, to ich zadaniem jest interpretowanie znaczenia innych
adresów
. Np. sam zapis X10, odnoszący się do współrzędnej w osi X nie jest
jednoznaczny, nie wiadomo dokładnie co powinien spowodować. Wynika to dopiero
z użytych funkcji przygotowawczych. Wśród funkcji przygotowawczych są również
takie, które mają inny adres niż G.

Funkcje przygotowawcze mają specyficzne działanie i dlatego też specyficzna

jest ich organizacja. Ogólnie adresy używane w układzie sterowania dzielą się na dwie
grupy:
1. Adresy modalne (globalne), obowiązujące w programie aż do ich odwołania – są

aktywne w bloku nawet, jeżeli w tym bloku nie są wywoływane;

2. Adresy niemodalne (lokalne), obowiązujące tylko dla bloku w którym zostały

wywołane, lub adresu z którym występują – nie ma konieczności ich odwoływania.
Funkcje przygotowawcze modalne zostały ponadto podzielone na grupy funkcji

o zbliżonym działaniu, przy czym obowiązują dla nich następujące zasady:
1. Tylko jedna funkcja z grupy może być aktywna.
2. Wywołanie jednej funkcji z grupy automatycznie odwołuje działanie dotychczas

aktywnej funkcji.

3. W jednym bloku możliwe jest wywołanie tylko jednej funkcji danej grupy –

w jednym bloku można co najwyżej użyć tylu funkcji G, ile jest grup funkcji G.

4. Zawsze jest aktywna jakaś funkcja danej grupy – na układzie sterowania producent

obrabiarki wstępnie aktywuje domyślne funkcje z każdej grupy funkcji G
modalnych. Nie jest zatem konieczne przywoływanie w programie domyślnej
funkcji danej grupy – jest ona już aktywna w momencie rozpoczęcia działania
programu.

Omawiane w dalszej części funkcje przygotowawcze będą zawsze w jednej

grupie, przy czym zostanie wskazana zawsze funkcja (za pomocą *), która na ogół jest
funkcją wstępnie aktywną. Nie jest to zawsze spełnione, należy zawsze na układzie
sterowania sprawdzić listę aktywnych funkcji przygotowawczych – może się różnić od
podanej w niniejszej instrukcji.

2.3.1.

Jednostki wymiarów

G70

programowanie w jednostkach dodatkowych

G71*

programowanie w jednostkach podstawowych [mm]

Funkcje G70, G71 (rys. 26.) odnoszą się do wymiarów geometrycznych,

programowanych pod adresami X, Y, Z, I, J, K oraz dodatkowymi adresami, np.
promieniami zaokrągleń itp. Za podstawowa jednostkę przyjęto mm, natomiast za
dodatkową cal. Można dokonać zmiany jednostek dodatkowych przez zmianę
współczynnika, przez który dzielone są wartości wymiarów – domyślnie wynosi on
25,4.

Podane funkcje nie wpływają na jednostki posuwu (może być wyrażony

w

mm/min lub w calach/min), ustalone przez dane maszynowe z pulpitu

background image

operatorskiego. Nie wpływają również na jednostki wartości korekcyjnych narzędzi
(wyrażonych w mm)

X

Y

60

20

1

2

G71 X20 Y60

W

X

Y

60

20

1

2

W

G70 X0.878 Y2.362

Rys. 26. Współrzędne w jednostkach podstawowych i dodatkowych

2.3.2.

Rodzaj wymiarowania

G90*

programowanie absolutne

G91 programowanie

przyrostowe*

W programowaniu absolutnym (rys. 27.) wartość wymiaru odnosi się do

aktualnego położenia punktu zerowego układu współrzędnych. W programowaniu
przyrostowym wartość wymiaru odnosi się do aktualnego położenia narzędzia – jest
ono traktowane jako chwilowe położenie punktu zerowego układu współrzędnych.

X

Y

20

20

1

2

G90 X20 Y60

W

X

Y

1

2

W

G91 X-30 Y40

50

60

50

40

30

Rys. 27. Współrzędne w układzie absolutnym i przyrostowym

Oprócz funkcji modalnych programowania absolutnego/przyrostowego

w języku Sinumerik 840D istnieją funkcje niemodalne, odnoszące się do
pojedynczych adresów (rys. 28.):

background image

AC

programowanie absolutne

IC

programowanie przyrostowe

Mogą one zostać użyte zarówno w stosunku do adresów wyrażających

współrzędne liniowe, jak i kątowe (np. w programowaniu biegunowym – patrz dalsza
część instrukcji).

X

Y

1

2

G90 X=IC(-30) Y60

W

X

Y

1

2

W

G91 X-30 Y=AC(60)

50

60

50

30

30

60

Rys. 28. Mieszany sposób podawania współrzędnych w układzie absolutnym i przyrostowym

2.3.3.

Wymiarowanie średnicowe/promieniowe

DIAMON

wymiary w osi X podane średnicowo

DIAMOF

wymiary w osi X podane promieniowo

DIAM90

wymiary w osi średnicowo dla G90, promieniowo dla G91

Wymiarowanie średnicowe (rys. 29.) jest charakterystyczne dla tokarek i tam

funkcja DIAMON jest domyślnie aktywowana, wymiarowanie promieniowe z kolei
aktywne jest dla frezarek.

Z

X

1

DIAMOF Z20 X60

W

Z

X

1

2

W

DIAMON Z20 X120

20

60

20

60

2

Rys. 29. Wymiarowanie średnicowe i promieniowe

background image

2.3.4.

Programowanie we współrzędnych biegunowych

Oprócz współrzędnych prostokątnych (kartezjańskich) dostępne są inne rodzaje

wymiarowania, przede wszystkim wymiarowanie we współrzędnych biegunowych.
Ten rodzaj wymiarowania wymaga określenia w pierwszej kolejności położenia
bieguna. Do tego celu służą następujące funkcje (rys.30.):
G110

programowanie bieguna względem ostatniego położenia narzędzia
(przyrostowo, niezależnie od funkcji G90/G91).

G111

programowanie absolutne położenia bieguna (niezależnie od funkcji
G90/G91).

G112

programowanie bieguna względem ostatniego położenia bieguna
(przyrostowo, niezależnie od funkcji G90/G91).

Należy pamiętać, że domyślne położenie bieguna to punkt zerowy aktualnego

układu współrzędnych.

X

Y

50

G111 X50 Y50

50

B

Y

20

G110 X20 Y25

25

B

X

Y

20

G112 X20 Y25

25

B2

B1

X

Rys. 30. Programowanie położenia bieguna dla wymiarowania biegunowego

Po zaprogramowaniu położenia bieguna (w oddzielnym bloku) można

wykorzystać współrzędne biegunowe (rys. 31. i 32.) – promień (pod adresem RP)
i kąt wodzący (pod adresem AP), przy czym adresy te są modalne, o domyślnych

background image

wartościach równych 0. Mogą być programowane absolutnie (domyślnie) lub
przyrostowo (za pomocą funkcji niemodalnej IC).

Uwaga !!! Programowanie współrzędnych biegunowych zawsze dotyczy

aktualnej płaszczyzny układu współrzędnej, programowanej adresem G17/G18/G19
(patrz dalej).

X

Y

50

N05 G111 X50 Y50
N10 G0 RP=25 AP=-135
N15 G1 AP=135

N05

R25

135

°

90

°

N15

N10

50

Rys. 31. Programowanie współrzędnych w układzie biegunowym

X

Y

50

N05 G111 X50 Y50
N10 G0 RP=25 AP=-135
N15 G0 AP=IC(-90)

50

R25

N05

135

°

90

°

N10

N15

Rys. 32. Przyrostowe programowanie kąta we współrzędnych biegunowych

Programowanie z użyciem współrzędnych kątowych jest możliwe przy użyciu

adresu ANG (rys. 33.), przy czym musi być znana wartość jednej współrzędnej
programowanego punktu – druga jest obliczana przez układ sterowania jako punkt
przecięcia dwóch prostych: pierwszej, przechodzącej przez punkt początkowy toru
narzędzia, nachylonej do osi odciętej układu współrzędnych pod kątem, danym przez
adres ANG, i drugiej, równoległej do osi odciętej lub rzędnej (w zależności od
współrzędnej, która jest adresowana w bloku).

background image

X

Y

60

20

100

1

2

G90 G1 Y60 ANG=150

150

X

Y

20

20

100

1

2

G90 G1 X20 ANG=150

150

Rys. 33. Programowanie współrzędnych przy użyciu kąta i współrzędnej liniowej

2.3.5.

Płaszczyzna interpolacji

G17

ustalenie płaszczyzny XY jako płaszczyzny interpolacji

G18

ustalenie płaszczyzny ZX jako płaszczyzny interpolacji

G19

ustalenie płaszczyzny YZ jako płaszczyzny interpolacji

Funkcje te precyzują płaszczyznę bieżącego układu współrzędnych traktowaną

jako aktualną (rys. 34.). Wymagane jest to dla funkcji działających tylko na
płaszczyźnie (np. programowanie biegunowe, interpolacja kołowa itp.). Dla tokarek
domyślną funkcją jest G18, dla frezarek G17.

background image

Z

Y

X

G17

G19

G18

Rys. 34. Położenia płaszczyzn interpolacji

2.3.6.

Programowanie parametrów technologicznych

Do parametrów technologicznych należą posuw (F) i prędkość skrawania (S).

W układzie Sinumerik 840D do programowania wymiaru tych wielkości służą
funkcje, należące do jednej grupy funkcji przygotowawczych.

Do programowania rodzaju posuwu służą następujące funkcje:

G93

odwrotność czasu trwania bloku – F [1/s]

G94

posuw minutowy – F [mm/min]

G95

posuw obrotowy – F [mm/obr]

W praktyce posuw minutowy (G94) jest używany na frezarkach, posuw

obrotowy (G95) na tokarkach.

Do programowania prędkości skrawania/prędkości obrotowej służą następujące

funkcje:
G96

włączenie stałej prędkości skrawania – S [m/min]

G961

włączenie stałej prędkości skrawania – S [m/min]

G97

wyłączenie stałej prędkości skrawania – S [obr/min]

G971

wyłączenie stałej prędkości skrawania – S [obr/min]

Domyślnym rodzajem pracy jest stała prędkość obrotowa wrzeciona vS

[obr/min] (podobnie jak dla obrabiarek konwencjonalnych). Włączanie i wyłączanie
stałej prędkości skrawania n (zmienna wartość prędkości obrotowej) jest w praktyce
używane na tokarkach. Zależność pomiędzy obu prędkościami jest ogólnie znana:

G96

2

1000

G97

1000

2

=

=

r

v

n

n

r

v

π

π

Wartość promienia toczenia d w powyższym wzorze jest równa odległości

punktu kodowego P narzędzia od osi wrzeciona (mierzona w układzie maszynowym
MKS). Stała prędkość obrotowa jest używana przede wszystkim na frezarkach. Na
tokarkach jest używana przy takich zabiegach jak wiercenie osiowe, toczenie gwintu,
przecinanie, toczenie rowków. Stała prędkość skrawania na tokarkach jest stosowana
przed wszystkim przy toczeniu i wytaczaniu (uzyskanie dobrej jakości powierzchni).

background image

We wzorze na prędkość obrotową wrzeciona n przy stałej prędkości skrawania

v w mianowniku występuje wartość promienia r. Jeżeli narzędzie zbliża się do osi to
maleje r i rosną obroty n (rozbieganie wrzeciona). Stan ten może być niebezpieczny
(np. ze względu na zastosowany uchwyt). Dlatego konieczne jest ograniczanie
obrotów wrzeciona. Dopuszczalne obroty wrzeciona ograniczone są przez:
1. Maksymalne obroty silnika napędzającego wrzeciono
2. Wartość maksymalną i minimalną obrotów wrzeciona, zadawanych z pulpitu

operatorskiego lub przez funkcje G25, G26:

G25

minimalne obroty wrzeciona (programowane pod adresem S)

G26

maksymalne obroty wrzeciona (programowane pod adresem S)

Np.

N05 G25 S100
N10 G25 S3000

3. Maksymalne obroty wrzeciona przy stałej prędkości skrawania (G96),

programowane pod adresem LIMS, np.

N10 LIMS=2000
Należy pamiętać, że maksymalne obroty wrzeciona, programowane przez adres

LIMS nie mogą być większe niż te, programowane przez adres G26.

Ponieważ adresy w omawianej grupie wpływają zarówno na interpretację

adresu F, jak i S, obowiązują tu pewne powiązania aktywności adresów. Są one
następujące:

Adres aktywny Stan jak przy adresie

S

F

G93

G97

[obr/min]

[1/s]

G94

G97

[obr/min] [mm/min]

G95

G97

[obr/min]

[mm/obr]

G96

G95

[m/min]

[mm/obr]

G961

G94

[m/min]

[mm/min]

G97

G95

[obr/min]

[mm/obr]

G971

G94

[obr/min] [mm/min]

2.3.7.

Programowanie punktów zerowych

Wybór punktu zerowego aktualnego układu współrzędnych jest realizowany za

pomocą następujących funkcji:
G500

programowanie względem punktu maszynowego M (adres modalny)

G54

programowanie względem 1. punktu zerowego przedmiotu W

G55*

programowanie względem 2. punktu zerowego przedmiotu W

G56

programowanie względem 3. punktu zerowego przedmiotu W

G57

programowanie względem 4. punktu zerowego przedmiotu W

Współrzędne czterech podstawowych punktów zerowych przedmiotu są

wprowadzane z pulpitu operatorskiego. Możliwe jest użycie dodatkowych punktów
zerowych (5., 6.,...,99.), programowanych pod adresami G505, G506,..., G599, przy
czym muszą one zostać uaktywnione. Użycie adresów programowania punktów

background image

zerowych jest równoważne z kasowaniem wszelkich transformacji układów
współrzędnych (FRAMES) – patrz dalsza część instrukcji.

Dodatkowo, przewidziano niemodalną funkcję G53 programowania względem

punktu maszynowego M (aktywna w danym bloku, w bloku następnym aktywna
funkcja z omawianej grupy – nie jest konieczne ponowne jej przywoływanie).

2.3.8.

Programowanie transformacji układu współrzędnych (FRAMES)

Funkcje niemodalne tej grupy służą do definiowania transformacji układu

współrzędnych, muszą zatem być programowane w oddzielnym blokach. Są to:
TRANS

programowe przesunięcie bieżącego układu współrzędnych

ATRANS

programowe przyrostowe przesunięcie bieżącego układu współrzędnych

ROT

programowy obrót bieżącego układu współrzędnych

ATRANS

programowy przyrostowy obrót bieżącego układu współrzędnych

MIRROR

programowe lustrzane odbicie bieżącego układu współrzędnych

AMIRROR programowe przyrostowe lustrzane odbicie bieżącego układu

współrzędnych

SCALE

programowe skalowanie bieżącego układu współrzędnych

ASCALE

programowe przyrostowe skalowanie bieżącego układu współrzędnych

Szerzej funkcje te zostaną omówione w dalszych rozdziałach.

2.3.9.

Programowanie ograniczenia obszaru roboczego

Z uwagi na możliwość wystąpienia kolizji narzędzia z elementami obrabiarki

(uchwyt, konik itp.) wprowadzono funkcję ograniczenia obszaru roboczego, w którym
może przemieszczać się narzędzie. Poruszanie się poza tym obszarem jest blokowane
przez układ sterowania. Obszar roboczy może też być definiowany z poziomu pulpitu
operatorskiego. Do programowania ograniczenia obszaru roboczego są stosowane
następujące funkcje (rys. 35.):
G25

dolne ograniczenie obszaru roboczego

G26

górne ograniczenie obszaru roboczego

background image

M

Z

M

=Z

B

X

M

=X

B

G26 Z400 X200

G25 Z200 X-100

Rys. 35. Programowanie ograniczenia obszaru roboczego

Ograniczenie obszaru roboczego jest programowane we współrzędnych

bazowego układu współrzędnych.

Ponadto, ograniczenie obszaru roboczego można uaktywniać i deaktywować za

pomocą funkcji przygotowawczych:
WALIMON*

włączenie ograniczania obszaru roboczego

WALIMOF

wyłączenie ograniczania obszaru roboczego

Czynności te mogą również być wykonane z poziomu pulpitu operatorskiego.

2.3.10. Programowanie toru ruchu narzędzia

Jednym z elementów programowania ruchu narzędzi jest określenie ich toru

(nazywanego interpolacją). Do tego celu służą następujące funkcje:
G0

interpolacja punktowa

G1*

interpolacja liniowa

G2

interpolacja kołowa zgodna z ruchem wskazówek zegara

G3

interpolacja kołowa przeciwna do ruchu wskazówek zegara

CIP

interpolacja kołowa przez punkt pośredni

CT

interpolacja kołowa styczna

G33

interpolacja spiralna o stałym skoku

G34

interpolacja spiralna o rosnącym skoku skoku

G35

interpolacja spiralna o malejącym skoku skoku

G331

interpolacja śrubowa

G332

interpolacja śrubowa (wycofanie)

Szerzej funkcje te zostaną omówione w dalszych rozdziałach.

2.3.11. Programowanie kompensacji promienia narzędzia

Kompensacja promienia narzędzia jest istotnym składnikiem programowania

obróbki na obrabiarki CNC. Szerzej ten problem został omówiony w dalszych

background image

rozdziałach. W tym miejscu zostały jedynie przedstawione funkcje przygotowawcze
(należące do kilku grup), sterujące tym procesem.

Włączanie i wyłączanie kompensacji (grupa funkcji modalnych):

G40*

wyłączenie kompensacji promienia narzędzia

G41

włączenie kompensacji promienia narzędzia po lewej stronie konturu

G42

włączenie kompensacji promienia narzędzia po prawej stronie konturu

Sterowanie torem ruchu przy rozpoczęciu i zakończeniu kompensacji (grupa

funkcji niemodalnych):
G147

miękkie dosunięcie po prostej

G247

miękkie dosunięcie po ćwierćokręgu

G247

miękkie dosunięcie po półokręgu

G148

miękkie odsunięcie po prostej

G248

miękkie odsunięcie po ćwierćokręgu

G248

miękkie odsunięcie po półokręgu

Sterowanie torem ruchu przy rozpoczęciu i zakończeniu kompensacji (grupa

funkcji modalnych):
NORM*

Rozpoczęcie/zakończenie kompensacji bez obejścia punktu
początkowego/końcowego konturu

KONT

Rozpoczęcie/zakończenie kompensacji z obejściem punktu
początkowego/końcowego konturu

Sterowanie zachowaniem się na narożach konturu (grupa funkcji modalnych):

G450*

Obejście punktu narożnego po promieniu

G451

Obejście punktu narożnego do punktu przecięcia odcinków konturu

2.3.12. Programowanie postoju czasowego

W pewnych sytuacjach istnieje konieczność chwilowego wstrzymania obróbki,

tzn. zatrzymania posuwu przy włączonym wrzecionie (np. w celu usunięcia wiórów).
Do tego służy funkcja G4. Jest to funkcja niemodalna, programowana w oddzielnym
bloku. Wartość postoju czasowego jest programowana pod adresem F lub S.
G4 F

programowanie postoju czasowego w [s]

G4 S

programowanie postoju czasowego w obrotach wrzeciona [obr]

Ta ostatnia opcja pośrednio programuje czas postoju, odnosząc go do

aktualnych obrotów wrzeciona. Np.:

N05 G4 F1

postój 1 [s]

N05 G95 S500
N10 G4 S10

postój 10 [obr];
czas postoju = 10 [obr] / 500 [obr/min] = 0.02 [min] =
1.2 [s]

2.4. Funkcje pomocnicze (maszynowe) M

Ta grupa funkcji jest przeznaczona (lub kiedyś była) do bezpośredniej obsługi

urządzeń obrabiarki, najczęściej na zasadzie włącz-wyłącz, wsuń-wysuń itp. Ich
działanie odnosi się zatem także do osi dyskretnych obrabiarki. Część z tych funkcji

background image

jest standardowa, większość jednak (w połączeniu także z adresem H) służy do obsługi
specyficznych dla danej obrabiarki urządzeń. Stąd dokładnego opisu funkcji M należy
poszukiwać w dokumentacji techniczno-ruchowej. Istnieje ograniczenie liczby funkcji
pomocniczych w jednym bloku. W układzie sterowania Sinumerik 840D jest to max. 5
funkcji M. Do najczęściej stosowanych standardowych funkcji pomocniczych należą:
M0

bezwarunkowe zatrzymanie wykonania programu

M1

warunkowe zatrzymanie wykonania programu

Zatrzymanie wykonania programu oznacza, że następuje wyłączenie posuwu

i obrotów wrzeciona po wykonaniu bloku z funkcją M0/M1, po czym możliwa jest
ingerencja operatora w przestrzeń roboczą obrabiarki (np. w celu wykonania
pomiarów). Ponowne uruchomienie programu powoduje wykonywanie bloków po
bloku z funkcją zatrzymania.

Różnica pomiędzy zatrzymanie warunkowym a bezwarunkowym polega na

tym, iż dla bezwarunkowe zatrzymanie wykonania programu jest respektowane
zawsze, natomiast dla warunkowego jest zależne od funkcji sterującej, ustawianej
z pulpitu operatorskiego.

M2

zakończenie wykonywania programu głównego

M17

zakończenie wykonywania podprogramu

M30

zakończenie wykonywania programu głównego

Funkcje M2 lub M30 (o identycznym działaniu) powodują, że zostaje

zakończona analiza i wykonywanie bloków programu głównego, nawet jeżeli po bloku
z tymi funkcjami są jeszcze jakieś bloki w programie sterującym. Na ogół jednak
funkcje te znajdują się w ostatnim bloku programu. Podobne działanie ma funkcja
M17.

M3

włączenie prawych obrotów wrzeciona

M4

włączenie lewych obrotów wrzeciona

M5*

wyłączenie obrotów wrzeciona

Przed zaprogramowaniem włączenie obrotów należy zadać wartość prędkości

obrotowej (adres S). Prawe obroty wrzeciona oznaczają, iż patrząc w kierunku
dodatnim osi Z (od tyłu wrzeciennika) wrzeciona obraca się zgodnie z ruchem
wskazówek zegara. Dla obrotów lewych jest odwrotny kierunek. Konieczność
włączenia lewych bądź prawych obrotów wynika z usytuowania narzędzia względem
przedmiotu obrabianego i rodzaju tego narzędzia.

M6

wymiana narzędzia

Efektem działania tej funkcji jest pobranie narzędzia z magazynu

narzędziowego i zamocowanie go w gnieździe narzędziowym, w którym znajduje się
podczas obróbki tym narzędziem. Jednocześnie narzędzie dotychczas tam się
znajdujące zostaje przeniesione do magazynu narzędziowego (sterowanie
zmieniaczem narzędzi). Czasami procedura wymiany narzędzi jest zapisana w postaci
podprogramu (opis w dokumentacji techniczno-ruchowej).

M8

włączenie pompki chłodziwa

M9*

wyłączenie pompki chłodziwa

background image

2.5. Inne elementy w programie sterującym

Dla zwiększenia czytelności programu sterującego często umieszcza się w nim

komentarze, tj. pewne opisy słowne, które nie są analizowane przez układ sterowania.
W języku Sinumerik 840D komentarzem jest zawartość bloku po znaku „;” aż do
końca bloku, np.

N05 ; to jest blok z komentarzem

W programach, w których stosuje się instrukcje strukturalne (pętle, rozgałęzienia)
występują często etykiety bloków. Etykieta jest to ciąg znaków alfanumerycznych
(zabronione jest używanie niektórych znaków – dokładne informacji w dokumentacji
języka sterowania), zakończonych znakiem „:”, znajdujących się na początku bloku.
Dzięki temu jest możliwe wykonywanie skoków do bloków opatrzonych takimi
etykietami (dokładniej zostanie to omówione w dalszej części instrukcji), np.

ETYKIETA1: G0 X100 Y100 ; to jest blok z etykietą
....
N100 GOTOB ETYKIETA1 ; skok do bloku o podanej etykiecie

2.6. Ogólna struktura bloku

Choć, jak wspomniano wcześniej, kolejność adresów w bloku nie ma

większego znaczenia dla układu sterowania, na ogół przyjmuje się pewne
uporządkowanie adresów w bloku. Wzorcowy blok może zatem mieć następującą
postać:

N35 G90 G1 X100 Y100 F100 S500 T12 D1 M8 M4 LF

Gdzie kolejno umieszczane są w nim:

– numer bloku (N)
– funkcje przygotowawcze (G)

– współrzędne (adresy geometryczne X, Y, Z i inne)

– parametry technologiczne (F, S)
– funkcje narzędziowe (T, D)
– funkcje pomocnicze (M)

Choć wcześniej wspomniano, iż blok jest w całości czytany z programu,

analizowany i realizowany, to w rzeczywistości istnieje pewien priorytet
wykonywania czynności, zaprogramowanych w bloku, np. wymiana narzędzia,
ustawienie parametrów technologicznych, włączenie obrotów wrzeciona i wykonanie
zaprogramowanego ruchu narzędziem, przy czym ruchy we wszystkich osiach
sterowanych numerycznie (X, Y, Z) są wykonywane jednocześnie.

Przedstawiony powyżej blok może mieć również inną postać, np.:

N35 S500 G1 M8 X100 F100 T12 G90 D1 M4 Y100 LF

Ale taką postać bloku trudno zrozumieć i zanalizować.

Prezentowana kompletna struktura bloku na ogół jest rzadko używana, najczęściej

w bloku występują tylko te adresy, które w danym bloku ulegają zmianie.

background image

2.7. Ogólna struktura programu sterującego

Podobnie jak miało to miejsce dla bloku, również dla całego programu

sterującego można wskazać preferowaną strukturę, choć oczywiście w praktyce można
się spotkać z wieloma różnymi stylami treści programu sterującego. Taka uogólniona
struktura programu może zatem wyglądać następująco:

;PROGRAM OBRÓBKI CZĘŚCI 01-098-67
N5 G71 G90 G95 G54 DIAMOF KONT G450
;TOCZENIE ZGRUBNE
N10 T1 D1 S1500 F200 M6
N15 G0 X100 Y100
N20 G1 X150
N25 Y120
......................................
;KONIEC OBRÓBKI
N500 G53 T0 D0 G0 X500 Y600 Z450
N505 M30

Na początku programu powinna być umieszczona informacja o tym programie

– opis przedmiotu obrabianego, nr rysunku, data utworzenia programu, nazwisko
programisty itp. Początkowe bloki programu powinny zawierać wywołanie
najważniejszych funkcji przygotowawczych (G), sterujących interpretacją programu
(blok N5). Takie wywołanie, choć większość z tych funkcji już na starcie programu
powinna być aktywowana przez układ sterowania, pozwala na lepsze zrozumienie
programu. Może się także zdarzyć, iż na danej obrabiarce ustawienia domyślne funkcji
przygotowawczych są inne niż standardowe.

Przed ciągiem bloków, programujących jakiś wyodrębniony fragment operacji

(np. obróbka jednym narzędziem) zaleca się umieszczenie opisu tego fragmentu.
Rozpoczynając obróbkę nowym narzędziem wyodrębnia się bloki przywołujące to
narzędzie i parametry technologiczne. Dopiero kolejne bloki zawierają instrukcje
geometryczne, sterujące obróbką. Zaleca się podawać tylko te współrzędne, których
wartości się zmieniają. Stanowczo należy wystrzegać się programowania
współrzędnych przed przywołaniem punktów zerowych i korektorów
narzędziowych
– grozi to kolizją przy wymianie narzędzi.

Na zakończenie programu powinno się zaprogramować zjazd zespołów

ruchomych obrabiarki do pewnego stałego punktu, pozwalającego na bezpieczne
wyjęcie przedmiotu obrabianego i założenie nowego, oraz na inne manipulacje
w obrębie przestrzeni roboczej. Położenie końcowe zespołów obrabiarki jest także
położeniem początkowym w następnym wykonaniu tego samego lub innego
programu, co ma duże znaczenie dla bezpiecznej pracy obrabiarki (uniknięcie kolizji).
Podana w przykładzie sekwencja G53 T0 D0 (przywołanie punktu kodowego M,
odwołanie korektorów narzędziowych) powoduje przejście do programowania we
współrzędnych maszynowych, stąd podane współrzędne punktu odjazdu są niezależne
od przyjętego w danym programie układu współrzędnych przedmiotu. Do odjazdu
można wykorzystać także specjalnie do tego celu przeznaczone funkcje G74 lub G75
(informacje w dokumentacji języka sterowania). Ostatni blok zawiera adres końca
programu (M30 lub M2).

background image

3. P

ROGRAMOWANIE RUCHÓW NARZĘDZI

Zasadniczą częścią programu sterującego są bloki programujące ruch narzędzia.

Aby w pełni opisać ten ruch wymagane są następujące elementy (rys. 36.):

X

Y

1

2

Rys. 36. Elementy programowania ruchu narzędzi

1. Punkt początkowy ruchu (1)
2. Punkt końcowy ruchu (2)
3. Tor ruchu (interpolacja)
4. Prędkość ruchu

Idea programowania numerycznego polega na programowaniu ruchu po torze

ciągłym w ten sposób, że punkt końcowy ruchu w jednym bloku jest jednocześnie
punktem początkowym ruchu w bloku następnym. Zatem blok programuje punkt
końcowy ruchu. Prędkość ruchu jest programowana albo poprzez adres F (posuw) dla
ruchu roboczego, albo pobierana z danych maszynowych (dla ruchu szybkiego).

Ostatnim elementem definicji ruchu jest tor ruchu, określany mianem

interpolacji, tj. zachowaniem się punktu kodowego narzędzia pomiędzy
programowanymi punktami. Należy ją rozumieć jako sposób powiązana
programowego niezależnych ruchów w osiach maszynowych tak, aby uzyskać
zamierzony wypadkowy tor przemieszczania się punktu kodowego narzędzia
(rys. 37.).

X

M

Y

M

1

2

V(

t)

V

y

(t

)

V

x

(t)

Rys. 37. Idea interpolacji na obrabiarkach CNC

background image

3.1. Interpolacja punktowa G0

X

Y

60

20

20

100

1

2

G90 G0 X20 Y60

RTLION

RTLIOF

G91 G0 X-80 Y40

Rys. 38. Interpolacja punktowa G0

Interpolacja punktowa (zwana też ruchem szybkim) – rys. 38. – polega na

przemieszczaniu się narzędzia do zaprogramowanego punktu końcowego
z maksymalnymi prędkościami posuwu w osiach sterowanych numerycznie. Ruch ten
może być związany z brakiem powiązania ruchu w osiach (funkcja przygotowawcza
RTLIOF), czego efektem jest nieprzewidywalny tor ruchu narzędzia, lub też może
istnieć powiązanie ruchów w osiach (funkcja przygotowawcza RTLION), czego
efektem jest ruch narzędzia po linii prostej. Skutkiem ruchu szybkiego jest też
zwiększona tolerancja dokładności pozycjonowania w punkcie docelowym.
Interpolacja punktowa jest przeznaczona wyłącznie do ruchów ustawczych narzędzia.

3.2. Interpolacja liniowa G1

X

Y

60

20

20

100

1

2

G90 G1 X20 Y60 F100

G91 G1 X-80 Y40 F100

Rys. 39. Interpolacja liniowa G1

Interpolacja liniowa – rys. 39. – należy do ruchów roboczych (obróbczych). Tor

ruchu narzędzia przebiega po linii prostej pomiędzy punktem początkowym

background image

i końcowym. Wymaga zaprogramowania posuwu (adres F) – podobnie jak pozostałe
interpolacje robocze. Ruch roboczy związany jest również z większą dokładnością
pozycjonowania w punkcie końcowym.

3.3. Interpolacja kołowa G2/G3/CIP/CT

Ruch po łuku okręgu jest bardziej złożony niż miało to miejsce w przypadku

interpolacji liniowej. Wynika to z faktu, iż okrąg nie może być jednoznacznie
zdefiniowany przez podanie dwóch punktów (rys. 40.).

X

Y

1

2

??

Rys. 40. Niejednoznaczność definicji ruchu z interpolacją kołową

Wymagane jest zatem podanie dodatkowych parametrów tego okręgu –

najczęściej jest to promień R. Przy takich założeniach zbudować można dwa okręgi
o różnych położeniach środka, które dają w efekcie cztery różne tory ruchu – po dwa
po każdym okręgu (rys. 41.).

X

Y

1

2

R

R

Rys. 41. Możliwe tory ruchu narzędzia z interpolacją kołową po okręgu o zadanym promieniu

Jeżeli przyjąć założenie, że z dwóch łuków dla jednego okręgu wybieramy ruch

po łuku o mniejszej długości, to pozostaną w efekcie dwa różne tory – stąd dla
interpolacji kołowej przewidziano dwie funkcje:

background image

G2

interpolacja kołowa zgodnie z ruchem wskazówek zegara;

G3

interpolacja kołowa przeciwnie do ruchu wskazówek zegara (rys. 42.).

X

Y

1

2

G2

G3

Rys. 42. Interpolacja kołowa G2/G3

Dla interpolacji kołowej przewidziano szereg różnych metod programowania

promienia okręgu – w sposób bezpośredni lub pośredni. Najważniejsze z nich to:
1. Przyrostowe programowanie środka okręgu z wykorzystaniem niemodalnych

parametrów interpolacji I, J, K – za ich pomocą programowany jest punkt środka
okręgu; traktowane są one jako wektory składowe (w odpowiednich osiach)
wektora od punktu początkowego ruchu do punktu środka okręgu –
programowanie przyrostowe, niezależne od funkcji G90/G91. W tej metodzie
promień okręgu jest wyznaczany z twierdzenia Pitagorasa (rys. 43.).

X

Y

31.3

10

10

80

1

2

G2 X10 Y31.3 I-20 J60

70

60

J

I

R1

R1

2

=I

2

+J

2

R2

R1

≠ R2 !!

Rys. 43. Interpolacja kołowa G2/G3 z parametrami interpolacji IJK

Należy pamiętać, iż na wskutek przybliżonego wyznaczania promienia
początkowego R1 (pierwiastkowanie) może się okazać, że jego długość jest różna
od promienia końcowego R2 (rys. 44.). Układ sterowania zaakceptuje tą różnicę,
o ile nie jest ona zbyt duża (dopuszczalna wartość różnicy podana w danych
maszynowych układu sterowania).

background image

X

Y

10

10

80

1

2

G2 X10 Y31.3 I-20 J60

70

60

J

I

R1

R2

31.3

R1 = 63.2455
R2 = 63.2473

Rys. 44. Błąd programowania interpolacji kołowej z wykorzystaniem parametrów IJK

2. Absolutne programowanie środka okręgu z wykorzystaniem niemodalnych

parametrów interpolacji I, J, K – za ich pomocą programowany jest punkt środka
okręgu; traktowane są one jako wektory składowe (w odpowiednich osiach)
wektora od punktu zerowego aktualnego układu współrzędnych do punktu środka
okręgu – programowanie absolutne, niezależne od funkcji G90/G91. Wykorzystuje
się w tym przypadku niemodalną funkcję AC (rys. 45.).

3.

X

Y

50

10

10

80

1

2

G2 X10 Y50 I=AC(60) J=AC(70)

70

60

J

I

R

Rys. 45. Interpolacja kołowa z absolutnym wymiarowaniem środka łuku

4. Mieszane programowanie środka okręgu z wykorzystaniem niemodalnych

parametrów interpolacji I, J, K – za ich pomocą programowany jest punkt środka
okręgu, przy czym oba parametry interpolacji mogą być programowane w różny
sposób z wykorzystaniem funkcji niemodalnych AC (niezależnie od funkcji
G90/G91) (rys. 46.).

background image

X

Y

50

10

10

80

1

2

G2 X10 Y50 I=AC(60) J60

70

60

J

I

R

Rys. 46. Interpolacja kołowa z mieszanym wymiarowaniem środka łuku

5. Bezpośrednie programowanie promienia okręgu CR – pod adresem CR podana

jest wartość promienia okręgu. Układ sterowania na jego podstawie wylicza
położenie punktu środka okręgu (rys. 47.).

X

Y

50

10

10

80

1

2

G2 X10 Y50 CR=63

70

60

R63

R63

R63

Rys. 47. Interpolacja kołowa z programowaniem promienia okręgu

Przy programowaniu promienia adres CR może przyjmować wartości dodatnie

lub ujemne. W zależności od tego układ wybiera tor ruchu narzędzia po krótszym
bądź dłuższym łuku okręgu, co jest identyfikowane przez drogę kątową pomiędzy
promieniem początkowym i końcowym. Dla wartości dodatniej adresu CR
narzędzie wykonuje ruch po kącie równym lub mniejszym 180º, dla ujemnej –
większym niż 180º – rys. 48.

Efektem połączenia dwóch funkcji programowania interpolacji kołowej (G2,

G3) z dwoma różnymi znakami adresu CR jest kombinacja czterech różnych
torów ruchu narzędzia przy tej samej wartości promienia okręgu i tych samych
punktach początkowym i końcowym łuku – rys. 49.

background image

X

Y

35

45

70

60

R20

G3 X45 Y35 CR=20

1

2

CR > 0

α<=180°

α

X

35

45

70

60

R

20

G2 X45 Y35 CR=-20

1

2

CR < 0

α >180°

α

Rys. 48. Zależność pomiędzy znakiem adresu CR a torem ruchu narzędzia

X

Y

1

2

I

II

IV

III

I.

G3 X60 Y100 CR=20

II.

G2 X60 Y100 CR=20

III.

G3 X60 Y100 CR=-20

IV.

G2 X60 Y100 CR=-20

60

100

Rys. 49. Zależność toru ruchu od funkcji interpolacji G2/G3 i znaku adresu CR

background image

6. Programowanie kąta łuku za pomocą adresu AR – konstrukcja łuku przy takim

programowaniu przedstawiono na rysunku (rys. 50.). Pod adresem AR
bezpośrednio jest programowana droga kątowa narzędzia po łuku, którego
parametry są wyznaczane przez układ sterowania.

X

Y

50

10

10

80

1

2

G2 X10 Y50 AR=85

70

60

85

°

α

α

85+2

α=180

α=(180-85)/2=47.5

Rys. 50. Programowanie interpolacji kołowej przy użyciu kąta AR

7. Programowanie środka i kąta łuku – w tym przypadku nie jest programowany

punkt końcowy łuku, tylko położenie środka łuku i droga kątowa narzędzia
(rys. 51.)

X

Y

50

10

10

80

1

2

G2 I-20 J60 AR=85

70

60

85

°

J

I

Rys. 51. Programowanie interpolacji kołowej przy użyciu kąta AR i parametrów

interpolacji IJK

8. Łuk przez punkt pośredni CIP – w tej metodzie korzysta się z zasady, iż okrąg na

płaszczyźnie jest jednoznacznie zdefiniowany przez trzy niewspółliniowe punkty.
Programuje się zatem dodatkowy (pośredni) punkt ruchu po łuku okręgu,
pomiędzy punktem początkowym i końcowym. Z uwagi na zasadę pojedyńczych
wystąpień adresów w bloku współrzędne tego punktu programowane są pod

background image

adresami I1, J1, K1 (odpowiednio w osiach X, Y i Z). Zarówno kierunek
interpolacji, jak i środek łuku wyznaczany jest przez układ sterowania (rys. 52.).

X

Y

50

10

10

80

1

2

CIP X10 Y50 I1=30 J1=10

30

3

Rys. 52. Programowanie interpolacji kołowej przez punkt pośredni CIP

9. Łuk styczny CT – w tek metodzie programuje się jedynie punkt końcowy łuku, bez

podania kierunku interpolacji i środka okręgu – jest to wyliczane przez układ
sterowania na podstawie warunków styczności do poprzednio wykonywanego
ruchu. Ruch ten może być ruchem z interpolacją liniową (rys. 53.) lub kołową,
również przy wykorzystaniu adresu CT (rys. 54.).

X

Y

50

10

10

80

1

2

N05 G1 X80 Y10
N10 CT X10 Y50

30

0

N05

N10

Rys. 53. Programowanie łuku stycznego do ruchu z interpolacją liniową (G1)

background image

X

Y

50

10

10

80

1

2

N05 G3 ..... .....
N10 CT X10 Y50

30

0

N05

N10

Rys. 54. Programowanie łuku stycznego do ruchu z interpolacją kołową

(G2/G3/CIP/CT)

10. Programowanie ruchu po pełnym okręgu – w tym wypadku układ sterowania zna

współrzędne tylko jednego punktu, który jednocześnie jest punktem początkowym
i końcowym ruchu. Dla jednoznacznego wyznaczenia parametrów ruchu niezbędne
jest zaprogramowanie środka okręgu przez podanie parametrów I, J, K (absolutnie
lub przyrostowo). Inne metody programowania (np. łuk styczny lub przez punkt
pośredni) nie pozwalają na jednoznaczne wyznaczenie położenia środka okręgu.
Na rys. 55. podano kilka sposobów programowania tego ruchu, korzystając
z różnych sposobów podawania współrzędnych punktów.

X

Y

50

30

10

1=2

G3 G90 X10 Y50 I20 J0

G3 G91 X0 Y0 I20 J0

G3 G91 X0 Y0 I20

G3 I20

Rys. 55. Programowanie ruchu po pełnym okręgu

11. Programowanie łuków stycznych przy przejściu między odcinkami linii prostych –

RND, RNDM. W wielu przedmiotach obrabianych wykonuje się stępienie
krawędzi poprzez wykonanie zaokrąglenia stycznego lub sfazowania,
występującego najczęściej pomiędzy odcinkami linii prostych. Gdyby obróbkę

background image

zaokrąglenia stycznego programować przy przyjęciu ogólnie obowiązujących
zasad, to wymagałaby ona trzech bloków (rys. 56.)

X

Y

70

N05 G1 X=X

4

Y=Y

4

N10 G3 X=X

5

Y=Y

5

CR=10

N15 G1 X10 Y80

50

80

R10

80

1

2

3

20

10

4

5

Rys. 56. Programowanie zaokrąglenia krawędzi bez wykorzystania specjalnych

funkcji

Nie zawsze podane są współrzędne punktów styczności (4 i 5 na rys. 56.), które

należałoby obliczyć. Stąd też wprowadzono możliwość programowania tego
konturu przy użyciu tylko dwóch bloków, programujących ruch do punktu
pozornego przecięcia (2), najczęściej zwymiarowanego na rysunkach
konstrukcyjnych. Pomija się zatem drugi blok, programujący interpolację kołową
(G2/G3), zastępując go adresem RND (RNDM), który określa promień
zaokrąglenia, umieszczając go w bloku opisującym pierwszy z programowanych
elementów konturu, między którymi programuje się styczne zaokrąglenie (rys.
57.)

X

Y

70

N05 G1 X50 Y70 RND=10
N15 G1 X10 Y80

50

80

R10

80

1

2

3

20

10

Rys. 57. Programowanie zaokrąglenia krawędzi z wykorzystaniem funkcji RND

background image

W trakcie analizy programu układ sterowania obliczy współrzędne punktów

styczności, natomiast podczas wykonywania pierwszego z bloków narzędzie
wykona ruch do pierwszego punktu styczności (4 na rys. 56.), w drugim zaś bloku
– promień zaokrąglenia do drugiego punktu styczności (5) oraz ruch do punktu
końcowego (3). Styczne zaokrąglenie konturu może być wykonane pomiędzy
odcinkami linii prostej lub łukami (rys. 58.).

X

Y

70

N05 G2 X50 Y70 CR=50 RND=10
N15 G1 X10 Y80

50

80

R10

80

1

2

3

20

10

Rys. 58. Programowanie zaokrąglenia krawędzi z wykorzystaniem funkcji RND

pomiędzy łukiem a odcinkiem linii prostej

Dostępny w układzie sterowania Sinumerik 840D adres RNDM jest adresem

modalnym, pozwalającym wykonywać zaokrąglenia w każdym bloku z ruchem
narzędzia. Dokładny opis tej funkcji znajduje się w dokumentacji.

Na zasadzie podobnej jak promienie zaokrągleń są programowane sfazowania

krawędzi, przy czym musi być spełniony warunek symetryczności fazy, tj. równej
szerokości sfazowania krawędzi. Korzysta się z dwóch dostępnych adresów –
CHF i CHR. Pierwszy z nich definiuje długość fazy (rys. 59.), drugi – jej
szerokość (rys. 60.).

X

Y

70

50

80

80

1

3

20

10

10

2

N05 G1 X50 Y70 CHF=10
N15 G1 X10 Y80

Rys. 59. Programowanie sfazowania krawędzi z wykorzystaniem funkcji CHF

(długość fazy)

background image

X

Y

70

50

80

80

1

10

20

10

3

10

2

N05 G1 X50 Y70 CHR=10
N15 G1 X10 Y80

Rys. 60. Programowanie sfazowania krawędzi z wykorzystaniem funkcji CHR

(szerokość fazy)

3.4. Interpolacja spiralna o stałym skoku G33

Działanie funkcji G33 polega na stworzeniu “elektronicznej gitary”,

sprzęgającej ruch obrotowy wrzeciona z posuwami liniowymi, dzięki czemu początek
ruchu narzędzia odbywa się zawsze przy tym samym położeniu kątowym wrzeciona.
Pozwala to na toczenie gwintów czy zarysów spiralnych przy wielokrotnych
przejściach narzędzia (głównie na tokarce).

Tak jak w innych rodzajach interpolacji musi być podany punkt końcowy ruchu

przy zachowaniu wszystkich obowiązujących zasadach dotyczących rodzaju
współrzędnych, jednostek itp. Ruch z interpolacją spiralną odbywa się zawsze na
płaszczyźnie, zdefiniowanej przez funkcje G17, G18, G19. Dodatkową informacją jest
skok spirali (zawsze jako liczba dodatnia), programowany za pomocą parametrów
interpolacji I, J, K odpowiednio do osi, wzdłuż której odbywa się ruch (rys. 61. i 62.).

Jeżeli interpolacja spiralna obejmuje ruch w dwóch osiach liniowych to podaje

się tylko skok spirali tylko wzdłuż jednej osi, przy czym jest to ta oś, względem której
tor ruch tworzy mniejszy kąt (rys. 63. i 64.)

background image

Z

20

100

G33 Z20 K4

4

1

2

X

Rys. 61. Programowanie interpolacji spiralnej wzdłuż osi Z

Z

100

20

20

100

G33 X100 I4

4

1

2

X

Rys. 62. Programowanie interpolacji spiralnej wzdłuż osi X

Z

70

20

30

100

G33 Z30 X70 K5

1

2

5

X

Rys. 63. Programowanie interpolacji spiralnej pod kątem

background image

Z

80

10

50

80

G33 Z50 X80 I5

1

2

5

X

Rys. 64. Programowanie interpolacji spiralnej pod kątem

Przy nacinaniu gwintów wielozwojnych istnieje konieczność zmiany kątowego

położenia wrzeciona przy rozpoczęciu ruchu. Domyślnie odbywa się to przy położeniu
kątowym wrzeciona równym 0

°. Przy pomocy adresu SF można zaprogramować inne

położenie kątowe wrzeciona. Na rys. 65. przedstawiono przykład zaprogramowania
fragmentu obróbki gwintu 3-zwojnego przy wykorzystaniu adresu SF.

Z

60

20

20

100

G33 Z100 K4 SF=180

4

2

1

X

120

°

G33 Z100 K4 SF=0 ;1. zwój
G33 Z100 K4 SF=120 ; 2. zwój
G33 Z100 K4 SF=240 ; 3. zwój

Rys. 65. Programowanie obróbki gwintu wielozwojnego

background image

Należy pamiętać, że obróbka gwintu nożem tokarskim wymaga wykonania

wielu przejść narzędziem i na ogół do tego celu wykorzystuje się odpowiedni cykl
obróbkowy (patrz dalsze rozdziały).

3.5. Interpolacja spiralna o zmiennym skoku G34/G35

W rzadko spotykanych przypadkach zachodzi konieczność nacięcia linii

spiralnej o zmiennym skoku. Do tego celu służą funkcje G34 (rosnący skok) i G35
(malejący skok). Programowanie ruchu z funkcjami G34/G35 jest identyczne jak dla
G33, podaje się jeszcze zmianę skoku linii spiralnej pod adresem F w [mm/obr], np.

G34 Z20 K-5 F0.01
G35 Z20 K-5 F0.01

Wartość zmiany skoku gwintu można wyznaczyć z następującej zależności:

)

(

*

2

2

2

e

b

g

e

b

p

p

L

p

p

F

+

=

gdzie: p

b

– skok początkowy linii spiralnej

p

e

– skok końcowy linii spiralnej

L

g

– długość nacinanej linii spiralnej

3.6. Nacinanie gwintów z wykorzystaniem funkcji G63

Obróbka gwintów za pomocą narzędzi kształtowych (np. gwintowników) przy

braku dokładnego skojarzenia ruchu obrotowego wrzeciona z ruchami liniowymi
(inaczej niż dla interpolacji G33) może być wykonywana przy wykorzystaniu
interpolacji liniowej G1. Sprzężenie posuwu liniowego z kątem obrotu wrzeciona jest
uzyskiwane wyłącznie przez odpowiednie zaprogramowanie obrotów wrzeciona
(adres S) i posuwu liniowego (adres F). Musi być zatem zachowany warunek:

]

obr

[

]

mm

[

min]

/

obr

[

min]

/

mm

[

=

=

S

F

p

gdzie p jest skokiem gwintu. Ponieważ zarówno wartość prędkości obrotowej
wrzeciona, jak i posuwu może być modyfikowana przez operatora obrabiarki (są do
tego przeznaczone pokrętła lub przyciski na pulpicie maszynowym), co może
doprowadzić do uzyskania innej wartości skoku niż zaprogramowana. Dlatego funkcja
G63 wyłącza nastawy operatora, ustawiając je na wartości równe 100% dla obu
adresów (S i F).

Gwintowanie z funkcją G63 (w połączeniu z funkcją G1) – rys. 66. – z uwagi

na brak dokładnego sprzężenia ruchu obrotowego z liniowym ruchem posuwu jest
realizowane przede wszystkim przy wykorzystaniu oprawek kompensacyjnych,
umożliwiających korekcję osiową (wydłużanie i skracanie) narzędzia. Funkcja G63
jest funkcją niemodalną
.

background image

Z

Y

100

G63 G1 Z100 S200 F150

Rys. 66. Programowanie obróbki gwintu z funkcją G63

3.7. Interpolacja śrubowa G331/G332

Interpolacja śrubowa G331/G332 przeznaczona jest do obróbki gwintów

narzędziami kształtowymi (np. gwintownikami), przy czym w przeciwieństwie do
funkcji obróbki z wykorzystaniem funkcji G63 istnieje dokładne sprzężenie ruchu
obrotowego wrzeciona z liniowym ruchem posuwu wzdłuż osi wrzeciona. Dlatego
przy tym rodzaju interpolacji jest możliwa obróbka bez użycia oprawek
kompensacyjnych.

Programując ruch z interpolacją G331/G332 podaje się współrzędne punktu

końcowego ruchu, dokładnie jak ma to miejsce przy innych rodzajach interpolacji.
Dodatkowo programuje się prędkość obrotową wrzeciona S podczas gwintowania,
ponieważ przed rozpoczęciem gwintowania należy zaprogramować pozycjonowane
zatrzymanie wrzeciona (funkcja SPOS). Skok gwintu jest programowany pod
parametrami interpolacji I, J, K stosownie do osi, wzdłuż której ruch się odbywa. Znak
stojący przy wartości parametru interpolacji wpływa na kierunek obrotów wrzeciona
przy nacinaniu gwintu (funkcja G331) – wartość dodatnia oznacza obroty prawe (M3),
ujemna lewe (M4), przy czym przy wycofaniu narzędzia (G332) następuje
automatyczna zmiana kierunku obrotów wrzeciona. Znak parametru interpolacji musi
być identyczny dla obu funkcji.

background image

Z

SPOS=0
G331 Z100 S200 K0.8
G332 Z200 K0.8

Y

100

G331

G332

I, J, K > 0 - M3
I, J, K < 0 - M4

200

Rys. 67. Programowanie obróbki gwintu przy użyciu interpolacji śrubowej

G331/G332

4. T

RANSFORMACJE UKŁADU WSPÓŁRZĘDNYCH

(FRAMES)

Idea programowalnych transformacji układów współrzędnych (FRAMES)

polega na definiowaniu reguł przekształcania jednego układu współrzędnych w drugi
poprzez zastosowanie przesunięć, obrotów itp. transformacji geometrycznych. Reguły
te są zapisywane w postaci macierzy, gdyż proces przeliczania współrzędnych
z jednego układu w drugi najprościej zrealizować przy pomocy tego mechanizmu. Do
transformacji tych należą również ustawcze punkty zerowe (G54, G55,...) dla których
podobne operacje na bazowym układzie współrzędnych mogą zostać zrealizowane.

W układzie sterowania Sinumerik 840D zawarte są cztery podstawowe

transformacje, programowane przy użyciu ośmiu funkcji. Podzielone są one na dwie
grupy:
1. Funkcje działające w odniesieniu do bieżącego ustawczego układu współrzędnych

(G54, G55, ....): TRANS, ROT, MIRROR, SCALE

2. Funkcje działające addytywnie w odniesieniu do bieżącego układu współrzędnych

(ustawczego lub programowalnego): ATRANS, AROT, AMIRROR, ASCALE.

Funkcje te muszą być programowane osobno w oddzielnych blokach. Poniżej zostaną
one bardziej szczegółowo omówione.
TRANS, ATRANS – przesunięcie (translacja układu współrzędnych) polega na
przesunięciu początku układu współrzędnych o zadany wektor, którego współrzędne
są programowane pod adresami X, Y, Z (rys. 68.).

background image

X

Y

60

20

40

100

TRANS X40 Y20

....

ATRANS X60 Y40

X

X

Y

Y

Rys. 68. Translacja układu współrzędnych

ROT, AROT – obrót układu współrzędnych wokół osi o kąt programowany na dwa
sposoby (rys. 69. i 70.):
– Pod adresem RPL wokół osi prostopadłej do płaszczyzny, programowanej przez

adresy G17/G18/G19 (tylko jeden obrót w bloku)

– Pod adresami X, Y i Z wokół tych osi (wiele obrotów w jednym bloku –

transformacja przestrzenna układu współrzędnych), przy czym jest zachowana
następująca kolejność obrotów: wokół osi Z, Y i X.

Kierunek dodatni kąta obrotu jest przeciwny do ruchu wskazówek zegara.

Y

G17 ROT RPL=30

30

°

X

ROT Z30

X

Y

Rys. 69. Obrót układu współrzędnych wokół osi

background image

Y

TRANS X40 Y30

AROT Z30

30

°

X

40

30

X

X

Y

Y

Rys. 70. Obrót układu współrzędnych wokół osi

SCALE, ASCALE – zmiana współczynnika skali osi układu współrzędnych
(rys. 71.). Programować można współczynniki skali osobno dla każdej osi pod
adresami X, Y i Z. Przy obliczaniu współrzędnych w układzie bazowym wartości
współrzędnych w układzie poddanym skalowaniu są mnożone przez zaprogramowane
współczynniki skalujące.

Y

TRANS X40 Y30

ASCALE X0.5 Y2

X

40

30

20

30

10

60

X

Y

Rys. 71. Skalowanie osi układu współrzędnych

MIRROR, AMIRROR – symetria osiowa (odbicie lustrzane) układu współrzędnych
(rys. 72.). Programowana jest oś, która podlega transformacji przez podanie w bloku
adresu X, Y lub Z, przy czym wartość tych adresów jest dowolna (nie wpływa na
transformację). Funkcje MIRROR, AMIRROR automatycznie zmieniają kierunki
interpolacji kołowej (G2, G3) oraz kierunki kompensacji promienia narzędzia (G41,
G42).

background image

Y

TRANS X40 Y30

AMIRROR X0

X

40

30

X

X

Y

Rys. 72. Symetria osiowa (odbicie lustrzane) układu współrzędnych

Jeżeli w bloku występują same adresy TRANS, ROT, SCALE lub MIRROR

bez parametrów definiujących transformacje, to powoduje to kasowanie wszystkich
programowalnych zmian układu współrzędnych i powrót do aktywnego ustawczego
układu współrzędnych (G54, G55, ....).

5. P

ROGRAMOWANIE DANYCH NARZĘDZIOWYCH

Jak wspomniano wcześniej, układ sterowania dla prawidłowego sterowania

ruchem narzędzia musi znać jego wymiary charakterystyczne. Są one przechowywane
w tzw. rejestrach narzędziowych. Dla każdego narzędzia w układzie sterowania
Sinumerik 840D przewidziano po 10 rejestrów, adresowanych jako D0, D1, D2,...,D9.
Jednoznaczne zidentyfikowanie rejestru narzędziowego wymaga zaprogramowania
zarówno numeru narzędzia (adres T), jak i przypisanego do niego rejestru (adres D).
Jeżeli nie jest zaprogramowanny adres D to układ sterowania automatycznie aktywuje
rejestr D1 danego narzędzia.

Niedostępny dla modyfikacji rejestr D0 zawiera zerowe wymiary narzędzia

(prowadzi to do bezpośredniego programowania ruchu punktu kodowego F).
Swobodnie można natomiast zmieniać zawartość pozostałych rejestrów. Każdy
z rejestrów zawiera max. 25 wartości numerycznych, przy czym zazwyczaj tylko część
z nich jest używana do opisu parametrów narzędzi przy kompensacji ich długości
i promienia ostrza. Pozostałe mogą być użyte w przyszłości lub przez użytkownika do
innych celów.

Najważniejszym parametrem rejestru narzędziowego jest typ narzędzia.

Zdefiniowano następujące grupy narzędzi:
1xx

– narzędzia frezarskie

2xx

– narzędzia wiertarskie

4xx

– narzędzia szlifierskie

5xx

– narzędzia tokarskie

7xx

– narzędzia do rowków

background image

“xx” w powyższych oznaczenia zastępuje wartości liczbowe, odpowiadające

konkretnemu rodzaju narzędzia w ramach typu, np. 500 opisuje nóż zdzierak, 250
rozwiertak itd. W zależności od typu narzędzia zmienia się zawartość i interpretacja
rejestrów narzędziowych. Poniżej przedstawiono te dane dla najczęściej używanych
typów narzędzi (rys. 73., 74. i 75.).

F

Typ 1
Frezarskie

P

L1

R

Rejestr narzędziowy:
typ
L1
R

Rys. 73. Najważniejsze parametry narzędzi frezarskich

F

Typ 2
Wiertarskie

P

L1

Rejestr narzędziowy:
typ
L1

Rys. 74. Najważniejsze parametry narzędzi wiertarskich

background image

F

Typ 5
Tokarskie

P

Rejestr narzędziowy:
typ
położenia ostrza
L1
L2
R

L1

S

R

P

S

S

S

S

S

S

S

S

S

4

3

1

2

5

8

6

7

P=S

9

położenie ostrza

Rys. 75. Najważniejsze parametry narzędzi tokarskich

Szczególnym typem narzędzi jest grupa 5xx (narzędzia tokarskie). Jako jedyna

posiada w rejestrze narzędziowym pozycję o nazwie położenie ostrza. Definiuje ono
kierunek przesunięcia punktu kodowego P (na przecięciu się stycznych do krawędzi
narzędzia) na punkt kodowy S (środek okręgu wpisanego w naroże narzędzia).
Zasadność tej operacji zostanie omówiona w następnym rozdziale.

6. K

OMPENSACJA PROMIENIA NARZĘDZIA

Wpływ kształtu narzędzia na programowanie obróbki w dużym stopniu zależy

od rodzaju narzędzia i rodzaju obróbki nim realizowanej. Z uwagi na sposób realizacji
kompensacji promienia narzędzia wyróżnić można dwa przypadki:
1. Obróbka narzędziami obrotowymi (głównie frezy), obrabiającymi powierzchnią

boczną. Punkt kodowy P dla takich narzędzi leży w osi ich obrotu. Programowanie
obróbki takimi narzędziami wymagałoby zatem wyznaczania toru ruchu
równolegle do programowanego konturu (ruch po ekwidystancie, równoodległej do
konturu), przesuniętego o wartość promienia narzędzia (R1 na rys. 76.).

background image

?

Kontur
zadany

Tor ruchu

programowany

P

P

R2

R1

Kontur
zadany

Kontur

wykonany

Rys. 76. Zagadnienie kompensacji promienia narzędzia dla obróbki frezarskiej

Jeżeli obróbka takiego konturu odbywałaby się narzędziem o innym promieniu

(R2 na rys. 76.) to uzyskanoby inny kontur, niezgodny z konturem wymaganym
po obróbce. Praktyczne rozwiązanie tego problemu polega na tym, iż obliczanie
ekwidystanty (toru ruchu po konturze równoodległym) odbywa się nie na etapie
tworzenia programu sterującego, ale w czasie jego wykonania na obrabiarce, kiedy
układ sterowania posiada zapisaną w rejestrach narzędziowych rzeczywistą
wartość promienia narzędzia (rys. 78.). Wtedy najmniejsze nawet zmiany tej
wartości są uwzględniane w obliczeniach dzięki czemu uzyskuje się zawsze taką
samą postać i wymiary konturu po obróbce, jaka została zaprogramowana. Na
etapie programowania nie uwzględnia się promienia narzędzia (przyjmuje się go
jako równy zero – rys. 77.). Przy obliczaniu toru ruchu podczas wykonywania
programu układ sterowania musi być poinformowany, że taką czynność powinien
wykonywać (domyślnie przyjmuje się ruch narzędzia bez kompensacji promienia),
oraz po której ekwidystancie ma przemieszczać narzędzie, gdyż jak łatwo
zauważyć, każdy kontur posiada dwie ekwidystanty.

background image

P

Kontur

zadany =

programowany

R=0

Programowanie

Rys. 77. Programowanie obróbki frezarskiej z zerowym promieniem narzędzia

P

R

Kontur

zadany =

programowany

1. ekwidystanta

2. ekwidystanta

R

Wykonanie programu

Rys. 78. Obróbka frezarska z uwzględnieniem rzeczywistej wartości promienia

narzędzia

2. Obróbka narzędziami nieobrotowymi (narzędzia tokarskie), polegająca na

kształtowaniu powierzchni obrabianej krawędzią skrawającą przesuwającą się
względem obracającego się przedmiotu obrabianego. Fragmentem tej krawędzi,
mającym największy wpływ na kształtowanie powierzchni przedmiotu, jest naroże
(krawędź przejściowa pomiędzy głównymi krawędziami skrawającymi)
zaokrąglone promieniem r

ε

. Natomiast punkt kodowy P, którego położenie jest

programowane, leży zazwyczaj na przecięciu się stycznych do naroża,
równoległych do osi układu bazowego (wynika to m.in. ze sposobu pomiaru
wymiarów narzędzia). Konsekwencją tego faktu jest to, iż punkt kodowy P leży
poza krawędzią skrawającą. Programowanie położenia tak przyjętego punktu
kodowego powoduje w pewnych warunkach powstanie innego konturu po obróbce
niż programowany tor ruchu (rys. 79.).

background image

?

Kontur

wykonany

Kontur
zadany

r

ε

P

Rys. 79. Zagadnienie kompensacji promienia narzędzia w obróbce tokarskiej

Powstała różnica pomiędzy konturem zadanym (nominalnym) a powstałym po
obróbce jest znaczna i nie może być pominięta. Aby rozwiązać ten problem
przyjmuje się programować nie ruch punktu P, ale punktu środka okręgu
wpisanego w naroże ostrza (punkt kodowy S) (rys. 80.).

S

r

ε

Ekwidystanta

Kontur

obrabiany

Rys. 80. Kompensacja promienia narzędzia w obróbce tokarskiej

W takiej sytuacji możemy analizować ruch noża tokarskiego jako przemieszczanie
się “freza” o środku S i promieniu r

ε

, co sprowadza się do opisanego

w

poprzednim punkcie ruchu narzędzia po ekwidystancie. Należy jednak

pamiętać, iż ostatecznie układ sterowania odnosi ruch narzędzia do punktu
kodowego P, czyli musi obliczyć przesunięcie toru ruchu punktu S na tor ruchu
punktu P. To przesunięcie zawsze jest równe wartości promienia r

ε

narzędzia, przy

czym układ sterowania musi zostać poinformowany o kierunku tego przesunięcia.
Parametrem, który za to odpowiada jest kodowe oznaczenie położenia ostrza
(1...9) – patrz poprzedni rozdział. Dla kodów 1-4 przesunięcie odbywa się
w obydwu osiach (w kierunku dodatnim lub ujemnym – rys. 81.), dla kodów 5-8

background image

tylko wzdłuż jednej osi, a kod 9 jest przypisany narzędziom nie wymagającym
korekcji promienia.

S

S

S

S

P

3

4

1

2

Rys. 81. Kodowe oznaczenie najważniejszych położeń ostrza dla narzędzi tokarskich

Do sterowania sposobem obliczania kompensacji promienia ostrza

przewidziano trzy funkcje (rys. 82.):
G40 – wyłączenie kompensacji promienia (ruch punktu kodowego P po konturze

nominalnym);

G41 – włączenie kompensacji promienia po lewej stronie konturu (ruch punktu

kodowego P lub S po ekwidystancie, leżącej po lewej stronie konturu
nominalnego patrząc w kierunku ruchu narzędzia);

G42 – włączenie kompensacji promienia po prawej stronie konturu (ruch punktu

kodowego P lub S po ekwidystancie, leżącej po prawej stronie konturu
nominalnego patrząc w kierunku ruchu narzędzia).

G40

G41

G42

Rys. 82. Programowanie kompensacji promienia narzędzia

Ruch w pełni kompensowany jest prosty w programowaniu, newralgicznym

momentem jest jednak jego rozpoczęcie i zakończenie. Przejście z ruchu
niekompensowanego na kompensowany i odwrotnie nie może się odbyć nagle, zawsze
związane to jest z ruchem przejściowym. Ruch ten można opisać następującą zasadą
(dla rozpoczęcia kompensacji): narzędzie w bloku, w

którym jest włączana

background image

kompensacja porusza się do punktu na prostej prostopadłej do konturu
programowanego w następnym bloku, przechodzącej przez punkt początkowy tego
konturu. Czyli ruch w pełni kompensowany występuje dopiero przy następnym
fragmencie konturu w stosunku do przejściowego (rys. 83.). Podobną zasadę można
sformułować dla przypadku wyłączania kompensacji promienia narzędzia (rys. 84.).

Wykonywany

Programowany

X

Y

60

20

40

100

200

N05 G0 X40 Z20
N10 G1 G42 X100 Y60
N15 X200

N05

N10

N15

Rys. 83. Programowanie rozpoczęcia kompensacji promienia narzędzia

Wykonywany

Programowany

X

Y

60

20

40

130

200

N05 G1 G41 ...
N10 X40 Y60
N15 X130
N20 G40 X200 Y20

N20

N15

Rys. 84. Programowanie zakończenia kompensacji promienia narzędzia

Blok przejściowy musi być programowany z interpolacją liniową (zalecane) lub

punktową. Nie może natomiast wystąpić tu interpolacja kołowa lub inna. Podobna
sytuacja następuje jeżeli następuje zmiana promienia narzędzia przez
zaprogramowanie innego rejestru narzędziowego.

background image

Przy rozpoczynaniu czy kończeniu ruchu kompensowanego rozróżnia się dwa

przypadki pozycjonowania narzędzia (rys. 85.):
1. Narzędzie przed konturem;
2. Narzędzie za konturem.

Linią graniczną jest tu styczna do toru ruchu w punkcie

początkowym/końcowym kompensacji.

Styczna

Kontur

Narzędzie przed

konturem

Narzędzie za

konturem

Ekwidystanta

(tor ruchu)

Rys. 85. Położenie narzędzia przy rozpoczęciu/zakończeniu ruchu

kompensowanego

Jeżeli rozpoczęcie lub zakończenie ruchu kompensowanego odbywa się dla

narzędzia przed konturem to nie ma negatywnych skutków takiego ruchu. Inaczej jest
w przypadku narzędzia za konturem. Wtedy może dojść do ruchu kolizyjnego
(rys. 86.).

Styczna

Kontur

Narzędzie za

konturem

Ekwidystanta

(tor ruchu)

!!

Rys. 86. Ruch narzędzia przy rozpoczęciu/zakończeniu kompensacji promienia

narzędzia – narzędzie za konturem

background image

W układzie sterowania Sinumerik 840D funkcjami spełniającymi nadzór nad

sposobem rozpoczynania/kończenia ruchu kompensowanego są następujące funkcje
przygotowawcze:
NORM

– narzędzie nie wykonuje żadnych dodatkowych ruchów (rys. 87.);

G40 NORM ...

Rys. 87. Programowanie rozpoczęcia/zakończenia kompensacji promienia narzędzia

z użyciem funkcji NORM

KONT

– narzędzie wykonuje obejście punktu początkowego/końcowego
ekwidystanty jeżeli znajduje się za konturem.

Sposób obejścia jest regulowany przez dwie kolejne funkcje przygotowawcze

układu Sinumerik 840D:
G450

– obejście po łuku o środku w punkcie początkowym/końcowym
programowanego konturu i promieniu narzędzia (rys. 88.);

G451

obejście przez punkt przecięcia stycznych do okręgu o środku

w punkcie

początkowym/końcowym programowanego konturu

i promieniu narzędzia (rys. 88.).

G40 KONT G450 ...

G40 KONT G451 ...

Rys. 88. Programowanie rozpoczęcia/zakończenia kompensacji promienia

narzędzia z użyciem funkcji KONT G450/G451

Przy rozpoczynaniu i kończeniu ruchu kompensowanego można również

wykorzystać tzw. miękkie dosunięcie/odsunięcie narzędzia, polegające na wykonaniu
dodatkowych ruchów, zapewniających płynne rozpoczęcie lub zakończenie kontaktu

background image

narzędzia z obrabianym konturem. W układzie sterowania Sinumerik 840D
przewidziano trzy typy takich ruchów, programowanych przez sześć funkcji
przygotowawczych:
G147/G148 – dosunięcie/odsunięcie po prostej (przedłużenie stycznej do

ekwidystanty o wartość programowaną pod adresem DISR) – rys. 89.;

G247/G248 – dosunięcie/odsunięcie po ¼ okręgu o promieniu programowanym pod

adresem DISR) – rys. 90.;

G347/G348 – dosunięcie/odsunięcie po ½ okręgu o promieniu programowanym pod

adresem DISR) – rys. 90.

G41 G147 DISR=...

DISR

Rys. 89. Programowanie miękkiego dosunięcia/odsunięcia po linii prostej

G147/G148

G41 G247 DISR=...

DISR

G41 G347 DISR=...

DISR

Rys. 90. Programowanie miękkiego dosunięcia/odsunięcia po: ćwierćokręgu

(G247/G248); półokręgu (G347/G348)

Kolejnym problemem przy kompensacji są przejścia pomiędzy kolejnymi

fragmentami kolejnymi konturu. Są tu dwa przypadki: jeżeli kąt pomiędzy stycznymi

background image

do sąsiednich fragmentów konturu jest mniejszy lub równy 180

° (naroże wewnętrzne)

oraz jeżeli ten kąt jest większy niż 180

° (naroże zewnętrzne).

W pierwszym przypadku wyznaczany jest punkt przecięcia ekwidystant,

stanowiący punkt zwrotny ruchu (rys. 91.).

Kontur

Ekwidystanta

α ≤ 180°

Rys. 91. Tor ruchu po ekwidystancie naroża wewnętrznego

Bardziej skomplikowany jest przypadek drugi. Wtedy pomiędzy

ekwidystantami do kolejnych fragmentów konturu istnieje przerwa (niezdefiniowany
odcinek toru narzędzia) – rys. 92.

α > 180°

Kontur

Ekwidystanta

?

Rys. 92. Niezdefiniowany tor ruchu po ekwidystancie naroża zewnętrznego

Wypełnienie tego fragmentu w układzie Sinumerik jest zależne od

wspomnianych już funkcji przygotowawczych G450/G451. Działają one
w następujący sposób (rys. 93.):
G450 – tor narzędzia pomiędzy ekwidystantami przebiega po łuku o środku

w punkcie przecięcia się obu fragmentów konturu;

G451 – tor narzędzia przebiega po przedłużeniu ekwidystant aż do ich punktu

przecięcia.

background image

G450

G451

Rys. 93. Tor ruchu po ekwidystancie naroża zewnętrznego

Istnieje funkcja pozwalająca na zaprogramowanie pośredniej postaci toru ruchu

przy obejściu naroży konturu, szczegółowo jest ona omówiona w dokumentacji układu
sterowania Sinumerik 840D.


Wyszukiwarka

Podobne podstrony:
Podstawy programowania obrabiarek CNC
Programowanie obrabiarek CNC Piotr Plecyk 2
NX CAM Programowanie sciezek dla obrabiarek CNC nxcamp
Podstawy programowania obrabiarek sterowanych numerycznie CNC B Stach
Podstawy programowania obrabiarek sterowanych numerycznie CNC B Stach
programowanie obrabiarek nc cnc l1
cnc w 3 budowa obrabiarek cnc
Badanie dokładności geometrycznej obrabiarki CNC FV 580A z zastosowaniem testu QC10
6 Regulatory położenia w układach sterujących obrabiarek CNC
zgapa na egz cnc www.przeklej.pl(2), Politechnika Poznańska (PP), Obrabiarki CNC, Wykład, obrabiark
Nagniatanie za pomocą kulki na obrabiarce CNC 05 2013
OSN ściąga, Mechanika i Budowa Maszyn, sem. 6, Obrabiarki CNC, Zaliczenie

więcej podobnych podstron