Ovladač systému REXYGEN pro Raspberry Pi
(modul RPiDrv)
Uživatelská příručka

REX Controls s.r.o.

Verze 3.0.2
7.9.2024
Plzeň

Obsah

Kapitola 1
Ovladač RPiDrv a systém REXYGEN

1.1 Úvod

V této příručce je popsáno používání ovladače RPiDrv pro zpřístupnění GPIO pinů minipočítače Raspberry Pi (Raspberry Pi je registrovaná obchodní známka Raspberry Pi Foundation.) [1] v řídicím systému REXYGEN. Jsou podpořeny vstupní i výstupní režimy pinů. Ovladač také podporuje rozšiřující desky Unipi v1.1 [2] a PiFace Digital 1/2 [3] stejně jako Pigeon PLC;[4], založené na výpočetním modulu Raspberry Pi. Ovladač byl vyvinut firmou REX Controls.

1.2 Požadavky na systém

Ovladač RPiDrv lze provozovat na všech modelech Raspberry Pi, které mají síťový adaptér (LAN / WAN).

Aby bylo možno ovladač využívat, musí být na vývojovém (konfiguračním) počítači a na cílovém zařízení (počítači) nainstalováno následující 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í

Řídicí systém REXYGEN

verze pro Raspberry Pi s Raspberry OS distribucí GNU/Linux (Fungovat by měla i jakákoli jiná distribuce založená na distribuci Debian)

Ovladač I/O

verze pro Raspberry Pi

1.3 Instalace ovladače na vývojovém počítači

Ovladač RPiDrv 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 <verze>.

Po úspěšné instalaci se do cílového adresáře zkopírují soubory:

Bin\RPiDrv_H.dll – Konfigurační část ovladače RPiDrv.
Doc\PDF\CZECH\RPiDrv_CZ.pdf – Tato uživatelská příručka.

1.4 Instalace ovladače na cílovém počítači (Raspberry Pi)

Pokud ještě nemáte nainstalovaný runtime modul RexCore řídicího systému REXYGEN, nainstalujte jej nejdříve podle příručky Začínáme se systémem REXYGEN [5]. Instalace obsahuje všechny nezbytné ovladače včetně RPiDrv.

Pokud chcete nainstalovat RPiDrv samostatně, můžete tak učinit z příkazové řádky Raspberry Pi pomocí příkazu

sudo apt-get install rex-rpidrvt

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 v připojení vstupů a výstupů ovladače v řídicích algoritmech.

2.1 Přidání ovladače RPiDrv do projektu

Přidání ovladače RPiDrv do hlavního souboru projektu je znázorněno na obr. 2.1.


PIC


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

Pro zařazení ovladače do projektu slouží blok typu IODRV připojený k výstupu Drivers hlavního bloku EXEC. Čtyři nejdůležitější parametry bloku IODRV jsou:

  • module – název modulu připojeného k ovladači, v tomto případě RPiDrv – POZOR! Jméno rozlišuje velká a malá písmena!
  • classname – třída ovladače – POZOR! Jméno rozlišuje velká a malá písmena!
    • RPiDrv – Raspberry Pi GPIO, rozšiřující deska PiFace Digital (Zastaralé zařízení, není poskytována podpora. Doporučujeme místo toho využít Monarco HAT.)
    • UnpDrv – rozšiřující deska Unipi
    • PgnDrv – Pigeon PLC1
    • PioDrv – Platforma Intellisys PIO1
  • cfgname – název konfiguračního souboru ovladače (tento ovladač žádný nevyužívá a tedy ponechte prázdné)
  • factor – násobek parametru tick bloku EXEC definující periodu vykonávání úloh ovladačem.

Názvem tohoto bloku (viz obr. 2.1) začínají všechny vstupní a výstupní signály poskytované tímto ovladačem. Doporučené pojmenování bloku IODRV podle použité platformy je:

  • RPI – Raspberry Pi GPIO, rozšiřující deska PiFace Digital
  • UNP – rozšiřující deska Unipi v1.1
  • PGN – Pigeon PLC

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čů 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 připojovaných na výstupy QTask, Level0,…, Level3 exekutivy.

2.2.1 GPIO piny Raspberry Pi

Nutná konfigurace bloku IODRV pro Raspberry Pi GPIO:

  • Block name RPI
  • module RPiDrv
  • classname RPiDrv

Přístup ke vstupům a výstupům ovladače RPiDrv je znázorněn na obr. 2.2.


PIC


Obrázek 2.2: Příklad vstupních a výstupních parametrů ovladače RPiDrv

Jeden blok typu From sloužící pro připojení jednoho vstupu má parametr Goto tag nastaven na RPI__GPIO21U, druhý na RPI__GPIO22U. Číslo v parametru odpovídá číslu použitého GPIO pinu, písmeno U aktivuje pull-up rezistor. Blok typu Goto používaný pro připojení jednoho výstupu má hodnotu parametru Goto tag nastavenou na RPI__GPIO23, další výstup je realizován pomocí parametru RPI__GPIO24. Bloky mají vždy přímo na začátku svého jména prefix RPI následovaný dvěma znaky _ (podtržítko).


PIC PIC

Obrázek 2.3: Číslování GPIO pinů na Raspberry Pi.

Obdobně pro další piny bychom použili například parametry:

  • Goto, RPI__GPIO22 – digitální výstup 22
  • Goto, RPI__GPIO23H – digitální výstup 23, který je okamžitě při inicializaci nastaven na logickou 1 (HIGH, ON)
  • Goto, RPI__PWM18 – PWM výstup na pinu 18
  • From, RPI__GPIO7U – digitální vstup 7 s interním pull-up rezistorem
  • From, RPI__GPIO8D – digitální vstup 8 s interním pull-down rezistorem
  • From, RPI__GPIO21 – digitální vstup 21 bez pull up/down rezistoru

Napojení na GPIO pin se tedy skládá ze jména driveru RPI, dvou podtržítek __, režimu pinu (GPIO nebo PWM), čísla pinu a volitelného symbolu – u vstupů pro interní pull-up (U) nebo pull-down (D) rezistor, u výstupů pro nastavení počátečního stavu (H = on = 1 nebo L= off = 0). Číslování pinů na Raspberry Pi ukazuje obrázek 2.3.

Všechny vstupní a výstupní parametry ovladače jsou připraveny v ukázkovém projektu 0120-00_IO_Flags.

Navštivte stránku http://elinux.org/RPi_Low-level_peripherals pro více informací o jednotlivých GPIO pinech.

2.2.2 Rozšiřující deska PiFace Digital

Nutná konfigurace bloku IODRV pro PiFace Digital:

  • Block name RPI
  • module RPiDrv
  • classname RPiDrv

V případě použití rozšiřující karty PiFace Digital je potřeba pouze drobně upravit pojmenování vstupních a výstupních vlajek, místo GPIO se ve jménech vstupních signálů objevuje PFI a u výstupů PFO, tak jak je ukázáno na obrázku 2.4. Na rozdíl od GPIO pinů Raspberry Pi má deska PiFace Digital na svých vstupech pouze pull-up rezistory, které mohou být aktivovány pomocí volitelného symbolu U ve jméně signálu. Číslování terminálů na rozšiřující desce PiFace Digital je znázorněno na obr. 2.5.

Všechny vstupní a výstupní parametry rozšiřující desky PiFace Digital jsou připraveny v ukázkovém projektu 0124-00_IO_Flags.


PIC


Obrázek 2.4: Vstupně-výstupní bloky při použití PiFace Digital

Číslování svorek na přídavné kartě PiFace Digital ukazuje obrázek 2.5.


PIC PIC

Obrázek 2.5: Číslování svorek přídavné karty PiFace Digital 2

Ovladač také umožňuje získávat/nastavovat všech 8 vstupů či výstupů PiFace Digital najednou, což je z hlediska rychlosti vykonávání algoritmu výhodnější. V takovém případě se využijí bloky osminásobných vstupů a výstupů INOCT a OUTOCT, jejichž jména musí být RPI__PFI respektive RPI__PFO.

Použití více karet PiFace Digital najednou

V základním nastavení se předpokládá, že adresa karty PiFace Digital je nastavena na 0. Pokud tomu tak není, musí být adresa zanesena do vstupních/výstupních vlajek. Např. RPI__PFO3C2 odkazuje na čtvrtý výstup karty PiFace Digital s adresou 2.

2.2.3 Rozšiřující deska Unipi v1.1

Nutná konfigurace bloku IODRV pro rozšiřující desku Unipi v1.1:

  • Block name UNP
  • module RPiDrv
  • classname UnpDrv

Přístup ke vstupům a výstupům přídavné desky Unipi v1.1 je znázorněn na obr. 2.6. Odkaz na konkrétní I/O pin se skládá z názvu ovladače UNP, dvou podtržítek __ a názvu a čísla signálu. Číslování terminálů na rozšiřující desce Unipi je znázorněno na obr. 2.7.

Všechny vstupní a výstupní parametry rozšiřující desky Unipi jsou připraveny v ukázkovém projektu 0122-00_IO_Flags.


PIC


Obrázek 2.6: Vstupní a výstupní parametry při použití Unipi v1.1


PIC


Obrázek 2.7: číslování terminálů přídavné karty Unipi v1.1

2.2.4 Pigeon PLC

Nutná konfigurace bloku IODRV pro Pigeon PLC:

  • Block name PGN
  • module RPiDrv
  • classname PgnDrv

Přístup ke vstupům a výstupům Pigeon PLC je znázorněn na obr. 2.8. Odkaz na konkrétní I/O pin se skládá z názvu ovladače PGN, dvou podtržítek __ a názvu a čísla signálu. Číslování terminálů na Pigeon PLC je znázorněno na obr. 2.9.

Všechny vstupní a výstupní parametry Pigeon PLC jsou připraveny v ukázkovém projektu 0123-00_IO_Flags.


PIC


Obrázek 2.8: Vstupní a výstupní parametry při použití Pigeon PLC


PIC


Obrázek 2.9: číslování terminálů Pigeon PLC

2.2.5 Rozšiřující deska Intellisys PIO

Nutná konfigurace bloku IODRV pro rozšířující desku Intellisys PIO (Zastaralé zařízení, není poskytována podpora. Doporučujeme místo toho využít Monarco HAT.):

  • Block name PIO
  • module RPiDrv
  • classname PioDrv

Přístup ke vstupům a výstupům rozšiřující desky Intellisys PIO je znázorněn na obr. 2.10. Odkaz na konkrétní I/O pin se skládá z názvu ovladače PIO, dvou podtržítek __ a názvu a čísla signálu. Číslování terminálů na rozšiřující desce Intellisys PIO je znázorněno na obr. 2.11.

Všechny vstupní a výstupní parametry rozšiřující desky Intellisys PIO jsou připraveny v ukázkovém projektu 0125-00_IO_Flags.


PIC


Obrázek 2.10: Vstupní a výstupní parametry při použití Intellisys PIO


PIC


Obrázek 2.11: číslování terminálů rozšiřující desky Intellisys PIO

Kapitola 3
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í RPiDrv.

V případě, že v diagnostických prostředcích systému REXYGEN jsou neočekávané nebo nesprávné hodnoty vstupů nebo výstupů, 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í
Chyba v přístupu k GPIO pinu – GPIO pin je používán jiným zařízením (SPI sběrnice, I2C sběrnice, sériová linka) nebo programem

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]   The Raspberry Pi Foundation. Raspberry Pi. http://www.raspberrypi.org, 2013.

[2]   Unipi Technology s.r.o. Unipi technology. http://www.unipi.technology, 2024. .

[3]   University of Manchester. PiFace Digital Interface. http://www.piface.org.uk, 2013.

[4]   Kristech. Pigeon PLC. http://www.pigeoncomputers.com, 2018.

[5]   REX Controls s.r.o.. Začínáme se systémem REXYGEN na platformě Raspberry Pi, 2020. .


Referenční číslo dokumentace: 16710

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