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

Symbol blokuPotřebná licence: ADVANCED
Qt SVG Document Exported by REXYGEN Studio R1 HLD u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 u12 u13 u14 u15 u16 iE y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 CDELSSM

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. Pokud je UD=off, matice Dc se při simulaci nepoužívá (chová se jako by byla nulová).

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.

Vstupy simulovaného systému u1..u16 reprezentují vektor vstupu u(t). Pro danou simulaci se používá prvních m vstupů, kde m je počet sloupců matice Bc. 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 [7], využívající Padéových aproximací 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. Výstupy simulovaného systému y1..y16 reprezentují stav systému x(t) a pro danou simulaci se používá prvních p výstupů, kde p je počet řádků matice Cc.

Výstup iE je celočíselný a obsahuje informaci o průběhu simulace:

  • 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

Tento blok propaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.

Vstup

R1

Reset bloku

Bool

HLD

Podržení aktuálního stavu modelu

Bool

u1..u16

Analogový vstupní signál

Double (F64)

Parametr

UD

Příznak použití matice Dc

Bool

del

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

Double (F64)

is

Řád Padéovy aproximace   0  4 2

Long (I32)

eps

Přesnost aproximace   0.0  1.0 1e-15

Double (F64)

Ac

Matice A spojitého modelu  [-0.36 -1.24 -0.18; 1 0 0; 0 1 0]

Double (F64)

Bc

Matice B spojitého modelu  [0.5; 0; 0]

Double (F64)

Cc

Matice C spojitého modelu  [0.12 0.48 0.36]

Double (F64)

Dc

Matice D spojitého modelu  [0]

Double (F64)

x0

Počáteční hodnota stavu x  [0; 0; 0]

Double (F64)

Výstup

iE

Kód chyby

Error

y1..y16

Analogový výstupní signál

Double (F64)

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