Komunikacja szeregowa #3 – Switch RS-232?

Piotr Gocłowski How to, Produkty, Protokoły i konwertery przemysłowe, Serwery portów szeregowych Tagi: , , , , , , ,
Standardy szeregowe 3

Ethernet w przemyśle zadomowił się już na dobre, wynika to m.in. z łatwości z jaką można budować takie sieci dzięki przełącznikom przemysłowym. W przypadku standardów szeregowych już tak różowo nie jest, ich specyfika znacznie utrudnia przełączanie ramek pomiędzy wieloma różnymi urządzeniami. We wpisie tym pokażę w jaki sposób można uzyskać funkcjonalność „switcha” a także „sniffera” za pomocą serwerów portów szeregowych i konwerterów Modbus.

Opis problemu

Testując różne urządzenia szeregowe zachodzi potrzeba łączenia kilku interfejsów, lub nasłuchiwania wymiany danych uczestników. Standard RS-232 ogranicza liczbę uczestników transmisji do 2, dlatego aby nasłuchiwać transmisji trzeba zastosować pewne „triki”. Serwery portów szeregowych umożliwiają też nasłuchiwanie transmisji RS-232/422/485 a także zbudowanie „switcha RS-232”. Poniżej opiszę w jaki sposób skonfigurować Nporty, czyli serwery portów firmy Moxa aby realizowały funkcje switcha.

Warianty połączeń

Switch RS-232/422/485

Nporty mogą pracować w kilku trybach pracy, najbardziej optymalnym trybem do skonfigurowania „Switcha” będzie UDP. Poniżej instrukcja w formie galerii:

Jak widzisz konfiguracja trybu UDP jest bardzo prosta i umożliwia rozgałęzienie RS-232 na 3 dodatkowe porty. Taką konfigurację można zrealizować np. na Nport 5450. Oczywiście należy pamiętać że sama budowa protokołu może uniemożliwiać komunikację  4 urządzeń na tej samej linii komunikacyjnej. Inną cechą takiej konfiguracji jest to że tak naprawdę porty pracują jako hub, czyli można to opisać poprzez „każdy do każdego”, bez kierowania ramek na konkretny port.

Sniffer, podsłuch RS-232/422/485

Do nasłuchiwania transmisji szeregowej można użyć tej samej metody co ta opisana wyżej, jednak można to też zrobić inaczej. W przypadku RS422/485 nie jest potrzebne żadne dodatkowe urządzenie do nasłuchiwania, wystarczy podłączyć sygnały interfejsu szeregowego do komputera i nasłuchiwać otwartego portu COM. Dosyć ciekawą metodą może okazać się użycie Nporta i trybu „TCP client”, Nport będzie wtedy łączył się do zdefiniowanego hosta, którym może być komputer nasłuchujący na danym porcie TCP. Jako serwera TCP można użyć np. narzędzia Hercules.  Można też wtedy wykorzystać narzędzie Wireshark, które domyślnie służy do monitorowania i analizowania sieci Ethernet. 2 pierwsze porty szeregowe Nporta muszą być skonfigurowane w trybie UDP, tak aby wymieniały między sobą dane i jednocześnie wysyłały je na port 3. Port 3 musi być fizycznie zapętlony z portem 4, który pracuje jako TCP client i wysyła dane z obu portów do serwera nasłuchującego, w tym wypadku laptopa z narzędziem Hercules. Poniżej instrukcja w formie zrzutów ekranu:

Sniffer Modbus RTU

Modbus RTU to popularny protokół używany w wielu branżach mniej lub bardziej związanych z przemysłem. Bazuje on na RS-485, jest otwarty i ma prostą budowę. Opisywaliśmy go na naszym blogu:

Można go nasłuchiwać za pomocą metod opisanych w poprzednich akapitach, ale można też to zrobić za pomocą konwertera protokołów MGate MB3270. Niewątpliwym plusem takiego rozwiązania jest prostota, i możliwość analizy poprawności transmisji w czasie rzeczywistym. Wystarczy skonfigurować MGate, podłączyć go między masterem a slave’ami i za pomocą MGate Managera monitorować transmisję. Poniżej instrukcja:

Podsumowanie

Problemy z komunikacją RSową mogą być wyjątkowo dotkliwe, szczególnie gdy wstrzymują proces produkcyjny. Monitorowanie ruchu standardów szeregowych nie jest bardzo skomplikowanym zadaniem, ale może być znacznie prostsze i przyjemniejsze dzięki użyciu serwerów portów szeregowych i bramek Modbus.

Dziękuję za przeczytanie wpisu i zapraszam do zapoznania się z pozostałymi na naszym blogu.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *