Co to jest Modbus i do czego służy?

Modbus stworzony w 1979 roku otwarty protokół komunikacyjny wykorzystywany w przemyśle, opracowany przez firmę Modicon. Po dziś dzień protokół Modbus jest wykorzystywany w komunikacji sterowników PLC, liczników, czujników, systemów SCADA i wielu urządzeń peryferyjnych. Ze względu na prostotę implementacji i otwarty standard protokół Modbus jest bardzo lubiany przez instalatorów i integratorów systemów przemysłowych.

Do czego służy Modbus?

Protokół Modbus pozwala na szybką integrację różnych urządzeń podrzędnych (slave) z urządzeniem nadrzędnym (master). Najczęściej stosowany w automatyce budynkowej, fabrykach, energetyce i systemach IoT, głównie do sterowania procesami przemysłowymi. Ogromna ilość urządzeń wykorzystywanych w przemyśle jest wyposażona w komunikację Modbus co znacznie ułatwia i przyśpiesza integrację całego systemu. Popularność protokołu zmniejsza czas i środki potrzebne na uruchomienie dowolnego systemu opartego o protokół Modbus.

Jak działa protokół Modbus?

Protokół działa na zasadzie komunikacji master-slave, gdzie jedno urządzenie nadrzędne (master) odpytuje (funkcja read) lub zapisuje (funkcja write) dane z urządzeń typu podrzędnego (slave). Urządzenie nadrzędne typu master może w ten sposób odczytywać dane np. z liczników energii lub czujników, jak również zapisywać zmienne, sterując w ten sposób nastawami różnych urządzeń np. temperaturą i siłą nawiewu w klimatyzatorze. Rejestry Modbus to zmienne, które umożliwiają reprezentowanie wartości parametru w postaci cyfrowej, jego zapisanie i odczyt.

Ramka danych w protokole Modbus składa się z:

  • Adresu urządzenia slave - w wersji RTU jest to adres od 1 do 247, a w wersji TCP jest to adres IP urządzenia
  • Kodu funkcji - 01, 02, 03, 04, 05, 06, 07, 08, 15, 16, 17
    • 01 - Odczyt wejść dyskretnych (Read Coils)
    • 02 - Odczyt wejść binarnych (Read Discrete Inputs) (najczęściej stosowane)
    • 03 - Odczyt rejestrów typu Holding (Read Holding Registers) (najczęściej stosowane)
    • 04 - Odczyt rejestrów wejściowych (Read Input Registers)
    • 05 - Zapis pojedynczego bitu (Write Single Coil)
    • 06 - Zapis pojedynczego rejestru (Write Single Register) (najczęściej stosowane)
    • 07 - Odczyt statusu urządzenia (Read Exception Status)
    • 08 - Diagnostyka urządzenia (Diagnostics)
    • 15 (0F) - Zapis wielu bitów (Write Multiple Coils)
    • 16 (10) - Zapis wielu rejestrów (Write Multiple Registers)
    • 17 (11) - Odczyt rejestrów z numerem identyfikacyjnym (Report Slave ID)
  • Danych, czyli wartości danego parametru
  • Sumy kontrolnej CRC/LRC (tylko w RTU i ASCII)

Protokół Modbus występuje w trzech odmianach. Modbus RTU z komunikacją po RS485 lub RS232 (szybka, binarna wersja protokołu), Modbus ASCII również po RS485 i RS232 (wolniejszy niż Modbus RTU, czytelny dla ludzi) oraz Modbus TCP oparty o IP i sieć Ethernet (pozwala na komunikację przez LAN i Internet).

Modbus RTU

Modbus RTU to popularna odmiana protokołu Modbus. Szybka binarna transmisja po RS485 lub rzadziej RS232 pozwala na podłączenie nawet do 256 urządzeń na jednej magistrali. Standardowo ograniczona do maksymalnie 32 urządzeń i 1200m długości magistrala może być rozszerzona do maksymalnie 256 urządzeń przy wykorzystaniu repeaterów RS485. W jednej magistrali niezależnie od ilości urządzeń może występować tylko jeden master i nieograniczona ilość urządzeń podrzędnych.

Modbus TCP

Ze względu na stopniową migrację wszystkich urządzeń przemysłowych do komunikacji po TCP/IP, Modbus TCP jest równie popularną odmianą protokołu. Dzięki wykorzystaniu protokołu IP i warstwy Ethernetowej pozwala na komunikację z urządzeniami Modbus w sieciach LAN i Internet. Charakteryzuje się praktycznym brakiem ograniczeń w ilości urządzeń podłączonych do systemu, większą przepustowością transmisji niż Modbus RTU oraz łatwiejszą integracją z systemami IT. Odmiana Modbus TCP ma strukturę client-server, pozwala na komunikację z wieloma urządzeniami na raz i brakuje w niej kontroli błędów CRC/LRC (odpowiada za to warstwa TCP/IP).

Bramy Modbus - jak połączyć urządzenia RTU z TCP?

Ponieważ systemy nadrzędne takie jak SCADA czy sterowniki PLC najczęściej obsługują protokół Modbus TCP, najczęściej do ich komunikacji z urządzeniami podrzędnymi w protokole Modbus RTU wykorzystujemy bramy Modbusowe. Bramy Modbus pozwalają na łatwą i szybką integrację urządzeń z RS485 z urządzeniami w sieci Ethernetowej.

Narzędzia diagnostyczne Modbus

Protokół Modbus dzięki swojej popularności doczekał się wielu narzędzi diagnostycznych, które ułatwiają i przyśpieszają integrację systemów. Najpopularniejsze narzędzia to:

  • Wireshark - do analizy pakietów Modbus TCP/IP
  • Modscan32 - diagnostyka i testowanie Modbus RTU i TCP
  • Modbus pool - testowanie, symulacja odczytu i zapisu rejestrów Modbus RTU i TCP
  • Simply Modbus (dla Modbus RTU i TCP)
  • Cas Modbus Scanner (dla Modbus RTU i TCP)
  • QModMaster
  • Radzio Modbus master - darmowe narzędzie do diagnostyki

Urządzenia komunikacyjne w sieciach Modbus

Jeśli potrzebujesz pomocy w doborze odpowiednich urządzeń do komunikacji w sieci Modbus, skontaktuj się z naszym ekspertem, który pomoże w doborze odpowiednich urządzeń takich jak: