MC_AccelerationProfile, MCP_AccelerationProfile – Generování trajektorie (zrychlení)
Symboly blokůPotřebná licence: MOTION CONTROL
Popis funkce
Bloky MC_AccelerationProfile a MCP_AccelerationProfile 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.
Popis funkce
Blok MC_AccelerationProfile generuje takovou trajektorii, aby zrychlení byla
požadovaná funkce času. Existují dvě možnosti, jak tuto funkci zadat:
1. tabulkou: zadávají se dvojice čísel čas a zrychlení. Mezi jednotlivými časy se hodnota zrychlení interpoluje lineárně. Hodnoty času (v sekundách) se zadávají do pole/parametru times, příslušné hodnoty zrychlení do pole/parametru values . Posloupnost časových okamžiků musí být stoupající a musí začínat od 0 (resp. může začínat i zápornými hodnotami, ale profil se vykonává od času 0).
2. polynomy: celá funkce se v časové ose rozdělí na několik intervalů a pro každý interval se zadá aproximující polynom pátého řádu. Časové intervaly se definují jako v předchozím případě v poli times. Polynom pro každý interval je ve tvaru , přičemž na začátku časového intervalu je , a na konci . Koeficienty jsou uloženy v poli values ve vzestupném pořadí (tj. pole values obsahuje 6 hodnot pro každý časový interval). Tato metoda umožňuje snížit počet intervalů a pro určení koeficientů polynomů existuje speciální grafický editor.
Pro obě varianty je možné zvolit rozdělení na stejně dlouhé intervaly. pak je v poli times jen počáteční (obvykle 0) a koncový čas.
Poznámka 1: Vstup/Parametr uValues musí být ve všech případech vektor - nesmí to být matice, tj. jednotlivé hodnoty nesmí být odděleny středníkem (lze použít mezeru nebo čárku).
Poznámka 2: V režimu zadání funkce polynomem je hodnota polynomu poloha a polynom je vždy pátého řádu a nelze to nijak změnit. AccelerationScale a Offset je samozřejmě pro zrychlení. Vzhledem ke komplikovaným výpočtům je doporučeno v tomto režimu vždy používat existující speciální grafický editor.
Poznámka 3: Dialog je jednotný pro MC_AccelerationProfile, MC_VelocityProfile, MC_PositionProfile Některé režimy (parametr alg nedávají pro AccelerationProfile smysl a nefungují (aproximace B-spline nefunguje, režimy 1,2,5,6 používají lineární interpolaci)
Poznámka 4: Pokud na konci profilu je nenulová rychlost, osa se pohybuje dál touto rychlostí (to je v souladu se specifikací PLCopen ).
Vstupy
uAxis | Odkaz na osu (přípustné je jen spojení RM_Axis.axisRef–uAxis nebo yAxis–uAxis) | Reference |
Execute | Náběžná hrana aktivuje blok | Bool |
alg | Typ interpolace 2 | Long (I32) |
|
|
|
nmax | maximalni počet intervalů/bodů profilu 3 | Long (I32) |
TimeScale | Konstanta násobení pro přepočet časové osy profilu | Double (F64) |
AccelerationScale | Konstanta násobení pro přepočet hodnotové osy profilu | Double (F64) |
Offset | Aditivní konstanta pro přepočet hodnotové osy profilu | Double (F64) |
BufferMode | Režim převzetí osy | Long (I32) |
uTimes | vektor s časovými hodnotami | Reference |
uValues | vektor s hodnotami zrychlení nebo koeficienty polynomů | Reference |
|
|
|
Výstupy
yAxis | Odkaz na osu (přípustné je jen spojení RM_Axis.axisRef–uAxis nebo yAxis–uAxis) | 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ší]
2024 © REX Controls s.r.o., www.rexygen.com