2.2 Připojení vstupů a výstupů do řídicího algoritmu
Vstupy a výstupy z ovladačů se připojují do souborů s příponou .mdl jednotlivých úloh. V hlavním souboru projektu jsou soubory úloh uvedeny pouze odkazem v blocích typu QTASK nebo TASK, popř. IOTASK připojovaných na výstupy QTask, Level0,…, Level3 exekutivy. Pro připojení vstupů a výstupů z ovladače CanDrv do řídicího systému REX lze použít bloky, znázorněné na obr. 2.3.
Blok typu From sloužící pro připojení jednoho vstupu má parametr GotoTag roven CAN__<IN>, blok typu Goto používaný pro připojení jednoho výstupu má tento parametr nastaven na CAN__<OUT>, kde <IN> a <OUT> jsou řetězce odkazující na object dictionary (viz dále). Všechny řetězce používané jako odkazy na data poskytovaná a přijímaná ovladačem CanDrv mají přímo na svém začátku prefix CAN povinně následovaný dvěma znaky _ (podtržítko).
Přesněji řečeno, daný vstupně výstupní blok je považován systémem REX za blok připojený k ovladači CanDrv, pokud jeho jméno (či, v případě bloků typu From a Goto, parametr Goto tag) začíná jménem bloku typu IODRV popisujícího daný ovladač. Na obr. 2.1 to byl právě blok CAN. Začátek jména vstupního nebo výstupního bloku je od zbytku jména vždy povinně oddělen dvěma znaky _.
Kdyby byl např. blok CAN z obr. 2.1 přejmenován na XY, začínala by jména všech vstupně výstupních bloků připojených k ovladači CanDrv znaky XY__. Z praktických důvodů je však rozumnější volit prefix mnemotechnicky blízký názvu ovladače.
Zbytek jména vstupního nebo výstupního bloku je odkaz do object dictionary (viz dále) a má následující strukturu:
I<index>S<subindex>
kde <index> a <subindex> jsou čísla definující objekt v object dictionary, jehož hodnotu čteme/zapisujeme. Je možné číst/zapisovat další pomocné signály k danému objektu. To se provede přidáním přípony do názvu. Možnosti jsou:
- _RE
- – povolení čtení po sběrnici CAN.
- _WE
- – povolení zápisu po sběrnici CAN.
- _Fresh
- – udává počet sekund od poslední změny hodnoty (resp. kdy naposledy přišla hodnota po sběrnici CAN - hodnota se nemusela změnit).
Dále existují speciální symboly:
- Status
- – Stav stanice. Možné hodnoty jsou:
0 neexistující stanice (není v konfiguraci), 1 neznámý stav (stanice neodpovídá), 2 init (po zapnutí napájení), 3 preop (lze posílat SDO, ale PDO se neposílají a neakceptují), 4 stop (jako stav PREOP, ale aplikace může reagovat jinak), 5 operational(stanice plně funkční) - Node<nodeID>
- – Stav vzdálené stanice, jejíž číslo je <nodeID>. Hodnoty jsou stejné jako v předchozím případě.
- RecvMsg
- – V režimu CAN (tj. nikoliv CANopen obsahuje celou přečtenou zprávu. Je
potřeba použít blok INQUAD a potom:
y0 message ID y1 délka dat v byte(tj. 0 až 8; -1 značí žádnou příchozí zprávu), y2 první 4 byte dat (tj. 1. až 4. byte), y3 druhé 4 byte dat (tj. 5. až 8. byte), Pro příjem více zpráv zároveň lze použít symboly RecvMsg1, RecvMsg2, atd.
- SendMsg
- – V režimu CAN (tj. nikoliv CANopen obsahuje celou odesílanou zprávu. Je
potřeba použít blok OUTQUAD a potom:
u0 message ID u1 délka dat v byte(tj. 0 až 8; -1 značí žádná odesílaná zpráva), u2 první 4 byte dat (tj. 1. až 4. byte), u3 druhé 4 byte dat (tj. 5. až 8. byte), Pro odeslání více zpráv zároveň lze použít symboly SendMsg1, SendMsg2, atd.
Použití bloků From a Goto pro vstup a výstup jednoho signálu do/z řídicího algoritmu umožňuje snadno přecházet ze simulační verze algoritmu testované v systému Matlab Simulink do systému reálného času REX. V systému Simulink je možno k blokům From a Goto přiřadit „protikusy“, kterými bude připojen simulační model procesu, po otestování může být model procesu z projektu odstraněn. Při překladu modelu nahradí díky zavedené a právě popsané konvenci systém REX zbylé bloky From a Goto vstupními a výstupními bloky.
Protože ovladač umožňuje pod jedním symbolickým jménem získávat několik vstupů či nastavovat několik výstupů, lze s výhodou používat bloky čtyřnásobných, osminásobných a šestnáctinásobných vstupů a výstupů (INQUAD, OUTQUAD, INOCT, OUTOCT a INHEXD, OUTHEXD), viz obr. 2.3. V tomto případě je v názvu bloku odkaz na první požadovaný objekt a v následujících signálech jsou následující subindexy. Výhodou takového užití je zvýšení rychlosti a částečně i přehlednosti algoritmů. Přechod od simulační verze je však v takovém případě trochu pracnější. Podrobný popis vícenásobných vstupů a výstupů lze nalézt v příručce [1].
[Předchozí] [Na začátek] [Výše]