Strona główna ASTOR

PACSystems RSTi-EP odc.5: Możliwości komunikacyjne Emerson CPE100 + RSTi-EP

Kontakt w sprawie artykułu: Rafał Pilch - 2020-04-22

Z tego artykułu dowiesz się m.in.:

  • Jakie protokoły obsługiwane są przez karty sieciowe w CPE100
  • Jak skonfigurować połączenie w sieci Profinet w środowisku Machine Edition
  • Jakie protokoły komunikacyjne występują w RSTi-EP

Jedną z głównych zalet jednostki centralnej Emerson CPE100, są jej możliwości komunikacyjne. Jest to szczególnie ważne przy tworzeniu rozproszonego systemu sterowania w oparciu o moduły RSTi-EP. Pozwala to projektantowi sieci na dużą swobodę w doborze standardu i protokołu komunikacyjnego.

Dobór ten jest kluczowym aspektem decydującym o architekturze sieci i często całego systemu.

Ten artykuł jest częścią cyklu o PACSystems RSTi-EP i Proficy Machine Edition.

W cyklu przedstawiamy kontroler CPE100, układ RSTi-EP I/O, ale przede wszystkim skupiamy się na konfiguracji i programowaniu w Proficy Machine Edtion.

W tych kilku artykułach pokażemy, że skonfigurowanie sterownika PLC może być proste, a poruszanie się w środowisku – intuicyjne. Opisujemy funkcje Proficy, które ułatwiają budowanie systemu sterowania.

Artykuły z cyklu „PACSystems RSTi-EP”:

1. Poznaj kontroler i jego moduły rozszerzeń
2. Pierwsze kroki w środowisku Proficy Machine Edition.
3. Jak skonfigurować oprogramowanie Proficy Machine Edition do pracy z CPE100 i RSTi-EP I/O?
4. Jak wykryć urządzenia w sieci Profinet i połączyć się z kontrolerem w Proficy Machine Edition?
5. Możliwości komunikacyjne Emerson CPE100 + RSTi-EP
6. Komunikacja sterownika CPE100 z HMI QuickPanel+. Stworzenie pierwszej wizualizacji.
7. Diagnostyka pracy CPE100 i RSTi-EP z serwisem za pomocą webserwera

W tym artykule przeanalizujemy wszystkie warianty komunikacyjne zarówno jednostki CPE100, jak i modułów RSTi-EP, a także ich wzajemne konfiguracje.

Emerson CPE100 – jeden kontroler, wiele możliwości

Jednostka CPE100 powstała w głównej mierze z myślą o elastyczności, przede wszystkim w komunikacji. Jednostka została wyposażona w dwie karty sieciowe, z czego pierwsza posiada jedno złącze RJ45, natomiast druga aż trzy.

Pierwsza karta sieciowa umożliwia realizowanie komunikacji w protokołach: EDG, SRTP oraz Modbus TCP/IP. Druga, oprócz powyższych protokołów, posiada dodatkowo protokół Profinet. Oprócz dwóch kart sieciowych, CPE100 ma także wbudowany port szeregowy RS-232, do komunikacji Modbus RTU. Nie jest to jedyna możliwość skomunikowania urządzenia w standardach RS232 i RS485, ale o tym za chwilę.

Przeanalizujmy zatem poszczególne protokoły obsługiwane przez karty sieciowe:

  • Profinet – nowoczesny protokół komunikacyjny, który w przemyśle znalazł zastosowanie głównie w komunikacji pomiędzy sterownikami PLC oraz modułami wejść/wyjść rozproszonych. Całość komunikacji oparta jest o przesył danych w różnych częstotliwościach. Opóźnienia w komunikacji zadawane przez kontroler są elastyczne i dynamiczne, aby jak najlepiej upłynnić przepływ danych w sieci.
  • EGD (ang. Ethernet Global Data) – protokół zaprojektowany przez firmę GE. Opiera się on o jednostki produkujące dane (Producers) oraz jednostki konsumujące dane (Consumers). Komunikacja nie wymaga odpowiedzi na komunikaty, a pakiety danych identyfikowane są poprzez: ID producenta danych, ID wymiany danych oraz identyfikatora Ethernetu.
  • Modbus TCP/IP – protokół komunikacyjny Modbus, jeden z najbardziej rozpowszechnionych protokołów komunikacyjnych w przemyśle. Modbus TCP/IP oparty jest o komunikację klient/serwer, na zasadzie konkretnych zapytań i odpowiedzi. Klient wysyła zapytanie w postaci ramki danych, w której zakodowany jest kod funkcyjny, adres urządzenia i zmienne/rejestry będące przedmiotem zapytania. 
  • SRTP – jest to protokół służący głównie do programowania sterowników za pośrednictwem portu LAN. Może być również wykorzystywany do komunikacji z urządzeniami wykonawczymi.

Moduły komunikacyjne Emerson RSTi-EP

Moduły RSTi-EP stanowią dobrą bazę pod budowę rozproszonych systemów sterowania. Seria RSTi-EP oferuje nie tylko zróżnicowane układy wejść/wyjść, ale również moduły komunikacyjne, a także interfejsy. Fakt ten stwarza dodatkowe możliwości przy projektowaniu rozbudowanych sieci komunikacyjnych.

Podstawą do budowania rozproszonych systemów opartych o Emerson RSTi-EP są interfejsy komunikacyjne. Wyspy te mogą występować w różnych standardach i protokołach komunikacyjnych, takich jak:

  • Profinet – EPXPNS001
  • EtherCat – EPXETC001
  • Profibus DP– EPXPBS001
  • Modbus TCP/IP – EPXMBE001

Interfejsy występują zatem w najpopularniejszych wariantach standardów i protokołów komunikacyjnych. Część z nich poznałeś/aś przy okazji CPE 100, oto pozostałe warianty:

  • EtherCat – tę komunikację charakteryzuje przede wszystkim brak pakietów danych. Komunikacja opiera się na telegramach, które składają się z datagramów przypisanych do poszczególnych zadań logicznych. Zadania logiczne z kolei przypisane są do konkretnych urządzeń podłączonych w sieci.
  • Profibus DP – jest to specjalna wersja protokołu komunikacyjnego Profibus przeznaczonego do komunikacji sterowników z modułami rozproszonych wejść/wyjść. W komunikacji tej sterownik w sposób ciągły odpytuje podłączone urządzenia o aktualny stan wyjść oraz wejść. Dzięki swojej prostej konstrukcji jest bardzo szybki i niezawodny, przez co znalazł szerokie zastosowanie w sieciach przemysłowych.

Współpraca CPE100 oraz RSTi-EP

Analizując powyższe, można łatwo wywnioskować jakich protokołów użyć, aby skomunikować CPE100 i RSTi-EP ze sobą. Urządzenia te mogą ze sobą bezpośrednio współpracować w ramach sieci Profinet lub Modbus TCP/IP.

Skoro zostały już przedstawione ważne informacje teoretyczne na temat możliwości komunikacyjnych RSTi-EP oraz CPE100, przejdźmy do części bardziej praktycznej.

Dowiesz się, jak fizycznie skonfigurować te urządzenia, aby mogły ze sobą współpracować. Najbardziej rozpowszechnionym sposobem komunikacji RSTi-EP oraz CPE100 jest komunikacja Profinet, dlatego też poznasz ją dokładniej.

Konfiguracja komunikacji w programie Machine Edition

Uruchom program PAC Machine Edition, otwórz pusty projekt, a następnie drzewko projektu dla jednostki CPE100.

W gałęzi Hardware Configuration, głównego drzewa konfiguracyjnego, otwórz kontroler i kliknij lewym przyciskiem myszy na port PROFINET.

Następnie przejdź do okna Inspector, w którym ustawisz Device Name, a także adres IP dla portu. Pamiętaj, że ten adres IP musi mieć wspólną podsieć wraz ze wszystkimi podłączonymi urządzeniami w ramach sieci Profinet. W tym przypadku pozostaw domyślną opcję.

Kolejno wróć do drzewka projektu i kliknij prawym przyciskiem myszy na porcie PROFINET, a następnie wybierz opcję Add IO-Device.

W wyniku powyższej akcji pojawi się okno PROFINET Device Catalog. Z listy wybierz konkretne urządzenie. W tym przypadku będzie to interfejs komunikacyjny Profinet RSTi-EPXPNS001.

Drzewko powinno rozbudować się o pozycję interfejsu PNS001. Kliknij lewym przyciskiem myszy.

Przejdź do okna inspektora i ustal Device Name, czyli nazwę urządzenia.  IP Address – automatycznie powinien ustawić się kolejny możliwy adres w podsieci portu profinetowego. Można zmienić ten adres, ale należy pamiętać, aby zachować tę samą podsieć.

Pamiętaj: Nazwa urządzenia oraz adres sieci są najważniejszymi elementami identyfikującymi urządzenie w sieci Profinet.

Ważne jest, aby pokrywały się one z nazwą i adresem fizycznie wgranym do urządzenia. Jeżeli dane te są nieznane, można skorzystać z funkcji Launch Discovery Tool, którą za chwilę omówimy.

Opcjonalnie można dodać opis urządzenia w Device Description.

Następnie wróć do głównego drzewka projektowego, kliknij prawym przyciskiem myszy na dodanym interfejsie komunikacyjnym PNS001 i z listy opcji wybierz Change Module List.

Po wybraniu Change Module Listzobaczysz okno, w którym trzeba uzupełnić konfigurację całej wyspy profinetowej, a więc wszystkich modułów podłączonych do interfejsu. Ważne jest tutaj, aby zachować kolejność zgodną z fizycznym podłączeniem. W tym przypadku, do interfejsu podłączony jest najpierw moduł EP-125F, a następnie moduł EP-2214, co zostało odwzorowane w Module List.

Drzewko zostało zmodyfikowane. Teraz skonfiguruj dodane moduły, poprzez dwukrotne kliknięcie i przejście do głównego okna.

Teraz konfigurujesz moduł wejść, dlatego też w opcjach dostępne jest ustawienie adresu początkowego. W tym przykładzie, wejścia modułu będą zaczynać się od rejestru I113. Rejestr ten można zmienić w dowolny sposób.

Ostatnim etapem skonfigurowania komunikacji jest wgranie odpowiednich ustawień do interfejsu komunikacyjnego. Podłącz go bezpośrednio do komputera, na którym aktualnie programujesz. Użyj przewodu Ethernet.

Przejdź do głównego drzewka programowego i na porcie PROFINET kliknij prawym przyciskiem myszy, a następnie wybierz Launch Discovery Tool.

W polu Connection wskaż Ethernet, a pole LANustaw na kartę sieciową, do której podłączony jest interfejs. Kliknij Refresh Device List.

Po niedługim czasie oczekiwania, powinien pojawić się podłączony moduł PNS001. W tym przypadku jest to moduł rsti-ep-pns. Widać, że jego status jest niepoprawny. Wiąże się to z tym, że kontroler nie ma jeszcze wgranej informacji na temat sterownika. Należy dostosować wyszukane urządzenie do tworzonego programu.

Kliknij zatem na urządzenie, następnie wybierz Edit Device i ustaw nazwę, a także adres IP taki, jaki został zdefiniowany w programie w etapie wcześniejszym. Wprowadzone dane zatwierdź odpowiednim przyciskiem – Set.

Po wgraniu konfiguracji do interfejsu, może zostać on odłączony od komputera.

Wgraj program do sterownika. Po chwili komunikacja pomiędzy sterownikiem a modułem komunikacyjnym powinna zostać nawiązana, jeżeli projekt zostanie wgrany poprawnie, a do sieci zostanie podłączone zdeklarowane wcześniej urządzenie.

Rozszerzenie portów szeregowych CPE100 przy pomocy RSTi-EP

Współpraca jednostki CPE100 z modułami RSTi-EP nie ogranicza się jedynie do komunikacji w ramach rozproszonych systemów wejść/wyjść. Można ją również wykorzystać, aby zwiększyć ilość portów szeregowych, przy pomocy których jednostka CPE100 może komunikować się z pozostałymi urządzeniami.

Tę funkcjonalność można uzyskać za pomocą specjalnego modułu portu szeregowego EP-5261. Dowiesz się, w jaki sposób stworzyć projekt, aby rozszerzyć jednostkę CPE100 o kolejne porty szeregowe.

Interfejs profinetowy posłuży jako baza, na której skonfigurujesz dwukanałową komunikację RS-485.

Konfiguracja dwukanałowej komunikacji RS-485

Na początku utwórz pusty projekt. Dodaj w nim drzewko projektowe CPE100. Konfiguracja komunikacji jest analogiczna do opisanej powyżej. Postępuj tak samo, aż do momentu kliknięcia Change Module List.

Z listy modułów wybierz moduł EP-5261.

Następnie kliknij na dodany moduł i zweryfikuj obszary pamięci, które zostały mu przypisane. W tym miejscu można je zmienić.

Następnie przejdź do zakładki General Parameters i skonfiguruj parametry komunikacji. Parametry te oczywiście muszą się zgadzać z parametrami komunikacyjnymi jednostki, z którą chcesz nawiązać połączenie przez port szeregowy. W tym miejscu możesz też wybrać standard komunikacji – w tym przypadku jest to RS485.

Teraz zadbaj o odpowiednie podłączenie urządzenia, z którym chcesz nawiązać komunikacje, według schematu z dokumentacji.  Jak widać na poniższym schemacie, jednostka obsługuje trzy standardy komunikacji: RS232, RS485 oraz RS422. Ważne jest, aby podłączyć odpowiednio przewody sygnałowe zgodnie z interesującym Cię standardem.

Następnie wykonaj weryfikację nazwy oraz adresu urządzenia przy pomocy narzędzia Launch Discovery Tool. Procedura to została opisana w rozdziale powyżej.

Po skonfigurowaniu komunikacji, należy dodać odpowiednie struktury do projektu. Umożliwią one wykorzystanie portu RS485. Zewnętrzny port szeregowy nie jest obsługiwany jak klasyczny port wbudowany w urządzenie – nie ma zakładki konfigurującej w drzewku projektu. Dlatego też trzeba napisać program, który będzie ten port obsługiwał.

Przejdź do menu Toolchest i z drzewka wybierz RSTi-EP Serial Comm blocks.

Następnie, poprzez przeciągnięcie i upuszczenie, dodaj do drzewa projektowego struktury UDT, EP5261_Data, MBM_Data.

Następnie dodaj bloki funkcyjne FB_MBM_RTU_MASTER, FB_RSTI_EP_5261, ModbusMaster_CoilMax.

W przypadku pojawienia się komunikatu, potwierdź przyciskiem OK.

W wyniku tych działań, drzewko projektowe powinno wyglądać tak jak poniżej. Bloki funkcyjne, jak i struktury są niezbędne dla stworzenia programu obsługującego zewnętrzny port szeregowy, gdyż modyfikują projekt o dodatkowe bloki funkcyjne i ich obsługę.

Przejdź teraz do bloku _MAIN. Wywołaj w nim blok FB MBM RTU MASTER.

Kolejno zdefiniuj wejścia i wyjścia wywołanego bloku.

Poniżej opis poszczególnych zmiennych bloku funkcyjnego.

WEJŚCIA:

  • xEnable – aktywuje działanie bloku; w trakcie normalnej pracy do wejścia podaj wartość 1. W przypadku wystąpienia błędu w komunikacji przypisz do wejścia wartość 0, a następnie ponownie 1 – w celu restartu działania bloku i wykasowania błędu,
  • uiMODSlaveAdr – określa ID urządzania Slave,
  • uiMODfc – określa numer funkcji Modbus, która zostanie wykonana,
  • uiMODdatOff – określa offset w pamięci urządzenia docelowego, na którym zostanie wykonana funkcja Modbus,
  • uiMODdatNr – liczba rejestrów przysyłanych w ramach wybranej funkcji,
  • uiMODTimeOut – czas TimeOut (przekroczenia czasu oczekiwania) definiowany w sekundach,
  • xModfcStrobe – wyzwolenie wykonania funkcji; wejście działa na zbocze z 0 na 1,
  • warModRegister – tablica 120 rejestrów stanowiących dane wejściowe / wyjściowe w ramach realizowanej funkcji Modbus,
  • xarModCoil – tablica 512 bitów stanowiących dane wejściowe / wyjściowe w ramach realizowanej funkcji Modbus,
  • InputAdrEP5261 – adres początku obszaru pamięci (Input Data) przydzielonego dla modułu EP-5261. Na wejściu należy zdefiniować zmienną, która odnosi się do obszaru pamięci identycznego jak moduł interfejsu szeregowego np. zmienną o adresie %AI0001 OutputAdrEP5261 – adres początku obszaru pamięci (Output Data) przydzielonego dla modułu EP-5261. Na wejściu zdefiniuj zmienną, która odnosi się do obszaru pamięci identycznego jak moduł interfejsu szeregowego np. zmienną o adresie %AQ0001.

WYJŚCIA:

  • xMBMasterFirstCycle – blok wystawia wartość 1 po pierwszym cyklu wykonania bloku,
  • xComPortActive – status portu COM,
  • xMODtransActive – wystawia 1 w trakcie transmisji danych,
  • xMODtransOk – potwierdzenie wykonania polecenia,
  • uiMODSlaveAdrDone – adres (ID) slave w ostatnim poleceniu,
  • uiModfcDone – nr ostatnio wykonanej funkcji Modbus,
  • uiMODdatNrDone – liczba rejestrów ostatnio wykonanej funkcji,
  • uiMODfailCode – kod błędu wykonanej funkcji.

Tak więc, aby dla przykładu wywołać 16 funkcję Modbus, a więc zapis rejestrów, zdefiniuj wejścia w następujący sposób:

Natomiast wyjścia:

Tak przygotowany projekt programu wgraj do sterownika. W celu wykonania polecenia Modbus, ustaw wartość zmiennej xZalacz na 1. W kolejnym kroku ustaw zmienną xWykonaj na 1.

Teraz moduł EP-5261 powinien wysłać polecenie na porcie szeregowym, w wyniku którego zostanie zapisane 8 kolejnych rejestrów urządzenia podłączonego do portu. Jeżeli wszystko przebiegnie pomyślnie, na wyjściu xMODtransOk powinna pojawić się logiczna jedynka, a kod błędu na wyjściu uiMODfailCode powinien wynosić 0.

Podsumowując powyższe informacje, jednostka centralna CPE100 oraz moduły RSTi-EP dają efekt synergii działając elastycznie nie tylko wspólnie, ale również osobno, komunikując się z różnymi urządzeniami w sieci (RSTi-EP) lub tą siecią zarządzając (CPE100).

Umiejętne zarządzanie możliwościami tych urządzeń umożliwi nawiązanie rozbudowanej komunikacji bez użycia konwerterów, która narażają sieć na utratę pakietów danych.



Czy ten artykuł był dla Ciebie przydatny?

Średnia ocena artykułu: 5 / 5. Ilość ocen: 7

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *