====== 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)]]