Metodyka programowania toru narzędzia według zadanej krzywej

Download Report

Transcript Metodyka programowania toru narzędzia według zadanej krzywej

Metodyka programowania toru
narzędzia według zadanej krzywej
Łukasz Pietras
Interpolacja liniowo-kołowa
Interpolacja tego typu stosowana jest powszechnie w
układach sterowania obrabiarek CNC. Umożliwia
programowanie fragmentów prostoliniowych oraz łuków.
Często zdarza się, iż zarys obrabianych przedmiotów
składa się z zarysów bardziej skomplikowanych takich jak:
•
•
•
•
•
spirale
elipsy
sinusoidy
ewolwenty
itp.
Aproksymacja
Metoda polegająca na zastąpieniu zarysu
teoretycznego zarysem złożonym z odcinków
prostych lub łuków. Liczba i długość odcinków
zależeć będzie od błędu aproksymacji
wyrażającego dopuszczalne odchylenie zarysu
teoretycznego od zarysu otrzymanego po
aproksymacji.
Przykład aproksymacji okręgu za
pomocą odcinków prostych
Metody aproksymacji stosowane w
programowaniu CNC:
• Obliczenia ręczne (np. generowanie punktów
w arkuszach kalkulacyjnych)
• Parametryczne programowanie
• Obliczenia CAD/CAM (tzw. Postprocesing)
Programowanie parametryczne
Jest bardzo podobne do powszechnie
stosowanych
języków
programowania
komputerowego. Programowanie składa się z
pętli, zmiennych, wyrażeń arytmetycznych,
zastosowanych skoków do poszczególnych
bloków,
instrukcji
warunkowych,
podprogramów i wielu innych.
Etapy opracowania programu
1. Analiza matematyczna krzywej,
2. Opracowanie algorytmu pracy programu,
3. Zapis programu w języku układu sterowania
CNC,
4. Testowanie i weryfikacja programu
bezpośrednio na układzie sterowania CNC.
Programowanie spirali Archimedesa
xo - przesunięcie początku spirali w osi X,
zo - przesunięcie początku spirali w osi Z,
C - stała charakteryzująca szybkość wzrostu promienia wodzącego,
j - kąt określający położenie promienia wodzącego spirali (kąt bieżący),
r - promień wodzący,
x - współrzędna x punktu bieżącego,
z - współrzędna z punktu bieżącego.
Porównanie
Na powyższych rysunkach przedstawiono różnicę w
jakości odwzorowania spirali, w zależności od zagęszczenia
punktów aproksymacji. Po lewej stronie widoczne odcinki
proste, po prawej stronie widoczne jest wygładzenie.
Algorytm pisania programu do spirali
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xo=100 => R1
zo=100 => R2
C=0.1 => R3
Dj=10 => R4
podstaw wartość 100 pod parametr R1
podstaw wartość 100 pod parametr R2
podstaw wartość 0.1 pod parametr R3
podstaw wartość 10 pod parametr R4 (zmiana kąta
bieżącego)
jp=0 => R5
podstaw wartość 0 pod parametr R5 (początkowy kąt
spirali)
jk=360 => R6
podstaw wartość 360 pod parametr R6 (końcowy kąt
spirali)
j=jp => R7
ustaw wartość początkową kąta bieżącego (czyli R7=0)
N100 WHILE jjk K200 początek pętli: DOPÓKI jjk wykonuj następne bloki
w przeciwnym razie skocz do bloku N200
r=Cj
oblicz bieżący promień spirali
x= rsin j + x0
oblicz współrzędną x punktu bieżącego
z= rcos j + z0
oblicz współrzędną z punktu bieżącego
Wykonaj ruch narzędzia na obliczone współrzędne (x, z),
j = j + Dj
powiększ kąt bieżący
Skocz do bloku N100
N200 M30
koniec programu
Kod programu dla kąta do 360⁰
%123
N10 G90 S400 M03
N20 G54 G71 G95
N30 T1 D1
R1=100 R2=100 R3=0.1
R4=10 R5=0 R6=360
R7=R5
N100 @136 R7 R6 K200
N110 R8=R3*R7
N160 @630 R9 R7
N170 @631 R10 R7
R11=R8*R9+R1
R12=R8*R10+R2
G1 X=R11 Z=R12 F0.3
R7=R7+R4
@100 K-100
N200 G53 T1 D0
N210 M30
(ustawienie parametrów pracy obrabiarki)
(podstawienie parametrów zadania)
(ustawienie początkowej wartości kąta bieżącego)
(pętla WHILE; dopóki R7R6 wykonuj pętlę)
(obliczenie wartości promienia bieżącego)
(obliczenie funkcji sinus: R9=sin R7)
(obliczenie funkcji cosinus: R10=cos R7)
(obliczenie współrzędnej X punktu bieżącego)
(obliczenie współrzędnej Z punktu bieżącego)
(ruch roboczy narzędzia z interpolacją liniową)
(powiększenie kąta bieżącego R7 o wartość R4)
(koniec pętli, skok bezwarunkowy - powrót do bloku
100)
(koniec programu)
Elipsa
Cykloida
Krzywe Lissajous
Krzywe Lissajous powstają w wyniku złożenia dwóch ruchów
drgających w kierunkach wzajemnie prostopadłych o częstościach
kołowych p i q, gdzie p i q są liczbami całkowitymi.
x  A1 sin( p  t  j 1 )
y  A 2 sin( q  t  j 2 )
Krzywe są wpisane w prostokąt, którego środek pokrywa się z początkiem
układu współrzędnych. Boki prostokąta są równoległe do osi 0X i 0Y i położone
są po ich obu stronach w odległościach równych odpowiednio A1 i A2. Stosunek
częstości drgań p i q jest równy stosunkowi liczby punktów styku krzywej
Lissajous z dwoma bokami prostokąta mającymi wspólny wierzchołek czyli
bokami równoległymi odpowiednio do osi 0Y i 0X.
N5 G90 S400 M03
N15 G54 G71 G94
N20 T1 D1 F300
R1=75
R2=50
R3=1
R4=3
R5=1
R6=90
R7=0
R8=0
R9=360
R10=0.5
R11=R8
R20=360
R29=360
N50 @136 R11 R9 K400
N60 R12=R3*R5*R11+R6
N70 @125 R12 R20 K100
N80 @630 R30 R12
N90 R16=R30*R1
N95 @100 K200
N100 R13=R12/R29
N110 @622 R13
(ustawienie parametrów pracy obrabiarki)
(ampliduda A1)
(ampliduda A2)
(wartość p)
(wartość q)
(wartość )
(wartość kąta j1)
(wartość kąta j2)
(wartość początkowa parametru t=t1 )
(wartość końcowa parametru t=t2 )
(przyrost parametru t )
(chwilowa wartość parametru t )
(parametr pomocniczy )
(parametr pomocniczy )
(wykonuj instrukcje wewnątrz pętli dopóki t<=t2 )
(obliczenie wartości nawiasu R12=(p t+j1 ))
(jeżeli wartość R12=(p t+j1 )360 skocz do N100)
(obliczenie wartości funkcji sinus)
(mnożenia przez amplitudę R16=A1*sin(p t+j1 )
(skok do bloku N200)
(dzielenie wartości R12 przez 360)
(obliczenie części całkowitej)
N120 R14=R13*R29
N130 R15=R12-R14
N150 @630 R30 R15
N160 R16=R30*R1
N200 R17=R4*R5*R11+R7
N220 @125 R17 R20 K250
N230 @630 R31 R17
N240 R18=R31*R2
N245 @100 K300
N250 R19=R17/R29
N260 @622 R19
N270 R21 R19*R29
N280 R22=R17-R21
N290 @630 R31 R22
N295 R18=R31*R2
N300 G01 X=R16+90 Z=R18+190
N310 R11=R11+R10
N320 @100 K-50
N400 M30
(mnożenie części całkowitej przez 360)
(R15 jest kątem zredukowanym <360 stopni)
(wartość f. sinus ze zredukowanego kąta R15)
(mnożenie przez amplitudę R16=A1*sin(p t+j1 )
(obliczenie wartości nawiasu R17=(q t+j2 ))
(jeżeli wartość (q t+j2 )360 skocz do N250)
(obliczenie wartości funkcji sinus)
(mnożenia przez amplitudę R18=A2*sin(q t+j2 )
(skok do bloku N300)
(dzielenie wartości w nawiasie przez 360
(obliczenie części całkowitej)
(mnożenie części całkowitej przez 360))
(wynik R21 zostaje odjęty od wartości nawiasu R17)
(wartość f. sinus ze „zredukowanego” kąta R22)
(mnożenia przez amplitudę R18=A2*sin(q t+j2 )
(ruch na obliczone współrzędne + przesunięcie)
(do parametru t zostaje dodany przyrost t
(powrót do bloku N50)
(zakończenie programu)
CAD/CAM
• Procesor – jest początkowym etapem programowania.
Zadaniem procesora jest: Odczytać program napisany
w specjalnym języku programowania. Następnie
rozwiązanie instrukcji technologicznych pierwszego
poziomu. Wyznaczenie trajektorii ruchu narzędzi z
uwzględnieniem korekty toru ze względu na ich
promień. Utworzenie danych pośrednich.
• Postprocesor – zajmuje sie tłumaczeniem danych
zawartych w procesorze na dane maszynowe. Innymi
słowy postprocesor zamienia kod źródłowy na kod
sterujący w odpowiedniej maszynie
Computer Aided Manufacturing
Oprogramowanie typu CAM (Computer Aided Manufacturing –
komputerowo wspomagane wytwarzanie) – umożliwia generowanie
programów technologicznych, praktycznie dla dowolnych części, na
podstawie utworzonego wcześniej modelu geometrycznego oraz
wprowadzonych informacji technologicznych.
System GTJ jest przeznaczony do autonomicznego programowania
obrabiarek sterowanych numerycznie. Pozwala on rozwiązywać zarówno
problemy geometryczne (wyliczanie ich współrzędnych punktów, profili)
jak i technologiczne (korzystanie z wcześniej zdefiniowanych baz danych,
materiałowych i narzędziowych) występujące przy projektowaniu
procesów technologicznych na obrabiarkach CNC.
Opis technologii obróbki polega na zdefiniowaniu narzędzia kreśleniu
zakresu wykonywanych nim cykli. Dane narzędzia (wymiary, parametry skrawania itp.),
mogą być zadawane w programie lub te_ pobierane przez procesor GTJ ze specjalnie w
tym celu utworzonych, baz danych narzędziowych. Przetwarzanie programu
opisującego obróbkę części, napisanego w języku GTJ, odbywa sie dwuetapowo, przez
procesor języka GTJ, a następnie przez postprocesor dopasowujący wyniki pracy
procesora do wymogów konkretnej obrabiarki CNC.
Procesor ma za zadanie odczytywanie napisanego programu obróbki części,
sprawdzenie ewentualnych bledów i ich identyfikacja, obliczanie geometryczne i
wydruk postaci kanonicznej elementów określonych w programie obróbki wyznaczenie
trajektorii ruchów poszczególnych narzędzi, utworzenie danych pośrednich CLP
(Command Line Processing)
Postprocesor ma za zadanie sprawdzenie możliwości realizacji danych CLF
(Cutter Location File) na danej obrabiarce, formatowanie bloków programu
sterującego obróbka, zapis gotowego programu w pamięci dyskowej. Struktura
instrukcji GTJ jest językiem alfanumerycznym2 i składa sie z instrukcji pisanych w
oddzielnych liniach, z których każda posiada swój numer.
Przykład