RM_AxesGroup – Skupina os pro koordinované řízení pohybu

Symbol blokuPotřebná licence: COORDINATED MOTION
PIC

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/s2]

Double (F64)

Jerk

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

Double (F64)

Výstupy

refGroup

Odkaz na skupinu os

Reference

refPos

Vektor poloh, rychlostí a zrychlení

Reference

iState

Stav skupiny

Long (I32)

0 ....

Disabled (skupina blokována)

1 ....

Standby (skupina připravena)

2 ....

Homing (hledání výchozí polohy)

6 ....

Moving (koordinovaný pohyb)

7 ....

Stopping (zastavování nebo dočasné blokování)

8 ....

Error stop (zastavování nebo blokování skupiny po chybě)

ErrorID

Výsledek poslední operace

Error

i ....

obecná chyba systému REXYGEN

Stavový diagram skupiny os
PIC

Č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 y1 y4 a y5 y8 bloku VTOR1), proto je nutné použití druhého bloku VTOR. Pokud mu nastavíme offset na hodnotu 8, tak na výstupech y1y4 bloku VTOR2 budou informace o zrychlení.

PIC

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.

PIC

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