MC_AccelerationProfile, MCP_AccelerationProfile –  Generování trajektorie (zrychlení)

Symboly blokůPotřebná licence: MOTION CONTROL
PIC PIC

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(x) = a5x5 + a4x4 + a3x3 + a2x2 + a1x + a0, přičemž na začátku časového intervalu je x = 0, a na konci x = 1. Koeficienty ai 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: Přestože vstup/odkaz TimePosition je v PLCopen označen jako povinný, není zde použit, protože všechna potřebná data jsou uložena v parametrech bloku.

Poznámka 2: Parametr values 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 3: Nesprávný parametr cSeg (větší než skutečná velikost polí times a/nebo values) vede k nedefinovanému chování, v krajním případě nestandardnímu ukončení aplikace (závisí to na mnoha okolnostech, použití tohoto bloku v SIMULINKu vede k pádu MATLABu).

Poznámka 4: 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 5: 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.axisRefuAxis nebo yAxisuAxis)

Reference

Execute

Náběžná hrana aktivuje blok

Bool

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)

1 ....

Aborting (nový blok se spustí okamžitě)

2 ....

Buffered (nový blok se spustí po dokončení předchozího)

3 ....

Blending low (nový blok se spustí po dokončení předchozího, původní pohyb skončí s nižší rychlostí z obou bloků)

4 ....

Blending high (nový blok se spustí po dokončení předchozího, původní pohyb skončí s vyšší rychlostí z obou bloků)

5 ....

Blending previous (nový blok se spustí po dokončení předchozího, původní pohyb skončí se svojí koncovou rychlostí)

6 ....

Blending next (nový blok se spustí po dokončení předchozího, původní pohyb skončí s počáteční rychlostí nového bloku)

Výstupy

yAxis

Odkaz na osu (přípustné je jen spojení RM_Axis.axisRefuAxis nebo yAxisuAxis)

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

i ....

obecná chyba systému REXYGEN

Parametry

alg

Typ interpolace  2

Long (I32)

1 ....

tabulka čas/hodnota

2 ....

hodnoty ve stejném intervalu

3 ....

aproximace polynomy

4 ....

polynomy s ekvidistantními intervaly

cSeg

Počet segmentů profilu  3

Long (I32)

times

Posloupnost hraničních časů jednotlivých segmentů  [0 30]

Double (F64)

values

Hodnoty veličiny nebo koeficienty interpolačních polynomů (a0, a1, a2, ...)  [0 100 100 50]

Double (F64)

Příklad

PIC

PIC

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