Bramki MGate MB3000-G2: konfiguracja trybów Transparent i Agent w praktyce

Seria bramek protokołów MGate MB3000-G2 firmy Moxa umożliwia integrację urządzeń szeregowych Modbus RTU/ASCII z systemami nadrzędnymi w sieci Ethernet. Urządzenia oferują dwa odmienne tryby pracy – Transparent oraz Agent – które pozwalają na elastyczne zarządzanie przepływem danych w zależności od wymagań wydajnościowych instalacji. Artykuł szczegółowo omawia różnice w konfiguracji routingu, mapowania pamięci oraz mechanizmów priorytetyzacji zapytań.

Dodaj do ulubionych źródeł w Google
Posłuchaj
00:00

MGate MB3000-G2: tryb Transparent i tryb Agent w praktyce

Bramka protokołów MGate MB3000-G2 firmy Moxa łączy urządzenia szeregowe komunikujące się w standardzie Modbus RTU lub ASCII przez interfejsy RS-232/422/485 z systemami nadrzędnymi wykorzystującymi protokół Modbus TCP in sieci Ethernet. Typowe zastosowanie obejmuje liczniki energii, falowniki, mierniki parametrów sieci i czujniki po stronie magistrali szeregowej oraz systemy SCADA, sterowniki PLC i serwery BMS po stronie sieciowej. Seria MGate MB3000-G2 wprowadza tryb Agent oraz rozbudowane narzędzia diagnostyczne wbudowane w konsolę webową. Poniższy artykuł omawia konfigurację obu trybów pracy na przykładzie modelu MGate MB3270-G2 wyposażonego w dwa porty szeregowe i dwa porty Ethernet.

Dwa tryby pracy i ich kluczowe różnice

Bramka pracuje w jednym z dwóch trybów, a przełączenie między nimi kasuje całą dotychczasową konfigurację protokołu i wymaga jej ponownego wykonania.

Tryb Transparent realizuje bezpośrednią konwersję zapytań: bramka przyjmuje ramkę Modbus TCP, przekłada ją na Modbus RTU lub ASCII, wysyła na magistralę, oczekuje odpowiedzi i zwraca ją do klienta. Żadne wartości nie są buforowane – ramki obsługiwane są kolejno. Czas odpowiedzi zależy od prędkości magistrali i długości kolejki zapytań. Awaria urządzenia końcowego jest natychmiast sygnalizowana klientowi wyjątkiem 0x0B.

Tryb Agent działa jako pośrednik z własną pamięcią: bramka cyklicznie odpytuje urządzenia końcowe zgodnie z zdefiniowaną listą komend i zapisuje wyniki w wewnętrznej tablicy rejestrów. System nadrzędny odczytuje gotowe wartości bezpośrednio z pamięci bramki, nie komunikując się samodzielnie z urządzeniami na magistrali. Bramka pełni jednocześnie rolę serwera Modbus wobec systemu nadrzędnego i klienta wobec urządzeń polowych. Czas odpowiedzi jest stały i krótki. Awaria urządzenia końcowego nie przerywa odczytu – jej wystąpienie sygnalizuje dedykowany tag statusu. Tryb Agent jest dostępny wyłącznie w modelach serii MGate MB3000-G2.

Tryb Transparent – topologia, interfejsy i routing

Konfigurację trybu Transparent rozpoczyna się od zdefiniowania topologii – wskazania, po której stronie bramki znajdują się klienci, a po której serwery. Dostępne interfejsy po każdej stronie to TCP/IP, port szeregowy oraz RealCOM (wirtualny port COM mapowany na komputerze przez sterownik Moxa Windows Driver Manager). Zaznaczenie TCP/IP i portu szeregowego po stronie klientów jednocześnie aktywuje funkcję Serial Redirector, umożliwiając jednoczesnemu odpytywaniu tych samych urządzeń przez panel HMI podłączony kablem i system SCADA w sieci Ethernet – bramka ustawia ich zapytania w kolejce.

Po stronie Modbus TCP konfiguruje się port nasłuchowy (domyślnie 502), parametr TCP Alive Check Time oraz obsługę wyjątków Modbus TCP. TCP Alive Check Time pełni istotną funkcję porządkową: bramka zrywa sesję, jeśli w zadanym czasie nie pojawi się w niej żaden pakiet Modbus, uniemożliwiając w ten sposób blokowanie połączenia przez nieaktywnego klienta.

Routing stanowi sedno trybu Transparent – decyduje, dokąd bramka kieruje każdą przychodzącą ramkę. Dostępne są trzy metody, które można ze sobą łączyć. Routing po adresie Modbus ID opiera decyzję na adresie urządzenia zawartym w ramce i wymaga unikalnych adresów w całej tabeli; to metoda domyślna i najczęściej stosowana. Routing po adresie IP kieruje zapytanie do portu szeregowego na podstawie adresu IP klienta i sprawdza się, gdy urządzenia na różnych magistralach mają powtarzające się adresy. Routing po porcie TCP rozdziela ruch na podstawie numeru portu zapytania, przy czym port ten musi być różny od portu nasłuchowego 502.

Kluczowym mechanizmem jest rozróżnienie między Actual ID (rzeczywisty adres urządzenia na magistrali) a Mapped ID (adres, pod którym urządzenie widzi system nadrzędny). Gdy do jednej bramki trafiają dwie magistrale z urządzeniami o powtarzających się adresach, mechanizm Mapped ID rozwiązuje konflikt przez przesunięcie adresów jednej z magistral – bramka podmienia adres na rzeczywisty przy każdym zapytaniu. Mapowanie definiuje się pojedynczo lub zakresami. Adresy Mapped ID muszą być unikalne w obrębie całej tabeli routingu.

Przy routingu po adresie Modbus ID dostępny jest przełącznik Auto device routing, który eliminuje konieczność ręcznego definiowania reguł. Bramka odczytuje adres Modbus z przychodzących ramek, przesyła zapytania bez reguły na wszystkie porty szeregowe jednocześnie i zapamiętuje port, z którego nadeszła odpowiedź. Wpisy wykryte automatycznie nie obsługują Mapped ID. Dwa urządzenia o tym samym Modbus ID na różnych portach nie mogą współistnieć w tabeli – konflikt bramka oznacza komunikatem błędu, a rozwiązaniem jest zmiana adresu w urządzeniu lub ręczna reguła z mapowaniem. Wykrywanie działa w tle cały czas i może aktualizować wpisy przy zmianie topologii magistrali. Wyjątek 0x0A (Gateway Path Unavailable) informuje, że bramka nie ma dokąd skierować zapytania: brak reguły, konflikt w routingu automatycznym albo nieosiągalny serwer Modbus TCP.

Tryb Transparent – Priority Control

Modbus RTU obsługuje jedno zapytanie naraz. Przy wielu klientach lub intensywnym odpytywaniu zapytania ustawiają się w kolejce, a czas odpowiedzi rośnie. Priority Control pozwala wskazane zapytania kierować na początek kolejki.

Reguły priorytetu buduje się na dwa sposoby. Priorytetyzacja po interfejsie (Prioritize by Interface) wyróżnia zapytania na podstawie źródła: adresu IP klienta (do czterech adresów), portu szeregowego bramki lub jej portu nasłuchowego TCP innego niż 502. Stosuje się ją, gdy jeden z systemów nadrzędnych jest ważniejszy od pozostałych. Priorytetyzacja po polach ramki (Prioritize by Modbus Field) działa na podstawie zawartości samej ramki: adresu Modbus, kodu funkcji, kombinacji obu albo pełnej sekwencji bajtów zdefiniowanej szesnastkowo. Ten ostatni wariant jest najbardziej precyzyjny – priorytet uzyskuje wyłącznie dokładnie wskazane zapytanie, niezależnie od jego nadawcy.

Priorytet zmienia jedynie kolejność obsługi, nie skraca kolejki ani nie przyspiesza magistrali. W przypadku trwałych problemów z przepustowością należy zmniejszyć częstotliwość odpytywania, podnieść prędkość magistrali lub rozważyć zastosowanie trybu Agent.

Tryb Agent – definiowanie urządzeń, komend i mapowanie pamięci

W trybie Agent topologię definiuje się przez wybór protokołu po stronie systemu nadrzędnego (strona północna) i po stronie urządzeń końcowych (strona brzegowa). Bramka przyjmuje jednocześnie rolę serwera dla systemu nadrzędnego i klienta dla urządzeń polowych. Obsługiwane kombinacje obejmują m.in. serwer Modbus TCP z klientem Modbus RTU/ASCII (typowa instalacja SCADA z czujnikami na RS-485), serwer Modbus TCP z klientem Serial Proprietary oraz – wyłącznie w modelach MGate MB3270-G2 i MGate MB3470-G2 – równoczesną obsługę Modbus RTU/ASCII i Serial Proprietary na osobnych portach.

Konfigurację rozpoczyna się od strony klienckiej bramki. Urządzenia dodaje się przyciskiem ADD DEVICE. Klient Modbus RTU/ASCII wymaga podania nazwy i adresu Server ID urządzenia. Klient Modbus TCP wymaga dodatkowo adresu IP, portu serwera oraz parametrów Retry i Response Timeout. Dla protokołu Serial Proprietary ramkę składa się z bloków funkcyjnych: Node Address (adres urządzenia), Constant (stały wzorzec bajtów), Data (właściwa treść wymiany) i Checksum (suma kontrolna). Dostępne tryby transakcji to Request/Response dla klasycznego modelu pytanie–odpowiedź oraz Producer/Consumer dla urządzeń nadających dane cyklicznie.

Komendy definiuje się ręcznie lub importuje z pliku CSV. Nazwa urządzenia wchodzi w skład pełnej nazwy każdego tagu, dlatego konwencję nazewnictwa ustala się od początku. Kluczowe parametry komendy to kod funkcji Modbus, adres startowy i liczba rejestrów, Trigger (Cyclic lub Data Change) oraz Poll Interval – zbyt krótki interwał przy wielu urządzeniach może zapchać magistralę.

Po stronie klienta obowiązkowe jest zapisanie konfiguracji przyciskiem SAVE – bez tego bramka nie widzi nowych komend i nie pozwala na dodanie tagów po stronie serwerowej.

Przy komendach zapisu dostępne jest pole Fault Protection, które określa zachowanie bramki w razie utraty łączności z systemem nadrzędnym. Opcja Pause wstrzymuje wysyłanie komendy. Clear data to zero wpisuje zera – właściwe tam, gdzie zero jest stanem bezpiecznym (zawór zamknięty, napęd zatrzymany). Set to user-defined value wpisuje ustaloną wartość szesnastkową po upływie zdefiniowanego czasu Fault Timeout – rozwiązanie dla urządzeń, których stan bezpieczny nie jest zerem.

Odpytane rejestry przypisuje się do adresów dostępnych dla systemu nadrzędnego w zakładce Data Mapping. Tagi rozkładają się na cztery obszary pamięci Modbus: Coil (0x) – bity odczytu i zapisu, Input Discrete (1x) – bity tylko do odczytu, Holding Register (4x) – rejestry odczytu i zapisu (nastawy i parametry), Input Register (3x) – rejestry tylko do odczytu (wartości pomiarowe). Adresy startowe są proponowane automatycznie, lecz mogą wymagać ręcznej korekty dla zachowania czytelności. Całą mapę razem z konfiguracją komend można wyeksportować do pliku CSV.

Dobór trybu pracy do warunków instalacji

Tryb Transparent jest właściwym wyborem dla większości typowych instalacji: realizuje konwersję zapytań 1:1 bez buforowania, zachowuje oryginalną adresację i nie nakłada limitów na liczbę zmiennych. Sprawdza się przy wymianie starszego konwertera, gdy adresy i rejestry pozostają bez zmian, przy powtarżających się adresach Modbus na kilku magistralach (rozwiązywanych mechanizmem Mapped ID) oraz przy komendach sterujących wymagających natychmiastowego przesłania ramki.

Tryb Agent stosuje się w sytuacjach wymagających optymalizacji: gdy przepustowość magistrali szeregowej jest niewystarczająca wobec częstotliwości odpytywania systemu nadrzędnego, gdy system nadrzędny obsługuje ograniczoną liczbę urządzeń lub połączeń i cała magistrala powinna być widoczna jako jeden serwer Modbus, gdy dane z wielu urządzeń mają tworzyć jeden ciągły blok rejestrów, a także gdy urządzenie posługuje się niestandardowym protokołem Serial Proprietary – który działa wyłącznie w trybie Agent.

Modele serii MGate MB3000-G2

Opisane tryby pracy i mechanizmy konfiguracji są wspólne dla całej serii. Modele różnią się liczbą portów szeregowych. MGate MB3170-G2 dysponuje jednym portem szeregowym RS-232/422/485 i obsługuje pojedynczą magistralę. MGate MB3270-G2 posiada dwa porty szeregowe i dwa porty Ethernet, co umożliwia rozdzielenie magistral i stosowanie mapowania Mapped ID; model ten obsługuje równocześnie Modbus RTU/ASCII i Serial Proprietary na osobnych portach. MGate MB3470-G2 z czterema portami szeregowymi jest przeznaczony do instalacji z wieloma magistralami obsługiwanymi przez jedno urządzenie.

Podsumowanie

Konfiguracja bramki MGate MB3000-G2 przebiega w trzech etapach: wybór trybu pracy, zdefiniowanie topologii, a następnie skonfigurowanie reguł – tabeli routingu w trybie Transparent lub listy komend i mapy pamięci w trybie Agent. Tryb Transparent pozostaje właściwym rozwiązaniem dla typowych instalacji konwersji protokołów, zapewniając prostotę i pełną przejrzystość dla systemu nadrzędnego. Tryb Agent jest uzasadniony tam, gdzie wolna magistrala koliduje z wymaganiem krótkich czasów odpowiedzi, gdzie dane z wielu urządzeń mają być dostępne jako ujednolicona przestrzeń rejestrów, lub gdy instalacja obejmuje urządzenia z niestandardowym protokołem szeregowym.

Źródło: Elmark Automatyka

Więcej na www.elmark.com.pl
Chcesz częściej widzieć nasze artykuły w Google? Dodaj AutomatykaB2B do ulubionych źródeł

Powiązane treści
Całkowity koszt inwestycji w robotyzację. Co naprawdę rozstrzyga o wyniku?
Co decyduje o skutecznym wdrożeniu cobota? Dlaczego wybrać Universal Robots?
Physical AI w przemyśle – gdy Universal Robots i MiR tworzą mobilnego cobota zorientowanego na zysk
Zobacz więcej w kategorii: Prezentacje firmowe
Pomiary
Sonda poziomu SP1 firmy Limatherm Sensor - praktyczne rozwiązanie w pomiarach poziomu cieczy
PLC, HMI, Oprogramowanie
Jakie oprogramowanie przemysłowe wybrać?
Obudowy, złącza, komponenty
Gdy roboty obracają się o 360 stopni, kabel nie może ulec uszkodzeniu
Obudowy, złącza, komponenty
Układy Load-Sensing nowej generacji: rozdzielacze Bosch Rexroth ze zintegrowaną elektroniką
Roboty
Universal Robots wprowadza platformę Gen 7 do automatyzacji i fizycznej AI
Przemysł 4.0
FlexLink organizuje Industrial Innovation Days 2026. Praktyczne spojrzenie na przyszłość automatyzacji
Zobacz więcej z tagiem: Komunikacja
Prezentacje firmowe
Inteligentna hydraulika Bosch Rexroth: systemy eOC i eCC w maszynach mobilnych
Seminarium
IO-Link Safety: przyszłość komunikacji w systemach bezpieczeństwa. Jak wykorzystać potencjał IO-Link Safety i uprościć architekturę bezpieczeństwa maszyn
Szkolenie
Back to School 'IO-Link – od konfiguracji po integrację

Cyberbezpieczeństwo OT - od technicznego tła do elementu odporności organizacji

Systemy automatyki przemysłowej, budynkowej i infrastrukturalnej przez lata funkcjonowały jako środowiska techniczne, których kluczowym zadaniem było zapewnienie ciągłości działania procesów. Projektowane z myślą o niezawodności i stabilności, pozostawały relatywnie odseparowane od szerszej dyskusji o cyberbezpieczeństwie. Nie oznaczało to jednak, że bezpieczeństwo stanowiło kwestię drugorzędną. Wręcz przeciwnie – było wpisane w samą naturę tych systemów. Dziś zmienia się przede wszystkim to, że zaczynamy tę zależność świadomie identyfikować i wprost nią zarządzać.
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów