MC_VelocityProfile, MCP_VelocityProfile – Generování trajektorie (rychlost)
Symboly blokůPotřebná licence: MOTION CONTROL 
                                                                      
   
Popis funkce
Bloky MC_VelocityProfile a MCP_VelocityProfile 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_VelocityProfile generuje takovou trajektorii, aby rychlost byla požadovaná funkce času. Existují dvě možnosti, jak tuto funkci zadat:
1. tabulkou: zadávají se dvojice čísel čas a rychlost. Mezi jednotlivými časy se hodnota rychlosti interpoluje lineárně. Hodnoty času (v sekundách) se zadávají do pole/parametru times, příslušné hodnoty rychlosti 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 uTimes 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: Dialog je jednotný pro MC_AccelerationProfile, MC_VelocityProfile, MC_PositionProfile Některé režimy (parametr alg nedávají pro VelocityProfile smysl a nefungují (aproximace B-spline nefunguje, režimy 1,2,5,6 používají lineární interpolaci)
Poznámka 3: V režimu zadání funkce polynomem je hodnota polynomu poloha a polynom je vždy pátého řádu a nelze to nijak měnit. VelocityScale a Offset je samozřejmě pro rychlost. 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 4: Block neobsahuje tzv. ramp-in mode. Pokud tedy rychlost osy v okamžiku spuštění profilu neodpovídá počáteční rychlosti profilu, blok skončí s chybou -707 (skok v rychlosti nebo poloze). Tomuto problému lze předejít, pokud se použije BufferMode=BlendingNext nebo je potřeba správně nastavit parametr Offset .
Poznámka6: 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)  | 
VelocityScale  |   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 rychlosti nebo koeficienty polynomů  |   Reference  | 
  |           
 
  |   
  | 
BeginAcceleration  |   počáteční hodnota zrychlení (jen alg=5 nebo 6)  |   Double (F64)  | 
EndAcceleration  |   koncová hodnota (jen alg=5 nebo 6)  |   Double (F64)  | 
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ší]
2025 © REX Controls s.r.o., www.rexygen.com