3.1 Konfigurační dialogové okno
Konfigurační dialogové okno znázorněné na obr. 3.1 je obsaženo v souboru OwsDrv_H.dll a aktivuje se v programu RexDraw stisknutím tlačítka Configure v parametrickém dialogu bloku typu IODRV s parametry ovladače OwsDrv (viz kap. 2).
V horní části dialogu se definuje napojení na owserver. Program owserver typicky běží na stejném stroji jako RexCore, ale není to podmínkou.
Ve spodní části okna jsou definovány jednotlivé signály, které mohou být následně využity ke čtení nebo k zápisu v řídicím algoritmu systému REX. Jednoduše přidejte signály, použijte device ID, které vypsal příkaz owdir.
Signály lze přidávat nebo editovat po dvojkliku na dané položce přímo v parametrickém dialogu na obr. 3.1 nebo po stisku tlačítka Add nebo Edit v malém dialogu znázorněném na obr. 3.2.
Pokud je daný signál výstupem (ve sloupci I/O je vybrána hodnota output), je po spuštění systému tento výstup jednorázově nastaven na hodnotu Value, pokud tato hodnota není přepsána z řídicího algoritmu.
Při běhu řídicího systému se pro jednotlivé výstupní signály, označené v konfiguračním dialogu ve sloupci I/O jako výstupy (Output), cyklicky prochází tabulka signálů v pořadí uvedeném v tomto dialogu a pokud se signál od posledního zápisu změnil, zapíše se jeho nová hodnota. Obdobně, jednotlivé vstupní signály, označené v konfiguračním dialogu ve sloupci I/O jako vstupy (Input), se cyklicky čtou v témže pořadí. Při velkém množství zkonfigurovaných vstupů může přečtení celé tabulky trvat dost dlouhou dobu. Proto program owserver umožňuje indikovat změny signálů jako tzv. alarmy, v adresáři /alarm, viz sekci 3.2. Tento ovladač umožňuje s alarmy pracovat od verze 2.50 systému REX.
Je-li navíc označena volba Uncached, bude daný signál vždy čten z připojeného obvodu (např. z teploměru), není-li tato volba vybrána, bude vracen z vyrovnávací paměti (cache) owserveru, která se typicky aktualizuje jednou za 15 vteřin. Upozornění: Čím více signálů má zaškrtnutou volbu Uncached, tím pomalejší bude odezva tohoto ovladače.
Pro optimalizaci výkonnosti tohoto ovladače je dobré vědět, jak ovladač interně funguje. Hlavní smyčka tohoto ovladače spouštěná každou periodu ovladače vždy zpracovává nejvýše jeden požadavek na program owserver a po vyslání požadavku na owserver, nečeká na jeho okamžitou odpověď (tj. pokud data odpovědi nejsou k dispozici, snaží se je získat při dalším spuštění smyčky). Po inicializaci ovladače při spuštění exekutivy reálného času pracuje hlavní smyčka následovně:
- Zkontroluje, zda byl dokončen právě rozpracovaný požadavek (z předchozího volání této smyčky).
- Pokud ano, začne zpracovávat alarmy (detaily viz následující sekci).
- Pokud není žádný alarm zpracováván, snaží se zapsat jednu hodnotu výstupu z algoritmu.
- Pokud není zpracováván zápis hodnoty, snaží se přečíst jednu hodnotu vstupu do algoritmu.
Z uvedeného postupu je patrné, že nejvyšší důležitost (prioritu) má zpracování alarmů, potom zápis výstupních hodnot z algoritmu a naposledy čtení signálů. Při častém výskytu alarmů (což nemusí být normální stav) by se mohlo stát, že se nedostanou na řadu zápisy výstupů z algoritmu ani čtení ostatních hodnot. Proto lze v konfiguraci ovladače na obr. 3.1 nastavit nejvyšší počet po sobě obsloužených alarmů (Maximum number of consecutively served alarms), po němž se provede první z ostatních čekajících úkolů (zápis nebo čtení položky).
[Na začátek] [Výše] [Další]