====== Propojení Mervis IDE a Weintek HMI protokolem BACnet ======
Potřebujete-li propojit Mervis IDE a HMI displej za pomoci místní sítě, můžete využít protokolu BACnet. U vašeho projektu můžete HMI, v tomto případě dotykový HMI display Weintek, využít pro kontrolu systému, ovládání výroby, ovládání kotle, ovládání domácnosti, aj.
;;#
Patron \\
Neuron \\
Gate \\
Unipi 1.1 \\
Axon
;;#
V následujícím tutoriálu se naučíte, jak nastavit server BACnet, jak se klientem připojit k serveru, nebo jak vygenerovat seznam proměnných (soubor .EDE).
Výsledkem tohoto návodu je zobrazit na HMI displeji vstupy PLC jako kontrolky a ovládání digitálních výstupů PLC přímo z HMI displeje.
=== O protokolu BACnet ===
* Používá model Klient-Server
* Klient přistupuje k tzv. objektům na serveru (A/D hodnoty, záznam trendu, aj.)
\\
Co budete potřebovat:
* Jednotku [[https://www.unipi.technology/cs/axon-c20|Unipi PLC]] s Mervis OS v2.2.0
* [[https://www.unipi.technology/cs/power-supplies-c15|24 V⎓ zdroj napájení]] pro Unipi
* Připojení k místní síti (libovolný switch, nebo router)
* 2x síťový kabel (RJ45)
* Program [[https://www.weintek.com/globalw/Download/Download.aspx|EasyBuilder PRO]] (obsahuje simulátor)
* [[https://www.unipi.technology/cs/hmi-devices-c29|Weintek HMI display]] s ethernetem, nebo simulátor Weintek
* + 24 V⎓ napájení pro HMI display
* + 1 síťový kabel (RJ45) pro HMI display
\\
Může být užitečné:
* [[cs:sw:01-mervis:creating-new-project-hidden|Vytvoření nového projektu]] v Mervis IDE
* [[https://sourceforge.net/projects/yetanotherbacnetexplorer/|Yet Another BACnet Explorer]] (YABE) – software pro sledování BACnet komunikace po síti
* [[cs:sw:01-mervis:weintek-ip-series-hidden|Návod k Modbus propojení HMI]] dotykového displaye Weintek a Unipi s Mervis OS.
* Aktualizace Mervis OS pro [[cs:sw:01-mervis:running-on-axon-hidden|Axon]] / [[cs:sw:01-mervis:running-on-neuron-hidden|Neuron a Unipi 1.1]] a nejaktuálnější [[cs:files:software:mervis:00-start|Mervis IDE]]
\\
== Příklad zapojení: ==
{{ :en:sw:01-mervis:weintek_hmi_bacnet.png?nolink |}}
===== 1 Základní nastavení projektu v Mervis IDE =====
Vytvořte nový projekt v Mervis IDE, nebo integrujte do vašeho stávajícího projektu. Postupujte dle následujícího návodu:
Vytvořte serverový kanál. Pravým tlačítkem myši klikněte na PLC a vyberte možnost Přidat kanál serveru. Nazvěte jej BACnet_server.
{{ :cs:sw:01-mervis:001_weintek-hmi-mervis-_bacnet_cs.png |}}
Na právě přidaném serveru BACnet_server nastavte typ protokolu BACnetServer.
{{ :cs:sw:01-mervis:002_weintek-hmi-mervis-_bacnet_cs.png |}}
Klikněte pravým tlačítkem myši na serverový kanál BACnet_server a vyberte Přidat zařízení serveru.
{{ :cs:sw:01-mervis:003_weintek-hmi-mervis-_bacnet_cs.png |}}
Zařízení pojmenujte BACnet_UDP a pokud máte zařízení označeno, v pravém sloupci naleznete Vlastnosti ty vyplňte podle obrázku následovně:
* **Instance zařízení:** 1 (od 1 po 4 194 302, unikátní v rámci sítě)
* **Heslo pro management:** //nastavte vlastní//
* **IP adresa:** 0.0.0.0
* **Port zařízení:** 47808
{{ :cs:sw:01-mervis:004_weintek-hmi-mervis-_bacnet_cs.png |}}
Teď již máte téměř vše nachystané, klikněte na Zkompilovat sestavu.
{{ :cs:sw:01-mervis:005_weintek-hmi-mervis-_bacnet_cs.png |}}
===== 2 Proměnné, mapování a provázání =====
Nyní si vytvoříte BACnet objekty a provážete je s lokálními, nebo globálními proměnnými. Toto je důležité, abyste na klientské straně mohli číst/zapisovat. V následujících krocích máte hned 2 možnosti, jak proměnné provázat.
//**Poznámka:** Nepoužité proměnné lze provázat s BACnet objekty. Mervis však při kompilaci hlásí, že se nepodařilo nahrát proměnnou serveru a chybu při tvorbě image. To je způsobeno tím, že proměnná se nepoužije při kompilaci a BACnet objekt nemá protistranu k provázání.//
{{page>weintek-hmi-bacnet-mervis-imgnexttotext-hidden}}
==== 2.1 Standardně, přímo v zařízení serveru ====
Když si rozkliknete zařízení BACnet_UDP, tam do volného prostoru kliknete pravým tlačítkem myši a vyberete Přidat proměnnou.
{{ :cs:sw:01-mervis:006_weintek-hmi-mervis-_bacnet_cs.png |}}
Ze seznamu vyberte proměnnou, kterou chcete ovládat nebo číst pomocí Weintek HMI.
{{ :cs:sw:01-mervis:007_weintek-hmi-mervis-_bacnet_cs.png |}}
Tím si zpřístupníme proměnnou pro zařízení BACnet serveru. Zkompilujte sestavu, aby se vygenerovaly parametry BACnet objektu (identifikátory, typy, ..), které jsou do této chvíle uvedeny pouze jako n/a.
{{ :cs:sw:01-mervis:008_weintek-hmi-mervis-_bacnet_cs.png |}}
Zde vidíte výsledek. Máte první BACnet objekt včetně ID.
{{ :cs:sw:01-mervis:009_weintek-hmi-mervis-_bacnet_cs.png |}}
==== 2.2 Nebo přímo v prohlížeči proměnných ====
V Prohlížeči proměnných vyhledejte proměnnou, kterou chcete pro BACnet server zpřístupnit pro čtení, nebo zápis a zaškrtnete políčko PLC:BACnet viditelné:
{{ :cs:sw:01-mervis:010_weintek-hmi-mervis-_bacnet_cs.png |}}
Nabídka se vám rozbalí. Zde vyberte, v políčku PLC: Zařízení BACnet, pro které zařízení BACnet chcete proměnnou zpřístupnit. V našem případě se nabídka předvyplní BACnet zařízením BACnet_UDP. Pro kontrolu následující obrázek:
{{ :cs:sw:01-mervis:011_weintek-hmi-mervis-_bacnet_cs.png |}}
Když si nyní rozkliknete zařízení BACnet_UDP, tak by se vám měly objevit všechny vámi vybrané proměnné jako BACnet objekty.
{{ :cs:sw:01-mervis:012_weintek-hmi-mervis-_bacnet_cs.png |}}
Klikněte na Zkompilovat sestavu. Tím aktualizujete parametry BACnet objektů a vygenerujete nové.
{{ :cs:sw:01-mervis:013_weintek-hmi-mervis-_bacnet_cs.png |}}
Výsledek po přidání dvou objektů by měl vypadat následovně:
{{ :cs:sw:01-mervis:014_weintek-hmi-mervis-_bacnet_cs.png |}}
Nyní můžete kliknutím Nahrát sestavu. Změny se zapíšou do PLC Unipi.
{{ :cs:sw:01-mervis:015_weintek-hmi-mervis-_bacnet_cs.png |}}
===== 3 Export souboru EDE (Volitelné) =====
Soubory EDE jsou užitečné, pokud si váš BACnet klient neumí autodetekci objektů na BACnet serveru, nebo nastavujete-li HMI bez přístupu k BACnet serveru.\\
Klikněte pravým tlačítkem myši na BACnet_server a vyberte Export EDE souborů.\\
Tyto soubory potřebujete pro import nastavení proměnných do HMI, aby display věděl, kde má číst/zapisovat. Soubory naleznete ve složce vašeho projektu v podsložce /“název_projektu“-export/.
{{ :cs:sw:01-mervis:016_weintek-hmi-mervis-_bacnet_cs.png |}}
== Ukázka vygenerovaných souborů: ==
{{:en:sw:01-mervis:screenshot_1.png?375|}}
===== 4 Nastavení v EasyBuilder PRO, simulace/HMI download =====
Nainstalujte a spusťte EasyBuilder PRO.
{{:en:sw:01-mervis:001_weintek-hmi-easybuilder-bacnet.png?400|}}
\\
Po spuštění vytvořte nový projekt přesně pro váš HMI display, pokud fyzicky HMI display nemáte, můžete vybrat MT6071iP/MT8071iP, jako na obrázku níže:
{{ :en:sw:01-mervis:002_weintek-hmi-easybuilder-bacnet.png |}}
Po vytvoření projektu vyskočí okno System Parameter Settings. Zde klikněte na New device/server.
{{ :en:sw:01-mervis:003_weintek-hmi-easybuilder-bacnet.png |}}
Otevře se vám další okno, které nastavte následujícím způsobem:
* **Name:** BACnet/IP (Device)
* **Location:** local
* **Device type:** BACnet/IP
* **I/F:** Ethernet
Nyní klikněte na položku Settings…
{{ :en:sw:01-mervis:004_weintek-hmi-easybuilder-bacnet.png |}}
Zde buď můžete nastavit IP ručně, nebo klikněte na Who Is… a server se vám vyhledá a nastaví automaticky. Standartní port pro BACnet je 47808. Pokud jste v Mervisu nastavili jiný port, musíte port změnit i zde.\\
**Pozor:** zároveň na počítači, kde pracujete, nesmíte používat jiný program naslouchající na stejném portu, jinak se vám server pomocí Who Is… nevyhledá a případná simulace nebude moci komunikovat s BACnet serverem.
{{ :en:sw:01-mervis:005_weintek-hmi-easybuilder-bacnet.png |}}
Vše potvrďte a označte vytvořenou záložku BACnet/IP. Klikněte na Tag Manager…
{{ :en:sw:01-mervis:007_weintek-hmi-easybuilder-bacnet.png |}}
Zde klikněte na Get Tag Info…, tím se vám automaticky načtou objekty z BACnet serveru (Mervis). Pokud nelze načíst informace o objektech ze serveru, zkontrolujte, zda vámi používaný port není obsazený.
{{ :en:sw:01-mervis:008_weintek-hmi-easybuilder-bacnet.png |}}
Vše potvrďte a nastavení zavřete:
{{ :en:sw:01-mervis:009_weintek-hmi-easybuilder-bacnet.png |}}
Nyní před sebou máte prázdné okno HMI, zde si můžete vkládat různé prvky nebo textová pole.
{{ :en:sw:01-mervis:010_weintek-hmi-easybuilder-bacnet.png |}}
Pro otestování spojení vytvoříme jeden Toggle Switch a jednu Bit Lamp. Záložka Tag slouží pro mapování objektů.
{{ :en:sw:01-mervis:011_weintek-hmi-easybuilder-bacnet.png |}}
V seznamu uvidíte objekty zastupující proměnné z jednotky Unipi. Pro toggle vyberte DO.\\
Najděte objekt hw_$Axon S105_DO_1_01_w$ a vyberte vlastnost PresentValue.
{{ :en:sw:01-mervis:012_weintek-hmi-easybuilder-bacnet.png |}}
Pro bit lamp vyberte DI.\\
Najděte objekt hw_$Axon S105_DI_1_01$ a vyberte vlastnost PresentValue.
{{ :en:sw:01-mervis:013_weintek-hmi-easybuilder-bacnet.png |}}
Výsledek by měl vypadat následovně:
Všimněte si vedle grafických prvků, na jaký BACnet objekt jsou mapovány.
{{ :en:sw:01-mervis:014_weintek-hmi-easybuilder-bacnet.png |}}
Teď použijte Compile.
{{ :en:sw:01-mervis:015_weintek-hmi-easybuilder-bacnet.png |}}
Nyní máte možnost buď nahrát HMI projekt do HMI, nebo spustit simulátor.
* Pokud máte display, použijte Download (PC -> HMI)
* Pokud display nemáte a chcete použít simulátor, klikněte na Online Simulation
**Poznámka:** Offline simulation použít nemůžete, protože se vám simulace nepropojí s PLC.
{{ :en:sw:01-mervis:016_weintek-hmi-easybuilder-bacnet.png |}}
===== 5 Výsledek (simulace) =====
V simulaci můžete vidět, že vstup DI1 je v sepnutý (fyzicky), což se propisuje na Bit lamp, ta svítí modře.
Dále pomocí Toogle switch sepneme i výstup DO1.
{{ :en:sw:01-mervis:017_weintek-hmi-easybuilder-bacnet.png |}}
Nyní při náhledu na samotné PLC Unipi s Mervis OS vidíme stále aktivní vstup DI1 a z BACnet klienta sepnutý výstup DO1.
\\
{{ :en:sw:01-mervis:unipi_axons105_di1_do1.png?275 |}}
===== Ke stažení =====
* {{ :en:sw:01-mervis:ebpro_manual.pdf |Weintek EasyBuilder Pro complete manual (EN)}}
* [[https://www.unipi.technology/shop/product/download?fileId=404|Weintek MT8051iP datasheet (EN)]]