Jak działają konwertery protokołów Moxa? Opis konfiguracji w TIA Portal na bazie MGate 5103: konwersja Modbus TCP - Profinet.
Wstęp
Łączenie różnych urządzeń, maszyn i sieci wykorzystujących różne protokoły transmisyjne stawia przed przedsiębiorstwami szereg wyzwań. Profinet i Profibus są protokołami powszechnie stosowanymi w sterownikach PLC i systemach SCADA, podczas, gdy urządzenia polowe takie jak mierniki, liczniki czy falowniki komunikują się za pośrednictwem protokołu Modbus. Problem jaki tutaj powstaje to konwersja odpowiednich protokołów zgodnie z wymaganiami naszej aplikacji.
W tym wpisie skupimy się na praktycznym wykorzystaniu konwerterów protokołów Moxa. Będziemy bazować na urządzeniu MGate 5103. Omówimy proces konfiguracji, krok po kroku, a także integrację konwertera ze sterownikiem S7-1200 oraz proces konfiguracji w TIA Portal.
Spis treści
Opis topologii demo
Zanim przejdziemy do konfiguracji, krótkie przedstawienie produktu, który będzie obiektem naszych testów.
MGate 5103 to przemysłowa bramka komunikacyjna, która umożliwia konwersję z Modbusa, EtherNET/IP na protokół Profinet.
Możliwe są do zrealizowania następujące warianty.
MGate 5103:
- pełni rolę Profinet IO Device
- Master/Slave Modbus RTU/SCII/TCP
- wspiera EtherNET/IP adapter
- konfiguracja z wykorzystaniem przeglądarki internetowej
- wbudowana diagnostyka i monitorowanie ruchu Modbus
- slot na kartę microSD do konfiguracji kopii zapasowych i dzienników zdarzeń
- dwa porty Ethernet umożliwiające łączenie kaskadowe urządzeń
- jeden port szeregowy z wbudowanym zabezpieczeniem 2 kV
- dostępne modele o szerokim zakresie temperaturowym pracy (od -40 do +75°C)
- funkcje bezpieczeństwa oparte na IEC-62443
Zestaw urządzeń, który został zbudowany na potrzeby tego artykułu składa się z następujących urządzeń:
- laptop z zainstalowanym oprogramowaniem inżynierskim TIA Portal v15.1
- sterownik PLC Siemens S7-1200FC
- konwerter protokołów Modbus TCP <-> Siemens - MGate 5103
- ioLogik E1212 - moduł 8 wejść cyfrowych oraz 8 wyjść cyfrowych
- ioLogik E2242 - moduł 12 konfigurowalnych wejść/wyjść cyfrowych oraz 4 wejść analogowych
- wieża sygnalizacyjna
Adresacja urządzeń wygląda następująco:
Laptop: 192.168.0.10/24
PLC: 192.168.0.30/24
MGate 5103: 192.168.0.50/24
iologik E1212: 192.168.0.60/24
IoLogik E2242: 192.168.0.70/24
Zasada działania naszego demo jest bardzo prosta. Wykorzystujemy dwa moduły wejść-wyjść do zbierania sygnałów z różnych lokacji. Iologiki komunikują się z wykorzystaniem protokołu Modbus TCP. MGate 5103 wykorzystywany jest to konwersji protokołu Modbus TCP na Profinet. Konwersja protokołu umożliwia monitorowanie interesujących nas sygnałów w TIA Portal. Dodatkowo, wykorzystując wejścia cyfrowe w ioLogik E1212 wpływamy (zgodnie z zaimplementowaną logiką w sterowniku PLC) na zmianę wyjść cyfrowych sterownika, do których podłączona jest wieża sygnalizacyjna.
Przejdźmy zatem do konfiguracji i zacznijmy od modułów kontrolno-pomiarowych.
Konfiguracja modułów kontrolno-pomiarowych
W przypadku urządzeń ioLogik E1212 oraz E2242 konfigurację możemy ograniczyć do zmiany adresów IP oraz konfiguracji wejść analogowych.
Najwygodniej, wszelkie zmiany możemy wprowadzać z wykorzystaniem przeglądarki internetowej. Wystarczy wpisać domyślny adres IP - 192.168.127.254, a następnie zakładce Network Settings - Ethernet Configuration należy zmienić adres IP.
W naszym przypadku, dodatkowo musimy jeszcze odpowiednio skonfigurować wejście analogowe dla Iologika E2242 jako wejście napięciowe z zakresu 0-10 VDC
Dodatkowa konfiguracja modułów kontrolno-pomiarowych nie będzie nam potrzebna. Przejdźmy zatem do kolejnego kroku, którym jest konfiguracja konwertera protokołów MGate 5103.
Konfiguracja MGate 5103
MGate 5103 umożliwia konfigurację przez przeglądarkę internetową (również przez konsolę).
Preferowanym sposobem konfiguracji jest wykorzystanie graficznego interfejsu użytkownika. Dodatkowo, zupełnie podstawową konfigurację można wykonać przy pomocy funkcji Quick Setup.
Quick Setup
System Settings
Select Protocol
Profinet
Modbus TCP
Finish
Protocol Conversion
W konsoli webowej MGate 5103 należy wybrać zakładkę Protocol Settings -> Protocol Conversion, aby wybrać rolę (funkcje), które będzie pełnił konwerter.
W naszym przypadku jako Role 1 należy wybrać PROFINET IO Device, a Role 2 jako Modbus TCP Client.
Komendy Modbus TCP
W zakładce Protocol Settings -> Modbus TCP Client definiujemy komendy Modbus, które bramka będzie wykorzystywać do odpytywania Slave'ów.
W naszym przypadku skonfigurowaliśmy 6 komend. Niestety nie mamy tutaj aż tyle miejsca, aby omówić każdy parametr, natomiast zwrócimy uwagę na najważniejsze parametry.
- Name: Nazwa komendy
- Slave IP address: Adres IP urządzenia końcowego oraz numer portu na którym nasłuchuje Modbus TCP
- Slave ID: numer ID Slave'a (nie zawsze jest wykorzystywany, gdyż w przypadku Modbus TCP, adres IP jest wystarczającym identyfikatorem urządzenia)
- Function: wykorzystywana funkcja Modbus
- Trigger: Cyclin - odpytywanie cykliczne
- Pool Interval: odpytywanie cykliczne w interwale czasu 100 ms
- Read starting address: adres rejestru od którego zaczynamy odczytywanie (podawany w systemie dziesiętnym)
- Read quantity: liczba rejestrów do przeczytania
W zakresie protokołu Modbus, zachęcam do zapoznania się uprzednio z poniższym artykułem.
Następnie nasze komendy uzupełniliśmy zgodnie z poniższymi screenami.
Odczyt stanu wejścia cyfrowego 0 dla iologik E1212:
Odczyt stanu wejścia cyfrowego 1 dla iologik E1212:
Zmiana stanu wyjścia cyfrowego 0 dla iologik E1212:
Zmiana stanu wyjścia cyfrowego 1 dla iologik E1212:
Odczyt wejścia analogowego dla iologik E2242:
Zmiana wartości rejestru dla iologik E1212:
Profinet Settings
Tylko nazwa urządzenia musi zostać ustawiona:
I/O Data Mapping
W przypadku konwersji pomiędzy różnymi protokołami, MGate pracuje w trybie Agenta i wykorzystuje swoją wewnętrzną pamięć do wymiany danych. Wewnętrzna pamięć MGate podzielona jest na dwie części - input oraz output.
Wykorzystując opcję I/O Data Mapping możemy ręcznie wybrać rejestry w wewnętrznej pamięci MGate, w których będą zapisywane dane. Można również wybrać opcję automatyczną, która będzie zapisywać dane w pierwszych wolnych rejestrach w pamięci wewnętrznej.
Podstawową konfigurację MGate mamy za sobą. W późniejszym rozdziale omówimy diagnostykę, ale najpierw przejdźmy do konfiguracji MGate w oprogramowaniu inżynierskim TIA Portal.
Konfiguracja w TIA Portal
Aby umożliwić projektowanie systemu, wymagany jest do konfiguracji plik GSD (General Station Description) danego urządzenia polowego. Plik GSDML w formacie XML opisuje właściwości i funkcje stacji polowej
PROFINET IO. Zawiera on wszystkie dane istotne dla projektowania, jak również wymianę danych z urządzeniem.
Plik GSD można pobrać ze strony producenta lub wyeksportować ze wstępnie skonfigurowanymi parametrami w zakładce Protocol Settings -> Profinet IO klikając w przycisk Export GSDML.
Wybierając drugą opcję, automatycznie importowane są również moduły input oraz output do kolejnych slotów. Takie rozwiązanie idealnie sprawdzi się, gdy chcemy dodać do TIA Portal urządzenie w pełni ma skonfigurowane mapowanie danych.
W naszym przypadku wykorzystamy "surowy" plik GSD.
Import pliku GSD
Aby zaimportować w projekcie plik GSD należy przejść do zakładki Options a następnie Manage general station description files (GSD)
Następnie trzeba wskazać folder z pobranymi plikami GSD i kliknąć Install.
Konfiguracja MGate 5103
Kolejnym krokiem jest dodanie urządzenia do projektu. W tym najwygodniej w zakładce Hardware catalog wyszukać "moxa" i wybrać Moxa PROFINET Device 0202. Ikonkę należy przeciągnąć i dopisać do odpowiedniego interfejsu PN/IE.
W zakładce General należy sprawdzić, czy nazwa urządzenia zgadza się z nazwą, którą jest skonfigurowana na urządzeniu MGate 5103 (np. mgate-dev).
Odczyt sygnałów
Odczyt sygnałów w TIA Portal poprzez wgranie modułów Input oraz Output. W tym celu w zakładce Device view dla MGate 5103.
Liczbę potrzebnych bajtów danych można sprawdzić w zakładce Protocol Settings -> I/O Data Mapping.
Wybrane moduły należy przeciągnąć i umieścić w kolejnych slotach.
Każdy moduł input/output posiada swój IO tag, który może być wykorzystywany np. podczas pisania programu lub w panelu HMI.
Aby zachować porządek można tagom nadawać indywidualne nazwy.
W tym celu klikając PPM na moduł należy przejść do zakładki Properties -> IO tags
Wartość wejścia analogowego została dodatkowo przeskalowana tak aby prezentowana wartość należała do zakresu 0-10 VDC.
Aby zmieniać i dodatkowo odczytywać wartości zmiennych, należy w zakładce Watch and force tables utworzyć nową tabelkę.
Przykładowa tabelka znajduje się na poniższym obrazku:
Oczywiście po wszystkich modyfikacjach, należy wgrać nasz program do sterownika PLC.
Ostatnim krokiem jest upewnienie się, czy wszystkie wartości odczytywane są poprawnie.
Jak widać, odczyt danych z urządzeń wspierających protokół Modbus TCP działa poprawnie.
Diagnostyka urządzeń Modbus
Wszyscy wiemy, że szybka diagnostyka urządzeń ma ogromne znaczenie. Jeżeli dojdzie do awarii, chcemy jak najszybciej zdiagnozować usterkę, aby ewentualnie czasu przestoju urządzeń były możliwie najkrótsze.
Konwertery protokołów Moxa umożliwiają kilka sposobów na monitorowanie poprawnego funkcjonowania urządzeń.
Modbus TCP Diagnostics
W zakładce System Monitoring -> Protocol Status -> Modbus TCP Diagnostics można odczytać status m.in. każdego podłączonego urządzenia (klienta) oraz liczbę wysłanych zapytać oraz otrzymanych odpowiedzi.
Modbus TCP Traffic
W zakładce System Monitoring -> Protocol Status -> Modbus TCP Diagnostics można podsłuchać komunikację, bez konieczności stosowania zewnętrznego oprogramowani (np. Wiresharka).
PROFINET Diagnostics
W zakładce System Monitoring -> Protocol Status -> PROFINET Diagnostics możemy sprawdzić status podłączonego Controllera Profinet, jego adres MAC, a także szczegóły związane z wymienianymi danymi Input/Output.
Fault Protection
W przypadku utraty komunikacji z układem sterujący, MGate cały czas wysyła zapytania, ale nie otrzymuje odpowiedzi. Nie zawsze takie zachowanie jest pożądane. Ze względów bezpieczeństwa, w przypadku utraty komunikacji, np. ze sterownikiem bezpieczeństwa, można skonfigurować "bezpieczne" zapytania, które zostaną wysłane.
Można skonfigurować trzy typy "bezpiecznych" danych
1. Zachowanie ostatnio otrzymanej informacji
2. Wyzerowanie wszystkich danych
3. Wpisanie zdefiniowanych przez użytkownika danych
W naszym demo skonfigurowaliśmy trzy zmienne zgodnie z powyższymi instrukcjami. Następnie, po odłączeniu sterownika PLC, MGate wysłał do urządzeń Modbus komendy, zgodnie z naszymi zaleceniami.
Po powrocie komunikacji ze sterownikiem PLC, status urządzeń wraca do normy, a zaistniała sytuacja zostaje odnotowana w logach.
Podsumowanie
Celem powyższego wpisu było przybliżenie funkcjonalności konwerterów protokołów Moxa na przykładzie MGate 5103. Mieliśmy tutaj do czynienia z Profinetem oraz Modbusem, jednakże w przypadku innych protokołów przemysłowych, konfiguracja bramek wygląda bardzo podobnie.
W przypadku pytań, można się z nami skontaktować drogą mailową: moxa@elmark.com.pl
Skontaktuj się ze specjalistą Elmark
Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!