MC_MoveCircularRelative, MCP_MoveCircularRelative – Pohyb do pozice po kružnicích (relativní souřadnice)

Symboly blokůPotřebná licence: COORDINATED MOTION
PIC PIC

Popis funkce

Bloky MC_MoveCircularRelative a MCP_MoveCircularRelative mají naprosto shodnou funkci, jediným rozdílem je, že MCP_ varianta bloku má méně vstupů a potřebné konstanty se zadávají jako parametry bloku.

Blok MC_MoveCircularRelatice slouží pro přesun koncového efektoru po kružnici (resp. kruhovém oblouku) na zadanou pozici. Pozice se zadává relativně od aktuální polohy v souřadném systému zvoleném vstupem CoordSystem. Parametry Velocity, Acceleration, Deceleration a Jerk určují rychlost, zrychlení, zpomalení a změnu zrychlení ve směru pohybu (tj. tečně k trajektoriji). Pro určení těchto parametrů se vychází při použití souřadného systému MCS nebo PCS jen z polohových souřadnic. Další souřadnice (úhel natočení) se již generují proporcionálně, tak aby byl pohyb v těchto souřadnicích lineární a skončil ve stejném okamžiku jako polohové souřadnice. Pokud se poloha nemění (dochází tedy jen k otočení koncového efektoru), počítá se rychlost/zrychlení ze všech souřadnic, ale číslo má pak jiný fyzikální význam. Cílovou polohu určuje vektorový parametr EndPoint. Pomocný bod je určen vektorovým parametrem AuxPoint. Tyto parametry musí mít tolik prvků, kolik předpokládá kinematická transformace (viz MC_SetKinTransform_Lin). V opačném případě je signalizována chyba a pohyb se neprovede. Význam pomocného bodu je uveden níže. Pohyb je spuštěn náběžnou hranou na vstupu Execute. K dispozici jsou následující způsoby zadání kružnice:

BORDER
– Zadává se koncový bod a bod, kterým má kružnice procházet (vstup AuxPoint).
CENTER
– Zadává se koncový bod a střed kružnice (vstup AuxPoint). Vstup PathChoice potom definuje, zda bude vygenerovaný pohyb po směru nebo proti směru hodinových ručiček.
RADIUS
– Zadává se koncový bod a vektor kolmý k rovině ve které se má nacházet kružnice. Délka vektoru udává poloměr kružnice. Příklad: Vstup AuxPoint = (50,0,0) odpovídá kružnici v rovině y-z s poloměrem 50 a rotaci kolem osy paralelní s osou x odpovídající pravidlu pravé ruky (CoordSystem = MCS).

PIC

Poznámka 1: v režimu „RADIUS“ nemá pomocný bod význam polohy a proto se zadává vždy absolutně.

Poznámka 2: Každý ze způsobu zadávání (parametr CircMode) má některé výhody a nevýhody. Žádný z uvedených způsobů neumožňuje „projet“ celý kruh nebo dokonce několik „otáček“. Dále vzniká problém v případě půlkruhu, kdy v režimu zadání středu není definována rovina kružnice. Při zadání středu je kružnice přeurčená a je nutné dát pozor, aby vzdálenost počátečního a koncového bodu byla stejná (v opačném případě blok skončí s chybou a trajektorie se negeneruje).

Poznámka 3: U kružnic v třírozměrném prostoru je problém definovat kladný směr. Algoritmus používá metodu vektorového součinu počátečního a koncového průvodiče. Tím dostaneme normálový vektor, který určuje „směr nahoru“ a pak již je kladný směr zřejmý. Metoda ovšem nefunguje pro půlkružnici a také je potřeba dát pozor při posunutí koncového nebo počátečního bodu, protože může dojít ke změně orientace (kladný směr se stane záporným).

Poznámka 4: Podle typu předchozího pohybu a v některých případech i podle parametrů (zejména v případě příliš krátké trajektorie) nemusí být implementované nebo realizovatelné všechny varianty TransitionMode.

Vstupy

uAxesGroup

Odkaz na skupinu os

Reference

Execute

Náběžná hrana aktivuje blok

Bool

CircMode

Určuje význam vstupních signálů AuxPoint a CircDirection

Long (I32)

1 ....

BORDER

2 ....

CENTER

3 ....

RADIUS

AuxPoint

Absolutně zadaná pozice

Reference

EndPoint

Absolutně zadaná pozice koncového bodu

Reference

PathChoice

Volba směru

Long (I32)

1 ....

Ve směru hodinových ručiček

2 ....

Protisměru hodinových ručiček

Velocity

Maximální povolená rychlost [unit/s]

Double (F64)

Acceleration

Maximální povolené zrychlení [unit/s2]

Double (F64)

Jerk

Maximální povolená změna zrychlení [unit/s3]

Double (F64)

LimitMode

Volba jednotek pro limity (Velocity, Acceleration, Jerk)  1

Long (I32)

1 ....

Relative [part of group limit]

2 ....

Absolute [unit/s, unit/s2, unit/s3]

CoordSystem

Volba souřadného systému

Long (I32)

1 ....

ACM

2 ....

MCS

3 ....

PCS

BufferMode

Režim převzetí osy

Long (I32)

1 ....

Aborting (nový blok se spustí okamžitě)

2 ....

Buffered (nový blok se spustí po dokončení předchozího)

3 ....

Blending low (nový blok se spustí po dokončení předchozího, původní pohyb skončí s nižší rychlostí z obou bloků)

4 ....

Blending high (nový blok se spustí po dokončení předchozího, původní pohyb skončí s vyšší rychlostí z obou bloků)

5 ....

Blending previous (nový blok se spustí po dokončení předchozího, původní pohyb skončí se svojí koncovou rychlostí)

6 ....

Blending next (nový blok se spustí po dokončení předchozího, původní pohyb skončí s počáteční rychlostí nového bloku)

TransitionMode

Režim míchání pohybu

Long (I32)

1 ....

TMNone (xx)

2 ....

TMstartvelocity (proložení s danou počáteční rychlostí)

3 ....

TMConstantVelocity (proložení s danou konstantní rychlostí)

4 ....

TMCornerDistance (xx)

5 ....

TMMaxCornerDeviation (xx)

11 ...

Smooth(nový blok se spustí po dokončení předchozího, původní pohyb skončí s počáteční rychlostí nového bloku)

TransitionParameter

Parametr pro navázání pohybu (dle zvoleného režimu míchání)

Double (F64)

Superimposed

Příznak vykonání jako vedlejší (superimposed) pohyb

Bool

Výstupy

yAxesGroup

Odkaz na skupinu os

Reference

Done

Příznak dokončení algoritmu

Bool

CommandAborted

Příznak přerušení funkce bloku

Bool

Busy

Příznak, že algoritmus ještě neskončil

Bool

Active

Příznak, že blok řídí osu

Bool

Error

Příznak chyby

Bool

ErrorID

Výsledek poslední operace

Error

i ....

obecná chyba systému REXYGEN

Příklad

PIC

PIC

PIC

2023 © REX Controls s.r.o., www.rexygen.com