Modbus – protokół komunikacyjny stworzony przez firmę Modicon. Służy do komunikacji z programowalnymi kontrolerami tej firmy, a także innych producentów. Umożliwia zarządzanie siecią takich urządzeń jak np. system sterowania temperatury i wilgotności. Powstały wersje dla portu szeregowego i dla sieci ethernet. Modbus jest obecnie standardem otwartym.
Modbus - struktura systemu
Modbus ASCII
Ramka komunikacji w trybie ASCII
: | Adres | Kod funkcji | Dane | Suma kontrolna | CR | LF | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
... |
- bajty są wysyłane szesnastkowo (po dwa znaki ASCII)
- odstępy pomiędzy kolejnymi znakami ramki < 1s
Modbus RTU
Ramka komunikacji w trybie RTU
Adres | Kod funkcji | Dane | Suma kontrolna | |||
---|---|---|---|---|---|---|
... |
- bajty są wysyłane binarnie jako znaki ośmiobitowe
- każda ramka jest poprzedzona odstępem (cisza na linii)> 3,5T (gdzie T oznacza czas transmisji jednego znaku)
- odstępy pomiędzy kolejnymi znakami ramki < 1:5T
Znaczenie bajtów
adres
0 – adres rozgłoszeniowy
1 – 247 – adres jednostki slave
kod funkcji
1 $01 odczyt wyjść bitowych
2 $02 odczyt wejść bitowych
3 $03 odczyt n rejestrów
4 $04 odczyt n rejestrów wejściowych
5 $05 zapis 1 bitu
6 $06 zapis 1 rejestru
7 $07 odczyt statusu
8 $08 test diagnostyczny
15 $0F zapis n bitów
16 $10 zapis n rejestrów
17 $11 identyfikacja urządzenia slave
128 – 255 $80–$FF zarezerwowane na odpowiedzi błędne
rejestry i zmienne
Urządzenie jest widziane jako 16-bitowe rejestry Wn.
Typy zmiennych umieszczanych w rejestrach:
bitowe – bity rejestrów W0 W4095
2-bajtowe – całe rejestry Wn
4-bajtowe – sąsiednie rejestry Wn ; Wn+1
zalecenie
W celu ułatwienia przesyłania danych przy pomocy ramek z funkcja, ”odczyt/zapis n rejestrów” rejestry powinny zajmować spójny obszar adresowany od 0 do REJmax.
Diagnoza błędów
Wykrywanie błędów transmisji następuje dzięki kontroli parzystości poprzecznej (bit parzystości znaku) i wzdłużnej (LRC, CRC).
Wykrywanie i diagnozowanie błędów komunikacji następuje przez:
- odesłanie przez slave ramki z kodem błędu:
- 01 – niedozwolona funkcja
- 02 – niedozwolony numer rejestru
- 03 – niedozwolona wartość danej
- 04 – uszkodzenie w przyłączonym urządzeniu
- 05 – potwierdzenie pozytywne
- 06 – brak gotowości, komunikat usunięty
- 07 – potwierdzenie negatywne
- 08 – błąd parzystości pamięci
- przekroczenie czasu oczekiwania na odpowiedź (timeout w jednostce master) – slave nie odsyła odpowiedzi przy błędach w ramce żądania
Konwertery Modbus - wprowadzenie | |
Konwertery Modbus - wprowadzenie
Modbus jest jednym z najpopularniejszych protokołów stosowanych w automatyce przemysłowej. Jest to otwarty protokół...
Czytaj artykuł » |
Modbus Gateway | |
Modbus Gateway
Urządzenie typu Modbus Gateway przekierowuje szeregową komunikację modbus do sieci Ethernet.
Stosuje się go w sytuacji, kiedy np....
Czytaj artykuł » |
Modbus Router | |
Modbus Router
Urządzenie typu Modbus Router przekierowuje komunikację modbus z sieci Ethernet na interfejsy szeregowe.
Stosuje się go w sytuacji,...
Czytaj artykuł » |
Modbus Gateway/Router - zasada działania | |
Modbus Gateway/Router - zasada działania
Konwertery modbus gateway lub modbus router pracują w sposób transparentny. To znaczy urządzenie modbus...
Czytaj artykuł » |
Modbus Proxy | |
Modbus Proxy
Modbus Proxy jest cechą produktu typu modbus Gateway/Router polegającą na buforowaniu przekierowywanych parametrów modbus. W ten sposób...
Czytaj artykuł » |
Rozwiązanie iMod | |
Rozwiązanie iMod
Urządzenia oparte o platformę iMod mogą pełnić funkcje routera modbus jak i modbus gateway'a. Modele wyposażone są opcjonalnie we...
Czytaj artykuł » |
Selection Guide | |
Selection Guide - Modbus RTU TCP - Router
Czytaj artykuł » |
NPE - Modbus gateway | |
Modbus jest popularnym w przemyśle protokołem komunikacyjnym wprowadzonym
przez firmę Modicon. Początkowo miał zastosowanie jedynie w programowalnych kontrolerach
tej firmy...
Czytaj artykuł » |