Modbus to prosty, otwarty protokół szeregowy i Ethernetowy, który pozwala sterownikowi odczytywać i zapisywać ponumerowane lokalizacje danych (rejestry) wewnątrz urządzeń przemysłowych; jego dwa dominujące warianty to Modbus RTU (szeregowy, przez RS-485) oraz Modbus TCP (ten sam model danych opakowany w pakiety Ethernet/IP). Opublikowany przez firmę Modicon w 1979 r., powstał przed większością sprzętu na hali produkcyjnej, a mimo to wciąż — cicho — jest sposobem, w jaki komunikuje się duża część sterowników PLC, napędów, mierników i czujników. Nie jest efektowny. Nie ma wbudowanych zabezpieczeń, nie oferuje mechanizmu autoopisania, a model danych wydaje się archaiczny. Ale jest darmowy w implementacji, trywialny do debugowania i obsługiwany przez praktycznie wszystko — i właśnie dlatego pozostaje domyślnym wyborem do taniego, niezawodnego zbierania danych maszynowych.
Oba warianty dzielą identyczną warstwę aplikacji. Te same kody funkcji i ta sama mapa rejestrów działają niezależnie od tego, czy bajty podróżują przez skrętkę miedzianą, czy przez przełącznik Ethernet. Różni je warstwa transportowa pod spodem.
Krótko: RTU jest tani, odporny i wolny na współdzielonym przewodzie; TCP jest szybszy, równoległy i korzysta z istniejącej sieci zakładowej, ale wymaga urządzenia z obsługą Ethernetu lub bramki.
Modbus nie wysyła nazwanych tagów. Wysyła zawartość ponumerowanych lokacji i występują dokładnie cztery tabele:
Ponieważ rejestr ma tylko 16 bitów, wartość większa niż 65535 (licznik produkcji 32‑bitowy, liczba zmiennoprzecinkowa) jest rozdzielana na dwa kolejne rejestry. Oto klasyczna pułapka: kolejność bajtów i słów nie jest ustandaryzowana. 32‑bitowy licznik części o wartości 1 000 000 może przyjść jako para słów (15, 16960) w jednym urządzeniu, a jako (16960, 15) w innym. Jeśli licznik pokazuje śmieci, zamień kolejność słów zanim obwinisz okablowanie. Zawsze potwierdzaj mapę rejestrów i kolejność bajtów/słów (endianness) w instrukcji urządzenia, a nie zgaduj.
Powiedzmy, że chcesz pobrać liczbę dobrych części z prasy, aby zasilić obliczenia dostępności i wydajności. Instrukcja mówi, że całkowita liczba jest w rejestrach holdingowych 40001 i 40002 jako 32‑bitowa liczba bez znaku, najpierw słowo wysokie.
Podstawiając tę prędkość do idealnego czasu cyklu maszyny otrzymujesz bieżącą wydajność; dodaj zaplanowany czas i przestoje i masz ogólną efektywność urządzeń (OEE). To cała magia. Odczyt dwóch rejestrów, raz na sekundę, przemienia cichą prasę w źródło danych i nie kosztuje nic poza odpytem. Sparuj ten sam strumień z przepustowością i współczynnikiem odpadów i zobaczysz straty, których raport zmian nigdy nie uchwycił.
Decyzja zwykle sprowadza się do tego, co urządzenie już obsługuje i jak daleko dane muszą podróżować.
Żaden z wariantów nie jest systemem sterowania. Modbus jest protokołem wymiany danych, nie SCADA i nie warstwą bezpieczeństwa, więc trzymaj go z dala od ścieżek wymagających gwarantowanego czasu reakcji lub bezpieczeństwa.
RTU to łącze półdupleksowe na współdzielonym przewodzie, więc timing odpytywania ma znaczenie. Jeśli jeden master odpyta 20 slave'ów przy 9600 baud, a każda transakcja (zapytanie plus odpowiedź plus czas przełączenia) zajmuje około 30–50 ms, pełne przejście wszystkich 20 urządzeń trwa około sekundy. Dodaj więcej urządzeń lub niższą prędkość transmisji, a twoje dane się zestarzeją. Gdy ważna jest rozdzielczość poniżej sekundy, rozdziel obciążenie na kilka portów szeregowych lub przenieś zajęte urządzenia na TCP.
Bezpieczeństwo to drugi istotny zastrzyk. Klasyczny Modbus nie ma uwierzytelniania ani szyfrowania; każdy na magistrali może czytać lub zapisywać dowolny rejestr. Trzymaj go w izolowanych sieciach OT lub VLAN-ach, nigdy nie wystawiaj portu 502 w Internecie i traktuj dostęp do zapisu jako uprzywilejowany. Ta sama baza danych zasila metryki niezawodności, takie jak MTBF i MTTR, i wspiera przejście w kierunku utrzymania opartego na stanie, ale tylko jeśli kanał przenoszący te dane został zaprojektowany z myślą o tych ograniczeniach.
Fabrico to fundament danych czasu rzeczywistego, który zamienia surowe odczyty Modbus w decyzje. Przechwytuje bieżącą produkcję i OEE z danych maszynowych, które już masz, niezależnie od tego, czy wartości przychodzą przez RTU, TCP czy przez pośrednią bramkę. Gdy maszyna nie ma PLC lub nie udostępnia użytecznych danych po kablu, Fabrico może odczytać stan wizualnie za pomocą widzenia komputerowego, więc nie utkniesz na starej linii. Na warstwie monitoringu spoczywa gotowy do pola CMMS do zleceń roboczych, zarządzania majątkiem, planowania prewencyjnego i części zamiennych — co oznacza, że ten sam sygnał, który mierzy postój, może wywołać reakcję. Fabrico jest tworzone w UE z lokalizacją danych w UE — realne znaczenie, gdy twoje dane produkcyjne opuszczają halę. Po stronie utrzymania ruchu zobacz, jak wspiera przejście od reaktywnego do proaktywnego utrzymania.
Nie. Jest stary (1979) i technicznie ograniczony, ale jest otwarty, darmowy do implementacji i wspierany przez ogromną zainstalowaną bazę sterowników PLC, napędów i mierników. Do prostych odczytów rejestrów, które stanowią większość prac monitorujących maszyny, nowsze protokoły dodają złożoność bez korzyści. Modbus pozostaje pragmatycznym wyborem właśnie dlatego, że jest wszędzie i łatwo go debugować.
Nie bezpośrednio, ponieważ używają różnych nośników fizycznych, ale dzielą tę samą warstwę aplikacji, więc bramka Modbus tłumaczy pomiędzy nimi bez problemu. Mapy rejestrów i kody funkcji są identyczne po obu stronach, dlatego mostkowanie to proste, niedrogie urządzenie zamiast pełnej przebudowy systemu.
Praktycznie zawsze to kwestia kolejności słów lub bajtów. 32‑bitowa liczba rozciąga się na dwa 16‑bitowe rejestry, a Modbus nigdy nie ustandaryzował, które słowo idzie pierwsze, więc wartość może przychodzić jako najpierw słowo wysokie lub najpierw słowo niskie w zależności od producenta. Sprawdź w instrukcji urządzenia kolejność bajtów i słów, a następnie popraw parsowanie w kodzie. Rzadko kiedy winne jest okablowanie.
Stary protokół, nowoczesne wnioski: jeśli twoje maszyny już mówią Modbusem, jesteś o jedno odpytywanie od bieżącego OEE. Zarezerwuj demo Fabrico, aby zobaczyć, jak twoje rzeczywiste dane maszynowe zamieniają się w decyzje.