IODRV – Vstupně-výstupní ovladač systému REX

Symbol blokuPotřebná licence: STANDARD
PIC

Popis funkce
Vstupně-výstupní ovladače jsou v systému REX implementovány jako rozšiřující moduly (viz blok MODULE). Modul může obsahovat několik ovladačů, které se do konfigurace systému přidávají pomocí bloků IODRV. Vstup prev prvního z ovladačů se propojí s výstupem Drivers bloku EXEC. Další ovladače se přidávají propojováním vstupu prev s výstupem next předchozího ovladače. Na každý výstup next smí být připojen nejvýše jeden vstup prev následujícího ovladače, u posledního ovladače zůstává výstup next nepřipojen. Vzniklá posloupnost určuje pořadí inicializace jednotlivých ovladačů do řídicího systému REX (pořadí zavádění jednotlivých ovladačů je určeno pořadím modulů, v nichž jsou obsaženy, viz popis bloku MODULE).

Každý ovladač je v systému REX identifikován svým jménem, které se zadává v parametru classname. Pozor, parametr classname rozlišuje velká a malá písmena! Pokud se jméno ovladače liší od jména modulu, obsahujícího daný ovladač, musí se zadat i jméno modulu module, jinak se ponechá prázdné. Přesné nastavení těchto dvou parametrů je popsáno v příručce pro každý ovladač systému REX.

Většina ovladačů má svá vlastní konfigurační data uložena v souborech s příponou .rio (REX Input/Output), jejichž jméno určuje parametr cfgname. Soubory .rio se vytvářejí na stejném adresáři jako hlavní soubor projektu s příponou .mdl v němž je použit tento blok. Konfigurační data ovladačů (např. názvy vstupních/výstupních signálů, jejich připojení na konkrétní fyzické vstupy/výstupy, parametry komunikace se vstupně-výstupním zařízením, apod.) se zadávají ve vestavěných editorech poskytovaných přímo ovladači. V programu RexDraw systému REX se editory volají stisknutím tlačítka Configure v parametrickém dialogu bloku, v systému Simulink je pro stejnou funkci nutno zaškrtnout pomocné políčko "Tick this checkbox to call IOdrv EDIT dialog".

Zbylé parametry bloku určují chování ovladače při běhu řídicího systému REX a mají význam jen tehdy, pokud ovladač implementuje vlastní úlohu (viz příručku k odpovídajícímu ovladači). Parametr factor je násobkem základní periody tick bloku EXEC, určujícím periodu spouštění této úlohy (factor*tick). Parametr stack udává velikost zásobníku v bytech (není-li v příručce k ovladači napsáno jinak, není jej třeba měnit). Poslední parametr pri určuje logickou prioritu úlohy ovladače. Nevhodná hodnota priority může kriticky ovlivnit výkonnost celého řídicího systému, proto doporučujeme konzultovat příručku k ovladači a poté si ověřit zatížení řídicího systému (ovladačů, výpočetních úrovní a úloh) v programu RexView.

Vstup

prev

Vstup sloužící pro k připojení prvního ovladače na výstup Drivers bloku EXEC nebo k připojení na výstup next předchozího ovladače

long

Výstup

next

Výstup sloužící pro zřetězování ovladačů připojením na vstup prev následujícího ovladače

long

Parametry

module

Jméno modulu, ve kterém je daný vstupně výstupní ovladač obsažen (nemusí se zadávat, je-li shodné s classname)

string

classname

Jméno třídy ovladače, rozlišuje malá a velká písmena!  DrvClass

string

cfgname

Jméno konfiguračního souboru ovladače  iodrv.rio

string

factor

Násobek parametru tick bloku EXEC určující periodu spouštění úlohy ovladače   1 10

long

stack

Velikost zásobníku úlohy ovladače v bytech   1024 10240

long

pri

Priorita úlohy ovladače   1  31 3

long

timer

Ovladač je zdrojem pro časování

bool