MCP_CamTableSelect – Definice vačky

Symbol blokuPotřebná licence: MOTION CONTROL
PIC

Popis funkce

Blok MCP_CamTableSelect spolupracuje s blokem MCP_CamIn a definuje vačku jako spojitou funkci jedné proměnné. Možnosti definování této funkce jsou analogické, jako v bloku MC_PositionProfile, tj. máme dvě možnosti:

1. tabulkou: zadávají se dvojice čísel poloha hlavní osy a poloha podřízené osy. Mezi jednotlivými časy se poloha interpoluje polynomem třetího řádu (lineární interpolaci lze také zvoloit, ale není příliš vhodná, protože na okrajích intervalu pak je skok v rychlosti). Hodnoty polohy hlavní osy se zadávají do pole/parametru mValues, příslušné hodnoty polohy podřízené osy do pole/parametru sValues . Posloupnost hodnot mValues musí být stoupající.

2. polynomy: celá funkce se v hlavní ose (tj. v nezávislé proměnné) rozdělí na několik intervalů a pro každý interval se zadá aproximující polynom pátého řádu. Polohy hlavní osy a tím i příslušné intervaly se definují jako v předchozím případě v poli mvalues. Polynom pro každý interval je ve tvaru p(x) = a5x5 + a4x4 + a3x3 + a2x2 + a1x + a0, přičemž na začátku intervalu je x = 0, a na konci x = 1. Koeficienty ai jsou uloženy v poli sValues ve vzestupném pořadí (tj. pole sValues 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 mValues jen počáteční a koncová poloha.

Poznámka: pokud je parametr alg=1 nebo alg=5 nebo alg=9 je možné nechat pole mValues prázdné (popř. nepřipojený vstup) a pak zadávat celou vačku v poli sValues, kde první sloupec jsou polohy master osy, druhý sloupec polohy slave osy, třetí (nepovinný) sloupec derivace, čtvrtý (nepovinný) sloupec druhá derivace.

Vstupy

uMaster

Odkaz na hlavní osu

Reference

uSlave

Odkaz na podřízenou osu

Reference

Execute

Náběžná hrana aktivuje blok

Bool

Výstupy

yMaster

Odkaz na hlavní osu

Reference

ySlave

Odkaz na podřízenou osu

Reference

Done

Příznak dokončení algoritmu

Bool

Busy

Příznak, že algoritmus ještě neskončil

Bool

Error

Příznak chyby

Bool

ErrorID

Výsledek poslední operace

Error

CamTableID

Odkaz na vačku (spojit s MC_CamIn.CamTableID)

Reference

i ....

obecná chyba systému REXYGEN

Parametry

camname

Jméno souboru, kam si speciální editor ukládá data (pokud je parametr prázdný, zvolí se automaticky podle jména bloku)

String

nmax

Maximální počet segmentů profilu  3

Long (I32)

alg

Typ interpolace  2

Long (I32)

1 ....

tabulka čas/hodnota (interpolace polynomem 3. řádu)

2 ....

hodnoty ve stejném intervalu (interpolace polynomem 3. řádu)

3 ....

interpolace polynomy 5. řádu

4 ....

polynomy 5. řádu s ekvidistantními intervaly

5 ....

tabulka čas/hodnota + počáteční a koncová derivace

6 ....

hodnoty ve stejném intervalu + počáteční a koncová derivace

7 ....

hodnoty ve stejném intervalu (aproximace B-splinem 3. řádu)

8 ....

hodnoty ve stejném intervalu (aproximace B-splinem 5. řádu)

9 ....

tabulka čas/hodnota (lineární interpolace)

Periodic

Příznak cyklické vačky (konec navazuje na začátek)  on

Bool

BeginRate

Počáteční strmost (derivace ds/dm) vačky (jen pro alg=5 a alg=6)

Double (F64)

EndRate

Počáteční strmost (derivace ds/dm) vačky (jen pro alg=5 a alg=6)

Double (F64)

mValues

Posloupnost hraničních pozic jednotlivých segmentů na hlavní ose  [0 30]

Double (F64)

sValues

Posloupnost poloh řízené osy nebo koeficienty interpolačních polynomů (a0, a1, a2, ...)  [0 100 100 0]

Double (F64)

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