Jste zde

TEST - MODBUS Slave terminál pro PC pro testování komunikace

Někdy je potřeba snadno simulovat funkci slave jednotky na MODBUS sběrnici, například pro testování funkce řídícího PLC pracující jako Master jednotka. Snadno lze provést prostřednictvím PC softwaru "Simply Modbus Slave" chovající se jako slave jednotka a umožňuje nadefinovat různé registry a jejich hodnoty, které lze poté standardně číst či zapisovat z Modbus Master jednotky.

Počítačový software pro OS Windows s názvem "Simply Modbus Slave" je přesný protiklad k podobně se jmenujícímu softwaru stejného výrobce, tedy "Simply Modbus Master", který tedy vytváří řídící Modbus rozhraní.  Ten byl již testován a uveden v článku "TEST - MODBUS Master terminály pro PC - 1. Simply Modbus". Co tedy nabízí slave verze?

Možnosti softwaru "Simply Modbus Slave"

Simply Modbus Slave software opět poskytuje v celkově velmi přehledné formě poměrně  kvalitní nástroj, který umožňuje nadefinovat až 6 registrových Modbus adresovaných bloků dat téměř libovolné délky, formátu s libovolným přiřazením adres a s možností aktivace čtení i zápisu či jen čtení z pohledu master jednotky. To vše v jednom společném nastavovacím okně.

Do vytvořených registrů lze pak snadno zadat z klávesnice libovolnou hodnotu v předdefinovém formátu daného bloku, která se pak přenáší / odesílají, když terminál s nastaveným ID na zadaném komunikačním rozhraní obdrží požadavek na čtení. Tedy pokud Modbus master jednotka například prostřednictvím funkce 03 (READ HOLDING REGISTER) vyšle na sběrnici požadavek na čtení hodnoty od Modbus slave jednotky s ID 15 z její adresy registru 40501, tak na sběrnici připojeného PC s běžícím "Simply Modbus Slave" programem s nastavenou ID 15 se z adresy 40501 (pokud je nadefinována) vyšlo do master jednoty v ní uložená hodnota. Pokud tato adresa není v softwaru zadefinována, vyšle se do masteru chybové hlášení. A zadávány / zapisovány mohou být čísla při nastavení jednoho z formátů. 

Také je možné mimo adres řady 4xxxx (Holding Registers) vytvořit i registry řady 3xxxx (Input Registers) pro čtení funkcí 04 (Read Input registers) a dvoustavové binární registry s adresami řady 1xxxx (Input status) čtené funkcí 02 (Read Input status) nebo 0xxxx (Coil status) pro funkci 01 (Read Coil status). Je tedy k dispozici celý standardní adresovací prostor definovaný standardem MODBUS.

Podporované jsou formáty hodnot:

  • 16bit. Signed nebo Unsigned Integer
  • 32bit. Signed nebo Unsigned Integer
  • 32bit. IEEE Floating Point

Instalace a provoz softwaru "Simply Modbus Slave"

Stejně jako software "Simply Modbus Master" se i tento "napevno" neinstaluje do OS Windows, ale pouze spouští z libovolného místa na disku, včetně SD karty či USB Flash, spuštěním souboru "Simply Modbus Slave 2.0.4.exe". V mém případě nelicencované verze (program není freeware) se nejdříve musíte vyčkat cca 10 sekund, než se program zapne. Poté pak běží v plně funkčním režimu cca 10 minut. Pak se zablokuje komunikační funkce, na co upozorní informační okno. Poté je normálně dále vše přístupné, ale prostě nelze k softwaru komunikačně přistupovat (na pakety Modbus masteru program nereaguje, tedy se tváří, jako by byl odpojený). Zadáním licenčního klíče samozřejmě toto omezení zmizí.

Po spuštění programu se vždy objeví první základní okno, které ve své levé polovině obsahuje položky nastavení ID Modbus slave jednotky a pak všechny parametry komunikace, které jsou přístupné podle toho, zda je zvolen komunikační režim je zvolen (Modbus RTU nebo Modbus ASCII). Bohužel není podporován ethernetový režim Modbus TCP, což hlavní nevýhoda toho softwaru.

V případě Modbus RTU či ASCII lze po napojení na sběrnici RS-485 využít libovolný USB převodník s virtuálním COM portem v PC, jehož parametry se pak zadávají zde do nastavení. Není tedy problém využívat libovolný notebook či netbook k simulování Modbus slave jednotky.

V pravé části základního okna se pak nachází položky, které se vyplňují sami při příjmu paketu od Modbus masteru a zobrazují z něj dekódované informace. Lze tedy snadno sledovat, co přesně master jednotka požaduje a tím kontrolovat její vysílací funkci.

Ve spodní části okna je pak vypisována celá komunikační transakce, tedy celé a všechny přijaté a vyslané pakety. Tu je pak možné tlačítkem "SAVE LOG" zachytávat a ukládat do zadaného textového souboru na disku PC pro pozdější vyhodnocení či archivaci.

Velmi důležité je pak tlačítko "Data", kterým se otevře již výše zmíněné druhé nastavovací okno adres registrů a jejich dat. Ttedy to, co je bude možné zapisovat a číst  master jednotkou. Zde se zadržením políčka "Enable" u příslušného bloku dat aktivovat jeho funkci a tím umožnit i jeho nastavení. Následně lze zvolit čtecí funkci, kterou budou následně nastavené adresy registrů dosažitelné, formát registrů počáteční adresu bloku (First Register), offset a nakonec počet uvolněných / aktivovaných míst (number of values). Jen zadáním nějakého nenulového čísla (1 až 9475) se odšedivý příslušný počet řádků a tedy umožní zadávat do registrů jejich vlastní hodnoty. Aktivovat lze žádný nebo až všech 6 dostupných datových bloků, přičemž první čtyři jsou určeny pro čísla nebo ASCII znaky (čtecí funkce 04 a 03) a až poslední dvě jsou k dispozici pro binární signály (čtecí funkce 01 a 02). Po nastavení všeho požadovaného s stiskem "OK" vše nejen aktivuje, ale i zaznamená do konfiguračního souboru programu na disk do adresáře se spouštěcím EXE souborem, takže i po vypnutí a opětovném zapnutí programu se nastavení neztratí a lze plynule pokračovat.

Testování funkce softwaru "Simply Modbus Slave"

Osobně jsem funkci Simply Modbus slave jednotky běžící na notebooku vyzkoušel prostřednictvím komunikace s běžícím "sesterským" softwarem "Simply Modbus Master" či terminálem OMNI běžící na 2. počítači,. Oba jsem již dříve testoval z Modbus slave měřícími (vážícími) jednotkami TE485 či Laumas TLS (viz v sekci Odkazy). Oba počítače byly vzájemně propojeny přes USB převodníky RS-485 pro testování režimu Modbus RTU.

Z pohledu master terminálu se pak "Simply Modbus slave" choval jako každá jiná fyzická slave jednotka, tedy simulace byla opravdu reálná a kvalitní.

Příklad testování komunikace z jednoho PC s běžícím Modbus Master terminálem OMNI (obr. vlevo) na druhé PC s běžícím Modbus Slave softwarem Simply Modbus Slave (obr. vpravo).

Příklad testování komunikace z jednoho PC s běžícím Modbus Master terminálem Simply Modbus Master (obr. vlevo) na druhé PC s běžícím Modbus Slave softwarem Simply Modbus Slave s ID 01 nastavenými adresami registrů (obr. vpravo).

Závěr

Program "Simply Modbus Slave" je docela zajímavý nástroj pro zkoušení a zprovozňování Modbus průmyslové komunikace na straně masteru. Se slave terminálem lze přesně definovat přenášená, čtená i zapisovaná data dle potřeby tak, aby bylo možné je sledovat a dle potřeby zpracovat v řídící jednotce. Na OS Windows XP i Win 7 mí pracoval zcela bez problémů.  

Odkazy:

Hodnocení článku: