Rádi byste měli přehled o spotřebě elektřiny ve Vašem domě a pohled na elektroměr Vám nestačí? Za pomoci funkčních bloků a řídící jednotky Unipi můžete snadno získat perfektní přehled o spotřebě elektřiny.
Programy pro sledování spotřeby elektrické energie lze tvořit v různých softwarových řešeních podporujících metodu funkčních bloků FBD; takové řešení Vám umožní sledovat nejen celkovou, ale i denní či týdenní spotřebu. Na následujících řádcích pak naleznete jedno z možných řešení za využití softwaru Mervis, oficiálně podporované platformy pro jednotky Unipi
Pokud s Mervisem začínáte, navštivte náš článek První kroky v systému Mervis, kde se dozvíte, jak systém zprovoznit a připravit k programování, případně tutoriály na Unipi Knowledge Base. Zde pouze připomeneme, že jednotky Unipi Axon jsou standardně dodávány s Mervisem již nainstalovaným, zatímco jednotky Unipi 1.1 a Unipi Neuron vyžadují krok navíc v podobě vypálení obrazu OS na paměťovou kartu.
Připojení elektroměru
Nastavení sledování celkové spotřeby je jednoduchý úkon; stačí propojit proměnnou elektroměru s výstupem v podobě proměnné vyjadřující celkovou spotřebu; konkrétně v tomto projektu je využit elektroměr užívající protokol Modbus. Pokud ale chcete sledovat i týdenní či denní spotřebu, bude Vám k užitku knihovna funkčních bloků Mervisu.
Výpočet denní spotřeby elektřiny
Na obrázku vidíte pětici funkčních bloků, které budete pro výpočet denní spotřeby potřebovat. Jedná se o bloky getlocaltime, decomposetime, eq, blok IntegerMemory (B106) a blok sub
Blok getlocaltime vrací aktuální místní čas a blok decomposetime časový údaj rozkládá na jednotlivé časové složky (hodiny, minuty, sekundy, milisekundy) pro jejich další zpracování - v případě projektu je užit hodinový údaj v celých číslech.
Blok eq porovnává časovou hodnotu z bloku decomposetime s předdefinovanou hodnotou - v případě ukázkového projektu je blok nastaven na nulu. Ve chvíli, kdy je hodnota výstupu bloku getlocaltime na nule (tj. nastala půlnoc), na výstupu bloku eq je detekována vzestupná hrana.
Blok Integer Memory (B106) pak při detekci vzestupné hrany na vstupu ClockRising zapíše na výstup aktuální hodnotu elektroměru.
Poslední v pořadí je blok sub, který odečítá hodnotu elektroměru v čase 0:00 od aktuální hodnoty a vrací tak hodnotu spotřeby energie za jeden den.
Výpočet týdenní spotřeby energie
Použité funkční bloky i jejich funkce se u týdenní spotřeby energie prakticky nemění. Jediným rozdílem je nahrazení bloku decomposetime blokem decomposedate. Ten odesílá na výstup pořadové číslo dne v týdnu (kdy jednička odpovídá pondělí). Blok eq provádí stejnou funkci jako u denní spotřeby, místo nuly ale má nastavenou hodnotu 1. Při detekci vzestupné hrany na výstupu bloku eq pak blok Integer Memory (B106) opět zapíše aktuální hodnotu elektroměru a odečte ji od celkové spotřeby energie. Výsledná hodnota odpovídá spotřebě energie za jeden kalendářní týden.
Výsledek a následné kroky
Výsledný projekt Vám umožní udržovat si přehled o spotřebě elektřiny za aktuální den i z dlouhodobého hlediska. Za pomoci HMI editoru v Mervisu pak můžete všechny získané údaje zobrazit v jednoduchém uživatelském rozhraní, které si můžete navrhnout dle svých potřeb a následně jej zobrazit jak na svém počítači, tak na chytrém telefonu či tabletu.
S databází Mervis DB můžete následně data ukládat do cloudové databáze dostupné přes internetový prohlížeč, pro přístup k samotné řídící jednotce přes internet pak můžete využít proxy server. Licence pro užívání databáze a proxy serveru je součástí balení všech jednotek Unipi Neuron a Unipi Axon, u modelů Unipi 1.1 a 1.1 Lite ji lze získat jako součást kompletní sady Unipi 1.1 či Unipi 1.1 Lite.