MODBUS Client

MODBUS Client

Protokol MODBUS Client

Podporované typy a verzie zariadení 
Konfigurácia komunikačnej linky
Parametre protokolu linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Poznámka k zariadeniu FloBoss 103
Poznámka k regulátorom Honeywell
Literatúra
Zmeny a úpravy
Revízie dokumentu

Podporované typy a verzie zariadení


Protokol realizuje klientsku (master) komunikáciu s ľubovoľnými zariadeniami podporujúcimi štandard MODBUS RTU a MODBUS ASCII vo verziách sériovej komunikácie a štandard MODBUS TCP alebo variantu MODBUS over TCP v prípade TCP/IP komunikácie. Navyše podporuje rozšírenia:

  • Bytový mód umožňujúci pracovať so zariadeniami, ktoré vracajú hodnoty registrov ako 1 bajt (na rozdiel od MODBUS štandardu, v ktorom je hodnota registra 2-bajtová).

  • Variabilný mód umožňujúci pracovať so zariadeniami, ktoré vracajú hodnoty registrov s inou veľkosťou ako sú štandardné 2 bajty. Implementovaný bol kvôli podpore prietokomera FloBoss 103 od firmy Fisher Controls International (v súčasnosti súčasť Emerson Process Management): 1-bajtové premenné, 4-bajtové unsigned/signed integery, textové reťazce dĺžky 10,12,20,40 znakov, 6-bajtová časová značka a iné.
    Pozn: tento mód umožňuje prácu zo zariadeniami implementujúcimi tzv. Enron Modbus alebo Daniel Modbus.

  • Pasívny mód umožňujúci prácu v režime odposluchu. Toto sa týka najmä sériovej komunikácie, keď je už komunikačný port zariadenia použitý na komunikáciu s iným Master zariadením. Vzhľadom k povahe Modbus protokolu je v tomto režime nutné odpočúvať výzvy aj odpovede.

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 RFC2217 Client (sériová komunikácia).

  • Kategória linky TCP/IP-TCP a TCP/IP-TCP Redundant (MODBUS TCP, MODBUS over TCP). Bežne sa používa rezervovaný TCP port číslo 502, ale je možné použiť akýkoľvek iný podľa nastavenia komunikujúceho zariadenia. Číslo linky je nepoužité, nastavte napr. hodnotu 1.
    Pozn: V prípade redundantných systémov je možné zadávať aj viacero mien/adries oddelených čiarkami.
    Pozn: V prípade PLC typu WAGO 750-8100 a komunikácie cez MODBUS TCP bolo nutné nastaviť v časových parametroch stanice malú periódu dotazovania (napr. 1 sekunda). V prípade väčšej periódy (5 sekúnd) dochádzalo pomerne často k zatváraniu spojenia zo strany PLC.

Vynútené prerušenie spojenia: Keď sa všetky stanice na linke typu TCP/IP-TCP alebo TCP/IP-TCP Redundant dostanú do simulácie alebo majú zastavenú komunikáciu, linka sa odpojí (dôjde ku zavretiu komunikačného socketu). Keď aspoň jedna stanica bude mať vypnutú simuláciu a nebude mať zastavenú komunikáciu (záložka Parametre objektu Stanica), linka sa znovu pripojí.

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 linky:

Tab. č. 1

Parameter

Popis

Jednotka / rozmer

Náhradná hodnota

Parameter

Popis

Jednotka / rozmer

Náhradná hodnota

Immediate Disconnect

Parameter je implementovaný iba pre kategórie linky TCP/IP-TCP a TCP/IP-TCP Redundant. Parameter aktivuje rozpájanie sa TCP spojenia po vykonaní každého čítacieho cyklu, prípadne po zápise hodnoty. Parameter bol implementovaný kvôli problémom so stabilitou spojenia na mobilných GPRS sieťach.

YES/NO

NO

Passive Mode

Parameter aktivuje režim odposluchu. V tomto režime sa nevysielajú výzvy a nefunguje zapisovanie. Sú iba analyzované prijímané pakety. Z povahy Modbus protokolu vyplýva, že je nutné odposluchávať výzvy aj odpovede existujúcej komunikácie.

YES/NO

NO

Tcp No Delay

Nastavenie "Tcp No Delay"=True parametra spôsobí nastavenie nízkoúrovňového parametra socketov TCP_NODELAY, čím sa vypne prednastavené spájanie paketov.
Parameter je implementovaný iba pre kategórie linky TCP/IP-TCP a TCP/IP-TCP Redundant.

YES/NO

NO

Konfigurácia stanice


  • Komunikačný protokol "Modbus Client".

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

Poznámka: Pokiaľ na stanici nebude nakonfigurovaný žiadny meraný bod s platnou adresou, nebude prebiehať žiadna komunikácia a stanica bude v neplatnom stave (Invalid). Ak je použitý patch KOM procesu starší ako 27.8.2026, tak bude v chybovom stave (StHARDERR).

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. č. 1

Parameter

Popis

Jednotka

Náhradná hodnota

Parameter

Popis

Jednotka

Náhradná hodnota

Retry Count

Maximálny počet opakovaní výzvy. Ak po poslaní tohto počtu výziev nedôjde odpoveď, stanica prechádza do stavu komunikačnej chyby.

-

2

Retry Timeout

Timeout pred opakovaním výzvy, pokiaľ neprišla odpoveď.

s

0.1

Wait First Timeout

Timeout medzi poslaním výzvy a prvým čítaním odpovede.

s

0.1

Wait Timeout

Timeout medzi čítaniami odpovede.

s

0.1

Max. Wait Retry

Maximálny počet opakovaní čítania odpovede.

-

20

Start Silent Interval

"Start silent interval" pred štartom vysielania v RTU móde.

ms

50

Stop Silent Interval

"Stop silent interval" po ukončení vysielania v RTU móde.

ms

50

Read After Write

Po zápise meraného bodu nasleduje ihneď spätné čítanie. Nastavením parametra na hodnotu NO je možné znížiť záťaž na komunikáciách (najmä sériových) s veľkým množstvom zápisov.

YES/NO

YES

Little Endian Mode

Poradie bajtov v Little-endian móde pre 4-bajtové premenné. Jednotlivé možnosti udávajú, do ktorých bajtov (1-najnižší, 4-najvyšší) pôjdu jednotlivé bajty z komunikácie:

  • 2143 - najskôr je prijaté nižšie slovo, potom vyššie slovo  (vyšší bajt v rámci slova vždy ako prvý)

  • 3412 - najskôr je prijaté vyššie slovo, potom nižšie slovo  (nižšší bajt v rámci slova vždy ako prvý)

  • 1234 - bajty sú prijaté od najnižšieho po najvyšší (opak Big-endianu)

-

2143

Byte mode

Špeciálny bajtový mód prenosu, v ktorom majú hodnoty registrov dĺžku 1 bajt a nie 2 byty ako je definované v špecifikácii protokolu MODBUS.

YES/NO

NO

Variable mode

Špeciálny variabilný mód prenosu, v ktorom majú hodnoty registrov variabilnú dĺžku. Podľa toho, či je Variable mode nastavený na hodnotu little-endian alebo big-endian sa aplikuje príslušné dátové kódovanie t.j. tzv. endianness (little-endian=prvý je odosielaný menej významný byte, big endian=prvý je odosielaný významnejší byte). Hodnota OFF vypína variabilný mód.
Poznámka 1: Variabilný a bajtový mód sú nezlučiteľné a je dovolené zapnutie iba jedného z nich.
Poznámka 2: Zariadenie Emerson FloBoss 103: textové reťazce a 6-bajtová časová značka sa posielajú vždy od najnižšieho bajtu.
Poznámka 3: Variabilný mód je implementovaný iba pre Protocol Mode=RTU.
Poznámka 4: Štandardne podľa implicitných hodnôt parametrov Byte mod=NO a Variable mode=OFF, teda podľa špecifikácie protokolu MODBUS, sa automaticky uplatňuje kódovanie dát big-endian.

OFF
little-endian
big-endian

OFF

Full debug

Výpis dodatočných ladiacich informácií o komunikácii na linke.

YES/NO

NO

Protocol mode

Mód protokolu: RTU alebo ASCII. Nastavenie sa aplikuje iba v prípade sériovej komunikácie.

"RTU "

"ASCII"

"RTU"

Comments