SLEEP – Časovací blok pro Simulink

Symbol blokuPotřebná licence: STANDARD
PIC

Popis funkce
Blok SLEEP slouží k zajištění co nejpřesnější periody spouštění algoritmu. V řídicím systému REXYGEN je časování výpočetních úloh zajištěno systémovými prostředky (viz blok EXEC), a proto je blok SLEEP ignorován. V systému Matlab/Simulink se pracuje se simulačním časem, který může běžet rychleji nebo pomaleji než reálný čas (podle výkonu počítače a složitosti algoritmu).

Má-li simulace běžet v reálném čase, stačí do simulačního algoritmu zařadit blok SLEEP, který jej v každém kroku pozastaví na tak dlouho, aby byl jeho algoritmus volán s periodou danou parametrem ts. Mechanismus samozřejmě funguje jen v případě, že simulace běží rychleji než ve skutečnosti.

V současné době je blok SLEEP implementován pro systém Matlab/Simulink ve verzi pro operační systémy Windows. Vzhledem k tomu, že ve Windows běží obvykle ještě jiné úlohy, které přerušují simulaci, je vhodné nepoužívat příliš krátké periody v řádu milisekund, doporučená hodnota je od 100 ms. Pro správnou funkci je nutné v parametrech simulace Solver options nastavit parametr Type na fixed-step, discrete (no continuous states) a parametr Fixed step size na stejnou hodnotu, jako parametr ts bloku SLEEP. Blok SLEEP by měl být nejvýše jeden v celém simulačním schématu (počítáno včetně subsystémů).

Parametr

ts

Perioda spouštění simulační úlohy v sekundách  0.1

Double (F64)

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