RM_AxesGroup – Skupina os pro koordinované řízení pohybu
Symbol blokuPotřebná licence: COORDINATED MOTION
Popis funkce
Blok RM_AxesGroup je základní blok skupiny os pro koordinovaný pohyb. Představuje sdílenou strukturu, kde jsou uloženy všechny stavy a parametry skupiny. Algoritmus tohoto bloku představuje kontrolu nastavených mezí, havarijní zastavení v případě potřeby, předávání dat do a z bloků RM_Axis podřízených os, přepočet všech stavů a výstupů pro případ, že žádný blok není aktivní, ale je potřeba generovat pohyb (např. zastavení v PCS a částečně i algoritmus pro generování požadované trajektorie). Výstupem tohoto bloku jsou pouze stavové a pomocné signály (viz dále).
Implicitní hodnoty parametrů (zejména limity na rychlost a zrychlení) jsou záměrně nastaveny na 0, což je nedovolená hodnota. Všechny parametry tak musí nastavit uživatel podle skutečných možností připojeného motoru a stroje.
Parametry
McsCount | Počet os v MCS 1 6 6 | Long (I32) |
AcsCount | Počet os v ACS 1 16 6 | Long (I32) |
PosCount | Počet polohových os 1 6 3 | 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) |
Výstupy
refGroup | Odkaz na skupinu os | Reference |
refPos | Vektor poloh, rychlostí a zrychlení | Reference |
iState | Stav skupiny | Long (I32) |
|
|
|
ErrorID | Výsledek poslední operace | Error |
|
|
|
Stavový diagram skupiny os
Čtení z výstupu refPos
Z výstupu refPos bloku RM_AxesGroup lze číst aktuální polohu, rychlost a zrychlení
(stejně jako u bloků MC_GroupReadActualPosition,
MC_GroupReadActualVelocity a
MC_GroupReadActualAcceleration). Výstup
refPos je vektorový, pro získání konkrétních hodnot je nutné použít blok
VTOR z knihovny MATRIX. Tento blok má 8 výstupů. Pokud je
souřadnic více než 8, vyřeší se to paralelním připojením dalšího bloku
VTOR (viz. Obr. níže) do kterého je nutné zadat jako parametr
správný offset (od jakého indexu se mají dát data na výstup). Např. robot
AGEBOT (jeho sestavení jako skupiny os viz. níže) má čtyři osy. Bude
mít tedy čtyři souřadnice pro polohu, rychlost a zrychlení. Jedním blokem
VTOR bychom získali pouze informaci o poloze a rychlosti (výstupy
–
a
–
bloku VTOR1),
proto je nutné použití druhého bloku VTOR. Pokud mu nastavíme offset na hodnotu 8,
tak na výstupech
–
bloku VTOR2 budou informace o zrychlení.
Sestavení skupiny os
Pro správné spuštění bloku generujícího víceosý pohyb je nutné
definovat jednotlivé osy RM_Axis a postupně je všechny přidat
do skupiny os pomocí bloku MC_AddAxisToGroup.
Dále je třeba nastavit kinematickou transformaci (dle typu stroje jeden z bloků
MC_SetKinTransform_xxx). Kinematickou transformaci není třeba nastavovat pro
pravoúhlý stroj a pro pohyby v ACS. Nakonec je třeba aktivovat skupinu os blokem
MC_GroupEnable. Pro pohyby v PCS je nutné ještě přidat
kartézkou transformaci (blok MC_SetCartesianTransforms).
Zpět do výchozího stavu (tj. před přiřazení os do skupiny) se skupina dostane
spuštěním bloku MC_UngroupAllAxis. Příklad sestavení
osy je uveden na obrázku níže.
[Na začátek] [Výše] [Další]
2020 © REX Controls s.r.o., www.rexygen.com