Raspberry Pi jako PLC - blikající LED diody

Toto je návod pro zastaralou verzi systému REX. Pro seznámení s aktuální verzí postupujte podle příruček "Začínáme se systémem REXYGEN" uvedených níže:

Co je to řídicí systém REX?
Chci vědět více!

Demoverze už mi nestačí!

Tento návod ukazuje, jak ve vašem hobby nebo kutilském projektu použít minipočítač Raspberry Pi v roli samostatné řídicí jednotky. V podstatě proměníme Raspberry Pi na PLC (Programmable Logic Controller), jak se takovým řídicím jednotkám říká v průmyslu.

Na konci budete schopni na dálku ovládat GPIO piny Raspberry Pi, aniž byste napsali jedinou řádku kódu. A jelikož řídicí systém REX není závislý na konkrétním hardwaru, zároveň se naučíte i jak programovat skutečné PLC, protože pracovní postupy a nástroje jsou naprosto shodné.

Pracovní postupy a nástroje

Standardní PLC se většinou programují pomocí běžného stolního PC, na kterém je spuštěno vývojové prostředí. Na samotném PLC pak běží tzv. runtime jádro, které cyklicky vykonává program, který byl do něho nahrán. PLC se tak někdy též označují jako cílová zařízení, protože při nahrávání programu zaujímají právě tuto pozici. 

V řídicím systému REX jsou hlavními vývojovými nástroji programy RexDraw a RexView. Runtime jádro je označováno jako RexCore.

Základní topologie řídicího systému REX

Dříve než začneme

Tento průvodce předpokládá využití distribuce Raspbian operačního systému GNU/Linux. Dále je potřeba mít na Raspberry Pi korektně nakonfigurovanou síť a přístup na Internet.

Instalace runtime modulů na Raspberry Pi

  1. Přihlašte se na vaše Raspberry Pi (výchozí uživatel je pi, heslo raspberry).
  2. Nainstalujte GIT
    sudo apt-get install git
  3. Stáhněte si repozitář s instalačními skripty
    git clone https://github.com/rexcontrols/rex-install-rpi.git

    Cloning installation scripts
  4. Změňte pracovní adresář
    cd rex-install-rpi
  5. Spusťte instalační skript
    sudo bash install-rex.sh
    Poznámka: Pokud chcete používat přídavné hardwarové karty jako UniPi nebo PiFace Digital, použijte příslušné instalační skripty z repozitáře. Instrukce přímo v instalačním repozitáři na GitHubu.
    Running installation script for REX on Raspberry Pi
  6. Skript je určen pouze pro čerstvě nainstalovaný Raspbian. Potvrďte volbou y a vyčkejte na dokončení instalace.

Instalace vývojových nástrojů

  1. Stáhněte si instalační balíček vývojových nástrojů pro Windows. Instalátor vyžaduje administrátorská práva na vašem PC.
  2. Spusťte stažený instalátor.
  3. Zvolte si jazyk a pokračujte dle pokynů instalačního průvodce.
  4. Potřebné místo na disku je zanedbatelné, proto doporučujeme volbu Plná instalace.
  5. Po instalaci není potřeba restartovat váš počítač.

Příklad: rozblikání LED diod

Pracovní postupy a nástroje řídicího systému REX budou ukázány na 'Hello world' příkladu světa elektroniky - blikajících LED diodách.

  1. Připojte 3 LED diody k vašemu Raspberry Pi podle obrázku níže. Odpory můžete použít jakékoliv v rozmezí 270Ω a 330Ω.
    Breadboard scheme for the blinking LEDs example
  2. Stáhněte si soubory projektu ze serveru GitHub. Můžete si stáhnout pouze soubory blink_exec.mdl a blink_task.mdl, nicméně doporučujeme stažení celého repozitáře příkladů ve formě standardního .zip archivu. Po rozbalení naleznete soubory ve složce RaspberryPi_examples\01_Blink. Pokud znáte systém Git a server GitHub, pravděpodobně využijete přímý odkaz na repozitář příkladů systému REX.
  3. Otevřete soubor blink_exec.mdl v RexDraw. Soubor blink_task.mdl se otevře automaticky. Tyto dva soubory jsou zdrojovými soubory projektu.
    Blinking LEDs example project in RexDraw
    Algoritmus je tvořen tzv. funkčními bloky. V tomto jednoduchém příkladu jsou použity pouze bloky CNB (logická konstanta, Boolean constant) a BIS (generátor binárního signálu, binary signal generator).
  4. Z menu vyberte Compiler->Compile and download a projekt nahrajeme do Raspberry Pi.
  5. V dialogu, který se objeví, zadejte IP adresu vašeho Raspberry Pi a klikněte na tlačítko Download. Nezadávejte žádný login ani heslo.
    Connection to target device
  6. Pokud používáte dvouhodinovou demoverzi, potvrďte informaci o automatickém ukončení runtime jádra.
    Confirmation of 2-hour demo mode
  7. Gratulujeme, právě jste rozběhli váš první projekt! Algoritmus běží ve vašem Raspberry Pi a měli byste vidět svítící zelenou LED diodu, žlutou LED diodu blikající v sekundových intervalech a červenou LED diodu, která každé 2 sekundy 3x blikne.
  8. V dialogu, který se objeví, můžete vybrat Watch, čímž se přepnete do online režimu, ve kterém můžete sledovat běh algoritmu.
    Watching the algorithm in the target device
  9. Pozadí projektu zešedne a vy budete moci sledovat algoritmus v akci. Nejdříve ale musíte zapnout monitorování fukčních bloků. Levým tlačítkem myši vyberte blok CNB_GREEN a vyberte v menu Target->Monitor selection.
    Online mode of the RexDraw development environment
  10. Na výstupu bloku se objeví malé on. Tento signál ovládá pin GPIO#23, což je důvod, proč zelená LED dioda trvale svítí. Nyní dvakrát klikněte na ikonu bloku a změňte parametr YCN na off (zrušte zaškrtnutí checkboxu) a klikněte na OK. Výstup bloku se přepne na off a zelená LED dioda zhasne.
    Changing the constant in online mode
  11. Nyní se můžete od Raspberry Pi odpojit (Target->Disconnect). Žlutá i červená LED dioda budou nadále blikat.
  12. Zatím nepřenášejte změny v bloku CNB_GREEN provedené v online režimu do zdrojových výkresů projektu. Klikněte na No.
    List of parameter changes in RexDraw
  13. Nyní už víte, jak zkompilovat, nahrát a monitorovat řídicí algoritmy v systému REX. V dalším návodu ukážeme jak přidat ovládací tlačítko a podrobněji vysvětlíme algoritmus a konfiguraci projektu.

Řešení problémů

Zasekli jste se v některém bodě? Chceme o tom vědět, určitě nám napište.

K čemu je to dobré v reálném světě?

Ovládáním GPIO pinů vašeho Raspberry můžete přepínat relé, která mohou spínat světla, čerpadla, ventilátory, přímotopy, chlazení atd. Přečtěte si také pokračování tohoto návodu a sledujte naše stránky, návod na automatizaci bazénu bude brzy následovat.

Další informace

Můžete také:

 


Raspberry Pi je registrovaná obchodní známka Raspberry Pi Foundation.