MC_GearInPos, MCP_GearInPos – Zapnutí konstantního převodového poměru v zadané pozici
Symboly blokůPotřebná licence: MOTION CONTROL
Popis funkce
Bloky MC_GearInPos a MCP_GearInPos 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_GearInPos zapne řízení podřízené osy tak, že poměr rychlostí hlavní a podřízené osy je v poměru RatioNumerator:RatioDenominator. Na rozdíl od bloku MC_GearIn je u tohoto bloku zachováván i poměr vzdáleností a je určena i poloha obou os v okamžiku zasynchronizování, tzn. platí
Pokud v okamžiku aktivace bloku (tj. v okamžiku náběžné hrany na vstupu Execute a v případě buffered režimu ještě po ukončení předchozích bloků) neodpovídá poloha podřízené osy poloze hlavní osy (dle výše uvedeného vzorce), je spuštěn proces synchronizace (indikováno výstupem StartSync). Během tohoto procesu je generována trajektorie tak, aby došlo co nejrychleji k synchronizaci a nebyly překročeny maximální hodnoty rychlosti, zrychlení a změny zrychlení dané parametry Velocity, Acceleration, Deceleration, Jerk. Po dokončení synchronizace se již tyto limity neuplatňují. Pokud je parameter MasterStartDistance=0, proces synchronizace se spouští hned po aktivaci bloku (vstupem Execute). V opačném případě se proces synchronizace spouští ve chvíli, kdy hlavní osa dosáhne polohy v intervalu MasterSyncPosition MasterStartDistance.
Poznámky:
1. Proces synchronizace používá dva algoritmy: I. Algoritmus shodný s blokem
MC_MoveAbsolute, přičemž trajektorie je v každém kroku
přepočítána tak, aby koncová rychlost odpovídala aktuální rychlosti hlavní osy.
II. Poloha (i rychlost i zrychlení) se generuje jako v případě synchronního pohybu, ale
k hodnotám je po určitou dobu přičítána hodnota vhodného polynomu 5. stupně,
tak aby nenastal skok v poloze, v rychlosti a v případě zadaného jerku ani ve
zrychlení a aby na konci doby přičítání měl polynom nulovou hodnotu. Doba je
volena tak, aby polynom nepřekročil požadované meze rychlosti, zrychlení a
jerku. První metoda nevede k úspěšné synchronizaci, pokud se hlavní osa
pohybuje se zrychlením, druhá metoda negarantuje dodržení limitů na rychlost,
zrychlení a jerk, navíc vyžaduje ponechat určitou rychlost a zrychlení na
synchronní část, takže je obecně delší. Proto se oba algoritmy vhodně
kombinují.
2. Parametry bloku (ať už start procesu synchronizace nebo limity na rychlost a zrychlení) je nutné volit tak, aby podřízená osa byla v poloze SlaveSyncPosition (přibližně) ve stejný okamžik, jako hlavní osa v poloze MasterSyncPosition. V opačné případě může nastat neočekávaný pohyb podřízené osy nebo porušení zadaných limitů. Pohyb hlavní osy může být libovolný, ale v konkrétní aplikaci bývá obvykle dobře definován. Správným nastavením parametrů je tedy možné zajistit vhodný průběh synchronizace.
Vstupy
uMaster | Odkaz na hlavní osu | Reference |
uSlave | Odkaz na podřízenou osu | Reference |
Execute | Náběžná hrana aktivuje blok | Bool |
RatioNumerator | Převodový poměr - čitatel (podřízená osa) | Long (I32) |
RatioDenominator | Převodový poměr - jmenovatel (hlavní osa) | Long (I32) |
MasterSyncPosition | Poloha hlavní osy v okamžiku zasynchronizování [unit] | Double (F64) |
SlaveSyncPosition | Poloha podřízené osy v okamžiku zasynchronizování | Double (F64) |
MasterStartDistance | Definuje polohu hlavní osy pro spuštění procesu synchronizace | Double (F64) |
Velocity | Maximální povolená rychlost [unit/s] | Double (F64) |
Acceleration | Maximální povolené zrychlení [unit/s] | Double (F64) |
Deceleration | Maximální povolené zpomalení [unit/s] | Double (F64) |
Jerk | Maximální povolená změna zrychlení [unit/s] | Double (F64) |
BufferMode | Režim převzetí osy | Long (I32) |
|
|
|
SyncMode | Režim synchronizace (pouze cyklické osy) | Long (I32) |
|
|
|
Výstupy
yMaster | Odkaz na hlavní osu | Reference |
ySlave | Odkaz na podřízenou osu | Reference |
StartSync | Začíná synchronizace pohybu | Bool |
InSync | Příznak dosažení profilu vačky podřízenou osou | 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 |
|
|
|
SyncDistance | Odchylka v poloze podřízené osy od synchronizované polohy [unit/s] | Double (F64) |
Příklad
[Předchozí] [Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com