Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs:sw:01-mervis:weintek-ip-series-hidden [2020/05/12 14:01]
avsetula
cs:sw:01-mervis:weintek-ip-series-hidden [2024/03/14 09:07] (current)
kcerny typos
Line 1: Line 1:
-FIXME - přeloženo 
 ====== Propojení Mervis IDE a Weintek HMI protokolem Modbus ====== ====== Propojení Mervis IDE a Weintek HMI protokolem Modbus ======
 +<WRAP group>
 +<WRAP half column 81%>
 V tomto tutoriálu si ukážeme, jak propojit zařízení HMI Weintek iP series a kontrolér Unipi se systémem Mervis. V tomto tutoriálu si ukážeme, jak propojit zařízení HMI Weintek iP series a kontrolér Unipi se systémem Mervis.
  
-Cílem tohoto návodu je zobrazit na HMI displeji teplotu měřenou 1-Wire teplotním senzorem připojeným k Unipi a mít na displeji dotykové tlačítko, které zapne a vypne reléový výstup ​UniPi.+Cílem tohoto návodu je zobrazit na HMI displeji teplotu měřenou 1-Wire teplotním senzorem připojeným k Unipi a mít na displeji dotykové tlačítko, které zapne a vypne reléový výstup ​Unipi. 
 +</​WRAP>​ 
 +<WRAP half column 15%> 
 +;;# 
 +<​html><​span class="​dev-tag dev-patron">​Patron</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-neuron">​Neuron</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-gate">​Gate</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-unipi11">​Unipi&​nbsp1.1</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-axon">​Axon</​span></​html>​ 
 +;;# 
 +</​WRAP>​ 
 +</​WRAP>​
  
 <WRAP center round important 85%> <WRAP center round important 85%>
Line 10: Line 22:
 </​WRAP>​ </​WRAP>​
  
-===== Potřebné vybavení: ===== +<WRAP center round box> 
-  * UniPi Neuron kontrolér s instalovaným [[cs:​files:​software:​os-images:​00-start|Mervis OS]]+<​html><​span class="​kbBlue-H4alt">​Co budete potřebovat?</​span></​html>​ 
 +  * Unipi Neuron kontrolér s instalovaným [[cs:​files:​software:​os-images:​00-start|Mervis OS]]
   * [[https://​www.unipi.technology/​cs/​hmi-devices-c29|Weintek HMI displej]]   * [[https://​www.unipi.technology/​cs/​hmi-devices-c29|Weintek HMI displej]]
-  * [[https://​www.unipi.technology/​cs/​power-supplies-c15|24 ​VDC zdroj napájení]]+  * [[https://​www.unipi.technology/​cs/​power-supplies-c15|24 ​V⎓ zdroj napájení]]
   * 3x síťový kabel (RJ45) a připojení do místní sítě - jeden pro Unipi kontrolér, jeden pro HMI a jeden pro vaše PC   * 3x síťový kabel (RJ45) a připojení do místní sítě - jeden pro Unipi kontrolér, jeden pro HMI a jeden pro vaše PC
  
-=tomto návodu ​konkrétně== +\\ 
 +<​html><​span class="​kbBlueText">​V návodu ​jsme použili:</​span></​html>​
   * [[https://​www.unipi.technology/​cs/​unipi-neuron-l523-p329|Unipi Neuron L523]]   * [[https://​www.unipi.technology/​cs/​unipi-neuron-l523-p329|Unipi Neuron L523]]
   * [[https://​www.unipi.technology/​cs/​weintek-mt8051ip-p198|Weintek MT8051iP]]   * [[https://​www.unipi.technology/​cs/​weintek-mt8051ip-p198|Weintek MT8051iP]]
   * [[https://​www.unipi.technology/​cs/​1-wire-temperature-sensor-p63?​categoryId=3|1-Wire teplotní čidlo]]   * [[https://​www.unipi.technology/​cs/​1-wire-temperature-sensor-p63?​categoryId=3|1-Wire teplotní čidlo]]
 +</​WRAP>​
  
 == Příklad zapojení: == == Příklad zapojení: ==
Line 26: Line 40:
  
 ===== Instalace softwaru ===== ===== Instalace softwaru =====
-Pro základní konfiguraci řadiče ​UniPi a instalaci Mervisu do vašeho počítače postupujte podle [[cs:​sw:​01-mervis:​running-on-neuron-hidden|návodu zde]].+Pro základní konfiguraci řadiče ​Unipi a instalaci Mervisu do vašeho počítače postupujte podle [[cs:​sw:​01-mervis:​running-on-neuron-hidden|návodu zde]].
  
 Pro konfiguraci HMI je třeba nainstalovat Weintek EasyBuilder Pro. Můžete si stáhnout verzi používanou v tomto tutoriálu [[files:​software:​tools:​00-start#​weintek_easybuilder_pro|zde]],​ nebo si můžete stáhnout nejnovější verzi z [[http://​www.weintek.com/​|webových stránek výrobce]]. Pro konfiguraci HMI je třeba nainstalovat Weintek EasyBuilder Pro. Můžete si stáhnout verzi používanou v tomto tutoriálu [[files:​software:​tools:​00-start#​weintek_easybuilder_pro|zde]],​ nebo si můžete stáhnout nejnovější verzi z [[http://​www.weintek.com/​|webových stránek výrobce]].
Line 76: Line 90:
 V tuto chvíli již máme hotová některá základní nastavení oken, nyní se proto můžeme podívat, jak budou okna vypadat na HMI displeji. EasyBuilder Pro v tomto uživatelům vychází vstříc možností simulovat projekt přímo na počítači bez nutnosti vlastnit samotné HMI zařízení. Na **liště** klikněte na **Projekt**,​ čímž zobrazíte dvě tlačítka: **Offline simulation** a **Online simulation**. Obě volby projekt zkompilují a spustí jej v místním okně, kde s ním můžete interagovat stejně jako s HMI displejem. **Online simulation** spustí simulaci a zároveň i sběr dat z nakonfigurovaných Modbus slave zařízení,​ případně spustí Modbus server a umožní tak HMI panelu, aby přijímalo data z kontrolérů. **Offline simulation** pak spustí pouze simulaci. ​ V tuto chvíli již máme hotová některá základní nastavení oken, nyní se proto můžeme podívat, jak budou okna vypadat na HMI displeji. EasyBuilder Pro v tomto uživatelům vychází vstříc možností simulovat projekt přímo na počítači bez nutnosti vlastnit samotné HMI zařízení. Na **liště** klikněte na **Projekt**,​ čímž zobrazíte dvě tlačítka: **Offline simulation** a **Online simulation**. Obě volby projekt zkompilují a spustí jej v místním okně, kde s ním můžete interagovat stejně jako s HMI displejem. **Online simulation** spustí simulaci a zároveň i sběr dat z nakonfigurovaných Modbus slave zařízení,​ případně spustí Modbus server a umožní tak HMI panelu, aby přijímalo data z kontrolérů. **Offline simulation** pak spustí pouze simulaci. ​
  
-Jelikož stále nemáme nastavené žádné připojení,​ zvolíme **Offline simulation**. Po potvrzení volby se objeví průběh ​komplilace ​projektu, a po několika vteřinách se zobrazí i simulovaný HMI displej. ​+Jelikož stále nemáme nastavené žádné připojení,​ zvolíme **Offline simulation**. Po potvrzení volby se objeví průběh ​kompilace ​projektu, a po několika vteřinách se zobrazí i simulovaný HMI displej. ​
  
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_12_first_simulation.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_12_first_simulation.png?​direct |}}
Line 156: Line 170:
 K vyčítání teploty přes Modbus TCP je třeba nejprve vytvořit kanál Modbus TCP serveru. I  zde máte k dispozici manuál: [[cs:​sw:​01-mervis:​setting-modbus-server-hidden]]. K vyčítání teploty přes Modbus TCP je třeba nejprve vytvořit kanál Modbus TCP serveru. I  zde máte k dispozici manuál: [[cs:​sw:​01-mervis:​setting-modbus-server-hidden]].
  
-Nyní je třeba určit, jaký typ dat budeme pro Modbus TCP server používat. Protokol Modbus zná pouze dva typy dat - 16-bitové registry pro číselné hodnoty a jednobitové coily pro stavové hodnoty. ​ +Nyní je třeba určit, jaký typ dat budeme pro Modbus TCP server používat. Protokol Modbus zná pouze dva typy dat - 16-bitové registry pro číselné hodnoty a jednobitové coily pro stavové hodnoty. V Mervisu je teplota vyjádřena reálným číslem, tj. (2-bytový unsigned integer). K přenosu této hodnoty pomocí Modbusu bychom ji museli rozdělit na dva 16-bitové registry a následně je na straně HMI zařízení opět složit dohromady, takový postup je ale mimo záběr tohoto tutoriálu. Druhou možností je konverze teplotní hodnoty tak, aby zhruba odpovídala 16-bitovému registru. Předpokládejme nyní, že měříme teplotu v pokoji, která může nabývat hodnoty 0-40 °C s přesností minimálně 0,1 °C. To znamená, že je třeba pokrýt hodnoty 0-400, které do 16-bitové registru snadno vměstnáme. Podívejme se nyní, jak toho dosáhneme metodou funkčních bloků.
- +
-V Mervisu je teplota vyjádřena reálným číslem, tj. (2-bytový unsigned integer). K přenosu této hodnoty pomocí Modbusu bychom ji museli rozdělit na dva 16-bitové registry a následně je na straně HMI zařízení opět složit dohromady, takový postup je ale mimo záběr tohoto tutoriálu. Druhou možností je konverze teplotní hodnoty tak, aby zhruba odpovídala 16-bitovému registru. Předpokládejme nyní, že měříme teplotu v pokoji, která může nabývat hodnoty 0 - 40°C s přesností minimálně 0,1°C. To znamená, že je třeba pokrýt hodnoty 0 - 400, které do 16-bitové registru snadno vměstnáme. Podívejme se nyní, jak toho dosáhneme metodou funkčních bloků.+
  
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_22_conversion_program.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_22_conversion_program.png?​direct |}}
Line 164: Line 176:
 Na straně vstupů máme proměnné ''​sensor_temperature'',​ která vrací hodnotu z 1-Wire senzoru. Na straně výstupů pak je k dispozici proměnná ''​modbus_temperature''​ reprezentující hodnotu registru 1 exportovanou z Modbus TCP serveru. ​ Na straně vstupů máme proměnné ''​sensor_temperature'',​ která vrací hodnotu z 1-Wire senzoru. Na straně výstupů pak je k dispozici proměnná ''​modbus_temperature''​ reprezentující hodnotu registru 1 exportovanou z Modbus TCP serveru. ​
  
-Podle teploměru je aktuální teplota 26,8125°C. Pomocí bloku ''​mul''​ ji vynásobíme deseti na hodnotu 268,125. Tato hodnota je typu "​real"​ a je tak potřeba ji převést na integer, abychom ji mohli použít pro daný typ registru. Blok ''​to_uint''​ převádí jakoukoliv vstupní hodnotu na integer, a pokud je vstupní hodnota menší než 0, na výstupu vrátí rovněž nulu - od toho se odvíjí název datového typu **unsigned integer**. ​+Podle teploměru je aktuální teplota 26,8125 °C. Pomocí bloku ''​mul''​ ji vynásobíme deseti na hodnotu 268,125. Tato hodnota je typu "​real"​ a je tak potřeba ji převést na integer, abychom ji mohli použít pro daný typ registru. Blok ''​to_uint''​ převádí jakoukoliv vstupní hodnotu na integer, a pokud je vstupní hodnota menší než 0, na výstupu vrátí rovněž nulu - od toho se odvíjí název datového typu **unsigned integer**. ​
  
 S hodnotami jsme trochu zašvindlovali,​ pro naše potřeby ale vše funguje uspokojivě. Nyní můžeme danou proměnnou vyexportovat na Modbus TCP server. V Mervis IDE klikněte na zařízení Modbus TCP serveru. ​ S hodnotami jsme trochu zašvindlovali,​ pro naše potřeby ale vše funguje uspokojivě. Nyní můžeme danou proměnnou vyexportovat na Modbus TCP server. V Mervis IDE klikněte na zařízení Modbus TCP serveru. ​
Line 197: Line 209:
 ===== Nastavení HMI pro odečítání dat z Mervisu ===== ===== Nastavení HMI pro odečítání dat z Mervisu =====
 Nyní máme vše na straně Mervisu připravené,​ a můžeme provést nastavení PLC na HMI zařízení. Na **liště** klikněte na **Home** a poté na **System parameters**. ​ Nyní máme vše na straně Mervisu připravené,​ a můžeme provést nastavení PLC na HMI zařízení. Na **liště** klikněte na **Home** a poté na **System parameters**. ​
-Now we have everything prepared on the Mervis side and we can configure the PLC in the HMI. On the **Ribbon** click on the **Home** and then on **System parameters**.+{{ :​en:​hw:​04-hmi:​weintek_ip_series_30_system_properties.png?direct |}}
  
 V dialogu **System parameters** klikněte na **New...** V dialogu **System parameters** klikněte na **New...**
Line 210: Line 222:
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_32_device_properties.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_32_device_properties.png?​direct |}}
  
-V boxu **IP** klikněte na **Nastavení**. +V boxu **IP** klikněte na **Settings**. 
  
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_33_ethernet_settings.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_33_ethernet_settings.png?​direct |}}
Line 222: Line 234:
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_36_select_the_plc.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_36_select_the_plc.png?​direct |}}
  
-Kolonku **Address* nastavte na **4x**, což je označení holding registru. Adresu ponechte na hodnotě 1 - tato hodnota určuje číslo registru v Mervisu. ​+Kolonku **Address** nastavte na **4x**, což je označení holding registru. Adresu ponechte na hodnotě 1 - tato hodnota určuje číslo registru v Mervisu. ​
  
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_37_4x_address_type.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_37_4x_address_type.png?​direct |}}
Line 234: Line 246:
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_40_temperature_format.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_40_temperature_format.png?​direct |}}
  
-Opět spusťte online simulaci. Teplota by se již měla zobrazovat správně. ​+Opět spusťte online simulaci ​kliknutím na **Online simulation**. Teplota by se již měla zobrazovat správně. ​
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_41_correct_temperature_format.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_41_correct_temperature_format.png?​direct |}}
  
Line 241: Line 253:
 {{ :​en:​hw:​04-hmi:​weintek_ip_series_42_set_bit_attribute.png?​direct |}} {{ :​en:​hw:​04-hmi:​weintek_ip_series_42_set_bit_attribute.png?​direct |}}
  
-Spusťte online simulaci a zkuste tlačítko stisknout. Pokud jste na něj v Mervisu namapovali relé výstup, příslušné relé by mělo sepnout. ​POkud jste na tlačítko namapovali digitální výstup, na kontroléru by se měla rozsvítit příslušná LED dioda.  +Spusťte online simulaci ​kliknutím na **Online simulation** ​a zkuste tlačítko stisknout. Pokud jste na něj v Mervisu namapovali relé výstup, příslušné relé by mělo sepnout. ​Pokud jste na tlačítko namapovali digitální výstup, na kontroléru by se měla rozsvítit příslušná LED dioda. ​
-Run the **Online simulation** and try pressing the button. If you set it to relay output in Mervis, you should hear the clicking sound of the relay. If you set it to digital output, the LED on the controller should be turning on and off.+
  
 Pokud vše funguje tak, jak má, můžete celý projekt nahrát do HMI.  Pokud vše funguje tak, jak má, můžete celý projekt nahrát do HMI.