Ustawienia dostępności

Rozmiar tekstu

100%

Energetyka 4 min czytania

Modbus

Inne nazwy: Modbus TCP, Modbus RTU, Modbus/TCP, protokół Modbus

Definicja

Modbus to otwarty protokół typu zapytanie-odpowiedź do odczytu i zapisu 16-bitowych rejestrów i pojedynczych bitów w urządzeniach polowych. Falowniki, magazyny energii i liczniki używają go po łączu szeregowym (Modbus RTU) albo po Ethernecie (Modbus TCP).

Cytuj hasło

Tekst

"Modbus". Order Group, Słownik oprogramowania, 10 października 2026. https://ordergroup.co/pl/slownik/modbus/

HTML

<a href="https://ordergroup.co/pl/slownik/modbus/">Modbus</a> - Order Group

Jak działa Modbus

Modbus to protokół typu zapytanie-odpowiedź publikowany przez Modbus Organization. Klient (na łączu szeregowym nazywany masterem) wysyła zapytanie z kodem funkcji i adresem, a serwer (slave) odpowiada. Serwer nigdy nie wysyła danych sam z siebie, więc każda wartość, którą widzi oprogramowanie, jest odpowiedzią na zadane pytanie.

Model danych ma cztery tablice: wejścia dyskretne (pojedyncze bity, tylko odczyt), cewki (pojedyncze bity, odczyt i zapis), rejestry wejściowe (słowa 16-bitowe, tylko odczyt) i rejestry podtrzymujące, czyli holding registers (słowa 16-bitowe, odczyt i zapis). Każda tablica ma adresy od 0 do 65535, a wartości wielobajtowe idą w kolejności big-endian. Jedno zapytanie mieści najwyżej 253 bajty danych protokołu, więc jedno wywołanie Read Holding Registers (funkcja 03) odczyta najwyżej 125 rejestrów, a Write Multiple Registers (funkcja 16) zapisze najwyżej 123.

Modbus RTU działa na łączu szeregowym, najczęściej na dwuprzewodowym RS-485. Na magistrali w danej chwili mówi tylko jeden master, urządzenia slave mają adresy od 1 do 247, a adres 0 to rozgłoszenie, na które nikt nie odpowiada. Ramki oddziela cisza trwająca co najmniej 3,5 czasu znaku, a każda kończy się sumą CRC. Domyślnie urządzenie pracuje w trybie RTU z kontrolą parzystości (even), a wymagana prędkość domyślna to 19 200 bit/s. Specyfikacja łącza szeregowego gwarantuje 32 urządzenia na jednym segmencie RS-485 bez wzmacniacza; więcej można podłączyć tylko wtedy, gdy dokumentacja urządzeń to dopuszcza.

Modbus TCP opakowuje to samo zapytanie w 7-bajtowy nagłówek MBAP i wysyła je po TCP na port 502, więc ramka ma najwyżej 260 bajtów. Nie ma własnego CRC i polega na kontroli TCP i Ethernetu. Jednobajtowy identyfikator jednostki (unit identifier) pozwala bramce przekazać zapytanie do urządzenia szeregowego, które stoi za nią.

Modbus określa, jak przesyłać rejestry, ale nie mówi, co one znaczą. To, pod którym adresem jest moc czynna, jaki ma mnożnik, jednostkę, znak i kolejność słów w wartości 32-bitowej, opisuje mapa rejestrów producenta. SunSpec Alliance publikuje standardowe modele informacyjne przesyłane po Modbusie, na przykład model 1 (blok wspólny, obowiązkowo pierwszy), 701 (pomiary AC źródła rozproszonego), 802 (magazyn) i 203 (licznik trójfazowy). Jej klient referencyjny szuka znacznika "SunS" pod adresami bazowymi 40000, 0 i 50000.

Co Modbus oznacza dla oprogramowania

Wymagania dla systemu, który odczytuje urządzenia albo nimi steruje przez Modbus:

  • Mapy rejestrów to wersjonowana konfiguracja dla modelu urządzenia i wersji firmware'u. Nowy model albo nowy firmware oznacza nową mapę i test, a aplikacja zostaje bez zmian.
  • Plan odpytywania uwzględnia magistralę. Na jednej linii RS-485 zapytania idą jedno po drugim, więc liczba urządzeń, zapytań na urządzenie i czas odpowiedzi wyznaczają najkrótszy możliwy cykl sterowania. Sąsiednie rejestry odczytuje się jednym zapytaniem, do 125 naraz.
  • Wartości dekoduje się według mapy: mnożniki, typy ze znakiem i bez, kolejność słów w wartościach 32-bitowych i zaokrąglenie do rozdzielczości deklarowanej przez urządzenie.
  • Identyfikator jednostki (adres slave) obowiązuje przy zapisie tak samo jak przy odczycie. Przy bramkach obsługujących kilka urządzeń pomyłka w tym miejscu dużo kosztuje.
  • Zapisy są potwierdzane. Oprogramowanie po zapisie odczytuje rejestr i alarmuje, gdy wartość się różni. Ścieżka zapisu typu "wyślij i zapomnij" zostawia system w niewiedzy, co faktycznie robi urządzenie.
  • Nieudany odczyt jest oznaczany jako nieudany. Publikowanie ostatniej dobrej wartości jako świeżej ukrywa awarię przed logiką sterowania.
  • Dostęp jest ograniczony na poziomie sieci. Podstawowy protokół nie ma pola na użytkownika ani hasło, więc każdy klient, który dotrze do portu 502, może zapisać rejestr. Trzymaj Modbus w sieci lokalnej albo za bramką; Modbus Organization publikuje też osobną specyfikację Modbus Security Protocol.
Modbus RTU, Modbus TCP i popularne alternatywy
ProtokółTransportZnaczenie danychTypowe zastosowanie w energetyce
Modbus RTUŁącze szeregowe, zwykle RS-485, adresy slave 1-247Mapa rejestrów producentaFalownik, licznik lub magazyn w obiekcie, często podłączony do urządzenia brzegowego
Modbus TCPTCP/IP, port 502, identyfikator jednostki dla bramekMapa rejestrów producentaWiększe falowniki, systemy magazynowe, bramki RTU-TCP
SunSpec ModbusModbus RTU albo TCPStandardowe modele SunSpecFalowniki, magazyny i liczniki zgodne z modelami SunSpec
MQTTPublikacja i subskrypcja po TCP/IPOkreśla je aplikacjaTelemetria i polecenia między urządzeniem a chmurą
IEC 61850Seria norm automatyki elektroenergetycznej komitetu IEC TC 57Standardowy model danychStacje elektroenergetyczne i automatyka sieciowa

Z naszych projektów

W Zeronest każda instalacja dostaje urządzenie Bzyk D200, podłączone bezpośrednio do falownika po RS-485/Modbus i raportujące przez LTE, niezależnie od chmury producenta i domowego Wi-Fi. Tak platforma obsługuje falowniki 16 marek. Rejestry konfiguracji są sprawdzane raz na dobę cyklem odczyt-zapis-odczyt dla każdego modelu falownika: system odczytuje wartości, porównuje je z zadanymi, zapisuje je i odczytuje ponownie, a gdy odczyt po zapisie się różni, generuje alert. Nieudane zapisy można odfiltrować w panelu administracyjnym.

EMS, który zbudowaliśmy dla Skyfri, ma moduły komunikacji Modbus obok sterowania magazynem i PV, a prace zaczęły się od warsztatów komunikacyjnych z dostawcą baterii w lutym 2024 r.

Dla magazynów energii Global Green zaprojektowaliśmy i zbudowaliśmy w 2026 r. moduł Modbus dla EMS oraz zmapowaliśmy rejestry systemów bateryjnych dwóch producentów. Testy w lipcu 2026 r. wykryły trzy błędy typowe dla kodu Modbus: nieudane odczyty grupowe publikowały nieaktualne wartości jako świeże, zapisy ignorowały skonfigurowany identyfikator urządzenia, a ścieżka zapisu działała w trybie "wyślij i zapomnij". Wszystkie trzy są naprawione, a w toku jest zaokrąglanie odczytów do rozdzielczości deklarowanej dla każdego kanału.

Źródła

  1. MODBUS Application Protocol Specification V1.1b3 - Modbus Organization
  2. MODBUS over Serial Line Specification and Implementation Guide V1.02 - Modbus Organization
  3. MODBUS Messaging on TCP/IP Implementation Guide V1.0b - Modbus Organization
  4. SunSpec Model Definitions - SunSpec Alliance
  5. MQTT Version 5.0, OASIS Standard - OASIS

Najczęstsze pytania

Michał Dżaman
Michał Dżaman
Co-founder & Head of Backend
Porozmawiaj z inżynierem
  • Tego, co urządzenie obsługuje natywnie. RTU po RS-485 jest częste w falownikach i licznikach i wymaga w obiekcie urządzenia brzegowego albo bramki; do TCP łatwiej dotrzeć w sieci obiektu. Dane i mapa rejestrów są w obu wariantach takie same.

  • Podstawowy protokół nie ma uwierzytelniania ani szyfrowania. Bezpieczeństwo zapewnia projekt sieci: Modbus zostaje w lokalnym segmencie albo za bramką, a z urządzeniami rozmawia tylko urządzenie brzegowe.

  • Tylko w urządzeniach, które implementują modele SunSpec, i tylko dla danych, które te modele obejmują. Ustawienia i alarmy spoza modeli nadal pochodzą z mapy producenta.

  • Specyfikacja gwarantuje 32 urządzenia na segmencie bez wzmacniacza, a adresów jest do 247. W praktyce liczbę urządzeń szybciej ogranicza czas odpytywania każdego z nich, bo zapytania idą jedno po drugim.

Budujesz system, w którym liczy się Modbus?

Zobacz, jak budujemy oprogramowanie w tej dziedzinie: case studies i technologie, których używamy.

Zobacz: Energetyka

Checklista wymagań

Do każdego hasła wyślemy definicję i to, czego wymaga od Twojego oprogramowania. Bezpłatnie, bez rozmowy handlowej.

Checklista jest pusta. Dodaj hasło plusem przy jego nazwie.

    Order Group sp. z o.o. (Warszawa) użyje Twojego adresu e-mail, żeby wysłać checklistę (art. 6 ust. 1 lit. b RODO), i zachowa informację o prośbie (art. 6 ust. 1 lit. f RODO). Zgoda marketingowa jest dobrowolna i możesz ją wycofać w każdej chwili. Polityka prywatności