Differences
This shows you the differences between two versions of the page.
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/05/12 14:23] avsetula [Nastavení HMI pro odečítání dat z Mervisu] |
cs:sw:01-mervis:weintek-ip-series-hidden [2021/08/05 13:00] avsetula |
||
---|---|---|---|
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 1.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 | ||
- | == V 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 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**. | ||
+ | {{ :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 233: | 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 240: | 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. |
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. |