MODBUS Server

MODBUS Server

Protokol MODBUS Server

Podporované typy a verzie zariadení 
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Parametre protokolu linky
Konfigurácia meraných bodov
Literatúra
Zmeny a úpravy
Revízie dokumentu

Podporované typy a verzie zariadení


Protokol realizuje serverovskú (slave) komunikáciu s ľubovoľnými zariadeniami podporujúcimi štandard MODBUS RTU vo verziách sériovej komunikácie a MODBUS TCP.

Konfigurácia komunikačnej linky


  • Kategória linky Serial (sériová komunikácia).

  • Kategória linky SerialOverUDP Device Redundant(sériová komunikácia).

  • Kategória linky TCP/IP-TCP (MODBUS TCP). Použite symbolickú adresu ALL, KOM proces počúva na zvolenom TCP porte na všetkých existujúcich sieťových rozhraniach. Bežne sa používa rezervovaný TCP port číslo 502, ale je možné použiť akýkoľvek iný. Číslo linky je nepoužité, nastavte napríklad hodnotu 1. KOM proces funguje ako multitaskový TCP server a preto vie obsluhovať naraz viacero klientov.

Parametre protokolu linky


Dialóg konfigurácia linky - záložka Parametre protokolu.
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu stanice:

Tab. č. 1

Parameter

Popis

Jednotka

Náhradná hodnota

Silent Interval

Oneskorenie vkladané pred začiatkom vysielania každého dátového paketu.

ms

50

No Request Timeout

Ak po uplynutí tohto timeoutu nepríde žiadna platná výzva, prejdú všetky stanice na linke do stavu komunikačnej chyby. Hodnoty výstupných meraných bodov sa však nikdy nestanú neplatnými (serverovský protokol).

mi:ss

1:00

Single Server

Ak je hodnota parametra nastavená na YES, KOM proces odpovie chybou SLAVE_DEVICE_FAILURE na každú dátovú výzvu na stanicu, ktorú nemá nakonfigurovanú. Ak je hodnota parametra nastavená na NO, KOM proces takúto výzvu ignoruje a nijako na ňu neodpovedá.

YES/NO

YES

Moxa Timeout

Perióda prepínania redundantných zariadení Moxa v prípade komunikačnej chyby alebo problémov. Keďže toto je serverovský protokol, kde sú očakávané žiadosti z externých zariadení, za chybu je považovaný aj výpadok komunikačných žiadostí na dobu dlhšiu ako je hodnota tohto parametra. Aplikuje sa iba v prípade použitia linky kategórie SerialOverUDP Device Redundant.

sec

10 sec

Konfigurácia stanice


  • Komunikačný protokol "Modbus Server".

  • Adresa stanice je dekadické číslo v rozsahu 1 až 247. Adresa 0 je rezervovaná ako broadcast.

Je možné nakonfigurovať viacero staníc s rôznymi adresami na jednej linke, KOM proces bude odpovedať príslušnej stanici. Viď tiež parameter protokolu linky Single Server.

Parametre protokolu stanice

Dialóg konfigurácia stanice - záložka Parametre protokolu.
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu stanice:

Tab. č. 2

Parameter

Popis

Jednotka

Náhradná hodnota

Addressing model

Nastavenie adresného modelu protokolu MODBUS:
"MODBUS PDU" dáta sú adresované od 0 do 65535.
"MODBUS data Model" dáta sú adresované od 1 do 65536.

Poznámka: Implicitná hodnota je MODBUS PDU, v prípade nastavenia MODBUS data Model je objekt s adresou X adresovaný v MODBUS PDU ako X-1.
Po zmene nastavenia tohto parametra reštartujte príslušný komunikačný proces.

"MODBUS PDU"
"MODBUS data Model"

"MODBUS PDU"

Konfigurácia meraných bodov


Možné typy hodnôt bodov: Ai, Ao, Di, Do, Ci, Co.

Adresa meraného bodu:

V protokole MODBUS je základný adresný priestor rozdelený na registre typov Coils (čítanie/zápis), Discrete Inputs (čítanie), Holding Registers (čítanie/zápis) a Input Registers (čítanie).

V každom adresnom priestore daného typu registra je nezávislá adresácia s veľkosťou adresy 2 bajty, to znamená fyzicky adresy od 0 do 65535.

Tvar adresy meraného bodu:
Tvar adresy je [I|U|L|Ll|S|Sl|f|F|C|D]Fn.Address[.BitNr] kde:

  • Prvé nepovinné písmeno/písmená udáva typ meraného bodu:

    • I - Integer 16 bit

    • U - Unsigned 16 bit (default)

    • L - Unsigned long (4 byty = 2 registre) - čítajú sa 2 registre s adresou Address a Address+1, neznamienkovo, prenášané v big-endian poradí (viď Poznámku).

    • Ll - Unsigned long (4 byty = 2 registre) -čítajú sa 2 registre s adresou Address a Address+1, neznamienkovo, prenášané v little-endian poradí (viď Poznámku).

    • S - Signed long (4 byty = 2 registre) - čítajú sa 2 registre s adresou Address a Address+1, znamienkovo, prenášané v big-endian poradí (viď Poznámku).

    • Sl - Signed long (4 byty = 2 registre) - čítajú sa 2 registre s adresou Address a Address+1, znamienkovo, prenášané v little-endian poradí (viď Poznámku).

    • f - Float 32 bit (dva registre) vo formáte big endian (budú poslané bajty B4, B3, B2, B1, kde B4 je najvyšší a B1 najnižší bajt floatu)

    • F - Float 32 bit (dva registre) vo formáte little endian (budú poslané bajty B2, B1, B4, B3, kde B4 je najvyšší a B1 najnižší bajt floatu)

    • C - Request counter up (16 bit unsigned, ktorý sa pri každom dotaze inkrementuje). Funguje iba pre Fn=3 a Fn=4

    • D - Request counter down (16 bit unsigned, ktorý sa pri každom dotaze dekrementuje). Funguje iba pre Fn=3 a Fn=4
      Pozn: Request counter up/down sú použiteľné na nakonfigurovanie "watchdogových" meraných bodov na sledovanie funkčnosti a rýchlosti Modbus komunikácie.

  • Parameter Fn je funkcia Modbus protokolu pre čítanie údaja, ktorá zaradí meraný bod do príslušného adresného priestoru:

    • 1 - Coils: binárne stavy

    • 2 - Discrete Inputs: binárne vstupy

    • 3 - Holding Registers: stavové registre

    • 4 - Input Registers: vstupné registre

  • Parameter Address je dvojbajtová adresa registra v rozsahu 0 až 65535.

  • Parameter BitNr voliteľne špecifikuje konkrétny bit v rámci registra a je v rozsahu 0 až 15.