Wiedza/Interfejsy wyjaśnione/RS485 i Modbus RTU

Interfejsy wyjaśnioneRS485

Czym jest RS485 i Modbus RTU? Linia i protokół wyjaśnione

RS485 i Modbus RTU wymienia się często jednym tchem, ale to dwie różne rzeczy. RS485 określa, jak sygnały przechodzą przez linię, Modbus RTU – co znajduje się w telegramach. Razem tworzą jeden z najbardziej rozpowszechnionych interfejsów liczników w przemyśle i technice budynkowej.

Najważniejsze w skrócie

  • RS485 (TIA/EIA-485) przesyła dane jako różnicę napięć na dwóch przewodach, odporny na zakłócenia i do około 1200 m.
  • Modbus RTU to protokół master-slave: jeden master pyta, odpowiadają slave’y o adresach od 1 do 247.
  • Linię układa się jako magistralę i na obu końcach zakańcza rezystorem 120 Ω.
  • Wartości pomiarowe znajdują się w rejestrach 16-bitowych. Wartości 32- i 64-bitowe zajmują dwa lub cztery rejestry.
  • Każdy telegram jest zabezpieczony sumą kontrolną CRC16.

Na tej stronie

Czym jest RS485?

RS485 to norma transmisji elektrycznej, a nie protokół. Dane przesyłane są jako różnica napięć między dwoma przewodami, zwykle oznaczanymi A i B, czasem D+ i D−. Ponieważ odbiornik ocenia tylko różnicę, zakłócenia działające jednakowo na oba przewody w dużej mierze się znoszą. Dlatego RS485 działa też w szafach z przemiennikami częstotliwości i na długich dystansach.

Klasycznie jeden segment obsługuje 32 uczestników (unit loads); nowoczesne nadajniki obciążają magistralę tylko ułamkiem tego. Linia może mieć około 1200 m, przy wysokich prędkościach mniej.

Przez RS485 działają różne protokoły, oprócz Modbus RTU na przykład BACnet MS/TP. W przypadku licznika energii RS485 dopiero razem z protokołem wiadomo, jak go odczytać.

Jak prawidłowo okablować magistralę RS485?

  • Układać liniowo: od urządzenia do urządzenia, bez gwiazdy i bez długich odgałęzień.
  • Na obu końcach linii umieścić po jednym rezystorze terminującym 120 Ω, nie przy każdym urządzeniu.
  • Stosować skrętkę ekranowaną, najlepiej o impedancji falowej około 120 Ω.
  • Prowadzić masę odniesienia (GND), jeśli urządzenia są daleko od siebie lub zasilane z różnych źródeł.
  • We wszystkich urządzeniach ustawić tę samą prędkość, parzystość i bity stopu.

Najczęstsze pułapki przy budowie magistrali opisuje artykuł Modbus RTU przez RS-485: pięć najczęstszych pułapek.

Czym jest Modbus RTU?

Modbus to otwarty protokół opracowany przez firmę Modicon w 1979 roku dla sterowników. RTU oznacza Remote Terminal Unit i określa binarny wariant dla linii szeregowych. Master, na przykład PLC, rejestrator danych lub system zarządzania energią, wysyła zapytanie pod adres slave’a i odpowiada tylko to urządzenie. Slave nigdy nie nadaje z własnej inicjatywy.

Telegram składa się z adresu, kodu funkcji, danych i sumy kontrolnej CRC16. Między dwoma telegramami jest przerwa co najmniej 3,5 znaku, po której urządzenia rozpoznają początek i koniec.

Kod funkcjiZnaczenieTypowe zastosowanie
03Odczyt rejestrów holdingWartości pomiarowe i ustawienia
04Odczyt rejestrów inputWartości pomiarowe
06Zapis jednego rejestruZmiana ustawienia
16Zapis wielu rejestrówZapis kilku wartości w jednym bloku

Jak prawidłowo odczytywać rejestry Modbus?

Modbus zna tylko rejestry 16-bitowe. Stan licznika 32- lub 64-bitowy rozkłada się na dwa lub cztery kolejne rejestry. To, czy słowo starsze jest pierwsze, ustala każdy producent. Jeśli system podaje bezsensowne wartości, zwykle zamieniona jest kolejność bajtów lub słów.

Różni się też numeracja adresów: niektóre instrukcje liczą od 0, inne od 1. Jeśli wartość jest przesunięta dokładnie o jeden rejestr, prawie zawsze to jest przyczyną.

Kiedy Modbus RTU przez RS485 jest właściwy?

Modbus RTU pasuje, gdy sterownik lub rejestrator odpytuje bezpośrednio liczniki w tej samej szafie lub budynku, a do liczników nie prowadzi żadna sieć. Przy wielu licznikach w kilku budynkach lub kilku systemach docelowych opłaca się bramka. Porównanie z wariantem sieciowym znajdą Państwo w artykule Modbus TCP czy Modbus RTU? oraz na stronie Czym jest Modbus TCP?.

RS485 i Modbus RTU z urządzeniami EMU

Licznik energii RS485 EMU Professional II obsługuje Modbus RTU, jako EMU Professional II 3/100 do podłączenia bezpośredniego do 100 A lub jako 3/5 do podłączenia przez przekładniki.

EMU M-Center ma dwa porty RS485, odczytuje do 64 urządzeń Modbus RTU i przekazuje wartości przez BACnet IP lub MQTT.

Najczęstsze pytania


Jaka jest różnica między RS485 a Modbus?

RS485 to transmisja elektryczna na dwóch przewodach, Modbus RTU to protokół, który nią przechodzi. Przez RS485 mogą działać też inne protokoły, a Modbus istnieje również przez Ethernet jako Modbus TCP.

Czy magistralę RS485 można ułożyć w gwiazdę?

Nie. Niezawodnie działa tylko linia z krótkimi odgałęzieniami. Gwiazdy i długie odgałęzienia powodują odbicia, przez które telegramy stają się nieczytelne. Jeśli urządzenia są rozmieszczone gwiaździście, pomaga repeater lub rozdzielacz z oddzielnymi segmentami.

Gdzie umieścić rezystor terminujący?

Na obu fizycznych końcach linii, po 120 Ω między A i B. Rezystor przy każdym urządzeniu zbyt mocno obciąża magistralę.

Ile urządzeń zmieści się na magistrali Modbus RTU?

Protokół pozwala na 247 adresów. Elektrycznie RS485 ogranicza segment do 32 unit loads; z nadajnikami pobierającymi tylko ułamek tego możliwych jest więcej urządzeń. W praktyce granicą jest często czas odpytywania: im więcej urządzeń, tym dłużej trwa jeden cykl.

Jakie ustawienia muszą się zgadzać?

Prędkość, bity danych, parzystość i bity stopu muszą być takie same w masterze i we wszystkich slave’ach. Typowe są 9600 lub 19 200 bodów z 8 bitami danych.

Czytaj dalej


SEITELicznik energii RS485EMU Professional II z Modbus RTU SEITEPułapki RS485Pięć najczęstszych pułapek przy budowie magistrali SEITEModbus TCP czy RTU?Pomoc w wyborze dla projektów pomiarowych SEITEInterfejsy wyjaśnionePorównanie wszystkich pięciu interfejsów

Pytania dotyczące Państwa magistrali RS485?


Prosimy przesłać nam liczbę urządzeń, długości linii i system docelowy. Powiemy, jaka struktura działa niezawodnie.

Telefon
+41 (0)41 545 03 00

Wsparcie techniczne
helpdesk [at] emuag.ch
Formularz wsparcia →