Konwerter Modbus MGate MB3000-G2: diagnostyka komunikacji

15.10.2026 How to
Konwerter Modbus MGate MB3000-G2: diagnostyka komunikacji
Wizerunek autora
Producent: MOXA
Jeśli widzisz ten komunikat, strona nie wczytała stylów artykułu (blok <style>). Po sprawdzeniu można go usunąć.

Konwerter Modbus MGate MB3000-G2: diagnostyka komunikacji

Wstęp

Uruchomienie bramki do konwersji protokołów rzadko kończy się na zapisaniu konfiguracji. Zaraz potem pojawia się pytanie, czy dane rzeczywiście płyną, a jeśli nie – po której stronie leży problem: w sieci Ethernet, w samej bramce czy na magistrali szeregowej.

MGate MB3000-G2 wyróżnia się tym, że diagnostyka jest wbudowana w konsolę webową bramki. W wielu prostszych konwerterach Modbus jedyną informacją o komunikacji są diody LED, a do szukania przyczyny potrzebny jest laptop oraz port szeregowy na USB. Seria MB3000-G2 pokazuje statystyki komunikacji dla każdego klienta i portu szeregowego, przechwytuje ramki po obu stronach konwersji, wysyła zapytania testowe do urządzeń końcowych, a także zlicza błędy transmisji z poziomu konsoli webowej. Zakres narzędzi zależy częściowo od trybu pracy: w trybie Transparent bramka przekazuje zapytania systemu nadrzędnego na magistralę, w trybie Agent sama odpytuje urządzenia i udostępnia dane z własnej pamięci.

Tabela 1. Funkcje diagnostyczne MGate MB3000-G2 i ich zastosowanieprzewiń w bok →
Funkcja Tryb Transparent Tryb Agent Zastosowanie
Protocol Diagnostics Status i liczniki dla każdego klienta TCP i portu szeregowego Tag View z bieżącymi wartościami tagów oraz liczniki zapytań Wskazanie urządzenia, które nie odpowiada oraz podgląd wartości (Agent)
Funkcja TEST dostępna w Protocol Diagnostics Wysłanie zapytania z określoną funkcją Modbus do urządzenia Zapis testowej wartości do tagu Odczyt lub nadpisanie wartości rejestrów lub stanu cewek
Traffic Monitor Obie strony konwersji w jednym widoku, Converter Tool Jedna rola protokołu naraz Podgląd ramek: adresy, kod funkcji, dane, przyczyny odrzucenia
Network Monitor Jednakowo w obu trybach Błędy w sieci Ethernet, liczba i stan połączeń TCP
Serial Port Monitor Jednakowo w obu trybach Błędy transmisji na porcie szeregowym
Ping Jednakowo w obu trybach Dostępność innych urządzeń w sieci z perspektywy bramki
System Log Jednakowo w obu trybach Zbieranie logów / zdarzeń z poziomu bramki
Active Relay Jednakowo w obu trybach Możliwość ustawienia przekaźnika alarmowego w zależności od zdarzenia
Support Jednakowo w obu trybach Tworzenie zaszyfrowanego pakietu diagnostycznego dla wsparcia technicznego Moxa

Tabela 1 zestawia te funkcje wraz z typowymi zastosowaniami. Dalsza część artykułu pokazuje je w działaniu na przykładzie modelu MGate MB3270-G2.

▲ Wróć na górę

Protocol Diagnostics

Protocol Diagnostics w trybie Transparent

W trybie Transparent strona ma dwie zakładki odpowiadające dwóm stronom konwersji. Zakładka Client – MGate pokazuje podłączonych klientów wraz z adresem IP, portem i statusem oraz licznikami zapytań, odpowiedzi i ramek odrzuconych. Zakładka MGate – Server pokazuje to samo od strony urządzeń końcowych.

Istotną informacją są statusy, wskazują one dokładny stan pracy klienta/serwera, w tym informacje na temat błędu oraz ostrzeżeń, takich jak błędy topologii, brak połączenia, pełna kolejka bufora, czy też ponawianie zapytań przez system nadrzędny zanim przyjdzie odpowiedź.

Protocol Diagnostics w trybie Transparent, zakładka Client – MGate ×
Rysunek 1. Protocol Diagnostics w trybie Transparent, zakładka Client – MGate. Jeden klient Modbus TCP wraz z adresem i portem źródłowym, 247 zapytań i tyle samo odpowiedzi.
Ta sama strona, zakładka MGate – Server ×
Rysunek 2. Ta sama strona, zakładka MGate – Server. Port 1 zgłasza Response timeout: 16 zapytań i ani jednej odpowiedzi. Port 2 pracuje normalnie – 511 zapytań, 497 odpowiedzi.

Zestawienie obu zakładek pomaga przy lokalizacji problemu. Klient dostaje odpowiedź na każde zapytanie, więc strona ethernetowa działa; ruch urywa się dopiero na porcie 1, który nie dostaje nic z magistrali. Status opisuje przy tym stan bieżący, a liczniki narastają aż do naciśnięcia RESET COUNTERS – kilkadziesiąt timeoutów przy statusie Normal to ślad po wcześniejszych problemach, a nie po bieżących.

Oba porty w stanie Normal, mimo 61 i 63 zliczonych timeoutów ×
Rysunek 3. Oba porty w stanie Normal, mimo 61 i 63 zliczonych timeoutów. Liczniki pokazują historię od ostatniego zerowania, status – sytuację w tej chwili.

W zakładce MGate <-> Server przy każdym porcie szeregowym, a także przy każdym połączonym serwerze Modbus TCP, jest przycisk TEST uruchamiający wbudowany Test Modbus Device. Narzędzie wysyła zapytanie bezpośrednio z bramki do urządzenia wskazanego w polu Modbus ID i pokazuje wynik, przyczynę ewentualnego błędu oraz surową odpowiedź.

Zapytanie wybiera się z listy standardowych kodów funkcji – odczyt 01, 02, 03, 04 lub zapis 05, 06, 15, 16 – albo wpisuje jako własny ładunek (User-defined payload) w postaci szesnastkowej, bez adresu i sumy kontrolnej, które bramka dodaje sama. Odpowie każde urządzenie, które obsługuje dany kod funkcji i adres rejestru. Jeśli nie obsługuje, odsyła wyjątek, np. 02 Illegal Data Address, widoczny w polu Reason – to też informacja: urządzenie odpowiada, a błąd leży w adresie lub kodzie funkcji. Test można wykonać jednorazowo albo cyklicznie.

Rysunek 4. Modbus Test Tool. Po lewej zapytanie o rejestr 15, kod funkcji 3, device ID 1. Po prawej odpowiedź.

W praktyce: narzędzie pozwala na odczyt/zapis rejestru lub cewki urządzenia Modbus, podłączonego do bramki. Pozwala to na szybkie sprawdzenie prawidłowości działania układu.

Protocol Diagnostics w trybie Agent

W trybie Agent ta zakładka wygląda inaczej, z racji charakterystyki pracy bramki. Zakładka Tag View pokazuje wszystkie tagi wraz z bieżącymi wartościami, typem danych i znacznikiem czasu ostatniej aktualizacji. To najprostsze potwierdzenie, że odpytywanie działa i że wartości mają sens.

Protocol Diagnostics w trybie Agent, zakładka Tag View ×
Rysunek 5. Protocol Diagnostics w trybie Agent, zakładka Tag View. Bieżące wartości zmiennych.

Tag View pokazuje wartości przeliczone według typu danych tagu, więc od razu widać błędy w konfiguracji komend. Dla przykładu wartość Moc_Czynna_P.

Przycisk TEST w Tag View działa inaczej niż w trybie Transparent: nie wysyła dowolnego zapytania, tylko zapisuje wartość do wybranego tagu, a przez niego do rejestru urządzenia. Nie ma tu odczytu ani testu cyklicznego.

Okno Write Value Test pokazuje, którego tagu dotyczy zapis: Provider to rola bramki obsługująca tag (modbus_serial_client – strona szeregowa), Source – nazwa urządzenia z konfiguracji, Name – nazwa tagu, Type – typ danych. Wartość wpisuje się szesnastkowo, w długości wynikającej z typu: dla float są to 4 bajty, więc 25,0 to 41C80000. Jeśli urządzenie pokaże wpisaną wartość, adres rejestru, typ danych i kolejność bajtów w komendzie są poprawne. Pozwala to sprawdzić ścieżkę zapisu, np. zmianę nastawy lub przełączenie wyjścia, zanim użyje jej system nadrzędny.

Okno Write Value Test ×
Rysunek 6. Okno Write Value Test. Wartość 25,0 dla tagu typu float wpisana szesnastkowo jako 41C80000.

Write Value Test zapisuje wartość do urządzenia. Nie jest to podgląd ani symulacja – rejestr zmienia się naprawdę. Funkcji tej nie należy używać na w pełni pracującym obiekcie.

Druga zakładka, Diagnostic Details, pokazuje liczniki wybranej roli protokołu – rolę wskazuje się z listy MGate Role, bo w trybie Agent obie strony pracują niezależnie od siebie. Liczniki są zawsze liczone z perspektywy bramki: „Valid Request to MGate” to zapytania, które do niej dotarły, „Exception from MGate” – wyjątki, które sama odesłała.

Zakładka Diagnostic Details ×
Rysunek 7. Zakładka Diagnostic Details. Lista MGate Role wybiera stronę, której dotyczą liczniki – tutaj Modbus TCP Server, czyli ruch od systemu nadrzędnego do bramki.

Kolumna Time w Tag View to najprostszy test sprawności urządzenia. Gdy urządzenie przestaje odpowiadać, znacznik czasu jego tagów przestaje się aktualizować. Sama wartość zależy od ustawienia Fault Protection w komendzie: przy Keep latest data zostaje ostatnia odczytana, przy pozostałych opcjach zmienia się na zero lub wartość zdefiniowaną przez użytkownika. Widok odświeża przycisk REFRESH.

▲ Wróć na górę

Traffic Monitor

Traffic Monitor przechwytuje ramki Modbus przechodzące przez bramkę: z czasem co do milisekundy, źródłem, celem, Modbus ID, kodem funkcji, danymi oraz dla ramek błędnych z przyczyną odrzucenia. W trybie Transparent obie strony konwersji widać w jednym widoku, w trybie Agent jedną rolę naraz. Przechwytywanie uruchamia przycisk START, a zebrane ramki można przefiltrować i wyeksportować do pliku CSV. Przejście na inną stronę konsoli lub wygaśnięcie sesji zatrzymuje monitor i czyści zapis, dlatego eksport wykonuje się przed opuszczeniem strony.

Traffic Monitor w trybie Transparent

Traffic Monitor w trybie Transparent ×
Rysunek 8. Traffic Monitor w trybie Transparent. Widać pełny cykl: zapytanie TCP od klienta, to samo zapytanie jako ramka RTU na porcie 2, odpowiedź urządzenia i odpowiedź odesłana do klienta.
Ten sam widok przy awarii ×
Rysunek 9. Ten sam widok przy awarii. Wyróżniony wiersz pokazuje wyjątek 0x0B – urządzenie o adresie 100 nie odpowiedziało w wyznaczonym czasie.

W trybie Transparent dane w monitorze są szesnastkowe, więc do ich odczytania można użyć wbudowanego konwertera, uruchamianego linkiem ze strony monitora. Przepisuje się do niego pojedynczą wartość – nie całą ramkę – a narzędzie pokazuje, jak ten sam ciąg bajtów wygląda w różnych typach danych. Działa to w obie strony: dla przykładu, jeśli licznik pokazuje 21 Hz, wpisanie 21 pokaże 0015 – ten ciąg powinien pojawić się w polu Data ramki. Pozwala to też szybko ustalić, czy urządzenie zwraca liczbę całkowitą, czy zmiennoprzecinkową.

Converter Tool ×
Rysunek 10. Converter Tool.

Traffic Monitor w trybie Agent

W trybie Agent monitor obejmuje jedną stronę naraz – wskazaną na liście MGate Role. Rola Modbus RTU/ASCII Client pokazuje zapytania, które bramka sama wysyła na magistralę – kolejno na oba porty – oraz odpowiedzi urządzeń na te zapytania.

Traffic Monitor w trybie Agent, rola Modbus RTU/ASCII Client ×
Rysunek 11. Traffic Monitor w trybie Agent, rola Modbus RTU/ASCII Client. Kolumna Serial Port pokazuje, na którą magistralę poszło każde zapytanie.

Po przełączeniu na rolę Modbus TCP Server widać ruch od strony systemu nadrzędnego – z adresem IP klienta zamiast numeru portu szeregowego. Zestawienie obu widoków rozdziela problemy sieciowe od problemów na magistrali, bo obie strony pracują tu niezależnie od siebie.

Ta sama strona po wybraniu roli Modbus TCP Server ×
Rysunek 12. Ta sama strona po wybraniu roli Modbus TCP Server. Zapytania i odpowiedzi wymieniane z systemem nadrzędnym, identyfikowane adresem IP klienta.

Tabela 2 zestawia kody i komunikaty błędów widoczne w Traffic Monitorze wraz z miejscem, od którego zaczyna się szukanie przyczyny.

Tabela 2. Najczęstsze wyjątki i błędy oraz ich przyczynyprzewiń w bok →
Kod lub komunikat Znaczenie Gdzie szukać przyczyny
0x0A Gateway Path Unavailable Brak ID w tabeli routingu, konflikt adresów w tabeli routingu, milczący serwer Modbus TCP Tabela routingu, topologia, stan serwera Modbus TCP
0x0B Gateway Target Device Failed To Respond Brak odpowiedzi serwera: urządzenie offline albo przerwany kabel szeregowy Okablowanie, adres urządzenia, parametry portu, Response Timeout
0x06 Server Device Busy Kolejka pełna; mieści 32 zapytania na klienta Zbyt częste odpytywanie lub zbyt wolna prędkość magistrali
Unknown Packet Niekompletna ramka Stabilność sieci, poprawność ramek po stronie klienta
Error PID Protocol ID inne niż 0x0000, czyli ruch nie jest Modbus TCP Obcy klient łączący się na port Ethernet
Error Length Długość w nagłówku MBAP niezgodna z danymi albo obcięta ramka RTU Utrata pakietów, parametry portu, Response Timeout, okablowanie
CRC Error (RTU) / LRC Error (ASCII) Uszkodzona suma kontrolna Parametry portu, zakłócenia i ekranowanie, kilka urządzeń nadających naraz
Exceed Maximum Length Ramka ponad limit: 261 bajtów w TCP, 256 w RTU, 513 w ASCII Konstrukcja ramki po stronie klienta albo kolizja na magistrali

▲ Wróć na górę

Network Monitor i Serial Port Monitor

Network Monitor pokazuje ruch na interfejsie Ethernet bramki. Zakładka Network Statistics zawiera liczniki ramek Ethernet (unicast, broadcast, multicast i błędy) oraz liczniki pakietów według protokołów TCP, UDP, ICMP, IPv4 i IPv6, z przyrostem na sekundę. Rosnące liczniki Error albo Drop i Retransmitted wskazują na problem w sieci: uszkodzony kabel lub wtyk, przeciążony przełącznik, niezgodne ustawienia portów. Jeśli stoją, a komunikacja Modbus zawodzi, przyczyna leży wyżej – w konfiguracji albo na magistrali. Modele ze złączem światłowodowym mają dodatkowo zakładkę Fiber Check.

Network Monitor ×
Rysunek 13. Network Monitor. Statystyki pakietów z przyrostem na sekundę.

Zakładka Network Connections to lista gniazd sieciowych bramki ze stanem połączeń. Wpis z lokalnym portem 502 w stanie ESTABLISHED to aktywna sesja Modbus TCP.

Network Monitor, zakładka Network Connections ×
Rysunek 14. Network Monitor, zakładka Network Connections. Wpis z portem lokalnym 502 w stanie ESTABLISHED to aktywna sesja Modbus TCP, wpisy na porcie 443 to sesje konsoli webowej.

Wiszące sesje. Gdy komputer SCADA lub sterownik traci zasilanie, ktoś odłącza kabel albo aplikacja się zawiesza, klient nie zamyka połączenia i bramka nadal utrzymuje sesję. Po powrocie klient otwiera nowe połączenie, a stare wciąż zajmuje miejsce w puli 32 połączeń. Bramka zwalnia nieaktywne sesje po czasie TCP Alive Check Time – domyślnie 5 minut w trybie Transparent i 1 minuta w trybie Agent.

Serial Port Monitor pokazuje warstwę fizyczną magistrali: liczbę bajtów nadanych i odebranych na każdym porcie oraz cztery liczniki błędów – ramkowania, parzystości, przepełnienia bufora i przerwania transmisji.

Najwięcej mówi porównanie liczników Serial Tx i Serial Rx. Gdy Tx rośnie, a Rx stoi, bramka nadaje, ale nic nie wraca: przerwany lub zamieniony przewód (A/B), brak zasilania urządzenia, zły adres albo prędkość transmisji. Gdy oba rosną, a błędy ramkowania i parzystości narastają, urządzenie odpowiada, ale sygnał dociera zniekształcony.

Serial Port Monitor ×
Rysunek 15. Serial Port Monitor.

Narastające błędy ramkowania lub parzystości to zwykle warstwa fizyczna. Najpierw należy sprawdzić parametry portu, terminację, polaryzację i uziemienie ekranu, a dopiero potem szukać przyczyny na poziomie protokołu.

Sekcję domyka Ping. Wystarczy podać adres IP i nacisnąć PING, a bramka sprawdzi, czy urządzenie o podanym adresie IP odpowiada. Test biegnie z samej bramki, więc rozstrzyga, czy problem leży w sieci, czy w protokole Modbus. Brak odpowiedzi nie zawsze oznacza awarię: zapora systemu Windows domyślnie blokuje ping, więc komputer SCADA może nie odpowiadać mimo sprawnej sieci.

System Log zapisuje zdarzenia systemowe i sieciowe bramki: restart, zmianę konfiguracji, zanik łącza Ethernet, konflikt adresu IP. Rejestrowanie jest domyślnie wyłączone i należy je włączyć w System Settings > Notification, zanim wystąpi usterka. Przerwę w danych widoczną w systemie SCADA można wtedy porównać z wpisem Ethernet link down lub restartem bramki.

▲ Wróć na górę

Support – pakiet informacji dla serwisu

Rysunek 16. Diagnostics > Support.

Gdy własna analiza jest niewystarczająca do rozwiązania problemu, w zakładce Diagnostics > Support istnieje możliwość przygotowania specjalnego zaszyfrowanego raportu diagnostycznego przeznaczonego dla inżynierów Moxy. Raport zawiera informacje identyfikujące urządzenie oraz komplet danych diagnostycznych.

▲ Wróć na górę

Limity i pojemność

Przy planowaniu instalacji należy uwzględnić limity bramki. Poniższe wartości pochodzą z instrukcji serii MB3000-G2.

Tabela 3. Pojemność serii MGate MB3000-G2przewiń w bok →
Parametr MGate MB3170-G2 / MB3270-G2 / MB3470-G2
Zapytania w kolejce od jednego klienta TCP 32
Obsługiwane serwery Modbus TCP do 32
Urządzenia na jednym porcie RS-485 do 31
Porty RealCOM 1–4
Klienci na jeden port szeregowy (routing po IP lub porcie TCP) do 4
Adresy Modbus ID w tabeli routingu 1–255

▲ Wróć na górę

Urządzenia z serii MGate MB3000-G2

Opisane narzędzia diagnostyczne są dostępne w całej serii. Warianty różnią się liczbą portów szeregowych.

Moxa MGate MB3170-G2
1 port szeregowy

MGate MB3170-G2

Bramka protokołów Modbus, 1 port

Konwersja Modbus RTU/ASCII na Modbus TCP dla pojedynczej magistrali szeregowej. Tryb Transparent i tryb Agent, komplet narzędzi diagnostycznych w konsoli webowej.

  • 1 port szeregowy RS-232/422/485,
  • tryb Transparent i Agent,
  • routing po Modbus ID, adresie IP lub porcie TCP.
Moxa MGate MB3270-G2
2 porty szeregowe

MGate MB3270-G2

Bramka protokołów Modbus, 2 porty

Model użyty w tym artykule. Dwa niezależne porty szeregowe pozwalają rozdzielić magistrale oraz korzystać z mapowania adresów Mapped ID.

  • 2 porty szeregowe, 2 porty Ethernet,
  • Mapped ID i Auto device routing,
  • Modbus RTU/ASCII i Serial Proprietary jednocześnie, na osobnych portach.
Moxa MGate MB3470-G2
4 porty szeregowe

MGate MB3470-G2

Bramka protokołów Modbus, 4 porty

Wariant do instalacji z kilkoma magistralami szeregowymi obsługiwanymi przez jedno urządzenie, z rozdzieleniem ruchu na poziomie tabeli routingu.

  • 4 porty szeregowe,
  • routing i priorytetyzacja zapytań,
  • tryb Agent z własną mapą pamięci.

▲ Wróć na górę

Podsumowanie

Diagnostyka serii G2 układa się w prostą kolejność. Protocol Diagnostics odpowiada na pytanie, które urządzenie milczy. Traffic Monitor pokazuje, co dokładnie przez bramkę przeszło i dlaczego zostało odrzucone. Serial Port Monitor rozstrzyga, czy problem nie znajduje się w warstwie fizycznej magistrali, a Ping oddziela awarię sieci od awarii protokołu z poziomu bramki.

Wszystkie narzędzia są dostępne z poziomu przeglądarki, bez konieczności używania analizatora magistrali oraz dodatkowego oprogramowania na komputerze.

▲ Wróć na górę

Skontaktuj się z ekspertem
Telefonicznie +48 22 773 79 37
Przez formularz Wypełnij formularz