EXEC – Exekutiva reálného času

Symbol blokuPotřebná licence: STANDARD
PIC

Popis funkce
Blok EXEC tvoří základ tzv. hlavního souboru projektu ve formátu .mdl, kterým se konfigurují jednotlivé subsystémy řídicího systému REX, a který nemá analogii v systému Matlab-Simulink. Konfigurace bloku EXEC a na něj navázané bloky nerealizují žádný výpočetní algoritmus, ale jsou zpracovány překladačem RexComp pro sestavení celé aplikace řídicího systému REX.

Konfigurace systému REX se skládá z modulů (Modules), vstupně-výstupních ovladačů (Drivers), archivačního subsystému (Archives) a subsystému reálného času, obsahujícího rychlou výpočetní úlohu (blíže viz blok QTASK) a čtyři prioritní úrovně (Level0 Level3) pro zařazování výpočetních úloh (blíže viz blok TASK).

Parametr tick určuje základní (nejkratší) periodu, se kterou bude možno spouštět jednotlivé úlohy. Zadaná hodnota je kontrolována překladačem RexComp podle zvoleného cílového zařízení. Obecně lze říci, že čím menší hodnota je zadána, tím je větší režie jádra řídicího systému REX.

Periody jednotlivých výpočetních úrovní Level0 Level3 jsou určeny násobky parametrů ntick0 ntick3 a základní periody tick. Parametry pri0 pri3 jsou logickými prioritami odpovídajících výpočetních úrovní v systému REX. Poznamenejme, že systém REX používá 32 logických priorit, kterým jsou interně přiřazeny priority závislé na operačním systému cílového zařízení. Nejvyšší logická priorita systému REX je 0, nejnižšší má hodnotu 31, přičemž platí, že pokud mají běžet dvě úlohy s různými prioritami, bude úloha s nižší prioritou (vyšší hodnotou) přerušena úlohou s vyšší prioritou (nižší hodnotou). Řídicí systém REX vychází z obecně přijímané myšlenky, že „rychlé“ úlohy (s krátkou periodou vzorkování) je vhodné spouštět s vyšší prioritou než úlohy „pomalé“ (tzv. Rate monotonic scheduling). Proto přednastavené hodnoty priorit pri0 pri3 není ve většině případů třeba měnit; neuvážená změna může vést k těžko předvídatelným důsledkům!

Výstupy

Modules

Výstup pro připojování rozšiřujících modulů systému REX, viz blok MODULE

long

Drivers

Výstup pro připojování vstupně výstupních ovladačů systému REX, viz bloky IODRV a TIODRV

long

Archives

Výstup pro konfiguraci archivů, viz blok ARC

long

QTask

Výstup pro připojení rychlé úlohy (tzv. quick task) s nejvyšší prioritou a s nejkratší periodou, viz blok QTASK

long

Level0

Výpočetní úroveň pro zařazování úloh (viz blok TASK) s vysokou prioritou pri0 a krátkou periodou určenou parametrem ntick0

long

Level1

Výpočetní úroveň pro zařazování úloh se střední prioritou pri1 a středně dlouhou periodou určenou parametrem ntick1

long

Level2

Výpočetní úroveň pro zařazování úloh s nízkou prioritou pri2 a dlouhou periodou určenou parametrem ntick2

long

Level3

Výpočetní úroveň pro zařazování úloh s nejnižší prioritou pri3 a nejdelší periodou určenou parametrem ntick3

long

Parametry

target

Cílové zařízení  PC - Windows

string

Obecné cílové zařízení 

tick

Základní perioda (tik) jádra řídicího systému REX a současně též perioda rychlé úlohy QTASK (zadávaná ve vteřinách)  0.05

double

ntick0

Určuje základní periodu úloh zařazených do úrovně Level0 podle vztahu tick*ntick0   1 10

long

ntick1

Určuje základní periodu úloh zařazených do úrovně Level0 podle vztahu tick*ntick1   ntick0+1 50

long

ntick2

Určuje základní periodu úloh zařazených do úrovně Level0 podle vztahu tick*ntick2   ntick1+1 100

long

ntick3

Určuje základní periodu úloh zařazených do úrovně Level0 podle vztahu tick*ntick3   ntick2+1 1200

long

pri0

Priorita všech úloh zařazených do úrovně Level0   3  31 5

long

pri1

Priorita všech úloh zařazených do úrovně Level1   pri0+1  31 9

long

pri2

Priorita všech úloh zařazených do úrovně Level2   pri1+1  31 13

long

pri3

Priorita všech úloh zařazených do úrovně Level3   pri2+1  31 18

long