CDELSSM – Stavový model spojitého lineárního systému s dopravním zpožděním

Symbol blokuPotřebná licence: ADVANCED
PIC

Popis funkce
Funkční blok CDELSSM (Continuous State Space Model with time DELay) simuluje chování lineárního spojitého systému s dopravním zpožděním del ve stavové reprezentaci

dx(t) dt = Acx(t) + Bcu(t del),x(0) = x0 y(t) = Ccx(t) + Dcu(t),

kde x(t) n je vektor stavu, x0 n je počáteční hodnota vektoru stavu, u(t) m je vektor vstupu, y(t) p je vektor výstupu. Matice Ac n×n určuje dynamiku systému, matice Bc n×m určuje působení vstupu na stav systému, matice Cc p×n určuje působení stavu na výstup systému a matice Dc p×m určuje přímé působení vstupu na výstup systému.

Všechny matice se zadávají stejným způsobem jako v systému Matlab, tj. celá matice je uzavřena v hranatých závorkách, zadává se po řádcích, jednotlivé prvky v řádku se oddělují mezerou, jednotlivé řádky středníkem. Pro oddělení desetinné části čísla se používá tečka. Vektor x0 je sloupcový, proto se všechny jeho prvky oddělují středníkem (každý prvek je na samostatném řádku).

Simulovaný systém se nejprve převede do diskrétního (diskretizovaného) stavového modelu

x((k + 1)T) = Adx(kT) + Bd1u((k d)T) + Bd2u((k d + 1)T),x(0) = x0 y(kT) = Ccx(kT) + Dcu(kT),

kde k {1,2,} je krok simulace, T je perioda spouštění bloku v [s] a d je zpoždění v krocích simulace tak, aby (d 1)T < del d.T. Perioda T se v bloku nezadává, je určena automaticky jako perioda úlohy (TASK, QTASK nebo IOTASK), do níž je blok zařazen.

Pokud se vstup u(t) mění jen v okamžicích vzorkování a mezi dvěma sousedními vzorkovacími okamžiky je konstantní (což se předpokládá), tj. u(t) = u(kT) pro t [kT,(k + 1)T), pak matice Ad, Bd1 a Bd2 jsou určeny vztahy

Ad = eAcT Bd1 = eAc(TΔ)0ΔeAcτB cdτ Bd2 = 0TΔeAcτB cdτ,

kde Δ = del (d 1)T.

Výpočet diskrétních matic Ad, Bd1 a Bd2 je založen na metodě popsané v [4], využívající Padéových aproximaci maticové exponenciály a jejího integrálu a měřítkování.

Při simulaci v reálném čase se pak v každém okamžiku spuštění bloku vždy vypočte jeden krok podle diskrétního stavového modelu uvedeného výše.

Vstupy

R1

Resetovací signál, je-li R1 = on, je stavový vektor x nastaven na počáteční hodnotu x0. Simulace se znovu spustí sestupnou hranou signálu R1 (on off).

Bool

HLD

Zmrazení simulace po dobu, kdy je HLD=on.

Bool

u1..u16

Vstupy simulovaného systému. Pro danou simulaci se používá prvních m vstupů, kde m je počet sloupců matice Bc.  0.0

Double (F64)

Výstupy

iE

Kód chyby bloku

Error

0 ....

vše v pořádku, blok simuluje správně

-213 .

nekompatibilita rozměrů matic stavového modelu

-510 .

úloha je špatně podmíněná (některá z pracovních matic je singulární nebo blízká singulární matici)

xxx ..

chybový kód xxx systému REXYGEN, více viz přílohu C

y1..y16

Výstupy simulovaného systému. Pro danou simulaci se používá prvních p výstupů, kde p je počet řádků matice Cc.

Double (F64)

Parametry

UD

Příznak použití matice Dc. Pokud je UD=off, matice Dc se při simulaci nepoužívá (chová se jako by byla nulová).

Bool

del

Dopravní zpoždění modelu [s].   0.0 0.0

Double (F64)

is

Stupeň Padéovy aproximace maticové exponenciály pro výpočet matic diskretizovaného systému.   0  4 2.00E+00

Long (I32)

eps

Požadovaná přesnost Padéovy aproximace.   0.0  1.0 1e-15

Double (F64)

Ac

Matice (typu [n,n]) dynamiky spojitého lineárního systému.

Double (F64)

Bc

Vstupní matice (typu [n,m]) spojitého lineárního systému.

Double (F64)

Cc

Výstupní matice (typu [p,n]) spojitého lineárního systému.

Double (F64)

Dc

Matice (typu [p,m]) přímého působení vstupu na výstup. Matice se v modelu používá jen pokud je parametr UD=on. Je-li UD=off, rozměry matice Dc se nekontrolují.

Double (F64)

x0

Počáteční hodnota vektoru stavu (typu [n]) spojitého lineárního systému.

Double (F64)

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