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

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.


Zobacz zestaw startowy CPE100 + Profinet RSTi-EP!


Czy ten artykuł był dla Ciebie przydatny?

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

Ten artykuł nie był jeszcze oceniony.

Opublikuj

Twój adres email nie zostanie opublikowany.

Czytaj więcej