O Modbus protokolu

Modbus je otevřený protokol pro vzájemnou komunikaci různých zařízení (PLC, dotykové displeje, I/O rozhraní apod.), který umožňuje přenášet data po různých sítích a sběrnicích. Komunikace funguje na principu předávání datových zpráv mezi klientem a serverem (master a slave). 


Typ přenášených dat

OznačeníVýznam
Discrete InputJeden bit určený pouze ke čtení. Např. binární vstup.
CoilJeden bit, který lze číst i zapisovat. Např. cívka relé, lze ji ovládat i zjišťovat její stav.
Input Register16bitový registr určený pouze ke čtení. Např. analogový vstup.
Holding Register16bitový registr, který lze číst i zapisovat. Např. čítač, lze jej nastavit i číst jeho hodnotu.

Kódy základních funkcí

KódNázev funkcePopis
01Read CoilsČtení jednoho nebo více bitů
02Read Discrete InputsČtení jednoho nebo více bitů
03Read Holding RegistersČtení jednoho nebo více 16bitových registrů
04Read Input RegistersČtení jednoho nebo více 16bitových registrů
05Write Single CoilZápis jednoho bitu
06Write Single RegisterZápis jednoho 16bitového registru
15Write Multiple CoilsZápis více bitů
16Write Multiple RegistersZápis více 16bitových registrů 


Potřebný Hardware

Hardware

  • Vaše Modbus zařízení
  • Papouch TCP2RTU
    POZNÁMKA: V případě, že systém neumí pracovat s Modbus TCP. 
    POZNÁMKA: S tímto převodníkem byla integrace testována. Jiné převodníky nejsou otestované.
  • USB na Modbus RTU (příklad)
    POZNÁMKA: Jde o ověření, že zařízení komunikuje přes Modbbus RTU.

Software

Kroky před integrací do jakéhokoliv systému

Než začnete s integrací, tak je nutné ověřit, že dané vůbec komunikuje přes Modbus RTU na sběrnici RS485 a pomocí Modbus TCP skrze převodník nebo přímo pomocí Modbus TCP.


Jako ukázku autor článku zvolil Elektroměr SMD630.


Nastavení zařízení

Nastavte zařízení pro komunikaci přes Modbus dle dokumentace k zařízení


V případě, že máte Modbus TCP zařízení, tak po jeho nastavení, pokud je vyžadováno, přeskočte na krok

Ověření komunikace Modbus TCP pomocí CAS Modbus Scanner.


Připojení USB na RS485

Ppropojte svorku Data+ na převodníku se svorkou A+ na vašem zařízení a svorku Data- na převodníku se svorkou B- na vašem zařízení.


Nalezení COM portu v PC

  1. Stiskněte Start, případně klávesu Windows.
  2. Začněte zadávat Správce zařízení (v EN Device manager).
  3. Jakmile se objeví správce zařízení (v EN Device Manager) označte jej a stiskněte Otevřít nebo klávesu Enter
  4. Ve správci zařízení nalezněte COM port a číslo COM portu.

Ověření komunikace pomocí CAS Modbus Scanner

  1. Otevřete CAS Modbus Scanner.
  2. Pravým tlačítkem klikněte do levého prostoru a zvolte Add Connection.
  3. Zadejte komunikační parametry a COM port z bodu Nalezení COM portu a Nastavení zařízení a klikněte na Add Serial Connection.
  4. Pravým kliknutím na spojení klikněte na Add Device a zadejte adresu zařízení sníženou o 1, tedy adresa 1 se zadá jako adresa 0.
  5. Pravým kliknutím na Device 0 klikněte na Add task.
  6. Zvolte funkci, kterou chcete otestovat, re. V Ukázce Elektroměru vyčtení dat by vypadalo následovně: 04 Read Input registers (3xxxxx), Offset nechte na 1 (začínáme od registru 1) a Délku (Lenght) 100, což vyčte 100 registrů. Poté klikněte na Add Request.
  7. Klikněten na tlačítko Poll.
  8. Vyčtou a zobrazí se data.


Zapojení převodníku Papouch TCP2RTU

S touto částí doporučuji počkat až po ověření komunikace pomocí USB na RS-485.

Nastavení převodníku Papouch TCP2RTU

S touto částí doporučuji počkat, až v případě ověření komunikace pomocí USB na RS-485.



Ověření komunikace Modbus TCP pomocí CAS Modbus Scanner

  1. Otevřete CAS Modbus Scanner.
  2. Pravým tlačítkem klikněte do levého prostoru a zvolte Add Connection.
  3. Zadejte IP adresu Modbus TCP zařízení a klikněte na tlačítko Add TCP connection.
  4. Pravým kliknutím na spojení klikněte na Add Device a zadejte adresu zařízení -1, tedy adresa 1 se zadá jako adresa 0.
  5. Pravým kliknutím na Device 0 klikněte na Add task.
  6. Zvolte funkci, kterou chcete otestovat, re. V Ukázce Elektroměru vyčtení dat by vypadalo následovně: 04 Read Input registers (3xxxxx), Offset nechte na 1 (začínáme od registru 1) a Délku (Lenght) 100, což vyčte 100 registrů. Poté klikněte na Add Request.
  7. Klikněten na tlačítko Poll.
  8. Vyčtou a zobrazí se data.