Komunikacja EtherCAT – konfiguracja i przykładowa aplikacja
Kurs programowania w Codesys odc. 12
Kontakt w sprawie artykułu: Mateusz Pytel - 2022-12-13

Z tego artykułu dowiesz się:
- jak dodać obsługę EtherCAT do środowiska Codesys,
- jak skonfigurować komunikację krok po kroku.
Zapraszamy na kolejny odcinek naszego kursu. Będzie on poświęcony komunikacji za pomocą protokołu EtherCAT w środowisku Codesys.
Kurs programowania w Codesys
Część I – Podstawowe funkcjonalności środowiska Codesys
1. Pierwsze kroki w Codesys. Jak stworzyć program?2. Pierwsze podłączenie i przygotowanie Codesys do pracy ze sterownikiem PLC.
3. Język drabinkowy (LD).
4. Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia.
5. Język schematów blokowych (FBD).
6. Tworzenie podstawowej wizualizacji HMI.
7. Język strukturalny (ST).
8. Diagnostyka w Codesys – jak sprawdzać działanie oprogramowania i sterownika?
9. Język bloków funkcyjnych (CFC).
10. Funkcja, blok funkcyjny, program – zmodyfikuj program w Codesys dla lepszej funkcjonalności.
Część II – Zaawansowane funkcje i możliwości środowiska Codesys
11. Komunikacja MQTT – jak skonfigurować w Codesys?12. Komunikacja EtherCAT – konfiguracja i przykładowa aplikacja.
13. Softmotion – synchronizacja serwonapędów przy pomocy sterownika PLC.
14. Komunikacja Modbus RTU i TCP/IP w środowisku Codesys.
15. Tworzenie projektów w Codesys ze sterownikami bezpieczeństwa Safety: architektura systemu bezpieczeństwa.
16. Programowanie sterownika bezpieczeństwa w Codesys.
17. Integracja sterownika PLC z systemem SCADA w Codesys.
18. Konfiguracja maszyny CNC z wykorzystaniem sterownika PLC – obsługa G-Code.
Dodatkowe materiały i lekcje dla kursantów:
1. Jak stworzyć wirtualny serwonapęd w Codesys? Instrukcja krok po kroku.2. Przykładowa aplikacja Codesys w języku ST i LD: napełnianie i opróżnianie zbiorników wraz z alarmowaniem.
Najczęściej zadawane pytania:
Sprawdź odpowiedzi na najczęściej zadawane pytania dotyczące środowiska Codesys.Czym jest EtherCAT?
EtherCAT jest to nowoczesny protokół sieciowy, przeznaczony do komunikacji między urządzeniami w aplikacjach przemysłowych. Dzięki niemu możemy przekazywać informacje do poszczególnych urządzeń za pomocą kart sieciowych i okablowania. EtherCAT działa w architekturze master-slave – jedno z urządzeń jest nadrzędne i zarządza pracą jednego lub wielu urządzeń podrzędnych.
W odróżnieniu od klasycznych protokołów ethernetowych EtherCAT działa w architekturze master-slave – jedno z urządzeń jest nadrzędne i zarządza pracą jednego lub wielu urządzeń podrzędnych. Dane przesyłane są do wielu urządzeń jednocześnie – informacja odbierana jest przez wszystkie urządzenia w sieci, gdzie każdy z nich najpierw sprawdza czy znajdują się w nim dane bezpośrednio dla niego.

Jeżeli chcesz dowiedzieć się więcej o protokole EtherCAT, warto przeczytać artykuł Dlaczego w sieciach przemysłowych EtherCAT jest lepszy niż klasyczny Ethernet?

Dodawanie biblioteki do obsługi serwonapędów w środowisku Codesys
Konfigurację połączenia należy rozpocząć od dodania biblioteki do obsługi serwonapędu. Utwórz nowy projekt w środowisku Codesys, dodaj do niego swój sterownik i wybierz język, w którym chcesz programować. Po utworzeniu nowego projektu, przejdź do dodania biblioteki. W tym celu wybierz opcję Tools na górnym pasku, a następnie wybierz Device Repository.

Otworzy się okno Device Repository. W tym oknie zainstalujesz bibliotekę. Naciśnij przycisk Install po prawej stronie okna, odszukaj plik o rozszerzeniu .xml i potwierdź instalację.

Po instalacji urządzenie powinno wyświetlić w drzewie dialogowym okna. Zamknij okno i przejdź do następnego kroku.
Uaktywnienie protokołu EtherCAT
Kolejnym krokiem będzie uaktywnienie protokołu EtherCAT w Codesys. Aby to zrobić, należy dodać urządzenie nadrzędne do projektu. Kliknij prawem przyciskiem myszy na urządzenie w drzewku po lewej stronie i wybierz opcję Add Device.

Ukaże się okno, w którym dodasz urządzenie Master. W drzewku rozwiń rodzaj Fieldbuses, następnie rozwiń Ethercat oraz Master i wybierz urządzenie EtherCAT Master.

W ten sposób dodałeś/łaś urządzenie typu Master do twojego projektu. Następnie dodaj urządzenie Slave do projektu. Nie zamykając poprzednio otworzonego okna dialogowego, kliknij na nowododane urządzenie Master, znajdujące się w drzewku projektu. Okno dialogowe zmieni swoją zawartość, ograniczając się tylko do urządzeń Slave EtherCAT. Rozwiń kategorie w drzewku i odszukaj urządzenie Slave współgrające z twoim urządzeniem Master.

W ten sposób dodałeś/łaś wszystkie urządzenia, potrzebne do poprawnej komunikacji poprzez EtherCAT.
Zmiana ustawień protokołu EtherCAT w Codesys
Skoro wiesz już, jak dodać protokół EtherCAT do projektu, możesz przejść do ustawień komunikacji sterownika z urządzeniem z poziomu środowiska Codesys. Najpierw sprawdź, czy sterownik jest poprawnie połączony z Codesys. Jeśli tak, przejdź do ustawień urządzenia Master. Kliknij na urządzenie EtherCAT_Master znajdujące się w drzewku projektu. Wyświetlą się opcje ustawień urządzenia, podzielone na kilka zakładek. Wybierz zakładkę General. W niej określ port, który zostanie zdefiniowany jako urządzenie Master
Przed definicją portu, sprawdź czy jest on aktywny. Możesz to sprawdzić z poziomu przeglądarki, wpisując w nią adres 169.254.255.xx, gdzie xx to ostatnie dwie cyfry numeru seryjnego sterownika i wybierając opcję Configuration > Network.
Jeśli wybrany port działa w trybie EtherCAT, przejdź do Codesys, wciśnij przycisk Browse i wybierz ten sam port.

W efekcie, w polu Source Address (MAC) zostanie wyświetlony adres MAC wybranego portu.
Dodatkowo w tej samej zakładce rozwiń pasek Options i zaznacz opcję Automatic restart slaves. Opcja ta pozwoli na samoczynne ponowienie próby komunikacji z serwonapędem w przypadku chwilowego niepowodzenia (np. rozłączenia na moment kabla komunikacyjnego EtherCAT).

Następnie przejdź do opcji urządzenia Slave. Wybierz to urządzenie w drzewku projektu, klikając na nie dwukrotnie. W zakładce General zaznacz opcję Enable Expert Settings i odznacz Check Product ID.

Po dołączeniu obu urządzeń do sieci EtherCAT, zaprogramowaniu sterownika, uruchomieniu programu oraz skonfigurowaniu serwonapędu do komunikacji w sieci EtherCAT, sprawdź status komunikacji. Poprawna komunikacja z serwonapędem za pośrednictwem sieci EtherCAT będzie sygnalizowana następującymi ikonami:

Komunikacja z innymi urządzeniami za pomocą EtherCAT
W tej części artykułu zobaczysz różnicę w parametrach dostępnych po podłączeniu różnych urządzeń z wykorzystaniem komunikacji EtherCAT. Każde urządzenie dodaje się tak, jak zostało to pokazane powyżej. Dla każdego wymienionego w tym artykule urządzenia dostępny jest informator, dzięki któremu dowiesz się dokładnie, jak skonfigurować połączenie ze sterownikiem Astraada One oraz jak dodawać nowe parametry itp.
Dodawanie modułu wejść i wyjść z pomocą EtherCAT
Aby dodać wejścia i wyjścia fizyczne sterownika Astraada ONE, należy zainstalować biblioteki modułów I/O.
Znajdują się one na stronie wsparcia technicznego ASTOR.
Należy pobrać dwa pliki:
- Plik XML dla modułów IO sterownika EC2000 – komunikacja EtherCAT
- Plik XML dla modułów ECC DIO oraz ECC AIO – komunikacja EtherCAT
Z menu wybierz opcję Tools, a następnie Device Repository, a następnie kliknij opcję Install z okna dialogowego i wybierz pliki, które pobrałeś/łaś. Po instalacji należy dodać urządzenie EtherCAT Master. Do środka urządzenia master dodasz wbudowany Buscoupler, który pozwoli dodać wejścia oraz wyjścia. Aby to zrobić, wybierz urządzenie EtherCAT Master w drzewku projektowym, naciśnij na niego prawym przyciskiem myszy i wybierz opcje Add Device. W oknie dialogowym wyszukaj urządzenie „onboard Buscoupler” i dodaj go do projektu jako urządzenie Slave.

Dodanie Buscouplera pozwoli na dodanie do projektu wejść i wyjść dodawanych bezpośrednio do CPU. Aby je dodać, należy wybrać Buscoupler w drzewku projektowym, nacisnąć prawy przycisk myszy i wybrać opcję Add Device. W oknie dialogowym odszukaj twój model modułu, wykorzystując numer katalogowy i dodaj go do projektu.

Domyślna lista parametrów modułu dodawanych do CPU wygląda następująco:

Dla każdego bitu możesz przydzielić nazwę, której można będzie używać w projekcie.
Moduły I/O mogą być także podłączane z użyciem Bus Extender. Dodajemy go jako urządzenie Slave, analogicznie do modułów dodawanych bezpośrednio.

Po dodaniu BusExtendera nie pozostaje Ci nic innego niż dodanie dodatkowego modułu I/O. Kliknij sekcję Out w Extenderze i – analogicznie do poprzednio wymienionych przykładów – dodaj moduł I/O zgodny z numerem katalogowym.

Domyślna lista parametrów dla modułu I/O podłączonych poprzez BusExtender wygląda następująco:

Wyjścia i wejścia są podzielone na dwie 8-bitowe grupy. Dla każdego bitu możesz przydzielić nazwę, której można będzie używać w projekcie.
Komunikacja z serwonapędem Astraada SRV z wykorzystaniem EtherCAT
Proces tworzenia komunikacji z serwonapędem został wykorzystany jako przykład we wcześniejszej części odcinka. Po poprawnej próbie komunikacji w zakładce EtherCAT I/O Mapping ukażą Ci się takie domyślne parametry:

Szczegółowe informacje znajdziesz w informatorze technicznym „Sterowanie serwonapędem Astraada SRV ze sterownika Astraada One za pośrednictwem sieci EtherCAT”.
Komunikacja z modułem RSTi-EP z wykorzystaniem EtherCAT
Komunikacja EtherCAT posłuży Ci także do skonfigurowania połączenia z wyspą wejść/wyjść, niezależnie od producenta. W tym przypadku wykorzystany został sterownik PLC Astraada ONE oraz moduł I/0 Emerson PACSystems RSTi-EP, a domyślna lista parametrów wygląda następująco:

Szczegółowe informacje znajdziesz w informatorze technicznym „Komunikacja sterownika Astraada One z modułami RSTi-EP w sieci EtherCAT”.
Połączenie sterownika PLC z przemiennikiem częstotliwości Astraada DRV-28A za pomocą karty EtherCAT
Proces tworzenia komunikacji z przemiennikiem częstotliwości jest taki sam, jak w przypadku dodawania serwonapędu. Po poprawnej próbie komunikacji w zakładce EtherCAT I/O Mapping ukażą Ci się takie domyślne parametry:

Autor artykułu: Mateusz Steczkowski
Szczegółowe informacje znajdziesz w informatorze technicznym „Bloki funkcyjne, które pozwalają na odczyt i zapis parametrów z falownika przez komunikację EtherCAT”, dostępnym na stronach wsparcia technicznego ASTOR.
Bardzo przydatny artykuł