Protokół Modbus TCP-IP, co to takiego i do czego służy? - SHEMECK
logo

Protokół Modbus TCP-IP, co to takiego i do czego służy?

Protokół Modbus TCP-IP, co to takiego i do czego służy?

Modbus TCP jako protokół komunikacyjny często jest stosowany w aplikacjach automatyki przemysłowej przez wielu producentów sprzętu i oprogramowania narzędziowego. Dlatego pragniemy go przedstawić bardziej szczegółowo dla tych, którzy jeszcze się z nim nie spotkali i nie tylko.

Spis treści
1. Protokół Modbus TCP-IP, co to takiego i do czego służy?
2. Co to jest Modbus TCP-IP?
3. Do czego służy Modbus TCP-IP?
4. Komunikacja Modbus TCP-IP – jak jest realizowana?
5. Z jakich elementów składa się transakcja Modbus?
6. Zawartość ramki Modbus
7. Modbus TCP-IP – podsumowanie artykułu


Protokół Modbus TCP-IP, co to takiego i do czego służy?

Bazowy protokół Modbus jest językiem komunikacji, który wykorzystuje połączenie Master-Slave lub Client-Server. W zależności od standardu komunikacyjnego, może występować pod nazwą Modbus RTU, Modbus ASCII lub Modbus TCP-IP. Zajmiemy się teraz ostatnim z wymienionych, czyli TCP-IP. Czym dokładnie jest?

Co to jest Modbus TCP-IP?

Wiedząc już, czym jest sam protokół Modbus, można zagłębić się, co to jest Modbus TCP IP. Jest to protokół komunikacyjny wykorzystujący połączenie Ethernet, bazuje więc na tradycyjnej „skrętce” służącej do transmisji danych. Poza tym w przeciwieństwie do typu RTU i ASCII wykorzystuje architekturę połączenia Client - Server. Modbus TCP-IP nie jest ograniczony do jednego klienta, tak jak to jest w typie RTU (tam urządzeniem wysyłającym zapytanie i odbierającym odpowiedź zawsze jest Master w liczbie 1 urządzenia). TCP-IP może bazować na wielu klientach i wielu serwerach. Język komunikacji Modbus TCP-IP odpowiada jedynie za sposób transmisji danych. Kluczem do jego działania jest standard TCP, czyli Transmission Control Protocol. Jego zadaniem nie jest formatowanie danych, a jedynie zapewnienie optymalnego połączenia między serwerem a klientem. Standard TCP interpretuje sygnał i odpowiada za jego poprawność, a adresowaniem zajmuje się IP.

Do czego służy Modbus TCP-IP?

Zastosowanie Modbus TCP-IP warunkowane jest przez jego wyjątkowe cechy. Aby dowiedzieć się, do czego służy Modbus TCP-IP obecnie, warto je poznać. Po pierwsze jest to typ komunikacji cechujący się tanią i łatwą w modyfikacji implementacją. Poza tym z łatwością można go obsługiwać i bazuje na wielu popularnych mediach transmisyjnych – od skrętki TP, przez światłowody, po telefonie komórkową GSM. Te wszystkie właściwości zebrane razem powodują, że Modus TCP-IP chętnie stosowany jest w urządzeniach automatyki przemysłowej. Bazowanie na transmisji TCP-IP sprawia, że zarządzenie siecią może odbywać się zdalnie, bez konieczności podłączenia fizycznego. Co więcej, możliwe jest przeprowadzanie wirtualnych symulacji warunków sieciowych. To wszystko powoduje, że Modbus TCP-IP znajduje zastosowanie w nowych urządzeniach sieciowych, mimo że jest obecny na rynku od przeszło 40 lat.

Komunikacja Modbus TCP-IP – jak jest realizowana?

Jak wspomnieliśmy powyżej, komunikacja Modbus TCP/IP bazuje na wykorzystaniu wręcz dowolnego medium transmisyjnego. Zapytania i odpowiedzi są wysyłane pomiędzy klientem a serwerem, których liczba w sieci może być dowolna. Kluczem do komunikacji jest wysyłanie informacji w postaci ramek. Każda z nich składa się z następujących elementów:

● MBAP – nagłówek ramki zawierający 7 bajtów informacji wstępnej

● kod funkcyjny

● dane

Z jakich elementów składa się transakcja Modbus

Dla lepszego poznania struktury zapytań Modbus TCI-IP należy zagłębić się w komunikację protokołu. Z jakich elementów składa się transakcja Modbus? Wiesz już, że kluczem jest ustanowienie połączenia między klientem a serwerem. Zapytania i analiza odpowiedzi opiera się na przesłaniu ramki. Warto przyjrzeć się dokładniej sposobowi przeprowadzania transakcji i elementom w niej występującym. Za każdym razem komunikacja Modbus TCP/IP może być opisywana przez pewien uproszczony schemat zapytania i otrzymywania odpowiedzi. Zapytanie do serwera kieruje klient, podobnie jak w przypadku protokołu RTU Master przesyła zapytanie do Slave’a. Komunikacja bazuje na 7 krokach: 1. Formułowanie zapytania. 2. Wysyłanie zapytania do serwera. 3. Odbiór zapytania w postaci ramki Modbus. 4. Analiza informacji. 5. Wysyłanie odpowiedzi do klienta. 6. Odbiór odpowiedzi. 7. Analiza odpowiedzi.

Zawartość ramki Modbus

Nagłówek MBAP to skrót od ang. Modbus Application Protocol. Zawiera najważniejsze informacje początkowe, które ułatwiają rozpoznanie zapytania lub odpowiedzi. W skład ramki MBAP wchodzi 7 bajtów informacji. Zostały one zdefiniowane poniżej:

● identyfikator transmisji – zawiera 2 bajty danych i zostaje skopiowany przez serwer do odpowiedzi, celem ustalenia pary transmisyjnej;

● identyfikator protokołu – posiada również 2 bajty danych i jest w protokole MODBUS identyfikowany przez wartość 0;

● długość pól – informuje odbiorcę o łącznej ilości pól w ramce;

● identyfikator jednostki – musi być zbieżny w zapytaniu i odpowiedzi i zawiera 1 bajt. Kolejny element to kod funkcyjny. Jego zakres funkcji mieści się między 1 a 127. Może występować w 3 wariantach:

- Publicznym – to powszechnie znane i potwierdzone dokumentacją kody funkcyjne. Identyfikowanym przez producenta – mieszczą się w zakresie 65 – 72 i 100 – 110. Mogą być dowolnie programowalne przez użytkownika.

- Niepubliczne – pozbawione użyteczności publicznej i zarezerwowane przez niektórych producentów. Ostatnim z elementów komunikacji ramki Modus są dane. Mogą one mieścić w sobie dane właściwe, numery rejestrów i oraz liczbę bajtów w polu danych. Dzięki temu polu serwer wie, jaki zakres działania musi wykonać w związku z zapytaniem ze strony klienta. Jest więc niezbędny do prawidłowego przeprowadzenia żądania.

Modbus TCP-IP – podsumowanie artykułu

Automatyka przemysłowa to główne zastosowanie protokołu Modus TCP-IP. Mimo upływu lat od momentu jego stworzenia nic nie wskazuje na to, by jego obecność w sieciach przemysłowych została wyparta przez inne języki przesyłu danych. 

Udostępnij:

Warto zobaczyć

Propozycje

Potrzebujesz pomocy?