MC_MoveCircularAbsolute, MCP_MoveCircularAbsolute – Pohyb do pozice po kružnicích (absolutní souřadnice)
Symboly blokůPotřebná licence: COORDINATED MOTION
Popis funkce
Bloky MC_MoveCircularAbsolute a MCP_MoveCircularAbsolute 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_MoveCircularAbsolute slouží pro přesun koncového efektoru po kružnici (resp. kruhovém oblouku) na zadanou pozici. Pozice se zadává absolutně 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).
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) |
|
|
|
AuxPoint | Absolutně zadaná pozice | Reference |
EndPoint | Absolutně zadaná pozice koncového bodu | Reference |
PathChoice | Volba směru | Long (I32) |
|
|
|
Velocity | Maximální povolená rychlost [unit/s] | Double (F64) |
Acceleration | Maximální povolené zrychlení [unit/s] | Double (F64) |
Jerk | Maximální povolená změna zrychlení [unit/s] | Double (F64) |
LimitMode | Volba jednotek pro limity (Velocity, Acceleration, Jerk) 1 | Long (I32) |
|
|
|
CoordSystem | Volba souřadného systému | Long (I32) |
|
|
|
BufferMode | Režim převzetí osy | Long (I32) |
|
|
|
TransitionMode | Režim míchání pohybu | Long (I32) |
|
|
|
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 |
|
|
|
Příklad
[Předchozí] [Na začátek] [Výše] [Další]
2023 © REX Controls s.r.o., www.rexygen.com