Jak podłączyć urządzenia szeregowe do sieci Modbus TCP?

05.12.2023 How to /
ABC3028
Wizerunek autora
Producent: Anybus

Wstęp

Modbus TCP jest darmowym protokołem komunikacyjnym wykorzystującym technologię Ethernetu Przemysłowego o elastycznej topologii. Zgodnie z najnowszym (stan na 2023) raportem popularności protokołów przemysłowych zajmuje 4 miejsce z 5% udziałem w rynku (raport). Nie dziwi zatem potrzeba integracji maszyn starszego typu, posiadających tylko łączność szeregową (tj. serwonapędów, falowników, wysp I/O lub nawet urządzeń do akwizycji danych) z systemami nadrzędnymi po protokole Modbus TCP.

Posiadając w swoim sterowniku lub komputerze przemysłowym obsługę protokołu Modbus TCP Client/Master nie musisz wymieniać urządzeń obsługujących komunikację po łączu szeregowym (RS232 lub RS485). Jest to ogromna oszczędność pieniędzy oraz czasu, które byłyby konieczne do implementacji nowych urządzeń.


Rozwiązanie Anybus

Z punktu widzenia automatyka najlepiej jak najmniej ingerować w system nadrzędny tak, aby cała komunikacja szeregowa była obsługiwana niezależnie. Dlatego z pomocą przychodzi rodzina bram komunikacyjnych firmy Anybus – ABC30xx. W artykule tym skupimy się na Modbus TCP - Serial, czyli ABC3028.

To rozwiązanie do skomunikowania ze sobą urządzenia Modbus TCP Client/Master oraz urządzeń z szeregową komunikacją - Modbus RTU lub własnej ramki. Dzięki temu nie ma potrzeby pisania dodatkowego kodu do sterownika nadrzędnego. Po stronie szeregowej mamy do wyboru obsługę Modbus RTU lub własnej ramki (Produce/Consume lub Request/Response). Urządzeń obsługujących taką komunikację jest mnóstwo:

  • serwonapędy,
  • falowniki,
  • wyspy I/O,
  • inne elementy wykonawcze.

Ty decydujesz, co będzie wysyłał/odbierał (do 1448 bajtów) po stronie szeregowej i udostępniał do sieci Modbus TCP (do 1448 bajtów danych). ABC3028 posiada listwę zaciskową do łącz szeregowych RS232 i RS485, Ethernet do konfiguracji (Config X1) oraz dwa porty Ethernet do komunikacji Modbus TCP (X2.1 oraz X2.2).

Co wyróżnia Anybus?

Istnieją takie 4 istotne cechy.

  • Wysoka wydajność, czyli błyskawiczny transfer danych pozwalający w pełni wykorzystać możliwości szybkich sieci przemysłowych. Sprzętowo przyspieszona konwersja swap-endian (zamiana bajtów) oszczędza czas przetwarzania w systemach nadrzędnych.

  • Trwałość. Urządzenie budowane jest od podstaw w Szwecji przy użyciu starannie dobranych komponentów przemysłowych i zweryfikowane pod kątem standardów branżowych. Sprawdzona zgodność ze wszystkimi normami odnośnie każdej z sieci (link) osiągana jest dzięki najnowszej generacji procesorowi NP40.

  • Cyberbezpieczeństwo. Bezpieczne uruchamianie chroni przed złośliwym oprogramowaniem. Dodatkowo, przełącznik bezpieczeństwa zapewnia fizyczną obronę przed nieautoryzowanymi zmianami w konfiguracji.

  • Łatwość konfiguracji. Szybka instalacja to zasługa intuicyjnemego GUI, łatwej do zrozumienia dokumentacji i efektywnej konstrukcji obudowy. GUI znacznie poprawia analizę danych na żywo, eksport logów oraz ewentualne generowanie paczki wsparcia technicznego.

 

Konfiguracja ABC3028

Obejrzyj nasz tutorial, jeśli nie lubisz czytać:


Komunikacja z urządzeniem

Na urządzeniu zawsze znajduje się domyślny adres IP: 192.168.0.10. Jeżeli chcemy konfigurować urządzenie na inne IP należy najpierw zainstalować oprogramowanie HMS IPconfig, służące do wyszukiwania urządzeń Anybus oraz zmiany ich adresów. Po uruchomieniu go ukaże nam się poniższe okno.

Jeżeli brama Anybus została zasilona i podłączona na pierwszym porcie Ethernet do sieci LAN, w której znajduje się dany komputer PC (nie musi być w tej samej podsieci) powinieneś zobaczyć znaleziony sprzęt.

Po dwukrotnym kliknięciu na dane urządzenie ukaże się tryb edycji adresu IP. Możesz też ustawić w tryb automatycznego adresu IP nadawanego przez istniejący serwer DHCP.

Na potrzeby artykułu zmienimy adres IP na taki z innej podsieci: 192.168.100.100, a następnie wybieramy przycisk Apply. Gdy zmiany zostaną pomyślnie zaakceptowane pokaże się stosowny komunikat w dolnym pasku HMS IPconfig.

W tabeli powinien pokazać się zaktualizowany adres IP. W tym momencie możesz otworzyć przeglądarkę w komputerze i wybrać adres 192.168.100.100 lub kliknąć ikonę globusa w oprogramowaniu, dzięki czemu automatycznie zostaniesz przekierowany do przeglądarki z otwartym już adresem.

 

Webserver ABC3028

Konfiguracja urządzenia odbywa się przez przeglądarkę i nie potrzebne jest żadne dodatkowe oprogramowanie. Główny interfejs jest podzielony na 3 części: dwie z nich dotyczą protokołów komunikacyjnych, natomiast trzecia odnosi się do działania całej bramy komunikacyjnej.

Istnieją cztery możliwe ikony wyświetlane w każdej części:

Należy pamiętać, że każdą zmianę w konfiguracji należy zatwierdzić klikając zielony przycisk Apply w górnym pasku.

 

Konfiguracja strony szeregowej

W przeglądarce, z drzewa projektu po lewej stronie wybierz Serial RS-232/485.

Strona szeregowa obsługuje 3 rodzaje komunikacji:

  1. Modbus RTU - otwarty protokół komunikacyjny,
  2. Custom Request/Response - własna ramka oparta na schemacie zapytanie -> odpowiedź,
  3. Custom Produce/Consume - własna ramka oparta na dowolności wysyłań/odbiorów poszczególnych ramek (np. z czytnika kodów kreskowych po pojawieniu się jego odczytu).

Kolejne pola służą do wyboru warstwy fizycznej (RS232 lub RS485) oraz konfiguracji podstawowych ustawień połączenia tj.:

  • prędkość transmisji,
  • liczba bajtów danych,
  • parzystość,
  • liczba bitów stopu.

Istnieje możliwość zaawansowanej detekcji ciszy pomiędzy ramkami - w Modbus RTU jest to minimum 3,5 znaku. Producent zaleca by tego nie zmieniać. 

W kolejnej zakładce - Nodes & transactions możesz dodawać poszczególne Node'y (urządzenia o unikatowym ID) oraz do każdego z nich transakcje (zapytanie/odpowiedź). 

Dobrą praktyką jest nadawanie nazw każdemu urządzeniu oraz każdej transakcji w celu przejrzystości programu.

W artykule tym skonfigurowane zostały poszczególne transakcje dla modułu pomiaru temperatury oraz wilgotności powietrza z obsługą Modbus RTU - XY-MD02.

1. cykliczny (1000ms) odczyt temperatury oraz wilgotności powietrza  (zgodnie z dokumentacją urządzenia kod funkcji #4 - dwa adresy od 1 do 2)


 

2) zapis przy zmianie wartości kalibracji pomiaru temperatury (zgodnie z dokumentacją urządzenia kod funkcji #6 - adres 259, czyli 103h)

 

 

Na koniec kliknij przycisk Apply na górnej belce w celu wgrania konfiguracji.

By sprawdzić poprawność wymiany danych pomiędzy ABC3028 a urządzeniami szeregowymi wybierz zakładkę Diagnostic -> Serial RS-232/485 a następnie kliknij Start:

Konfiguracja strony Modbus TCP

W przeglądarce, z drzewa projektu po lewej stronie wybierz Modbus TCP.

 

Możemy tutaj wybrać automatyczne obliczenie, ile bajtów In oraz Out będzie wymienianych z urządzeniem Modbus TCP Client/Masterem lub podać te wartości manualnie.

Następnie ustawiamy adres IP ręcznie lub z serwera DHCP, jeżeli istnieje w sieci. Opcjonalnie, możemy ustawić nazwę Hostname.

 

Konfiguracja mapy danych I/O

Domyślnie konwerter układa w sposób uporządkowany dane wejściowe oraz wyjściowe (zakładka I/O Data Map). Możesz to dowolnie zmienić za pomocą metody przeciągnij i upuść. W omawianym przypadku to 4 bajty Input oraz 0 bajtów Output.

Przechodząc do głównego menu Home zobaczysz wszystkie wprowadzone ustawienia strony Modbus TCP oraz szeregowej.

 

Teraz wystarczy podłączyć urządzenie nadrzędne Modbus TCP Client/Master do bramy.

 

Konfiguracja Modbus TCP Client/Master

Do konfiguracji Modbus TCP Client/Master posłuży w tym przykładzie darmowe oprogramowanie RMMS 

 

 

Po ustawieniu konfiguracji programu zgodnie z adresem IP bramy po stronie Modbus TCP (port domyślny to zawsze 502)

 

 

i ustawieniu konkretnego ID (w przypadku Modbus TCP zawsze 255), numeru funkcji, adresu początkowego oraz długości zapytania można kliknąć Connect.

 

 

 

Wracając do głównego menu w ABC3028 widać, że obie strony działają poprawnie.

 

 

 

Podsumowanie

Jeżeli szukasz możliwości rozbudowy swojego systemu np. z Beckhoff na dowolnie inny oferujący obsługę protokołów szeregowych to rozwiązanie jest zdecydowanie dla Ciebie. Nie potrzebujesz modyfikować całej infrastruktury przemysłowej - wystarczy prosty konwerter i sprawa gotowa. Oczywiście nie powinieneś ufać temu, co zostało tutaj napisane. Dlatego istnieją dwie możliwość bezpłatnego przetestowania ich możliwości:

1. symulacja pracy urządzenia na stronie https://emulator.online-config.anybus.com/ 

2. wypożyczenie dowolnego urządzenia do testów/nauki na okres 2 tygodni oraz pełne wsparcie techniczne.

Po więcej informacji zapraszamy na naszą stronę: https://www.elmark.com.pl/producenci/view/anybus lub do kontaktu telefonicznego +22 541 84 60 a także mailowego sterowniki@elmark.com.pl.

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!