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/06/08 11:38]
avsetula
cs:sw:01-mervis:weintek-ip-series-hidden [2024/03/14 09:07] (current)
kcerny typos
Line 3: Line 3:
 <WRAP half column 81%> <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.
 </​WRAP>​ </​WRAP>​
 <WRAP half column 15%> <WRAP half column 15%>
 ;;# ;;#
-<​html><​span class="​dev-tag dev-axon">Axon</​span></​html>​ \\+<​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-neuron">​Neuron</​span></​html>​ \\
-<​html><​span class="​dev-tag dev-unipi11">​Unipi 1.1</​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>​ </​WRAP>​
- 
-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 center round important 85%> <WRAP center round important 85%>
Line 20: 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 36: 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 86: 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 166: 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. 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ů.+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ů.
  
 {{ :​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 172: 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. ​