Nejnavštěvovanější odborný web
pro stavebnictví a technická zařízení budov
estav.tvnový videoportál

7 tipů pro programování PLC

Jste na poli automatizace začátečníci nebo hledáte možnosti rozšíření svých znalosti? Přinášíme tipy a triky, jak programovat PLC automaty a na co si dávat pozor.

Správný postup při programování PLC zajistí, že potenciál Vaší řídící jednotky bude využitý naplno a systém bude fungovat na maximální výkon. Tvoření, úpravu a vylepšování funkcí logických automatů pak výrazně usnadní vhodný postup a dodržování zásad práce s kódem. Na následujících řádcích naleznete tipy a triky, které nejen usnadní práci s PLC, ale rovněž otevřou cestu k dalšímu vylepšování Vašeho projektu.

Následující tipy jsou obecně platné a s úspěchem je využijete u PLC od jakéhokoliv výrobce. Pro názornou ukázku byly použity PLC automaty UniPi Axon od společnosti UniPi.technology, vybavené softwarovým řešením Mervis. To uživateli nabízí jak přehledné vývojářské prostředí, tak i editor uživatelského rozhraní, rozhraní SCADA a mnoho dalších užitečných vlastností.

Tipy a triky pro programování PLC

Tip 1: Plánujte dopředu

Při programování vždy myslete na to, že v budoucnu budete možná chtít Váš projekt rozšířit nebo mu dodat novou funkcionalitu. Pečlivá příprava nejen na úrovni hardwaru, ale také softwaru Vám ušetří mnoho času při samotném tvoření funkcionality, zmenší počet chyb a zvýší flexibilitu celého systému. Čím detailněji pak Váš program naplánujete, tím méně práce budete později mít s realizací Vašeho plánu.

Tip 2: Vyberte si správnou programovací metodu

Nejčastěji narazíte na tyto programovací metody:

  • Reléové schéma (Ladder Diagram, zkratka LD)
  • Funkční bloky (Function Block Diagram, zkratka FBD)
  • Sekvenční programování (Sequential Function Chart, zkratka SFC)
  • Strukturovaný text (Structured Text, zkratka ST)
  • Mnemokódy (Instructions List, zkratka IL)

Jak ale vybrat tu správnou metodu? Záleží nejen na zkušenostech programátora, ale i na druhu projektu. Prakticky si to ukážeme na příkladu metod funkčních bloků (FBD) a strukturovaného textu (ST), které systém Mervis podporuje.

Funkční bloky jsou založeny na úsecích předdefinovaného kódu a jejich úkolem je provádění určité specifické funkce. Skrze funkční bloky můžete snadno a rychle určovat rutiny chování jednotky, nastavovat různé podmínky či počítadla. Díky jejich intuitivnímu designu jsou vhodné zejména pro začátečníky. Funkční bloky odvedou skvělou službu u jednodušších projektů. U složitějších systémů ale může kvůli vysokému počtu funkčních bloků docházet ke zpomalování celého systému.

Pro složité matematické funkce, případně opakující se podmíněné úlohy je proto vhodnější použít metodu strukturovaného textu ve formě textového kódu. Její největší výhodou je schopnost obsáhnout velmi složitou funkcionalitu pomocí několika řádků kódu, jde ale o méně uživatelsky přívětivý způsob vhodný spíše pro pokročilejší uživatele.

Obr. 1: Ukázka funkčních bloků (FBD)
Obr. 1: Ukázka funkčních bloků (FBD)
Obr. 2: Ukázka strukturovaného textu (ST)
Obr. 2: Ukázka strukturovaného textu (ST)

Tip 3: Držte se osvědčených metod kódování a strukturní techniky

Při tvoření funkcionality PLC jednotek se snažte vyvarovat příliš komplikovaným kódům - velké množství různých funkčních bloků později výrazně ztíží orientaci v celém projektu, ale rovněž i hledání případných chyb. Doporučujeme proto provádět co největší dekompozici kódu, tj. vyhledávat opakující se části logiky a využít je i v jiných částech projektu. Zvláště vhodná je tato metoda při větším počtu opakujících se instrukcí. Pokud například píšete kód pro ovládání vytápění ve více místnostech, pomocí FBD můžete vytvořit jednu strukturu, kterou následně snadno zkopírujete pro jednotlivé pokoje. Kromě urychlení tvoření celého systému a citelnému usnadnění práce tak dosáhnete i velké míry konzistence kódu.

Obr. 3: Ukázka opakovaného použití stejných funkčních bloků pro podobné využití
Obr. 3: Ukázka opakovaného použití stejných funkčních bloků pro podobné využití
Obr. 4: Detail obsahu výše uvedených funkčních bloků
Obr. 4: Detail obsahu výše uvedených funkčních bloků

Tip 4: Zaznamenávejte a komentujte

Během programování se může stát, že ztratíte přehled o své práci. Pro lepší orientaci si proto pište poznámky popisující funkci daného funkčního bloku, označení vstupu/výstupu, návod k orientaci ve složitější struktuře bloků apod. Snadno se tak v projektu zorientujete i v případě, že se k němu vracíte po delší době. Projekt se tak navíc stává přístupným i pro jiné osoby, které se nezúčastnily samotného tvoření – může jít nejen o Vaše kolegy, ale také o údržbáře či zákazníky. S vhodnými poznámkami za sebou tak zanecháváte i “návod”, jak jednotlivé součásti projektu fungují. V případě funkčních bloků lze komentáře vkládat ve formě poznámek do prostředí IDE, pokud ale používáte strukturovaný text, komentáře můžete zapisovat přímo do kódu.

Obr. 5: Ukázka komentáře v Mervis IDE
Obr. 5: Ukázka komentáře v Mervis IDE

Tip 5: Držte se konvencí při pojmenovávání

Zvláště u rozsáhlejších projektů může neuspořádané pojmenování funkčních bloků a proměnných vyústit ve ztížení práce nejen Vám, ale i všem ostatním osobám, které na projektu pracují. Důrazně proto doporučujeme vytvořit si jednotnou šablonu pro pojmenovávání a té se následně držet po celou dobu práce na projektu. Prostředí Mervis IDE Vám umožňuje přejmenovávat proměnné, vstupy/výstupy i samotné PLC dle Vašich potřeb – tuto funkci oceníte zejména při vyhledávání mezi desítkami proměnných, kde Vám sjednocené názvosloví ušetří mnoho času a starostí při hledání správné proměnné. Mervis navíc nově obsahuje i funkci vyhledávání proměnných, kdy můžete prostým zadáním názvu proměnné zobrazit všechny její výskyty v celém projektu.

Tip 6: Předvídejte chybové stavy

Vždy při tvoření funkcionality mějte na paměti, že i v nejlepších systémech nastane dříve či později porucha. Jak se pak zachová například Vaše topná soustava, když dojde k selhání teplotního senzoru? Co se stane, když dojde k přetečení Vašeho počítadla na vstupu jednotky? Již ve fázi plánování je tak vhodné předvídat možné problémy, od prosté poruchy jedné z komponent, až po neodborný zásah nepovolané osoby. Vyzbrojeni hypotetickými problémovými situacemi pak můžete snadno do svého projektu zakomponovat chování pro nouzové stavy. Pokud například dojde ke ztrátě dat z teplotních senzorů, můžete vytápění nastavit tak, aby přešlo do automatického udržování předdefinované teploty. Stejně tak můžete zamezit chybám způsobených lidským faktorem, kdy externím uživatelům systém povolí pouze takové povely, které nemohou ohrozit provoz celé technologie.

Tip 7: Neustále svůj kód testujte a kontrolujte

V jakékoliv fázi práce na projektu je vhodné zpětně kontrolovat funkci jednotlivých funkčních bloků. Předejdete tak chybám po spuštění systému, kdy například vinou chybného nastavení proměnné nefungují spínače osvětlení či nedochází ke spuštění vytápění. Mervis IDE je pro tento účel vybaven režimem ladění (v angličtině “Debugging Mode”), za pomocí kterého můžete u každé proměnné zobrazit jejich hodnoty bez nutnosti je individuálně procházet. Snadno tak odhalíte případné překlepy v hodnotách, systém navíc automaticky vyznačí chybně nakonfigurované bloky bránící správné funkci systému. Debugging Mode rovněž umožňuje formou grafu zobrazit průběh změn hodnot proměnných v čase.

Obr. 6: Mervis IDE v módu Debugging (ladění) se zobrazenými aktuálními hodnotami proměnných a jejich vývojem v čase
Obr. 6: Mervis IDE v módu Debugging (ladění) se zobrazenými aktuálními hodnotami proměnných a jejich vývojem v čase

První kroky

Zaujal Vás systém Mervis a přemýšlíte o jeho nasazení na Váš projekt? Jako bonus přinášíme i stručného průvodce procesem zprovoznění jednotky a instalací softwaru. Srdečně jste také zváni na nejbližší kurz systému Mervis pro začátečníky i pokročilé pořádaný ve dnech 21. - 22. listopadu 2018. Více informací naleznete na tomto odkazu.

Krok 0: Naplánujte si svůj projekt

Předtím než se rozhodnete pořídit jednu z řídících jednotek UniPi, je potřeba určit, co od projektu očekáváte. Chcete řídit osvětlení ve svém rodinném domě? Chcete na dálku ovládat kotel a topnou soustavu? Od určení účelu Vašeho projektu se odvíjí i výběr odpovídajících zařízení; ten napoví, jaký počet a druhy vstupů a výstupů budete pro Váš projekt potřebovat. V plánovací fázi doporučujeme i předem načrtnout propojení jednotlivých spínačů a jimi ovládaných zařízení. Chybu neuděláte ani když budete při přípravě počítat s přebytkem vstupů a výstupů – s rezervou I/O nejen zabráníte nepříjemným překvapením při samotném fyzickém zapojování, ale zároveň získáte prostor pro další případná rozšíření.

Krok 1: Instalace systému

Pokud jste začali se samotnou instalací, doporučujeme dodržet správné pořadí úkonů pro prevenci problémů s prvním spuštěním systému. Kontroler UniPi Axon po zapojení do napájení připojte síťovým kabelem buď přímo ke svému počítači, případně k síťovému routeru. U řady Axon je systém Mervis již předinstalovaný v interní paměti jednotky, není proto třeba stahovat Mervis odděleně. Následně stáhněte z UniPi Knowledge Base poslední verzi prostředí Mervis IDE. V případě potřeby doporučujeme aktualizovat i běhové prostředí Mervis RT. Následně založte projekt a spárujte jej s kontrolerem. Pro jednodušší start je vhodné spustit Mervis v základním módu (v angličtině Simple Mod).

Obr. 7: Řídící jednotka UniPi Axon
Obr. 7: Řídící jednotka UniPi Axon

Krok 2: Budování sítě

Po zprovoznění PLC můžete začít s připojováním jednotlivých komponent Vašeho systému. Prvním krokem je vygenerování proměnných pro PLC – zrychlení a zjednodušení celého procesu zajistí funkce Set Autogen, která automaticky zpřístupní všechny vstupy a výstupy jednotky a udělí jim výchozí názvy. S připravenými I/O pak můžete začít přidávat a párovat jednotlivá zařízení s odpovídajícími vstupy a výstupy. V této fázi připojte i všechny případné rozšiřující moduly. Následuje správná konfigurace sítě, detekce a pojmenování zařízení. Pokročilejší uživatelé mohou nastavit proxy server pro umožnění vzdáleného programování (více o tématu proxy serveru naleznete na UniPi Knowledge Base).

Krok 3: Začínáme programovat

Pokud jste splnili všechny výše uvedené body, nic už nestojí v cestě začátku samotného programování funkcionality. Začátečníkům doporučíme si nejprve na zkoušku vytvořit několik vstupů a výstupů, vyzkoušet si na nich práci s časovými programy, případně data přenést do zkušebního uživatelského rozhraní (HMI). To je nově integrováno přímo v prostředí Mervis IDE, práce s ním je tak výrazně jednodušší a praktičtější než u starších verzí Mervisu. Pro inspiraci můžete využít ukázkové projekty na UniPi Knowledge Base.

Obr. 8: Ukázka tvorby v integrovaném HMI editoru
Obr. 8: Ukázka tvorby v integrovaném HMI editoru

Závěrem

Výše uvedené tipy a triky Vám umožní maximálně využít potenciál Vašeho PLC, optimalizovat Váš systém a usnadnit sobě i ostatním uživatelům práci s ním. Pokud Vás pak zaujaly produkty UniPi, navštivte novou Knowledge Base UniPi. Naleznete zde základní informace o hardware a software UniPi, přehledné tutoriály k systému Mervis, ukázkové projekty a další důležité soubory.

Případní zájemci o Mervis jsou pak srdečně zváni na jeden z pravidelně pořádaných kurzů systému Mervis. Začátečníci se zde pod vedením samotných vývojářů Mervisu praktickou formou seznámí se základy práce v systému, zkušenější uživatelé pak objeví pokročilejší funkce a nové možnosti. Nejbližší kurz bude pořádán ve dnech 21. - 22. listopadu 2018; na tomto odkazu naleznete informace o školení a online přihlášku.


Unipi.technology
logo Unipi.technology

Vývoj a výroba programovatelných řídicích jednotek (PLC), převodníků, senzorů a systémů pro technická zařízení budov, BMS, chytré domácnosti, výrobu, průmysl a automatizaci.