Komunikacja paneli Astraada HMI ze sterownikiem PLC Astraada One
Kontakt w sprawie artykułu: Mateusz Fas - 2022-11-23

Z tego artykułu dowiesz się:
- jak skonfigurować połączenie panelu Astraada HMI ze sterownikiem Astraada One,
- jak skonfigurować sterownik Astraada One do wymiany informacji za pośrednictwem protokołu Modbus TCP,
- jak powinna wyglądać prawidłowa konfiguracja po stronie panelu Astraada HMI.
Komunikację paneli Astraada HMI ze sterownikami Astraada One z wykorzystaniem sieci Ethernet i protokołu Modbus Device/Slave (TCP/IP) umożliwia driver komunikacyjny wbudowany w oprogramowanie narzędziowe Astraada HMI CFG. W celu uruchomienia komunikacji konieczna jest odpowiednia konfiguracja drivera po stronie panelu i sterownika. W niniejszym artykule pokażemy, jak to zrobić na przykładzie sterownika z serii DC2007 oraz panelu Astraada HMI z serii AS46.
Warto dodać, że dzięki komunikacji z panelami Astraada HMI przy odpowiednich ustawieniach możemy skorzystać z opcji zdalnego programowania sterowników, dzięki usłudze IDCS.
Więcej na ten temat przeczytasz w artykule Astraada HMI w chmurze. Zdalny dostęp do paneli operatorskich.
Komunikacja ze strony sterownika
Dodanie sieci Ethernet oraz protokołu Modbus
Po podstawowej konfiguracji sterownika w programie Codesys rozwijamy drzewo projektu znajdujące się po lewej stronie i klikamy prawym przyciskiem myszy na pole Device. Następnie wybieramy opcję Add Device…

Następnie z rodziny Fieldbuses rozwijamy Ethernet Adapter i wybieramy Ethernet. Klikamy przycisk Add Device. W ustawieniach urządzenia Ethernet należy wybrać odpowiedni interfejs sieciowy, można to jednak zrobić później, po skonfigurowaniu podrzędnych urządzeń.

W kolejnym kroku naciskamy prawym przyciskiem myszy na pierwsze pole pod wyżej dodanym urządzeniem i wybieramy opcję Add Device..

Następnie wybieramy protokół Modbus. Aby sterownik działał jako slave, musimy wybrać z rozwijanej listy ModbusTCP Slave Device. Całość zatwierdzamy przez przycisk Add Device.

Adresowanie zmiennych
Kolejnym krokiem do prawidłowej konfiguracji komunikacji jest mapowanie zmiennych w protokole Modbus. W tym celu klikamy dwukrotnie lewym przyciskiem myszy na właśnie dodany protokół, aby otworzyć jego ustawienia. Następnie wybieramy zakładkę Modbus TCP Slave Device I/O Mapping. Wybieramy kanał o nazwie Input Registers. Z niego wybieramy dowolny rejestr i przypisujemy do niego zmienną, którą chcemy obserwować na panelu.

Na potrzeby tego artykułu został stworzony przedstawiony poniżej prosty program zliczający impulsy.

Zmienną, którą będziemy obserwować na panelu, będzie zmienna CUR_VAL, przedstawiająca aktualną liczbę impulsów. W tym celu klikamy na pierwszy z rejestrów a następnie na przycisk z trzema kropkami. Rozwijamy zakładkę Application, następnie wybieramy PLC_PRG. Stąd wybieramy już zmienną CUR_VAL.

Żeby mieć możliwość podglądu zmiennych z poziomu zakładki mapowania okna właściwości urządzenia aplikacji musimy pamiętać o zmianie pola Always update variables na Enabled 2 (always in bus cycle task).

Program jest gotowy do wgrania na sterownik. Komunikacja została z tej strony poprawnie skonfigurowana.
Komunikacja ze strony panelu HMI
Dodanie nowego linku komunikacyjnego
Po podstawowej konfiguracji aplikacji na panel operatorski klikamy prawym przyciskiem na zakładkę Links w drzewie projektu i wybieramy opcję Add Link…

Po otwarciu okna konfiguracji nowego linku komunikacyjnego wybieramy jego typ jako Direct Link (Ethernet). Następnie w polach Device/Server wybieramy kolejno Astraada HMI oraz Modbus Device/Slave (TCP/IP). Możemy również zaznaczyć opcję Allow to be used by remote links through IDCS, aby umożliwić zdalne programowanie sterownika przez usługę IDCS.

Następnie przechodzimy do zakładki Parameter. Tutaj wpisujemy adres IP sterownika i zaznaczamy opcję Use Default Port. Musimy pamiętać o tym, że sterownik i panel muszą znajdować się w tej samej podsieci. W tym przypadku sterownik i panel już są w tej samej podsieci. W tej samej zakładce ustawiamy wartości Timeout Time oraz Retry Count na różne od zera. Wszystkie zmiany zatwierdzamy przyciskiem OK.

Odczytywanie zmiennych ze sterownika
W celu odczytania zmiennych ze sterownika dodajemy na ekran operatorski obiekt Numeric Display i przechodzimy do jego konfiguracji. W polu Monitor Address wybieramy link komunikacyjny z Astraadą One i wpisujemy wartość 30001.

Program jest gotowy do skompilowania i wgrania na panel. Komunikacja została poprawnie skonfigurowana.
Test w symulacji online
