Komunikacja z wyspą Astraada IO IP67 z wykorzystaniem protokołu EtherCAT
Kurs konfiguracji komunikacji oddalonych modułów Astraada IO IP67, odc. 2
Kontakt w sprawie artykułu: Jakub Gałąska - 2025-08-29

W tym odcinku przedstawiona zostanie konfiguracja komunikacji z wykorzystaniem protokołu EtherCAT. Jest to domyślny sposób komunikacji wykorzystywany w produktach marki Astraada. Dzięki temu konfiguracja przebiega szybko i bezproblemowo, bez konieczności użycia dodatkowych aplikacji.
Kurs konfiguracji komunikacji oddalonych modułów Astraada IO IP67
1. Zdalne moduły I/O – wprowadzenie2. Komunikacja z wyspą Astraada IO IP67 z wykorzystaniem protokołu EtherCAT
3. Komunikacja z wyspą Astraada IO IP67 z wykorzystaniem protokołu Modbus TCP/IP
4. Komunikacja z wyspą Astraada IO IP67 z wykorzystaniem protokołu Modbus Profinet
5. Komunikacja z wyspą Astraada IO IP67 z wykorzystaniem protokołu Modbus EtherNet/IP
Pierwszym krokiem jest zaimportowanie pliku deskrypcyjnego modułu do środowiska Codesys. Odpowiedni plik można pobrać bezpłatnie na stronie wsparcia technicznego firmy ASTOR.
W odcinku wykorzystano sterownik DC2004 (firmware 1.28.4), wyspę Astraada IO AS70-R-EC-08DIO-P-M12 oraz oprogramowanie Codesys V3.5 SP19 Patch 3.
Po rozpakowaniu pobranego pliku należy go zaimportować do oprogramowania narzędziowego Codesys. W tym celu otwieramy zakładkę Tools -> Device Repository…, a następnie naciskamy przycisk Install…

W eksploratorze plików należy wskazać ścieżkę do wcześniej pobranego pliku .XML i kliknąć Otwórz. Od momentu zakończenia instalacji istnieje możliwość dodania urządzenia do projektu.

Konfiguracja komunikacji w Codesys
Moduł Astraada IO IP67 w wersji EtherCAT nie wymaga żadnej konfiguracji przed podłączeniem do sterownika. Warto jednak upewnić się przed rozpoczęciem pracy w webserwerze, że jedna z kart sieciowych jest skonfigurowana do pracy w trybie EtherCAT Master.
W tym celu, w przeglądarce internetowej należy wpisać adres IP sterownika, zalogować się (fabryczny login: admin, hasło: admin lub w przypadku nowszych modeli hasło znaleźć można na tabliczce znamionowej urządzenia), a następnie przejść do zakładki Network. Przykładowo można ustawić tryb pracy EtherCAT na karcie ETH1. Po zapisaniu zmian i restarcie sterownika można przejść dalej.

W docelowym projekcie przechodzimy do Device -> Communication Settings i określamy ścieżkę komunikacji ze sterownikiem, podając jego adres IP. Przy ikonie sterownika powinna pojawić się zielona kropka – potwierdzenie poprawnego połączenia.

W drzewku projektowym kliknięcie prawym przyciskiem myszy na Device umożliwia dodanie nowego urządzenia poprzez opcję Add Device… Z listy wybieramy Fieldbuses -> EtherCAT -> Master -> EtherCAT Master.

W kolejnym kroku należy przejść do właściwości urządzenia EtherCAT Master i w zakładce General wybrać interfejs sieciowy, do którego zostanie podłączony moduł Astraada IO IP67 i który został uprzednio skonfigurowany w webserwerze sterownika – praca w trybie EtherCAT.
Dodatkowo w sekcji Options można zaznaczyć opcję automatycznego restartu komunikacji z modułami w przypadku jej utraty.

W tym miejscu możliwe jest dodanie docelowego modułu Astraada IO. Dostępne są dwie metody: manualna i automatyczna.
Dodawanie manualne
W drzewku projektowym należy kliknąć prawym przyciskiem myszy na EtherCAT Master i wybrać Add Device…. Z listy wybieramy Fieldbuses -> EtherCAT -> Slave -> AS70-R-EC-08DIO-P-M12.

Dodawanie automatyczne
Projekt należy wgrać do sterownika, a następnie się wylogować. W drzewku projektowym klikamy prawym przyciskiem myszy na EtherCAT Master i wybieramy Scan for devices… W otwartym oknie należy sprawdzić, czy moduł został wykryty, i skopiować go do projektu. Ta metoda jest szczególnie przydatna w przypadku większej liczby urządzeń w układzie.

Struktura przesyłanych danych
Istotnym elementem jest również opis struktury przesyłania danych między modułem I/O a sterownikiem. Jest to szczególnie przydatne przy potwierdzaniu wymiany danych oraz ich interpretacji.
Moduł Astraada IO IP67 wymienia łącznie 3 bajty danych: stan wyjść, stan wejść oraz status modułu. Pierwszy bajt jest wysyłany od sterownika do modułu, natomiast dwa pozostałe od modułu do sterownika.
Dodatkowo moduł wyposażony jest w wejścia adaptacyjne, które zawsze działają jako wejścia cyfrowe. W przypadku otrzymania rozkazu wystawienia wyjścia na danym pinie, wejścia te dodatkowo pełnią funkcję wyjść cyfrowych.
EtherCAT – dane wyjściowe | |||||||||
Nr. bajtu | Nazwa | Opis bitów | |||||||
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | ||
0 | Stan wyjść cyfrowych | Port 3 Pin 2 | Port 3 Pin 4 | Port 2 Pin 2 | Port 2 Pin 4 | Port 1 Pin 2 | Port 1 Pin 4 | Port 0 Pin 2 | Port 0 Pin 4 |
EtherCAT – dane wejściowe | |||||||||
Nr. bajtu | Nazwa | Opis bitów | |||||||
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | ||
0 | Stan wejść cyfrowych | Port 3 Pin 2 | Port 3 Pin 4 | Port 2 Pin 2 | Port 2 Pin 4 | Port 1 Pin 2 | Port 1 Pin 4 | Port 0 Pin 2 | Port 0 Pin 4 |
1 | Status modułu | Zbyt wysokie napięcie US | Zbyt wysokie napięcie UA | Zbyt wysoka temp. pracy | Zbyt niskie napięcie US | Zbyt niskie napięcie UA |
Aby przetestować wspominaną wcześniej możliwość potwierdzenia wymiany danych, we właściwościach modułu należy przejść do zakładki EtherCAT I/O Mapping i ustawić Always update variables na wartość Enabled 2 (always in bus cycle task). Dzięki temu w trybie online możliwe jest monitorowanie aktualnych wartości zmiennych.
Po podłączeniu czujników w bajcie danych wejściowych można zaobserwować poprawną wymianę danych.

Należy zwrócić uwagę na istotną cechę opisanych portów adaptacyjnych. Wystawienie stanu wysokiego, np. bitu 4 w kanale Standard Output (czyli rozkazanie modułowi używania pinu 4 na porcie 2 jako DO), zawsze powoduje ustawienie stanu wysokiego na odpowiadającym bicie w kanale Standard Input. Innymi słowy, wszystkie bity ustawione na stan wysoki w kanale Standard Output mają również stan wysoki w kanale Standard Input, natomiast odwrotna sytuacja nie zawsze występuje.

Takie zachowanie wynika z faktu, że pojawienie się napięcia wyjściowego na pinie jest jednocześnie odczytywane przez czujnik wejścia.
W następnym odcinku przedstawiona zostanie konfiguracja komunikacji z wykorzystaniem protokołu Modbus TCP/IP.