Upload
others
View
26
Download
1
Embed Size (px)
Citation preview
2.PODSTAWY PROGRAMOWANIA OBRABIAREK CNC
2.1. Komputerowe sterowanie numeryczne
Układy sterujące dekodują program sterujący i przetwarzają wprowadzone instrukcje geometryczne i technologiczne na odpowiednie sygnały elektryczne. Po uzyskaniu zezwolenia na wykonanie ruchu impulsy sterujące przekazywane są do zespołów sterowanych obrabiarki, np. do silników napędu głównego czy napędów ruchu posuwowego. Systemy pomiarowe przekazują z kolei do układu sterowania dokładne
informacje np. odnośnie aktualnej pozycji zespołu sterowanego. Przedstawiona zasada działania odnosi się zarówno do sterowania numerycznego starszego typu (NC),
jak również do stosowanego obecnie komputerowego sterowania numerycznego CNC. Sterowanie CNC cechuje się dodatkowo wykorzystaniem układów mikroprocesorowych do przetwarzania informacji. Dzięki temu układy CNC dają możliwość większej, w porównaniu do układów NC, automatyzacji obróbki m.in. poprzez kompensację błędów, kodowanie narzędzi czy nadzorowanie ich zużycia. Na rys. 3.1 przedstawiono
porównanie sterowań NC i CNC pod kątem możliwości realizacji określonych zadań.
Choć układy CNC różnią się budową, można jednak w nich wyróżnić pewne charakterystyczne elementy: 1) mikroprocesor służący do obliczeń, 2) monitor umożliwiający programowanie, symulację programu sterującego i diagnozowanie stanu
technicznego układu sterowania i obrabiarki, 3) pamięć RAM (umożliwiającą zapis i odczyt) do przechowywania wielu programów sterujących,
programu PLC, wartości korekcji oraz innych parametrów, 4) interfejs umożliwiający komunikację z innymi urządzeniami (np. wprowadzanie programów sterujących,
danych maszynowych), 5) programowalny sterownik logiczny PLC umożliwiający komunikacją z obrabiarką.
Rys. 3.1. Porównanie sterowań NC i CNC [24]
Budowa układu CNC obejmuje przede wszystkim funkcjonalną część komputera składającą się z mikroprocesora i pamięci powiązanych magistralą, natomiast pozostałe urządzenia i elementy podłączane są poprzez interfejs zewnętrzny i PLC (rys. 3.2). Bardzo istotną rolę w układach sterowania odgrywa również
oprogramowanie systemowe. Podstawowymi zaletami układów CNC są szybkość obliczeń i duża elastyczność w zakresie
programowania przemieszczeń oraz technologii obróbki. Niektóre układy CNC zapewniają również graficzne wspomaganie programowania.
Rys. 3.2. Schemat budowy układu CNC [23]
Sterowanie numeryczne DNC
Sterowanie DNC (Distributed Numerical ControI) jest to tzw. rozłożone sterowanie numeryczne* i
stanowi hierarchiczny system do rozdzielania danych między komputerem zarządzającym wytwarzaniem a
układem sterowania numerycznego CNC (rys. 3.3).
Łączność pomiędzy poszczególnymi składnikami systemu DNC realizowana jest najczęściej poprzez
sieci komputerowe. W takim przypadku pomija się nośniki informacji, takie jak taśmy perforowane czy
dyskietki. Sterowanie numeryczne DNC umożliwia określony dostęp technologa lub programisty poprzez
komputer zarządzający do układu sterującego w obrabiarce.
Dzięki zastosowaniu sterowania DNC można uzyskać poprawę organizacji pracy, łatwy dostęp do
programów oraz pomija się
Sterowanie DNC było wcześniej określane jako „bezpośrednie sterowanie numeryczne" (z ang. Direct Numerical Control). Obecne nazewnictwo zgodne jest z Polską Normą. konieczność bezpośredniego (przez operatora) wczytywania programów lub parametrów nastawnych
do układu sterowania.
Rys. 3.3. Przykładowa struktura sterowania DNC
Sterowanie adaptacyjne AC
Pojęcie sterowania adaptacyjnego AC {Adaptive Control) określa rodzaj sterowania, w którym
parametry procesu obróbki określone na etapie jego projektowania są modyfikowane ze względu na rzeczywiste warunki tego procesu oraz uzyskiwane wyniki obróbki (rys. 3.4).
Rys. 3.4. Przepływ informacji w
sterowaniu adaptacyjnym
W sterowaniu adaptacyjnym następują automatyczne zmiany parametrów skrawania (posuw, prędkość
obrotowa wrzeciona, dosuw) w zależności np. od sił skrawania, drgań, zużycia narzędzia, chropowatości powierzchni lub błędu kształtu (rys. 3.5).
Rys. 3.5. Schemat przykładowego układu sterowania adaptacyjnego w procesie frezowania
2.2. Czynności składające się na tworzenie programu sterującego
Na proces programowania obróbki składa się szereg czynności poprzedzających:
Zapoznanie się z rysunkiem wykonawczym
Przed przystąpieniem do programowania programista powinien się zapoznać z rysunkiem wykonawczym danej części. Na rysunku tym zawarte są niezbędne informacje geometryczne i techno-logiczne dotyczące przedmiotu obrabianego.
Utworzenie planu obróbki
Kolejną czynnością poprzedzającą programowanie jest przygotowanie planu obróbki. Przygotowanie planu obróbki odbywa się na podstawie procesu technologicznego. Warto zauważyć, że niezbędna jest współpraca pomiędzy technologiem i programistą na poziomie przygotowania procesu technologicznego.
2.3. Metody programowania obrabiarek CNC
Programowanie obrabiarek CNC polega na utworzeniu programu sterującego w odpowiednim języku i formacie na wymaganym nośniku informacji. Program taki zawiera informacje niezbędne do wykonania operacji technologicznych, zabiegów lub pojedynczych przejść w procesie obróbki.
Ponieważ samo programowanie obrabiarek CNC jest działaniem technicznym zmierzającym do utworzenia programu sterującego, stąd możemy wyróżnić odmienne metody programowania. Choć istnieje wiele kryteriów klasyfikacji metod programowania obrabiarek CNC, najwłaściwszym jednak wydaje się ich
podział ze względu na sposób przetwarzania danych. Można tutaj wyodrębnić programowanie ręczne i programowanie automatyczne. Niekiedy mówi się również o programowaniu dialogowym, którego nie da się jednoznacznie przypisać do żadnej z wcześniej wspomnianych metod.
2.3.1. Programowanie ręczne (bezpośrednie)
Programowanie ręczne polega na bezpośrednim utworzeniu programu sterującego w języku i formacie dostosowanym do danej obrabiarki z określonym układem sterowania. Przy programowaniu ręcznym programista/technolog, realizując czynności składające się na tworzenie programu sterującego, korzysta bezpośrednio z informacji składających się na technologiczne bazy wiedzy (poradniki, tablice materiałowe,
dokumentacje techniczno-ruchowe obrabiarek, katalogi narzędzi, elektroniczne bazy narzędziowe itp.) (rys. 3.6).
2.3.2. Programowanie automatyczne
Programowanie automatyczne charakteryzuje się dwuetapowym przetwarzaniem danych (rys. 3.7). W pierwszym etapie (procesor) tworzone są dane pośrednie, które stanowią wielkość wejściową do drugiego etapu (postprocesor). Dopiero na etapie postprocesora, poprzez adaptację danych pośrednich do konkretnej obrabiarki, tworzony jest program sterujący.
Rys. 3.6. Schemat programowania ręcznego
Rys. 3.7. Schemat sterowania automatycznego
W etapie procesora, na podstawie programu źródłowego lub modelu CAD przedmiotu obrabianego, dokonuje się obliczeń geometrycznych i technologicznych, często wykorzystując przy tym bazy danych oraz automatyczny dobór parametrów skrawania. Programy źródłowe tworzy się w określonym języku programowania (APT, EXAPT, GTJ, ...), w którym
dokonuje się zapisu takiego programu za pomocą odpowiednich instrukcji geometrycznych i technologicznych (rys. 3.8). Przetworzenia programów źródłowych można dokonywać w aplikacjach przeznaczonych dla danego języka, umożliwiających również programowanie w trybie interaktywnym.
Rys. 3.8. Fragment programu źródłowego w języku GTJ z zaznaczeniem opisu geometrii i technologii obróbki
Programowanie automatyczne CAD/CAM wymaga utworzenia modelu przedmiotu obrabianego w odpowiednim systemie CAD (rys. 3.9). Tak utworzony model importuje się do systemu CAM (rys. 3.10). Kolejnym krokiem jest import lub automatyczne utworzenie modelu półfabrykatu i wyznaczenie geometrii,
w postaci cech ob-róhki (np. kieszenie, stemple), profili i punktów, niezbędnej dla automatycznego utworzenia torów ruchu narzędzi.
Tworzenie torów ruchu narzędzi sprowadza się do wyboru określonego narzędzia oraz definicji odpowiedniego cyklu obróbkowego. Na tym etapie, oprócz obliczeń geometrycznych dokonywanych przez system, możliwy jest również automatyczny dobór parametrów skrawania.
Rys. 3.9. Model przedmiotu do obróbki utworzony w systemie CAD
Rys. 3.10. Przykład automatycznego programowania w systemie Edge-CAM
Współczesne systemy komputerowego wspomagania wytwarzania CAM cechuje duża
elastyczność w zakresie doboru cykli obróbkowych jak również ich definicji oraz możliwość symultanicznej (jednoczesnej) obróbki wieloosiowej. Ponadto weryfikacja obróbki na wirtualnej maszynie zapewnia większe bezpieczeństwo podczas pierwszego uruchomienia programu na rzeczywistej obrabiarce CNC (rys. 3.11).
Współczesne systemy komputerowego wspomagania wytwarzania CAM cechuje duża elastyczność w zakresie doboru cykli obróbkowych jak również ich definicji oraz możliwość symultanicznej (jednoczesnej) obróbki wieloosiowej. Ponadto weryfikacja obróbki na wirtualnej
maszynie zapewnia większe bezpieczeństwo podczas pierwszego uruchomienia programu na rzeczywistej obrabiarce CNC (rys. 3.11).
Rys. 3.11. Przykład weryfikacji obróbki w systemie CAM
! «. eto, ttu
2.3.3. Programowanie dialogowe
Programowanie dialogowe polega na programowaniu pełnych cykli obróbkowych bezpośrednio na układzie sterowania poprzez określenie wymaganych parametrów opatrzonych najczęściej grafiką pomocniczą. Układ sterowania zapewnia najczęściej pełną kontrolę wpisu, sprawdzając jego dopuszczalność, zakres wartości parametrów oraz ich alternatywność (zależności logiczne) (rys. 3.12).
Rys. 3.12. Przykład programowania dialogowego cyklu szlifowania wgłębnego (PCProCAM)
3.3. Podstawy programowania ręcznego układów CNC Sinumerik na bazie kodu ISO W przypadku programowania ręcznego obrabiarek CNC język i format instrukcji stosowanych w programie
sterującym zgodny jest najczęściej ze standardami określonymi w międzynarodowych normach ISO
{International Standard Organizatioń) - można wtedy mówić o programowaniu na bazie kodu ISO.
Ponieważ wspomniane normy definiują tylko pewien podstawowy zestaw poleceń i nie definiują szczegółowo
wszystkich zasad programowania, stąd istnieją różnice pomiędzy programowaniem układów sterowania
różnych producentów. W dalszej części niniejszego rozdziału zostaną przedstawione podstawy
programowania ręcznego układów CNC Sinumerik na bazie kodu ISO. Zestawienie tych wiadomości z
przedstawio nym w końcowej części rozdziału skróconym opisem funkcji programowania dla innych układów
sterowania pozwoli czytelnikowi na wykorzystanie zdobytej wiedzy również do programowania układów CNC
innych producentów.
3.3.1. Struktura programu sterującego
Polska Norma (PN) określa program sterujący nazwą program operacji technologicznej. Program operacji technologicznej stanowi uporządkowany zbiór instrukcji w języku i formacie
wymaganym przez układ sterowania automatycznego, zapisany na odpowiednim nośniku i odpowiednio kompletny do wykonywania ustalonych działań przez układ sterowania automatycznego. Instrukcje w
programie sterującym określają wielkości i prędkości przesunięć. Podprogram jest to fragment programu operacji technologicznej, który przez odpowiednie polecenie
sterujące może być wywołany do realizacji. Programy podzielone są na bloki danych opisujące kolejne sekwencje procesu obróbki (rys. 3.13).
Bloki z kolei składają się ze słów. Pierwszy blok danych nosi nazwę bloku nagłówkowego i zawiera informacje dotyczące nazwy programu lub podprogramu oraz etykietę identyfikującą rodzaj danych.
Charakterystyczny jest również ostatni blok danych - blok końcowy - zawierający obowiązkowo funkcję pomocniczą określającą koniec programu (M2 lub M30) lub podprogramu (Ml7).
Rys. 3.13. Struktura programu sterującego
Słowa składają się z litery określającej typ słowa, tzw. adres, po której następuje liczba określająca wartość
wyrażoną przez słowo lub numer funkcji, podprogramu, narzędzia, parametru itp. Adres identyfikuje dane zawarte w słowie (rys. 3.14).
Rys. 3.14. Struktura bloku danych
Słowa określone adresem i wartością liczbową definiują w bloku danych określone funkcje (pomocnicze,
przygotowawcze itd.). Należy przy tym pamiętać, że działanie tych funkcji może być zróżnicowane ze
względu na aktywność i kolejność ich wykonania w bloku danych. Ze względu na aktywność słowa można
podzielić na:
• słowa modalne (międzyblokowe) - słowa te zachowują swoją aktywność do czasu zapisania pod adresem tego słowa innej wartości liczbowej, np. posuw określony słowem Fxx działa tak długo,
aż zostanie wprowadzona jego nowa wartość.
• słowa niemodalne (blokowe) - słowa te są aktywne tylko w danym bloku.
Słowa niemodalne, ze względu na kolejność ich wykonania w bloku danych, można ponadto podzielić na:
• słowa przedblokowe - np. funkcja M3 (włączenie obrotów w kierunku dodatnim) wykonywana jest
przed wykonywaniem pozostałych słów w bloku,
• słowa poblokowe - np. funkcja M30 (stop programu) wykonywana jest po wykonaniu wszystkich
słów w bloku.
Układy CNC Sinumerik umożliwiają również stosowanie adresów rozszerzonych składających się z
rozszerzenia numerycznego danej osi lub wrzeciona lub z kilku liter alfabetu łacińskiego z zapisem w formie
wyrażenia arytmetycznego (ze znakiem =).
Przykład:
X2=4 0; współrzędna ruchu w osi X2,
SI=520; prędkość obrotowa dla wrzeciona nr 1,
CR=10 . 6; promień łuku dla interpolacji kołowej,
M2=5; zatrzymanie wrzeciona nr 2
Każdy blok programu rozpoczyna się od litery adresowej N lub znaku :, po których następuje liczba
określająca numer bloku. Numeracja bloków nie musi być uporządkowana według kolejności występowania
w programie, w takim przypadku jednak mogą pojawić się problemy przy programowaniu z wykorzystaniem
pętli programowych, jak również w przypadku operacji „szukania bloku".
Przykład:
Blok oznaczany symbolem : nosi nazwę bloku głównego. Od tego bloku możliwe jest
bezpieczne rozpoczęcie programu bez względu na wykonanie lub niewykonanie bloków
poprzedzających.
Możliwe jest również warunkowe wykonanie bloku. W takim przypadku blok rozpoczyna się
od znaku /. Włączenie odpowiedniej opcji w układzie sterowania powoduje opuszczenie takiego bloku
w trakcie wykonywania programu.
Przykład:
Programowanie komentarzy
Program może zawierać również komentarze stanowiące określone opisy słowne nie analizowane
przez układ sterowania w trakcie wykonywania programu, pozwalające jednak na znaczne zwiększenie
czytelności tworzonego programu oraz umieszczenie w programie informacji identyfikujących określone
elementy programu dla operatora. Komentarze umieszcza się w osobnej linii programu lub na końcu
bloku danych po znaku ;.
Program może ponadto zawierać polecenia specjalne, jak np. wyświetlanie komunikatu lub pomiar
czasu.
Programowanie komunikatów
Dla zapewnienia osobie obsługującej informacji w trakcie wykonywania programu sterującego
istnieje możliwość zaprogramowania określonych komunikatów, które będą wyświetlane na ekranie
układu sterowania CNC. Wyświetlenie komunikatu może nastąpić w trakcie wykonywania określonego
bloku danych poprzez wprowadzenie słowa MSG, po którym w nawiasach i cudzysłowie wprowadza się
tekst, który ma zostać wyświetlony (maksymalnie 124 znaki)
- MSG („Tekst który ma zostać wyświetlony"). Komunikat może zostać skasowany przez MSG ().
Nazwa programu i podprogramu
Nazwę programu określa się w bloku nagłówkowym. Format tego bloku zależy od rodzaju układu sterowania i może przybierać różną postać. Szczególnie istotne jest zachowanie określonego formatu bloku nagłówkowego przy transmisji programu sterującego z zewnętrznego nośnika danych. Należy wówczas oprócz nazwy programu lub podprogramu podać etykietę identyfikującą rodzaj danych (oprócz programu
głównego lub podprogramu można przesyłać do układu sterowania wartości parametrów zmiennych, dane maszynowe, wartości rejestrów narzędziowych, przesunięcia punktów zerowych itp.).
W przypadku układów CNC SINUMERIK blok nagłówkowy może przyjmować następującą postać:
%_N_PROGRAM_MPF - dla programu głównego,
%_N_PODPROG_SPF - dla podprogramu.
Przed kodem określającym nazwę programu umieszcza się znak % oznaczający początek programu
oraz zespół znaków _N_, od którego rozpoczyna się nazwa zapisywana w pamięci układu CNC. Nazwy
programów lub podprogramów (np. PROGRAM, PODPROG) mogą zawierać znaki 0 ... 9, A. .. Z, a... z oraz _ i
nie mogą przekraczać długości 24 znaków. Na końcu bloku nagłówkowego umieszcza się etykietę
identyfikującą _MPF (Main Program File) programu głównego lub _SPF (Sub Program File) podprogramu. Przykład:
Początek programu głównego o nazwie
WAŁEK2
Początek podprogramu o nazwie ROWEK 1
Symbole stosowane w programie sterującym
Symbole literowe:
v w x y z
Symbole cyfrowe: 0 1 2 3 4 5 6 7 8 9
Symbole specjalne: % ( ) [ ] < > : = / * + -"'$_?!.,;&
Kolejność słów w bloku
Chociaż obecnie produkowane układy sterowania mogą realizować programy z dowolnie ułożonymi
słowami w bloku, jednak ze względu na przejrzystość i łatwość kontroli zaleca się stosowanie kolejności
przedstawionej poniżej:
N... G... X... Y... Z . . . I... J... K... F... S. . . T. . . D. . . M. . . H. . .
Parametry
Programowanie z wykorzystaniem parametrów umożliwia utworzenie programu sterującego, w którym wartości liczbowe występujące w słowie określone sąjako zmienne.
R - adres parametru
Można określić parametry od R0= do R99=.
Parametry mogą być wprowadzane w programie lub wpisywane do rejestru w układzie sterowania.
Programowanie parametryczne umożliwia napisanie programu sterującego np. w takiej formie, że
będzie on służył do obróbki przedmiotów o tym samym kształcie, lecz o różnych wymiarach. Definiując
parametr, przypisujemy mu wartość liczbową ze znakiem, po czym może on być wykorzystany zarówno w
programie, jak i podprogramie. Przykładami podprogramów z wykorzystaniem parametrów są cykle stałe
w układzie sterowania.
Przykład:
Operacje arytmetyczne
Przy programowaniu dostępne są operacje arytmetyczne, w których argumentami mogą być parametry lub liczby.
+ Dodawanie
- Odejmowanie
* Mnożenie
/ Dzielenie
Ponadto możliwa jest zmiana znaku (np. R5=-R5) oraz podstawienie
Przykład:
...
N70 Rl=20
. . .
NI2 0 R3=Rl+4 R2=R1*2 Operacje arytmetyczne
N150 GO X=(Rl+2) Z=(-R3) Operacje arytmetyczne
. . .
Funkcje
Współczesne układy sterowania pozwalają również na wykorzystywanie przy programowaniu funkcji matematycznych. Daje to możliwość pomijania obliczeń przy programowaniu oraz tworzenia programów sterujących o dużej uniwersalności.
SINO Sinus
C O S ( ) Cosinus
TAN() Tangens
AS IN() Arcus sinus
ACOS () Arcus cosinus
ATAN() Arcus tangens
SQRT() Pierwiastek kwadratowy
ABS () Wartość bezwzględna
POT () Podniesienie do kwadratu (x2)
E X P ( ) Funkcja wykładnicza (ex)
LN() Logarytm naturalny
TRUNC () Wartość części całkowitej liczby ROUND () Zaokrąglenie do liczby całkowitej
Przykład:
. . .
N110 Rl=20 R3=32 R7=35
. . .
N140 R2=SQRT(1+R1) R4=R7/COS(R3) Wykorzystanie
funkcji
. . .
N190 Gl XR2 ZR4
3.4.2. Podprogramy
Podprogramy stanowią fragmenty programu sterującego, które poprzez odpowiednie polecenie
mogą być wywołane do realizacji. Programowanie z wykorzystaniem podprogramów umożliwia
opracowanie bardziej przejrzystych programów sterujących, zapewniając przy tym ograniczenie ich
objętości poprzez wielokrotne wywołanie danego podprogramu (rys. 3.15). Unika się w ten sposób
powtarzania pewnej grupy bloków danych w programie sterującym.
Kolejność wykonania programu sterującego z wywołaniem podprogramów tworzy strukturę
nieprzerwanego ciągu bloków danych zapisanych jednakże w różnych plikach, przez co łatwiejszych do
edycji lub ewentualnego wykorzystania w innych programach. Wywołanie podprogramu możliwe jest
również z poziomu innego podprogramu, tworząc w ten sposób zagnieżdżenia podprogramów.
Struktura podprogramu jest podobna do struktury programu głównego. Różnice polegają na
wprowadzeniu innego bloku nagłówkowego np. %_N__PODPROG_SPF i umieszczeniu w bloku końcowym
funkcji końca podprogramu Ml 7.
Przykład:
%_N_PODPRl_SPF Nagłówkowy blok danych dla
podprogramu o nazwie PODPR1
N100 G91 Gl X55 Z17
N110 Z34 N120 GO xlOO
N130 M17 Blok końcowy podprogramu
Rys. 3.15. Przykład wywołania podprogramów w programie głównym i podprogramie
Wywołanie podprogramów może odbywać się poprzez wywołanie przez adres L lub bezpośrednio
przez podanie nazwy podprogramu.
Wywołanie podprogramu przez adres L umożliwia wywołanie tylko takich podprogramów, których
nazwy są liczbami całkowitymi z przedziału 1-^9999. W przypadku tego rodzaju wywołania należy po
adresie L podać wartość liczbową odpowiadającą nazwie programu. Możliwe jest wielokrotne wywołanie
podprogramu poprzez podanie słowa o adresie P i wartości liczbowej odpowiadającej ilości powtórzeń.
Przykład:
% N PROGI MPF
N10 . . .
. . .
N120 L20 P2 Dwukrotne wywołanie podpro-
gramu o nazwie 20 (plik 20.spf)
Wywołanie podprogramu bezpośrednio poprzez podanie jego nazwy możliwe jest w nowszych typach
układów CNC Sinumerik. Przy tego rodzaju programowaniu nazwa może zawierać litery, liczby lub inne znaki
alfanumeryczne.
Przykład:
% N PROG2 MPF
N10 ...
. . .
NI7 0 PODROG_l wywołanie podprogramu o nazwie
PODPROG 1 (PODPROG l.spf)
. . .
3.4.3. Deklaracja sposobu wymiarowania
Przez podstawowe dane wymiarowe należy rozumieć informacje dotyczące drogi (X, Y, Z), parametry
interpolacji (I, J, K), wartości promieni okręgów (CR=), promienie biegunowe (RP=) oraz wartości przesunięcia
punktu zerowego. W przypadku funkcji G700 i G710, oprócz podstawowych danych wymiarowych, można
również zmieniać jednostki wymiarowania posuwu.
Funkcja wymiarowania metrycznego G71 aktywna jest najczęściej bezpośrednio po włączeniu
układu sterowania. Z kolei programowanie w jednostkach calowych wymaga zadeklarowania funkcji G7 0
na początku programu lub w bloku, od którego chcemy taki sposób wymiarowania zmienić.
Przykład:
Metryczny system miary
%_N WYMIAR1_MPF
N10 GO G90 G71 S2 0 00 M3 Deklaracja funkcji metrycznego systemu miary
N20 Tl Dl Wprowadzenie narzędzia
N30 X0 Y0 Z25.4 Ruch do PI (współrzędne w mm)
N40 X76.2 Y25.4 Ruch do P2
N50 Gl Y76.2 F500 Ruch do P3 posuw [mm/min]
N60 X25.4 Ruch do P4
N70 GO X0 YO M5 Ruch do P5
N80 M30 Koniec programu
Calowy system miary
Deklaracja w programie sterującym płaszczyzny roboczej powoduje jednocześnie określenie płaszczyzny
dla interpolacji kołowej i korekcji promieniowej oraz powoduje ustalenie kierunku dosuwu dla korekcji długości
narzędzia (rys. 3.16).
Rys. 3.16. Orientacja płaszczyzn roboczych w układzie współrzędnych
Określenia płaszczyzny roboczej powinno dokonywać się na początku programu sterującego. Dla
tokarko wy eh układów CNC domyślnym ustawieniem jest funkcja G18 - płaszczyzna Z/X (rys. 3.17).
Rys. 3.17. Domyślne usta-wienie płaszczyzny robo-czej w układach CNC przeznaczonych dla toka-rek
Dla frezarkowych układów CNC po włączeniu domyślnie aktywna jest funkcja G17 - płaszczyzna
X/Y (rys. 3.18).
Rys. 3.18. Domyślne ustawienie płaszczy-zny roboczej w ukła-dach CNC przezna-czonych dla frezarek
DIAMON Podawanie wymiarów w osi X w średnicach; funkcja modalna
DIAMOF Podawanie wymiarów w osi X w promieniach; funkcja mo-
dalna
DIAM90 Podawanie wymiarów przy programowaniu absolutnym
(G90) w średnicach, a przy programowaniu przyrostowym
(G91) w promieniach; funkcja modalna
Możliwość wyboru sposobu podawania wymiarów w osi X związana jest ze sposobem wymiarowania przedmiotów do obróbki tokarskiej, dla których większość wymiarów w osi X podawana jest średnicowo. W przypadku zaprogramowania funkcji wymiarowania średnicowego (DIAMON) układ sterowania określa rzeczywiste współrzędne dla ruchu punktu charakterystycznego narzędzia w układzie współrzędnych przedmiotu obrabianego poprzez podzie-
lenie wartości liczbowej podanej w programie sterującym przy adresie osi X (średnicy) przez 2 (promień = średnica/2). Dla aktywnej funkcji wymiarowania promieniowego (DIAMOF) już na etapie pisania programu podaje się rzeczywiste współrzędne ruchu punktów w układzie współrzędnych przedmiotu obrabianego (rys. 3.19). Rys. 3.19. Programowanie funkcji wymiarowania średnicowego i promieniowego
Chociaż programowanie wymiarów promieniowo wymaga przeliczania wartości średnic
podanych na rysunku, zaleca się jednak wykorzystywanie tego sposobu programowania ze
względu na określanie w programie sterującym rzeczywistych współrzędnych punktów w
układzie współrzędnych przedmiotu obrabianego. Wymiarowanie promieniowe wiąże się z
wprowadzeniem na początku programu funkcji DIAMOF - dla układów tokarkowych domyślnie
aktywne jest wymiarowanie średnicowe w osi X (DIAMON).
Powyższe funkcje określają sposób wymiarowania współrzędnych punktu, odcinka lub
łuku.
Programowanie absolutne G90
W przypadku programowania absolutnego (bezwzględnego) kolejne punkty w programie sterującym określane są w stosunku do aktualnego układu współrzędnych przedmiotu
obrabianego (zera programu). Jeżeli współrzędne nie zmieniają swoich wartości w odniesieniu do bloków poprzednich, można adres ruchu w danej osi pominąć.
Przykład dla toczenia:
Sposób określania punktów przy wymiarowaniu absolutnym dla aktywnej funkcji DI AMON (dla
rysunku poniżej):
PI-punktowsp. X60 ZO P2-punkt o wsp. X60 Z-15
P3-punktowsp. X90 Z-30 P4 -punkt o wsp. X90 Z-50
P5 -punkt o wsp. Xl30 Z-50 P6-punkt o wsp. Xl60 Z-70
Sposób określania punktów przy wymiarowaniu absolutnym dla aktywnej funkcji DIAMOF (dla
rysunku poniżej):
PI -punkt o wsp. X30 ZO
P2-punkt o wsp. X30 Z-15
P3 - punkt o wsp. X45 Z-30 P4-punkt o wsp. X4 5 Z-50
P5-punkto wsp.X65 Z-50 P6-punkt o wsp. X80 Z-70
Wymiarowanie średnicowe
% N ABSOLUTNE MPF
;WYMIAROWANIE ABS_SRED Komentarz
N10 GO G90 S2000 M3 DIAMON Deklaracja funkcji wymiarowania absolutnego, X-średnice
N20 Tl Dl Wprowadzenie narzędzia
N30 X60 ZO Ruch ustawczy do PI
N40 Gl Z-15 F500 Ruch roboczy do P2
N50 X90 Z-30 Ruch roboczy do P3
N60 Z-50 Ruch roboczy do P4
N70 X130 Ruch roboczy do P5
N80 X160 Z-70 Ruch roboczy do P6
N90 GO X170 Odjazd narzędzia o 5 mm
NIOO M5 M30 Koniec programu
Wymiarowanie promieniowe
% N ABSOLUTNE MPF
;WYMIAROWANIE ABS_PROM Komentarz
NIO GO G90 S2000 M3 DIAMOF Deklaracja funkcji wymiarowania absolutnego, X-promienie
N20 Tl Dl Wprowadzenie narzędzia
N30 X30 ZO Ruch ustawczy do PI
N40 Gl Z-15 F500 Ruch roboczy do P2
N50 X45 Z-30 Ruch roboczy do P3
N60 Z-50 Ruch roboczy do P4
N70 X65 Ruch roboczy do P5
N80 X80 Z-70 Ruch roboczy do P6
N90 GO X85 Odjazd narzędzia o 5 mm
N100 M5 M30 Koniec programu
Przykład dla frezowania:
Sposób określania punktów przy wymiarowaniu absolutnym (dla rysunku poniżej): PI -punktowsp.
X22 Y45 P2-punktowsp. X50 Y60 P3 - punkt o wsp. X7 5 Y25 W przypadku układu
przestrzennego należy uwzględnić współrzędną Z.
% N ABSOLUTNE MPF
;WYMIAROWANIE ABSOLUTNE Komentarz
N10 GO G17 G90 S2000 M3 Deklaracja funkcji wymiarowania absolutnego
N20 Tl Dl Wprowadzenie narzędzia
. • .
N50 Gl X22 Y45 Ruch roboczy do PI
N60 X50 Y60 Ruch roboczy do P2
N70 X75 Y25 Ruch roboczy do P3
...
N100 M30 Koniec programu
Programowanie przyrostowe G91
W przypadku programowania przyrostowego (inkrementalne-go) kolejne punkty w
programie sterującym określane są w stosunku do punktu poprzedzającego (wprowadza się
wartości określone względem układu współrzędnych umieszczonego w punkcie poprzedzającym).
Jeżeli przyrosty w odniesieniu do bloków poprzednich są zerowe, można adres ruchu w danej osi
pominąć.
Przy programowaniu przyrostowym (G91) zaleca się pierwszy punkt docelowy ruchu
określać we współrzędnych absolutnych (przy aktywnej G90). Zapewnia to właściwe określenie
pozycji narzędzia względem zera programu.
Przykład dla toczenia:
Sposób wyrażania punktów przy wymiarowaniu przyrostowym (dla rysunku poniżej):
PI - punkt o wsp. X30 ZO (w odniesieniu do początku układu współrzędnych)
P2 - punkt o wsp. X0 Z-15 (w odniesieniu do PI)
P3 - punkt o wsp. X15 Z-15 (w odniesieniu do P2)
P4-punkt o wsp. X0 Z-20 (w odniesieniu do P3)
P5 - punkt o wsp. X2 0 Z 0 (w odniesieniu do P4)
P6-punkt o wsp. X15 Z-20 (w odniesieniu do P5)
%_N PROG_MPF
/WYMIAROWANIE PRZYROSTOWE Komentarz
N10 GO G17 G90 S2000 M3
DIAMOF
Deklaracja funkcji wymiarowania absolutnego
N20 Tl Dl Wprowadzenie narzędzia
N30 X30 ZO Ruch ustawczy do PI
N40 G91 Gl Z-15 F500 Deklaracja funkcji wymiarowania przyrostowego; ruch roboczy
do P2 N50 X15 Z-15 Ruch roboczy do P3
N60 Z-20 Ruch roboczy do P4
N70 X20 Ruch roboczy do P5
N80 X15 Z-20 Ruch roboczy do P6
N90 GO X5 M5 Odjazd narzędzia o 5 mm
NIOO M30 Koniec programu
Przykład dla frezowania:
Sposób określania punktów przy wymiarowaniu absolutnym (dla rysunku poniżej):
PI - punkt o wsp. X22 Y45 (w odniesieniu do początku układu współrzędnych - zera programu)
P2 - punkt o wsp. X2 8 Yl 5 (w odniesieniu do PI)
P3 -punkt o wsp. X2 5 Y-35 (w odniesieniu do P2)
W przypadku układu przestrzennego należy uwzględnić współrzędną Z.
Oprócz programowania ruchu we współrzędnych kartezjańskich istnieje również możliwość
podawania położenia punktu docelowego ruchu we współrzędnych biegunowych. Ten rodzaj wymiarowania
wymaga jednak określenia wcześniej bieguna (G110, Gili, G112), względem którego definiuje się
% N PRÓG MPF
współrzędne biegunowe (kąt biegunowy AP i promień biegunowy RP). Współrzędne biegunowe obowiązują
w płaszczyźnie roboczej określonej przy pomocy funkcji G17, G18, G19.
Formaty bloku programu sterującego
N. . G110(G111, G112) X... (Y...) Z...
N. . G110(G111, G112) AP=. .. RP=...
X, (Y) , Z — współrzędne bieguna określone we współrzędnych absolutnych (G90) lub
przyrostowych (G91)
AP= — kąt biegunowy w odniesieniu do poziomej osi płaszczyzny roboczej
RP= — długość promienia biegunowego.
Określenie polecenia ruchu do punktu wyznaczonego współrzędnymi biegunowymi ustala
się w stosunku do zaprogramowanego wcześniej położenia bieguna. Programowanie takie polega
na podaniu adresu polecenia ruchu (GO, Gl, G2, G3) oraz określeniu kąta biegunowego (AP=) i
promienia biegunowego (RP=).
Programowania położenia bieguna należy dokonywać w odrębnym bloku danych.
Przykład dla toczenia:
%_N_BIEGUNOWE_TOCZ_MPF
NIO G90 S20 0 0 M3 DIAMOF Określenie wymiarowania absolutnego
N20 Tl Dl Wprowadzenie narzędzia
Przykład dla frezowania:
Powyższe funkcje określają, w jakich jednostkach podawana będzie prędkość posuwu narzędzia
przy toczeniu. Funkcje te najczęściej określa się już w pierwszym bloku. Prędkość posuwu wyrażona w mm/min (cal/min) nosi nazwę posuwu niezależnego, natomiast
wyrażona w mm/obr. (cal/obr.) posuwu zależnego.
Przykład:
Posuw niezależny
Posuw zależny
Powyższe funkcje służą do programowania stałej prędkości skrawania. Uwzględnić jednak
należy, że decydują one zarówno o prędkości skrawania (prędkości obrotowej wrzeciona), jak również o jednostkach, w jakich określana będzie wartość posuwu. Stała prędkość skrawania może być programowana tylko na tokarkach z bezstopniowym napędem głównym.
Bloki programu sterującego do programowania stałej prędkości skrawania
Prędkość skrawania określona jest wzorem:
gdzie: d = aktualna średnica toczenia [mm], n = obroty wrzeciona [obr./min].
Układ utrzymuje stałą prędkość skrawania Vc poprzez zmianę prędkości obrotowej wrzeciona n w
zależności od aktualnej średnicy toczenia (i (rys. 3.20).
Rys. 3.20. Sposób określania prędkości skrawania w procesie toczenia powierzchni czołowej
Przykład:
N.
Funkcje G25/G2 6 w połączeniu z adresem S umożliwiają dolne i górne ograniczenie prędkości obrotowej
wrzeciona. Funkcje te są szczególnie przydatne przy programowaniu stałej prędkości skrawania.
Bloki programu sterującego
N... G25 S...
N... G2 6 S...
S - Minimalna (G2 5) lub maksymalna (G2 6) wartość prędkości
obrotowej wrzeciona.
Przykład:
prędkością posuwu (ruch szybki). Tego rodzaju przemieszczenie stosuje się najczęściej do pozycjonowania
narzędzia (ruch ustawczy). Programowanie ruchu ustawczego może odbywać się we współrzędnych
prostokątnych oraz współrzędnych biegunowych. Programowanie we współrzędnych prostokątnych może
odbywać się zarówno przy aktywnej funkcji programowania absolutnego (G90), jak i funkcji
programowania przyrostowego (G91).
Bloki programu sterującego:
N... GO X... Y... Z...
N... GO AP=... RP=...
X, Y, Z — współrzędne punktu docelowego ruchu określone we
współrzędnych absolutnych (G90) lub przyrostowych (G91),
AP= - kąt biegunowy mierzony na płaszczyźnie:
X/Y - dla aktywnej funkcji Gl 7,
Z/X - dla aktywnej funkcji G18 (toczenie),
Y/Z - dla aktywnej funkcji Gl 9, RP= - promień biegunowy.
Dodatkowo w bloku danych mogą być programowane adresy opcjonalne dotyczące wymiany
narzędzia, posuwu itp.
3.4.4. Programowanie funkcji ruchu
Przykład:
Współrzędne absolutne
% N PROGI MPF
NIO G90 S2 0 0 0 M3 DIAMOF Określenie wymiarowania absolutnego
N20 Tl Dl Wprowadzenie narzędzia
N. . .
N50 GO X30 ZO Ruch ustawczy do punktu docelowego
N. . .
N. . .
Współrzędne przyrostowe
% N PRÓG MPF
NIO G91 S20 0 0 M3 DIAMOF Określenie wymiarowania przyrostowego
N20 Tl Dl Wprowadzenie narzędzia
N. . .
N50 GO X-25 Z-50 Ruch ustawczy do punktu docelowego
N. . .
N. . .
% N PROGI MPF
N10 G90 S2 00 0 M3 DIAMOF Określenie wymiarowania absolutnego
N20 Tl Dl Wprowadzenie narzędzia
N. . .
N50 GO AP=210 RP=55.902 Ruch ustawczy do punktu docelowego
N. . .
N. . .
Funkcja ruchu roboczego Gl określa przemieszczenie narzędzia po linii prostej do punktu
docelowego z zaprogramowaną prędkością posuwu (funkcja F). Tego rodzaju przemieszczenie stosuje
się najczęściej do realizacji procesu obróbki (ruch roboczy).
Programowanie ruchu roboczego może odbywać się we współrzędnych prostokątnych oraz
współrzędnych biegunowych. Programowanie we współrzędnych prostokątnych może odbywać się
zarówno przy aktywnej funkcji programowania absolutnego (G90), jak i funkcji programowania
przyrostowego (G91).
Bloki programu sterującego:
N. . . Gl X. . . Y. . . Z. . . F. . .
N. . . Gl AP=. . . RP=. . . F. . .
X, Y, Z — współrzędne punktu docelowego ruchu określone we
współrzędnych absolutnych (G90) lub przyrostowych (G91),
AP= — kąt biegunowy mierzony na płaszczyźnie:
X/Y - dla aktywnej funkcji G17,
Z/X - dla aktywnej funkcji G18 (toczenie),
Y/Z - dla aktywnej funkcji Gl 9, RP= — promień biegunowy,
F - prędkość posuwu wyrażona w [mm/min] (dla frezowania lub toczenia przy aktywnej G94) lub
[mm/obr.] (dla toczenia przy aktywnej G95).
Dodatkowo w bloku danych mogą być programowane adresy opcjonalne dotyczące wymiany
narzędzia, posuwu itp.
Przykład:
% N PRÓG MPF
N10 G90 S2000 M3 DIAMOF Określenie wymiarowania absolutnego
N20 Tl Dl Wprowadzenie narzędzia
N. . .
N50 GO X30 ZO Ruch ustawczy do punktu PI
N60 Gl X35 Z-5 F500 Ruch roboczy do punktu P2
N70 Z-25 Ruch roboczy do punktu P3
N80 X60 Z-50 Ruch roboczy do punktu P4
N. . .
% N PRÓG MPF
NIO G90 S2000 M3 DIAMOF Określenie wymiarowania absolutnego
N20 Tl Dl Wprowadzenie narzędzia
N. . .
N50 GO AP=210 RP=55.902 Ruch ustawczy do punktu PI
N60 Gl AP=135
RP=(5*SQRT(2)) F500
Ruch roboczy do punktu P2
N70 AP=180 RP=15 Ruch roboczy do punktu P3
N80 AP=135
RP=(25*SQRT(2))
Ruch roboczy do punktu P4
N. . .
% N PRÓG MPF
NIO G91 S200 0 M3 DIAMOF Określenie wymiarowania przyrostowego
N20 Tl Dl Wprowadzenie narzędzia
N. . .
N50 GO X-25 Z-50 Ruch ustawczy do punktu P1
N60 Gl X5 Z-5 F500 Ruch roboczy do punktu P2
N70 Z-20 Ruch roboczy do punktu P3
N80 X25 Z-25 Ruch roboczy do punktu P4
N. . .
Powyższe funkcje określają programowanie ruchu z zaprogramowaną prędkością posuwu (funkcja F) wzdłuż łuku
okręgu - interpolacja kołowa. Kierunek ruchu po łuku okręgu określany jest w następujący sposób (rys. 3.21):
• G2 — kierunek łuku jest zgodny z kierunkiem ruchu wskazówek zegara (CW),
• G3 — kierunek łuku jest przeciwny do kierunku ruchu wskazówek zegara (CCW).
Dla obliczenia kierunku ruchu po łuku okręgu wymagane jest określenie płaszczyzny roboczej (funkcje G17
do G19) (rys. 3.21).
Dla operacji toczenia kierunek ruchu po łuku okręgu określany jest jak dla aktywnej płaszczyzny
roboczej G18. Uwzględniając możliwe przypadki obróbki „nad osią" i „pod osią", zasadę określania
kierunku ruchu po łuku okręgu dla toczenia można przedstawić w następujący sposób (rys. 3.22):
• dla G2 - kierunek łuku jest przeciwny do kierunku, w którym należy obrócić oś Z o kąt 90°, tak aby pokryła się z osiąX,
• dla G3 — kierunek łuku zgodny jest z kierunkiem, w którym należy obrócić oś Z o kąt 90°, tak aby pokryła się z osiąX.
b)
Rys. 3.22. Określanie kierunku ruchu po łuku okręgu przy toczeniu:
a) „ nad osią", b) ,,pod osią"
Rys. 3.21. Określanie kierunku ruchu po łuku okręgu przy frezowaniu
Programowanie funkcji łuku okręgu G2/G3 za pomocą parametrów interpolacji
Blok programu sterującego dla toczenia
N... G2(G3) X... Z. . . I... K... F...
Bloki programu sterującego dla frezowania
N... G 2 ( G 3 ) G17 X... Y . . . I... J... F... N... G2(G3) G18 X... Z . . . I... K...
F... N. . . G 2 ( G 3 ) G19 Y... Z . . . J... K... F...
G17, G18, G19 — płaszczyzny obróbki,
X, (Y) , Z — współrzędne końca łuku w odniesieniu do:
• aktualnego układu współrzędnych (dla G 9 0)
• początku łuku (dla G 91)
I, (J) , K — parametry interpolacji określające współrzędne środka okręgu w odniesieniu do jego początku
(interpretacja geometryczna została przedstawiona poniżej); parametry te określane są dla odpowiednich osi
aktywnej płaszczyzny obróbki:
• parametr I określany jest dla osi X,
• parametr J określany jest dla osi Y,
• parametr K określany jest dla osi Z,
F — prędkość posuwu wyrażona w [mm/min] (dla frezowania lub dla toczenia przy aktywnej G94) lub
[mm/obr.] (dla toczenia przy aktywnej G95).
Przykład programowania na symbolicznych wartościach poszczególnych adresów:
Współrzędne absolutne
Parametry interpolacji mogą przyjmować wartości ujemne.
Przykład:
Przykład:
% N PRZYKŁAD MPF
N10 G17 G71 G90 Określenie płaszczyzny obróbki i wymiarowania absolutnego
N20 T3 D8 Wprowadzenie narzędzia
N30 S 2 0 0 0 M4 Określenie prędkości posuwu
N40 GO XO YO Ruch do punktu zera przedmiotu obrabianego
N50 X20 YIO Ruch do punktu PI
N60 G3 X40 Y30 120 JO F500 Ruch do punktu P2
N70 G2 X20 Y50 10 J20 Ruch do punktu P3
N80 G3 X-20 Y50 1-20 JO Ruch do punktu P4
N90 G2 X-40 Y30 1-20 JO Ruch do punktu P5
N100 G3 X-20 YIO 10 J-20 Ruch do punktu P6
N110 G2 X20 YIO 120 JO Ruch do punktu P7
N120 GO X0 YO M5 Ruch do punktu zera przedmiotu obrabianego
N140 M30
Programowanie funkcji łuku okręgu G2/G3 za pomocą jego promienia
Różnica pomiędzy programowaniem funkcji łuku okręgu za pomocą promienia a programowaniem za
pomocą parametrów interpolacji polega na zastąpieniu tych parametrów I, J, K promieniem łuku CR=.
Blok programu sterującego dla toczenia
N... G 2 ( G 3 ) X... Z... CR=... F...
Bloki programu sterującego dla frezowania
N... G 2 ( G 3 ) G17 X... Y . . . CR=... F... N... G 2 ( G 3 ) G18 Z... X . . . CR=... F... N... G 2 ( G 3 ) G19 Y... Z . . . CR=... F...
G17, G18, G19 — płaszczyzny obróbki,
X, (Y) , Z - współrzędne końca łuku w odniesieniu do:
• aktualnego układu współrzędnych (dla G90),
• początku łuku (dla G91),
CR= — promień łuku poprzedzony znakiem + lub - wg zasady:
• + (lub bez znaku) — gdy kąt środkowy łuku jest nie większy od 180°,
• - — gdy kąt środkowy łuku jest większy od 180°, a mniejszy od 360°,
F — prędkość posuwu wyrażona w [mm/min] (dla frezowania lub toczenia przy aktywnej G94) lub [mm/obr.] (dla
toczenia przy aktywnej G95).
Przykład programowania na symbolicznych wartościach poszczególnych adresów:
% N PRZYKŁAD MPF
N. . . G17 G90 . . . Określenie płaszczyzny obróbki i wymiarowania absolutnego
N. . .
N. . G3 X(XK) Y(YK)
CR=(CR) F...
Określenie współrzędnych
i promienia dla wym. absolutnego
N. . .
N. . .
% N PRZYKŁAD MPF
N... G17 G91 ... Określenie płaszczyzny obróbki i wymiarowania przyrostowego
N. . .
N.. G3 X(XK-XP) Y(YK-YP)
CR=(CR) F. . .
Określenie współrzędnych i promienia dla wym. przyrostowego
N. . .
N. . .