Ovladač systému REXYGEN pro Raspberry Pi
(modul RPiDrv)
Uživatelská příručka
15.12.2023
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 (Raspberry Pi)
2 Zařazení ovladače do projektu
2.1 Přidání ovladače RPiDrv do projektu
2.2 Připojení vstupů a výstupů do řídicího algoritmu
2.2.1 GPIO piny Raspberry Pi
2.2.2 Rozšiřující deska PiFace Digital
2.2.3 Rozšiřující deska UniPi v1.1
2.2.4 Pigeon PLC
2.2.5 Rozšiřující deska Intellisys PIO
3 Co dělat při problémech
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.
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.
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).
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 ( nebo ). Čí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.
Číslování svorek na přídavné kartě PiFace Digital ukazuje obrázek 2.5.
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.
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.
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.
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] Faster CZ s.r.o. Universal Raspberry Pi add-on board. http://www.unipi.technology, 2014.
[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: 15831
2023 © REX Controls s.r.o., www.rexygen.com