Jste zde

TEST - Poseidon2 a komunikace Modbus-TCP

Nová měřicí centrála Poseidon2 od HWgroup umožňuje použít průmyslový komunikační protokol MODBUS-TCP. Ten se například dobře hodí pro velmi snadné připojení k programovatelným automatům (PLC), ovládacím HMI panelům či různým PC vizualizačním SCADA systémům, které dnes MODBUS-TCP běžně podporují.

Poseidon2 a MODBUS-TCP

MODBUS-TCP je přesně definovaný komunikační formát využívající běžný ethernet TCP/IP, který umožňuje přenášet užitečná data bez nutnosti se zaobírat samotným popisem / programováním přenosu. Stačí si jen vybrat požadované hodnoty, které chceme přenášet do PLC, HMI či PC a vhodnou funkcí z výrobcem zařízení definovaných adres registrů hodnoty načíst. Výrobce vždy musí v popisu zařízení, které se v MODBUS komunikací chová jako podřízený (slave, server), udat tzv. adresy registrů s popisem, jaké hodnoty se v nich nachází a jakou "funkcí" (příkazem) je možné je přečíst z nadřazené jednotky (master, klient). Obvykle snímače či různá měřicí zařízení a centrály se právě chovají z pohledu MODBUS komunikace jako podřízené slave jednotky, které nabízí data k přečtení a řídicí jednotky typu PLC, HMI panelu či PC jako nadřazená master zařízení, která postupně od všech na ně připojeních slave jednotek hodnoty čtou.

Zde se tak i Poseidon2, z pohledu MODBUS-TCP komunikace, chová jako podřízená slave jednotka napojená na PLC, HMI či PC přes klasickou lokální drátovou čí případně přes WiFi router i bezdrátovou LAN (ethernetovou) síť. Lze tak například snadno připojit na lokální ethernet libovolně mnoho Poseidonů, každý s jinou IP adresou, na TCP kanálu 502 z nich data přášet a dále zobrazovat, archivovat či dále matematicky zpracovávat.

Konkrétně v případě všech zařízení Poseidon2 lze přášet následující hodnoty z následujících adres registrů:

Prakticky to znamená, že z PLC, HMI, či PC se SCADA či jiným MODBUS softwarem lze prostřednictvím čtecí funkce č. 04 na adrese 100 přečíst aktuální počet připojených / aktivních analogových 1-Wire čidel a na následujících adresách 101, 102, 103, ... atd. přečíst jejich aktuální naměřené hodnoty v podobě 16 bitové hodnoty INTEGER.

Dále lze funkcí č. 02 na adresách 100, 101 a případně i 102 (podle počtu vstupů) přečíst stav binárních vstupů a funkcí č. 05 na adresu 200 zapsat stavy spínaných výstupů.

Praktická ukázka Modbus komunikace s Poseidon2

V mém případě jsem u zařízení Poseidon2 4002 připojil dvě měřící čidla před 1-Wire sběrnici (jedno kombinované teplota/vlhkost a druhé jen vlhkost) a na dvoustavové binární vstupy 1 a 3 připojil jednoduché mechanické tlačítko.  Jako nadřazenou MASTER jednotku jsem využil běžný notebook s MODBUS terminálem v podobě softwaru "Modbus Tester OmniMBT" (viz článek TEST - MODBUS Master terminály pro PC - 2. Omni). Počítač a Poseidon2 propojil napřímo kříženým ethernetovým kabelem s konektory RJ-45 (v případě propojení přes switch či router pak je možné použít i běžné "patch kabely").

V Poseidonu přes jeho webové nastavovací rozhraní jsem vybral zatržení funkci MODBUS (okno System) pro indikaci navázání komunikace dvoustavovým signálem "Comm Monitor 1" a nastavil IP adresu (okno Genral Setup). Stejné parametry IP adresy jsem pak zadal i v nastavení komunikace i v Modbus master terminálu v  počítači, přičemž jako TCP kanál se využívá pro Modbus standardní hodnota 502.

Nastavení ethernetové/Modbus-TCP komunikace na straně zařízení Poseidon2 (obr. vlevo) a na straně Modbus PC terminálu OmniMBT (obr. vpravo).

Pak již jen stačí v komunikačním okně "Test Modbus Communications" terminálu vybrat funkci č. 04 "Read Input Registers"a zadat v mém případě adresu "Data Register" 99 (terminál čísluje od hodnoty 0 místo 1) a počet registrů "No. of Values" na 3 a odeslat "Transmit". Následně se zobrazí informace o napojení 3 snímačů (jeden snímač je kombinovaný teplota/vlhkost, takže je jako za dva) s následujícími jejich aktuálními hodnotami. Dle informace v manuálu jsou data přenášena jako celá čísla, kde poslední číslo značí první desetinné číslo. Např. hodnota teploty 214 = 21,4 °C nebo hodnota snímače vhkosti 521 = 52,1 % RH.

Podobně pak lze funkcí č. 02 "Read Input Status" přečíst aktuální stav 12 binárních vstupů, kde je ve shodě s realitou sepnutých obou tlačítek přečten stavu "1" na 1. a 3. pozici reprezentující využitý vstup 1 a vstup 3.

Příklad: Obdržená data "Data Value" přečtená přes Modbus-TCP z Poseidonu do počítače - vlevo: 3 aktuální hodnoty připojených snímačů (3 snímače s hodnotami 454=vlhkost 45,4%RH, 255 = teplota 25,5 °C, 219 = teplota 21,9°C), vpravo: 12 aktuálních stavů binárních vstupů (vstup 1 a 3 mají stav log. 1 generované stisknutým tlačítkem).

Závěr

Modbus-TCP přenos a komunikace s Poseidon2 zařízeními je zcela bezproblémová. Tím lze Poseidony snadno využít i v průmyslových aplikacích či rozsáhlých systémech s mnoha měřícími místy a počítačovým SCADA vizualizačním systémem. 

Odkazy:

Hodnocení článku: