Jste zde

TEST - Modbus freeware ModbusTool 1.2.2

Již dříve jsem testoval několik PC programů zvaných Modbus terminály pro snadné testování Modbus sběrnicové komunikace průmyslových zařízení. Docela nedávno jsem nalezl bezplatnou a volně stáhnutelnou dvojaplikaci "ModbusTool 1.2.2", nabízející současně Modbus Master i Modbus Slave terminál. Nakonec jsem musel konstatovat, že jde o nadprůměrně dobré freewary v oblastí Modbus PC terminálů pro OS Windows v porovnání s těmi, které jsem až dosud vyzkoušel. Proto jsem je začal i pravidelně používat. Neoplývají sice záplavou funkcí, ale vše hlavní mají a současně jsou velmi přehledné, velmi jednoduché na ovládání...

Software "Modbus master and slave tool", jak se balíček Modbus Master i Slave nazývá, lze stáhnout jako zip soubor "ModbusTool 1.2.2" z webových stránek http://modbustool.codeplex.com/. V Google vyhledávači se standardně neukáže a jen náhodou jsem na jejich odkaz narazil, když jsem hledal vlastně něco zcela jiného. Uvedená verze ModbusTool 1.2.2. byla dle údajů na stránce vypuštěna teprve prý 31. ledna 2014, ale přesto mě osobě při zkouškách i praktickém používání jak pod Windows 7, tak i na 12 let starém notebooku s Windows XP SP3 běhala jak Master, tak i Slave verze aplikace bez problémů. A to jak při komunikaci s Modbus RTU ik TCP vážícími zařízeními, tak i při testu vzájemné komunikace mezi počítači či počítačem a chytrým telefonem s OS Android či OS Windows Phone.

Při instalaci se po rozzipování staženého balíčku objeví zvlášť dva instalační soubory Modbus Master a Modbus Slave, které se během instalace standardně nahrávají v OS Windows do "Program files" do adresáře "Farellton Solar". Současně se vytvoří dvě ikony na ploše: Modbus Master a Modbus Slave. Při instalaci však lze adresáře i požadavek vytvoření ikon změnit.

Modbus Slave terminál

Začnu s Modbus slave prográmkem, který bývá méně často nabízen. Obvykle se hlavně dají sehnat Modbus Master terminály, aby bylo možné z PC otestovat komunikaci i strukturu registrů a formát jejich hodnot slave zařízení typu snímače a měřicí jednotky, před jejich napojení na řídicí PLC. Ale i počítačová verze Modbus Slave jednotky se někdy může hodit, tedy přesněji vždy, když potřebujete právě odladit funkci řídicího nadřazeného systému realizující právě Modbus Master. Pomocí Modbus Slave terminálu lze snadno a téměř libovolně na počítači nadefinovat přítomnost, typ a hodnoty Modbus registrů. Ty pak "naservírovat" master jednotce a sledovat "jak se s nimi poradí".

Celý program "Modbus Slave" se po instalaci a spuštění prakticky skládá jen z jednoho velkého ovládacího okna, kde se vše nachází. Ve vrchní částí se volí typ Modbus komunikace mezi TCP, UDP či RTU a podle provedené volby se buď uvolní políčko se zadáním TCP portu nebo políčka zadání parametrů sériového rozhraní. Tlačítky "Listen" a "Disconnect" se pak zapíná /vypíná aktivní režim poslouchání a čekání na příchod zpráv z Modbus master jednotky. Níže je volba typu Modbus registrů z tradičních 4 možností: stavy spínaných výstupů (Coil Status), stavy dvoustavových vstupů (Input Status), hodnoty řídicích / měřicích registrů (Holding Register) a hodnoty vstupních registrů - naměřené hodnoty (Input Register). Vpravo od nich se pak volí typ zobrazení dat registrů, přičemž v případě dvoustavových registrů je nutné ke korektnímu zobrazení zvolit "LED" a pro registr s integer hodnotami je pak možné vybírat ze zobrazení v binární, hexadecimální či dekadické reprezentaci čísel.

 

Ukázka zobrazení stavu "Holding Register" v binární a hexadecimální reprezentaci čísel.

Nakonec téměř nejníže je samotné pole s registry, jejich počet lze definovat při založení nové "záložky" registrů kliknutím na políčko "...".  Také lze takto nadefinovat hned několik polí s různým počtem registrů do různých startovacích adres. Adresování registrů se pak zde vždy počítá od 0 a zvolením příslušného typu registru se vytváří celá adresa. Tedy například volbou typu registrů "03 Holding Register (4x) a počátek "Start Address" nastavená na nulu pak ve výsledku generuje adresy od 40000 dále. Do políček registrů lze pak zadávat / měnit hodnotu jednoduše kliknutím na příslušné políčko a napsat novou hodnotu. U registrů typu "Coil Status" a "Holding Register" pak lze měnit hodnoty i z Modbus master jednotky. Tlačítko "Apply" slouží hlavně k potvrzení struktury při vygenerování nové záložky registrů či změně jejich typu.

Nakonec nejníže a dost nenápadně je umístěno "ovládání" ukládání komunikace do "log" souboru, kam se standardně celá komunikace zaznamenává, ale záznam zde lze přerušit či záznam celý vymazat.

 

Ukázky komunikace Modbus TCP masteru z telefonu Windows Phone s Modbus TCP slave softwarem v notebooku s Windows 7 - vlevo přenos hodnot "Holding Register" a vpravo pak čtení a změna stavu "Coil Status" registrů.

Modbus Master terminál

Program Modbus Master pak na první pohled obecně vypadá i funguje podobně, jen zde samozřejmě naleznete "řídící" funkce. U Modbus TCP komunikace je zde navíc i IP adresa vzdálené slave jednotky a pak hlavně sada tlačítek realizující Modbus komunikační funkce pro čtení a zápis hodnot z/do slave jednotek. Číst lze všechny typy registrů, zapisovat jen do typů "Holding Register" a "Coil Status".

Pokud si provedete testování obou prográmků ModbusTools například přes LAN mezi dvěma počítači, kde na jednom poběží část Modbus Master a na druhém prográmek Modbus Slave, lze vždy bohužel z masteru číst a zapisovat jen ten typ registrů, který je aktuálně nastaven v slave programu. Zcela tak nelze nasimulovat běžnou funkci Modbus zařízení, kde je "současně dostupných" ke čtení více typů registrů, například stavy vstupů i hodnoty naměřených veličin.

  

Modbus Master na straně netbooku s Win 7 komunikuje s Modbus Slave na starém notebooku s Win XP.

  

Modbus Master na straně netbooku s Win 7 komunikuje s Modbus Slave na starém notebooku s Win XP.

Závěr

Celá softwarová sada ModbusTools v mém případě pracovala velmi dobře a jak na notebooku s Windows 7, tak na notebooku s Windows XP SP3 mi Master i Slave verze běžely stabilně a bez žádných velkých problémů. Zaznamenal jsem jen jednu podivnou věc a to v případě, že jsem k počítači s běžícím programem Modbus Slave přistupoval z Modbus TCP terminálu z telefonu Nokia Lumia s programem Modbus Monitor. Zde čtení hodnot z PC probíhalo přes LAN-WiFi výborně, ale zapisovat z telefonu hodnoty do registrů v slave PC šlo vždy jen u registru, jehož adresa (číslo) byla uvedena v políčku "Start Address". Do následujících adres se již hodnoty zadané v telefonu nepřenášely.

Jinak vzhledem k tomu, že celý softwarový balíček ModbusTools je freeware, tedy volný k šíření a zcela bezplatný a bez registrací či vložených reklam, je jeho funkce překvapivě dobrá. Samozřejmě neposkytuje tolik možností jako podobné placené programy, například dříve testované programy "Simply Modbus Master" a "Simply Modbus Slave", ale na druhou stranu je super přehledný a super jednoduchý na ovládání, takže pro základní rychlé testování někde v terénu prostě velmi vhodný.

Odkazy:

Hodnocení článku: