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
Last revision Both sides next revision
cs:sw:01-mervis:weintek-ip-series-hidden [2020/06/08 11:38]
avsetula
cs:sw:01-mervis:weintek-ip-series-hidden [2021/08/05 13:00]
avsetula
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 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. ​