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:
- Stránky výrobce HWgroup s.r.o.: http://www.hw-group.com
- Přímý odkaz na stránky výrobce o produktu: http://www.hw-group.com/products/poseidon/poseidon2_4002_cz.html
- Přímý odkaz na stránku přehledu dostupných 1-Wire senzorů: http://www.hw-group.com/products/sensors/index_cz.html
- Přímý odkaz na stránku o popisu rozhraní zařízení Poseidon: Rozhraní připojení senzorů k jednotkám Poseidon
- Přímý odkaz na stránku s popisem komunikačních protokolů pro Poseidon: http://www.hw-group.com/products/poseidon/pos_protocols_cz.html