Ovladač pro bezdrátové snímače začleněné dořízení v realném čase
(modul VMonDrv)
Uživatelská příručka
7.9.2024
Plzeň
Obsah
1.1 Úvod
1.2 Požadavky na systém
1.3 Instalace ovladače na vývojovém počítači
1.4 Instalace ovladače na cílovém počítači se systémem Windows
1.5 Instalace ovladače na cílovém počítači se systémem GNU/Linux
2 Zařazení ovladače do projektu aplikace
2.1 Přidání ovladače VMonDrv do projektu
2.2 Připojení vstupů a výstupů do řídicího algoritmu
2.3 Vstupy jednotky V-Mon 4000
3 Konfigurace ovladače
4 Konfigurace senzorů a sítě
5 Co dělat při problémech
Kapitola 1
Ovladač VMonDrv a systém REXYGEN
1.1 Úvod
V této příručce je popsáno používání ovladače VMonDrv pro komunikaci s bezdrátovými senzorickými moduly V-Mon 4000 [1] v řídicím systému REXYGEN. Na všech operačních systémech jsou podpořeny výstupy z interního akcelerometru, analogových vstupů a informace o přijatých sekvencích s časy jejich dekódování. Ovladač také může předávat informace o teplotě, baterii a externím napájení. Ovladač byl vyvinut firmou REX Controls.
1.2 Požadavky na systém
Ovladač VMonDrv lze provozovat na počítačích s operačním systémem Windows a Linux. Při používání ovladače ve variantě komunikace přes USB je vyžadován na cílovém zařízení volný USB port, ve verzi komunikace po sběrnici Ethernet je vyžadována ethernetová karta (podpořeno pouze na systémech Linux).
Aby bylo možno ovladač využívat, musí být na vývojovém a cílovém zařízení nainstalováno programové vybavení:
Vývojový počítač |
|
Operační systém |
jeden ze systémů: Windows 10/11, GNU/Linux |
Vývojové nástroje |
verze REXYGEN pro daný operační systém |
Cílové zařízení |
|
Runtime jádro systému REXYGEN |
verze pro příslušný operační systém |
Ovladač IO |
verze pro příslušný operační systém |
|
|
|
|
1.3 Instalace ovladače na vývojovém počítači
Ovladač VMonDrv se instaluje jako balíček řídicího systému REXYGEN. Je obsažen
v instalátoru vývojových nástrojů systému REXYGEN, pro jeho nainstalování je
pouze nutné ho v instalačním programu systému REXYGEN zaškrtnout.
Po typické instalaci se řídicí systém REXYGEN nainstaluje do cílového
adresáře
C:\Program Files\REX Controls\REX_<version>, kde <version> označuje verzi systému
REXYGEN.
Po úspěšné instalaci se do cílového adresáře zkopírují soubory:
- bin\VMonDrv_H.dll – Konfigurační část ovladače VMonDrv.
- DOC\VMonDrv_CZ.pdf – Tato uživatelská příručka.
1.4 Instalace ovladače na cílovém počítači se systémem Windows
V případě provozování ovladače VMonDrv na operačním systému Windows 10/11 je cílová část ovladače součástí standardní instalace. Po dokončení instalace je v cílovém adresáři přítomen soubor:
- bin\VMonDrv_T.dll – Výkonná část ovladače VMonDrv.
1.5 Instalace ovladače na cílovém počítači se systémem GNU/Linux
Pokud nemáte na cílovém zařízení nainstalovaný aktuální runtime modul RexCore řídicího systému REXYGEN, nainstalujte jej podle příslušné příručky Začínáme s řídicím systémem REXYGEN [2].
Pro připojení senzorického uzlu V-Mon 4000 či bezdrátové brány nainstalujte
ovladač systému REXYGEN pro V-Mon 4000, což lze provést z příkazové řádky
zadáním příkazu:
Debian:
sudo apt-get install rex-vmondrvt
Kapitola 2
Zařazení ovladače do projektu aplikace
Zařazení ovladače do projektu aplikace spočívá v přidání ovladače do hlavního souboru projektu a připojení vstupních signálů v řídicích algoritmech.
2.1 Přidání ovladače VMonDrv do projektu
Přidání ovladače VMonDrv do hlavního souboru projektu je znázorněno na obr. 2.1.
Pro zařazení ovladače do projektu slouží dva bloky. Nejprve je na výstup Modules bloku exekutivy EXEC připojen blok typu MODULE s názvem VMonDrv, který nemá žádné další parametry.
Druhý blok VMON typu IODRV, připojený na výstup exekutivy Drivers má tři nejdůležitější parametry:
- module – jméno modulu, ke kterému se ovladač váže, v tomto případě VMonDrv – POZOR, jméno rozlišuje velká a malá písmena!
- classname – jméno třídy ovladače, které je pro tento ovladač VMonDrv – POZOR, jméno rozlišuje velká a malá písmena!
- cfgname – jméno konfiguračního souboru ovladače, doporučeno je volit ve
formátu
<jméno_třídy>.rio, kde přípona .rio (Rex Input Output) byla zavedena pro tento účel. Postup vytváření konfiguračního souboru je popsán v kapitole 3.
Jménem tohoto bloku, na obr. 2.1 zadaným jako VMON, začínají názvy všech vstupních a výstupních signálů poskytovaných tímto ovladačem.
Právě popsané parametry bloku IODRV se konfigurují v programu REXYGEN Studio v dialogovém okně, které je rovněž ukázáno na obrázku 2.1.
2.2 Připojení vstupů a výstupů do řídicího algoritmu
Vstupy a výstupy z ovladače se umísťují do jednotlivých úloh projektu (souborů s příponou .mdl). Na tyto úlohy vedou z hlavního souboru projektu odkazy ve formě bloků typu TASK nebo QTASK připojovaných na výstupy QTask, Level0,…, Level3 hlavního konfiguračního bloku exekutivy (blok EXEC).
2.3 Vstupy jednotky V-Mon 4000
Pro práci se vstupně-výstupními signály ovladače VMonDrv v řídicích algoritmech systému REXYGEN lze použít bloky, znázorněné na obr. 2.2.
Jeden blok typu From sloužící pro připojení jednoho vstupu má parametr Goto tag roven VMON__N1S1, druhý VMON__N1S2. Číslo ve vlajce u písmena N odpovídá identifikačnímu číslu uzlu (node) – více v kapitole 3. Číslo za písmenem S je pořadové číslo signálu. U některých typů signálů lze použít místo kombinace S s číslem zástupný symbol (kompletní seznam je v tabulce 2.1). Bloky mají vždy přímo na začátku svého jména prefix VMON následovaný dvěma znaky _ (podtržítko).
Číslo signálu | Význam | Zástupný symbol |
S1 | Analogový vstup 1 | – |
S2 | Analogový vstup 2 | – |
S3 | Analogový vstup 3 | – |
S4 | Analogový vstup 4 | – |
S6 | Akcelerometr složka x | ax |
S7 | Akcelerometr složka y | ay |
S8 | Akcelerometr složka z | az |
S10 | Kompas složka x | cx |
S11 | Kompas složka y | cy |
S12 | Kompas složka z | cz |
S14 | Gyroskop složka x | gx |
S15 | Gyroskop složka y | gy |
S16 | Gyroskop složka z | gz |
S18 | Baterie | bat |
S19 | Teplota | temp |
S20 | Externí napájení | extI |
S22 | Čas mezi posledními dvěma vzorky | tDelay |
S23 | Časová značka posledního vzorku | tsLast |
S24 | Číslo poslední přijaté sekvence | seqNo |
Napojení na signál se tedy skládá ze jména driveru VMON, dvou podtržítek __, písmene (N) a identifikačního čísla uzlu, písmene (S) a pořadového čísla signálu (nebo zástupného symbolu).
Protože signály lze rozdělit do logických skupin (analogové vstupy, akcelerometr, stavové informace), je možné v algoritmu použít bloky čtyřnásobných vstupů (INQUAD). Výhodou takového užití je zvýšení rychlosti a částečně i přehlednosti algoritmů. Pojmenování bloků pro čtyřnásobné vstupy jsou v tabulce 2.2. Podrobný popis bloků vícenásobných vstupů lze nalézt v příručce Funkční bloky systému REXYGEN [3].
Číslo signálu | Význam | Zástupný symbol |
S5 | Všechny analogové signály | S |
S9 | Všechny signály akcelerometru | A |
S13 | Všechny signály kompasu | C |
S17 | Všechny signály gyroskopu | G |
S21 | Stavové signály | stat |
Všechny podporované vstupní bloky jsou součástí příkladu v instalačním
adresáři v podsložce
\EXAMPLES\IODRV\VMON_Example
Stavové informace (signály S18 - S21) jsou dostupné pouze při použití verze pro Windows v kombinaci s knihovnou Boost (hardwarová konfigurace 4 v kapitole 3).
Kapitola 3
Konfigurace ovladače
Konfigurace ovladače je definována v souboru *.rio, uvedeném v příslušném bloku typu IODRV (více v sekci 2.1). Soubor typu *.rio je možné upravovat v textovém editoru. Základní struktura je následující:
Config 4
ComName "COM6"
Node {
NodeID 1
SignalCount 4
}
Node {
NodeID 4
SignalCount 2
}
}
Jednotlivé řádky mají tento význam:
- VMonDrv – Vymezuje sekci, týkající se ovladače VMonDrv
- Config – Číselné označení konfigurace z tabulky 3.1
- ComName – Název připojovacího portu (možnosti jsou vyjmenovány v tabulce 3.1)
- Node – Vymezuje sekci, definující uzel
- NodeID – ID uzlu, lze nalézt v sériovém čísle uzlu či přes konfigurační nástroj Inertia Studio
- SignalCount – Počet aktivních analogových vstupů uzlu
Identifikační číslo uzlu lze zjistit při pohledu na štítek zařízení, poslední čtyři číslice odpovídají unikátnímu ID (obr. 3.1). Druhou možností je použití programu Inertia Studio, kde je identifikační číslo uvedeno v pravém spodním rohu spolu se stavovými informacemi o uzlu (na obr. 4.1).
Při připojování signálů na základě výše uvedené konfigurace bude první analogový vstup z uzlu s ID na vlajce VMON__N1S1. První analogový vstup z uzlu s ID lze číst vlajkou VMON__N4S1.
Číslo konfigurace | Význam | Připojovací porty |
[x značí číslo portu] | ||
1 | OS Linux, připojení přes Ethernet | "edevx"nebo "ethx" |
2 | OS Linux, připojení přes USB | "/dev/ttyACMx" |
3 | OS Windows | "COMx" |
4 | OS Windows s využitím knihovny Boost | "COMx" |
Kapitola 4
Konfigurace senzorů a sítě
Pro konfiguraci sítě a jednotlivých uzlů použijte nástroj Inertia Studio (na obrázku 4.1). Program také poskytuje informace o aktivních uzlech, jejich ID, stav baterie a sílu signálu. Při konfiguraci věnujte zvýšenou pozornost nastavení globální vzorkovací frekvence (obr. 4.2) a vzorkovací frekvence jednotlivých snímačů (obr. 4.3). Pro správnou funkci ovladače musí být všechny zmíněné frekvence stejné.
Pro dosažení maximální rychlosti zpracování a přenosu dat doporučujeme nastavit rychlost na 1000 Hz. Při této vzorkovací frekvenci je v každém přenášeném paketu jeden vzorek. Při vyšší vzorkovací frekvenci jsou snímané hodnoty seskupovány do paketů, pakety jsou ale stále odesílány s frekvencí 1000 Hz. Ovladač předává na vlajku do řídicího algoritmu vždy poslední (nejnovější) hodnotu. Ostatní hodnoty v paketu jsou nevyužity.
Pro více informací o nastavení bezdrátové sítě a senzorických jednotek, typech podporovaných senzorů a parametrech jednotky V-Mon 4000 doporučujeme přečíst Uživatelský manuál k systému V-Mon 4000 [4].
Kapitola 5
Co dělat při problémech
V případě, že v diagnostických prostředcích systému
rex (např. Watch režimu programu REXYGEN Studio) jsou neočekávané nebo
nesprávné hodnoty vstupů, je vhodné nejdříve ověřit jejich funkci nezávisle na
systému REXYGEN. Dále je nutné překontrolovat konfiguraci. Nejčastější chyby
jsou:
- Chyba v hardware - špatné zapojení
- Použitý (nakonfigurovaný) port je využíván jiným programem
- ID uzlu v bloku From není uvedeno v .rio souboru (Invalid context)
- Zástupný symbol v bloku From je neplatný (Invalid input mask)
- Pro vícenásobný vstup byl použit blok From (Range check error)
V případě, že daný vstup či výstup funguje pomocí jiných softwarových nástrojů správně a při shodném zapojení v systému REXYGEN nefunguje, prosíme o zaslání informace o problému emailem na adresu podpora@rexcontrols.cz. Pro co nejrychlejší vyřešení problému by informace by měla obsahovat:
- Identifikační údaje Vaší instalace vyexportované pomocí programu REXYGEN Studio (Target Licensing Export).
- Stručný a výstižný popis problému.
- Co možná nejvíce zjednodušenou konfiguraci řídicího systému REXYGEN, ve které se problém vyskytuje (ve formátu souboru s příponou .mdl).
Literatura
[1] Inertia Technology. V-Mon 4000. http://inertia-technology.com/v-mon-4000-series, 2014.
[2] REX Controls s.r.o.. Začínáme se systémem REXYGEN na platformě Raspberry Pi, 2020. .
[3] REX Controls s.r.o.. Funkční bloky systému REXYGEN – Referenční příručka, 2020. .
Referenční číslo dokumentace: 16710
2024 © REX Controls s.r.o., www.rexygen.com