1. Wprowadzenie
Modbus to protokół żądanie-odpowiedź oparty na architekturze master/slave lub client/server. W relacji master-slave komunikacja odbywa się parami. Urządzenie musi zainicjować żądanie, a następnie czekać na odpowiedź. Urządzenie inicjujące (nazywane master) jest odpowiedzialne za zainicjowanie każdej interakcji. Zazwyczaj urządzeniem master jest system HMI lub SCADA, a urządzeniami slave są czujniki, programowalne sterowniki logiczne (PLC) lub programowalne sterowniki automatyki (PAC). W standardowej sieci Modbus jest jedno urządzenie master i maksymalnie 247 urządzeń slave. Każde urządzenie slave ma unikalny adres urządzenia slave od 1 do 247. 2. Protokół Modbus w szczegółach
Obecnie protokół modbus jest używany głównie do połączeń szeregowych i Ethernet. W przypadku połączeń szeregowych jest on dzielony na modbus RTU i mobus ASCII, które różnią się nieznacznie danymi i szczegółami protokołu. W przypadku połączeń Ethernet używany jest modbus TCP.
2.1 Tryby przesyłu danych Modbus
1) Modbus RTU jest używany do komunikacji szeregowej i wykorzystuje dane binarne do komunikacji protokołu. Format RTU wykorzystuje cykliczne sumy kontrolne redundancji jako mechanizm sprawdzania błędów w celu zapewnienia niezawodności danych. Modbus RTU jest najczęstszą implementacją Modbus. Komunikat Modbus RTU musi być przesyłany nieprzerwanie, jeden po drugim, bez przerw między znakami. Komunikaty Modbus są rozdzielone okresami bezczynności (ciszy).
2) Protokół Modbus ASCII jest używany również do komunikacji szeregowej, a do komunikacji protokołu używa się znaków ASCII. Format ASCII wykorzystuje sumę kontrolną redundancji podłużnej. Wiadomości Modbus ASCII są identyfikowane za pomocą dwukropka (':') i znaku końca wiersza (CR/LF) jako nagłówka i stopki.
3) Modbus TCP służy do komunikacji sieciowej TCP/IP w protokole Modbus, łącząc się na porcie 502. Nie ma potrzeby obliczania sum kontrolnych, ponieważ protokół TCP/IP zapewnia już ochronę sum kontrolnych w warstwie bazowej.
2.2 Różnice pomiędzy Modbus ASCII, RTU, TCP
Modbus RTU i Modbus ASCII używają tego samego protokołu. Jedyną różnicą jest to, że przesyłane bajty są prezentowane jako binarne w RTU i jako czytelny tekst w ASCII. Należy zauważyć, że wiadomości RTU nie mają flagi początku tekstu, a odbiorca komunikacji używa czasu „ciszy”, aby określić początek nowej wiadomości, podczas gdy ASCII ma flagę początku tekstu. Wiadomości binarne są krótsze niż ASCII, więc teoretycznie RTU jest szybsze w przesyłaniu/odbieraniu niż ASCII.
Modbus TCP można zasadniczo rozumieć jako protokół Modbus RTU przesyłany przez Ethernet TCP/IP. Struktury danych Modbus są definiowane przy użyciu warstwy aplikacji protokołu TCP/IP. Protokół TCP jest używany do zapewnienia, że dane są odbierane i wysyłane poprawnie, podczas gdy protokół IP zawiera informacje o adresie i routingu. Polecenia Modbus TCP są przesyłane przez protokół TCP/IP. Polecenia Modbus RTU spakowane do transmisji. Zaletą Modbus TCP jest możliwość korzystania z ogólnych urządzeń Ethernet.
3. Zastosowania ModBus w urządzeniach sieciowych Jincan
Urządzenia Jincan Network DTU, RTU i routery przemysłowe mogą obsługiwać protokół ModBus w celu zbierania danych z czujników lub urządzeń, przesyłanych na zdalny serwer za pośrednictwem sieci komunikacyjnej 5G/4G, a także obsługiwać przekazywanie i konwersję protokołu.