CIRCLE (179)
CIRCLE (179)
ID 179
Zastosowanie: |
PLC |
Grupa: Motion
Opis skrótowy:
Funkcja wykonująca ruch z interpolacją kołową między 2 osiami.
Wejścia (18 sztuk):
nr |
typ |
impuls |
oznaczenie |
Uwagi |
1 |
B |
tak ( 0->1 ) |
start_cw |
Ruch po okręgu zgodnie z kierunkiem ruchu wskazówek zegara |
2 |
B |
tak ( 0->1 ) |
start_ccw |
Ruch po okręgu przeciwnie do kierunku ruchu wskazówek zegara |
3 |
B |
tak ( 0->1 ) |
stop |
Zatrzymanie ruchu |
4 |
R |
- |
x |
Pozycja docelowa X |
5 |
R |
- |
y |
Pozycja docelowa Y |
6 |
R |
- |
z |
Pozycja docelowa Z |
7 |
R |
- |
I |
Pozycja I |
8 |
R |
- |
J |
Pozycja J |
9 |
R |
- |
vel |
Prędkość ruchu wypadkowa |
10 |
R |
- |
vel_begin |
Prędkość ruchu początkowa |
11 |
R |
- |
vel_end |
Prędkość ruchu końcowa |
12 |
R |
- |
acc |
Przyspieszenie |
13 |
R |
- |
dec |
Hamowanie |
14 |
R |
- |
acc_jerk |
Zryw przyspieszenia |
15 |
R |
- |
dec_jerk |
Zryw hamhamowania |
16 |
B |
nie |
xy |
Wybór płaszczyzny ruchu po okregu |
17 |
B |
nie |
xz |
Wybór płaszczyzny ruchu po okregu |
18 |
B |
nie |
yz |
Wybór płaszczyzny ruchu po okregu |
Uwaga: parametry wejściowe: vel, acc, dec, acc_jerk, dec_jerk muszą być różne od zera w przeciwnym wypadku blok nie wykona ruchu.
Wyjścia (1 sztuka):
nr |
typ |
impuls |
oznaczenie |
Uwagi |
1 |
B |
nie |
in_motion |
=1 gdy ruch trwa |
Ustawienia:
nr |
typ |
oznaczenie |
uwagi |
1 |
I |
X_axis |
Nr osi przypisanej do osi X |
2 |
I |
Y_axis |
Nr osi przypisanej do osi Y |
3 |
I |
Z_axis |
Nr osi przypisanej do osi Z |
4 | I | Iter | Dokładność obliczeń bloku. Dozwolone wartości 1-50 |
OPIS:
Po otrzymaniu sygnału na wejściu ‘start_cw’ lub ‘start_ccw’ blok w każdym kolejnym cyklu generuje trajektorię ruchu. Prędkość, pozycja i przyspieszenie każdej osi są przekazywane do odpowiednich rejestrów przypisanych do danych osi wirtualnych. Ruch odbywa się po okręgu z prędkością wypadkową zadaną na wejściu bloku. Prędkość wypadkowa początkowa ruchu to vel_begin, prędkość końcowa to vel_end.
Sygnał na wejściu stop powoduje nagłe wytracenie prędkości do zera.
Sterownik 3Motion może sterować ruchem dwóch osi z interpolacją kołową. Ruch może się odbywać w jednej z trzech płaszczyzn: XY, XZ, YZ (ogólnie w osiach UV gdzie U to X lub Y a V to Y lub Z – patrz tabela B.179.1) . Aby wybrać płaszczyznę ruchu należy odpowiednio ustawić stany wejść ‘xy’, ‘’xz’, ‘yz’. Poniższy opis wykonano przy założeniu, że płaszczyzną ruchu po okręgu jest płaszczyzna UV.
Blok funkcyjny CIRCLE wykonuje ruchu dwóch osi z interpolacją kołową we współrzędnych bezwzględnych z pozycji aktualnej P1 = (U1, V1) do pozycji bezwzględnej P2 = (U2, V2) po okręgu o środku w punkcie P0 = (U1+I, V1+J). Pozycje I oraz J zawsze są brane pod uwagę jako wartości względne (względem punktu P1). Parametry ruchu są pobierane z wejść bloku. Ruch odbywa się z prędkością wypadkową.
Tabela B.179.1. Przypisanie współrzędnych u i v przy ruchu po okręgu.
płaszczyzna |
współrzędna X |
współrzędnej Y |
współrzędnej Z |
M1005 XY_Circle |
M1006 XZ_Circle |
M1007 YZ_Circle |
XY |
x = u |
y = v |
z = bez zmian |
0 |
0 |
1 |
XZ |
x = u |
y = bez zmian |
z = v |
0 |
1 |
0 |
YZ |
x = bez zmian |
y = u |
z = v |
1 |
0 |
0 |
Rys. B.179.1. Ilustracja ruchu dwóch osi po okręgu o promieniu r i środku w punkcie Po od punktu P1 do P2 wywołanego zastosowaniem bloku funkcyjnego CIRCLE. Dir = 1 ruch zgodnie z kierunkiem ruchu wskazówek zegara, Dir = -1 ruch przeciwnie do kierunku ruchu wskazówek zegara.
U, V : Real – współrzędne punktu docelowego P2,
I, J: Real – względne współrzędne środka okręgu w stosunku do punktu P1,
Dir: Int – kierunek ruchu zgodny z ruchem wskazówek zegara dla Dir = 1 lub przeciwny dla Dir = -1.
W przypadku błędnych danych wejściowych na wyjściu ‘Error’ pojawi się stan wysoki na jeden cykl programu. Taki stan może być spowodowany np. błędnie podanymi współrzędnymi środka okręgu i w konsekwencji niemożliwością wykonania ruchu.