Ovladač systému REXYGEN pro Monarco HAT
(modul MonarcoDrv)
Uživatelská příručka

REX Controls s.r.o.

Verze 3.0.4
Plzeň
27.3.2025

Obsah

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.


myproject_exec Exported by REXYGEN Studio Modules Drivers Archives QTask Level0 Level1 Level2 Level3 EXEC HMI prev next MNR prev next myproject_task myproject_exec


Obrázek 2.1: Příklad zařazení ovladače MonarcoDrv do hlavního souboru projektu

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.


myproject_task Exported by REXYGEN Studio U1 U2 Y NY AND on CNB_RUN off CNB_SWITCH2 off CNB_SWITCH4 ??? MNR__DI1 MNR__DI3 MNR__DO1 U1 U2 Y NY OR_A U1 U2 Y NY OR_B U HLD R1 Q et rt TIMER u1 u2 u3 u4 RUN R1 y1 y2 y3 y4 iE TRND myproject_task


Obrázek 2.2: Příklady vlajek pro vstupy a výstupy ovladače MonarcoDrv

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.


image/svg+xml 1 2 25 26 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 PWR IN+ RS485+ GND 1W 5V OUT DOUT2 DOUT4 PWR OUT PWR OUT DIN2 DIN4 AIN2 PWR OUT AOUT2 PWR GND RS485− GND 1W DATA DOUT1 DOUT3 GND DIN COM− DIN1 DIN3 AIN1 GND AOUT1 PIC

Obrázek 2.3: Označení pinů terminálu pro Monarco HAT.

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).


PIC


Obrázek 3.1: Konfigurační dialog Monarco HAT

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.


monarco_exec_multiio Exported by REXYGEN Studio Modules Drivers Archives QTask Level0 Level1 Level2 Level3 EXEC prev next MBM prev next MNR prev next MTM prev next OWS prev next monarco_task monarco_exec_multiio


Obrázek 4.1: Projekt s ovladači MonarcoDrv, 1-Wire, Modbus RTU a Modbus TCP

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: 17159

2025 © REX Controls s.r.o., www.rexygen.com