Ovladač systému REXYGEN pro Monarco HAT
(modul MonarcoDrv)
Uživatelská příručka
Plzeň
4.7.2025
Obsah
1.1 Úvod
1.2 Instalace
2 Zařazení ovladače do projektu
2.1 Přidání ovladače MonarcoDrv do projektu
2.2 Připojení vstupů a výstupů v řídicím algoritmu
2.2.1 Příklad
3 Konfigurace ovladače MonarcoDrv
4 Drivery pro sběrnicové piny
4.1 Komunikace protokolem Modbus přes RS-485
4.2 1-Wire senzory a rozšiřující moduly
5 Co dělat při problémech
Kapitola 1
Ovladač MonarcoDrv a systém REXYGEN
1.1 Úvod
Tento manuál vysvětluje, jak používat ovladač MonarcoDrv pro Monarco HAT [1] v rámci systému REXYGEN, který byl vyvinut společností REX Controls. Ovladač MonarcoDrv umožňuje přímý přístup k vstupům a výstupům zařízení.
Pokud začínáte s REXYGEN, doporučujeme nejdříve projít tutoriály Začínáme a návody krok za krokem, které:
- Vás seznámí se základními principy systému REXYGEN a jeho vývojovými nástroji [2],
- Vám pomohou s instalací a konfigurací systému REXYGEN na cílové zařízení [3],
- Vám ukážou, jak vytvořit jednoduchý projekt včetně základního uživatelského rozhraní [4],
- ukáží, jak nakonfigurovat vstupy a výstupy daného zařízení [5],
- Vám umožní vytvořit vlastní grafické uživatelské rozhraní [6].
1.2 Instalace
Pro možnost konfigurace ovladače MonarcoDrv ve vývojovém prostředí REXYGEN Studio je nutné během instalace REXYGEN Studio mít zaškrtnutu možnost Monarco HAT driver v kroku Select Components. Nejjednodušší je vybrat možnost Full installation.
Ovladač MonarcoDrv je součástí standardní instalace RexCore na cílovém zařízení (Raspberry Pi) a měl by být nainstalován, ať už jste zvolili jakýkoliv způsob instalace popsaný v [3].
Pokud z nějakého důvodu musíte instalovat MonarcoDrv samostatně, můžete tak
učinit z příkazové řádky Raspberry Pi pomocí příkazu:
sudo apt-get install rex-monarcodrvt
Kapitola 2
Zařazení ovladače do projektu
Zařazení ovladače do projektu spočívá v přidání ovladače do hlavního souboru projektu a z připojení vstupů a výstupů ovladače v řídicích algoritmech.
2.1 Přidání ovladače MonarcoDrv do projektu
Přidání ovladače MonarcoDrv do hlavního souboru projektu je znázorněno na Obr. 2.1.
Pro zařazení ovladače do projektu slouží blok IODRV přejmenovaný na MNR a připojený k výstupu Drivers hlavního bloku EXEC. Jménem tohoto bloku (MNR, viz Obr. 2.1) začínají všechny vstupní a výstupní signály tohoto ovladače. Po otevření Block properties - vlastností bloku (pomocí dvojkliku na blok) můžete upravovat nastavení parametrů. Čtyři nejdůležitější parametry jsou:
- module – název modulu připojeného k tomuto ovladači, v tomto případě MonarcoDrv
- classname – třída ovladače, v tomto případě MonarcoHatDrv
- cfgname – název konfiguračního souboru ovladače, např. monarcohat.rio
- factor – násobek parametru tick bloku EXEC definující periodu vykonávání úloh ovladačem.
Tlačítko Configure otvírá konfigurační dialog ovladače MonarcoDrv, který je popsán v Kapitole 3.
2.2 Připojení vstupů a výstupů v řídicím algoritmu
Vstupy a výstupy z ovladačů je možné do algoritmu v jednotlivých úlohách připojit několika funkčními bloky:
- Pro čtení jedné hodnoty je výhodné použít blok From.
- Pro zápis jedné hodnoty se používá blok Goto.
- 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). Výhodou takového užití je zvýšení rychlosti a částečně i přehlednosti algoritmů.
Příslušnost bloků From a Goto k danému ovladači je dána jejich parametrem Goto tag, který začíná názvem tohoto ovladače (viz Obr. 2.1), pokračuje oddělovačem __ (za sebou dva znaky ’_’) a končí jménem signálu definovaným v konfiguraci ovladače (viz Kapitola 3). Pro bloky INQUAD, OUTQUAD, INOCT, OUTOCT, INHEXD a OUTHEXD je tento identifikační řetězec zadáván přímo do jejich názvu. Podrobný popis bloků lze nalézt v příručce [7].
Úlohy jsou poté zapojovány v hlavním souboru projektu na výstupy QTask, Level0, Level1, Level2 a Level3 bloku EXEC. Výstupy QTask a Level0 jsou vyhrazeny pro úlohy s nejvyšší prioritou, výstup Level3 pro úlohy s nejnižší prioritou.
2.2.1 Příklad
Příklad přístupu k vstupům a výstupům ovladače MonarcoDrv je vidět na Obr. 2.2. Pro čtení se využívá funkční blok From, pro zápis signálu se využívá funkční blok Goto. Oba tyto bloky mají parametr Goto tag, který je nastaven na název signálu.
Na obrázku jsou znázorněny dva bloky typu From, které umožňují uživateli přečíst vstupy. Tyto bloky mají parametry Goto tag nastaveny na MNR__DI1 a MNR__DI2. Název za podtržítky ve vlajce odpovídá pinu terminálu (pojmenování pinů je vidět na Obr. 2.3). Dále je na obrázku blok typu Goto, který umožňuje nastavit (zapsat) výstup. Jeho parametr Goto tag je nastaven na MNR__DO1.
Podobně pro ostatní piny můžeme využít například tyto vlajky:
- Goto, MNR__DO4 – digitální výstup 4
- Goto, MNR__AO1 – analogový výstup 1
- From, MNR__AI1 – analogový vstup (voltage mode 0..10V)
- From, MNR__AI2C – analogový vstup (current mode 0..20mA)
- Goto, MNR__LED5 – Vestavěná LED 5
- Goto, MNR__LED5_Mask – Pro ovládání vestavěné LED je nutné nastavit tento parametru na TRUE
Instalace systému REXYGEN obsahuje knihovnu příkladů, kde je mimo jiné sekce 0121_Monarco_HAT věnována použití MonarcoDrv. Příklad 0121-00_IO_Flags obsahuje knihovnu použitelných vstupů a výstupů.
Kapitola 3
Konfigurace ovladače MonarcoDrv
Konfigurační dialog může být aktivován tlačítkem Configure v parametrickém dialogu bloku IODRV (viz Kapitola 2.1).
Sekce RS-485 konfiguruje parametry sběrnice RS-485 pro připojení k vnějším zařízením.
DŮLEŽITÉ: Nutno poznamenat, že vnitřní komunikace mezi CPU a Monarco HAT MCU využívá komunikaci UART (/dev/ttyAMA0 na Raspberry Pi) s hodnotou baudrate 115200, 8 bity na byte, bez parity a 1 stop bitem. Tyto hodnoty musíte použít v konfiguraci ovladače Modbusu, pokud ho chcete použít. Více informací najdete na https://www.monarco.io.
Sekce konfigurace SPI slouží k nastavení komunikace mezi CPU a Monarco HAT MCU (/dev/spidev0.0 na Raspberry Pi, maximální frekvence hodin jsou 4 MHz).
Kapitola 4
Drivery pro sběrnicové piny
Krom analogových a digitálních vstupů a výstupů Monarco HAT poskytuje také možnost připojení k sběrnicovým pinům RS-485 a 1-Wire. V systému REXYGEN existují speciální ovladače pro tyto sběrnicové piny. Příklad zapojení více ovladačů do hlavního souboru projektu je vidět na Obr. 4.1.
4.1 Komunikace protokolem Modbus přes RS-485
Sběrnice RS-485 poskytuje běžné rozhraní ke komunikaci s vnějšími zařízením (serva, měřiče energie atd.), případně k rozšíření I/O možností samotného Monarco HAT. Typicky se využívá komunikace přes protokol Modbus. V systému REXYGEN existuje speciální ovladač pro protokol Modbus, viz [8].
DŮLEŽITÉ: Nutno poznamenat, že vnitřní komunikace mezi CPU a Monarco HAT MCU využívá komunikaci UART (/dev/ttyAMA0 na Raspberry Pi) s hodnotou baudrate na 115200, 8 bity na byte, bez parity a 1 stop bitem. Tyto hodnoty musíte použít v konfiguraci ovladače protokolu Modbus, pokud ho chcete použít. Více informací najdete na https://www.monarco.io.
4.2 1-Wire senzory a rozšiřující moduly
Sběrnice 1-Wire poskytuje přídavné rozhraní pro rozšíření I/O možností Monarco HAT (například pomocí 1-Wire senzorů teploty, relativní vlhkosti, relé modulů atd.). V systému REXYGEN existuje speciální ovladač pro 1-Wire komunikaci, viz [9].
Kapitola 5
Co dělat při problémech
Ze všeho nejdříve je vhodné prozkoumat knihovnu příkladů, zejména sekci 0120_Raspberry_Pi, která se týká použití MonarcoDrv.
V případě, že v diagnostických prostředcích systému REXYGEN (např. REXYGEN Studio) jsou neočekávané nebo nesprávné hodnoty vstupů nebo výstupů, je vhodné nejdříve překontrolovat konfiguraci. Nejčastější chyby jsou:
- Chyba v hardware – špatné zapojení.
- Chyba vnitřní komunikace – Sběrnice SPI, I2C nebo UART jsou okupovány jinou službou nebo programem.
V případě, že se Vám nedaří nalézt chybu, 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 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 (obsahující soubory s příponou .mdl a .rio).
Literatura
[1] REX Controls s.r.o.. Internetové stránky www.monarco.io, 2024.
[2] REX Controls s.r.o.. Začínáme s řídicím systémem REXYGEN, 2024. .
[3] REX Controls s.r.o.. Instalace RexCore (REXYGEN runtime core), 2024. .
[4] REX Controls s.r.o.. První projekt, 2024. .
[5] REX Controls s.r.o.. Konfigurace vstupů a výstupů na cílových platformách, 2024. .
[6] REX Controls s.r.o.. Tvorba HMI v REXYGEN HMI Designer, 2024. .
[7] REX Controls s.r.o.. Funkční bloky systému REXYGEN – Referenční příručka, 2024. .
[8] REX Controls s.r.o.. Ovladač systému REXYGEN pro komunikaci Modbus – Uživatelská příručka, 2020. .
[9] REX Controls s.r.o.. Ovladač OwsDrv systému REXYGEN pro 1-Wire zařízení – Uživatelská příručka, 2020. .
Referenční číslo dokumentace: 17331
2025 © REX Controls s.r.o., www.rexygen.com