MODBUS RTU jest otwartym protokołem komunikacyjnym bazującym na standardzie transmisji RS-232 lub RS-485, opartym na hierarchii master/slave. Został on zaakceptowany przez wielu producentów automatyki przemysłowej ze względu na niezawodność oraz prostotę w implementacji. MODBUS RTU jest szeroko wykorzystywany w systemach zarządzania budynkiem (BMS) oraz w aplikacjach przemysłowych.
Protokół definiuje zasady wymiany danych między urządzeniami. Przesyłanie danych odbywa się możliwie szybko, z kontrolą prawidłowego przesyłu. Nadrzędnym urządzeniem w sieci jest urządzenie typu master, a podrzędnymi typu slave. RTU (real time unit) oznacza komunikację w czasie rzeczywistym.
Rodzaje stosowanych protokołów komunikacyjnych
W przypadku stosowania protokołu RS-232 dla sieci MODBUS RTU połączenie ograniczone jest tylko do jednego urządzenia. Długość segmentu sieci wynosi maksymalnie 40 m.
W sieci MODBUS stosowany jest głównie standard RS-485 ze względu na możliwość podłączenia wielu urządzeń z wykorzystaniem tylko dwóch przewodów. W przypadku tej konfiguracji należy stosować rezystory terminujące, znajdujące się na końcach przewodów o wartości rezystancji mieszczącej się w przedziale od 100 Ω do 120 Ω. Długość segmentu sieci to ok. 1000 m (przy zastosowaniu tzw. „skrętki”). Rozwiązanie charakteryzuje się dużą odpornością na zakłócenia.
Dla protokołu RS485 należy ustalić parametry transmisji, tj. prędkość, liczbę bitów danych, określenie kontroli bitu parzystości, bit stopu. Parametry mieszczą się w tzw. ramce.
Standardowa ramka RS-485 sparametryzowana jest następująco:
Aby zainicjować wymianę informacji między urządzeniami, należy korzystać z odpowiednich poleceń. Poszczególne polecenia mają nadane odpowiednie numery (kody funkcji). Wykorzystując wybrane polecenia możliwy jest odczyt lub ewentualnie zapis (wpisanie wartości) do zmiennej dwustanowej lub do zmiennej 16-bitowej typu WORD.
Istnieje możliwość komunikacji do 32 urządzeń podłączonych do tej samej sieci. Każde urządzenie pracujące w sieci musi posiadać swój unikatowy adres. Zapytania oraz odpowiedzi w sieci MODBUS RTU przesyłane są w odpowiednim formacie.
Komunikacja wygląda w ten sposób, że urządzenie master wysyła zapytanie (odczyt bądź zapis rejestrów) dla urządzenia slave. Slave – o określonym adresie – odpowiada na zapytanie lub zwraca kod błędu.
Maciej Kurantowicz, WAGO.PL
Czytaj więcej
MODBUS RTU z wykorzystaniem WAGO-I/O-SYSTEM, cz. 2
MODBUS RTU z wykorzystaniem WAGO-I/O-SYSTEM, cz. 3
E (Even) oznacza parzystość
O (Odd) nieparzystość
W opisie ramki jest odwrotnie
Dziękujemy za informację już poprawiliśmy 😉