Robot Astorino jako serwer Modbus TCP. Komunikacja z panelem operatorskim Astraada HMI
Kontakt w sprawie artykułu: Kamila Jaworowska - 2025-07-30

Z tego artykułu dowiesz się:
- jak skonfigurować robota edukacyjnego Astorino oraz panel operatorski Astraada HMI do komunikacji za pośrednictwem Modbus TCP,
- jak zaprojektować prostą aplikację dla panelu Astraada HMI, sterującą robotem Astorino.
W tym artykule opisujemy, w jaki sposób skonfigurować połączenie pomiędzy robotem edukacyjnym Astorino a panelem operatorskim Astraada HMI. Zaprojektujemy też prostą aplikację wizualizacyjną, odczytującą sygnały z robota oraz przesyłającą do niego polecenia.
Wykorzystywany sprzęt i oprogramowanie:
- robot edukacyjny Astorino (wymagana wersja B),
- panel operatorski Astraada HMI,
- Astraada HMI CFG 4.0,
- oprogramowanie astorino 1.9.7.
Pierwszym etapem jest ustalenie odpowiednich adresów IP.
Konfiguracja komputera
W systemie Windows 10 wchodzimy do ustawień systemowych i przechodzimy do Sieć i internet -> Stan sieci, gdzie wybieramy opcję Zmień opcje karty.

Klikamy prawym przyciskiem na połączeniu Ethernet, a następnie klikamy przycisk Właściwości.

W systemie Windows 11 wchodzimy do ustawień systemowych i przechodzimy do Sieć i internet -> Zaawansowane ustawienia sieci, gdzie klikamy na kartę Ethernet, a następnie naciskamy przycisk Edytuj.

We właściwościach połączenia ethernetowego odznaczamy Protokół internetowy w wersji 6, natomiast Protokół internetowy w wersji 4 powinien być zaznaczony.

Klikamy na Protokół internetowy w wersji 4, tak aby został podświetlony. Klikamy przycisk Właściwości.

Zaznaczamy Użyj następującego adresu IP i wpisujemy adres IP.

Zatwierdzamy przyciskiem OK.
Konfiguracja panelu Astraada HMI
W celu ustalenia nowego adresu IP na panelu HMI należy wykonać następujące kroki:
1. Wyłącz zasilanie panelu.
2. Przytrzymaj palcem prawy górny róg ekranu panelu.

3. Włącz zasilanie panelu, cały czas trzymając dotknięty ekran.

Panel po załączeniu zasilania wyda krótki sygnał dźwiękowy.
Po 5 s wystąpi kolejny sygnał dźwiękowy. Informuje on o wejściu w tryb serwisowy.

4. Teraz przechodzimy do zakładki General.

W celu zmiany adresu IP oraz maski podsieci należy kliknąć na odpowiednie pole:

Wpisujemy adres IP, po czym zatwierdzamy przyciskiem Ent.

Należy zatwierdzić przyciskiem OK, na głównym ekranie można wcisnąć przycisk RUN, aby uruchomić aplikację.
UWAGA! W momencie, gdy trzymamy palec w prawym górnym rogu panelu, ekran powinien być wyłączony. Jeżeli ekran zacznie się świecić na biało, oznacza to, że nie przeszedł w tryb serwisowy. Należy wyłączyć zasilanie i od początku postępować według wyżej opisanej procedury.

Konfiguracja robota Astorino (wersja B)
Domyślnym adresem IP w robocie Astorino jest 192.168.0.1. Adres można zmienić lub sprawdzić, uruchamiając aplikację astorino.
Należy połączyć się ze sterownikiem za pomocą przewodu USB i kliknąć w aplikacji przycisk Connect. Następnie przechodzimy do zakładki Sys. Set., w której znajdują się ustawienia systemu robota.

Wyszukujemy na pasku zakładkę Ethernet i wchodzimy w nią.
Ustawiamy parametry tak jak na zdjęciu poniżej.
Po wpisaniu odpowiednich masek i adresów klikamy przycisk Save.
Jeżeli wymagana była zmiana któregoś z adresów, po zapisie ustawień należy zresetować robota.

Włączenie sygnałów dedykowanych w robocie Astorino
Wchodzimy ponownie w zakładkę Sys. Set. i odszukujemy Dedicated IO.

Ustawiamy wyjścia oraz wejścia odpowiednich sygnałów dla protokołu Modbus TCP na wartości pokazane na ilustracjach poniżej. Po wprowadzeniu zmian należy zatwierdzić przyciskiem Set.
Adresy Modbus dla wejść:


Adresy Modbus dla wyjść:


Przygotowanie aplikacji dla panelu Astraada HMI
Kolejnym etapem jest konfiguracja panelu operatorskiego w środowisku Astraada HMI CFG 4.0 oraz zbudowanie prostej wizualizacji. Aplikacja będzie odczytywać z robota sygnał informujący, czy silniki są załączone (motors ON) oraz wysyłać polecenie MZH (Motors on, zeroing, homing), oznaczające załączenie silników, przeprowadzenie zerowania oraz ustawienie robota w pozycji HOME.
Otwieramy aplikację Astraada HMI CFG i tworzymy nowy projekt.

Wpisujemy nazwę projektu i klikamy Dalej.

Wybieramy domyślną nazwę drzewka aplikacji (Application Name) i ustawiamy parametry naszego panelu HMI.

Wybieramy domyślną nazwę połączenia (Link Name) i ustawiamy resztę parametrów jak poniżej.

Wpisujemy IP robota Astorino – w naszym przypadku jest to domyślny adres – i ustawiamy resztę jak poniżej.

Po kliknięciu zakończ powinien wyświetlić się taki ekran:

Rozwijamy drzewko projektu AP_1, a następnie przechodzimy do tabeli z etykietami.

Do połączenia Link 1 dodajemy dwie podgrupy, które będą odpowiadały za przetrzymywanie etykiet sygnałów wejściowych oraz wyjściowych.

Etykiety dla sygnałów wyjściowych:

Etykiety dla sygnałów wejściowych:

Zamykamy okno etykiet.
Przechodzimy do stworzenia przycisku, który będzie wysyłał komendę do robota Astorino. Wybieramy Bit Button, a następnie klikamy na obszar ekranu naszej aplikacji (Screen 1).

Klikamy na obszar przycisku dwukrotnie lewym przyciskiem myszy.

Ustawiamy tryb działania przycisku na monostabilny Momentary ON, następnie klikamy na symbol etykiety.

Wybieramy komendę xMZHCmd i klikamy Select.

Z górnego paska programu wybieramy pole tekstowe Message Display i umieszczamy na ekranie Screen 1.


Klikając dwukrotnie na pole tekstowe wchodzimy w ustawienia bloczku.

W celu stworzenia statycznego tekstu musimy stworzyć zmienną, która będzie go przechowywała. W przypadku tworzenia większej liczby pól tekstowych w obrębie tego samego ekranu wystarczy nam jedna zmienna.
Wchodzimy w symbol etykiety:

Ustawiamy zmienną na tryb pamięci wewnętrznej Internal Memory i wybieramy opcję New Tag.

Nadajemy nazwę zmiennej i klikamy symbol trzech kropek.

Wybieramy tryb alokowania pamięci i zatwierdzamy.

Końcowym krokiem jest dodanie zmiennej do programu.

Zaznaczamy zmienną i wybieramy ją przyciskiem Select.

Zaznaczamy opcję przezroczystego tła bloku i zmieniamy zakładkę na Text.

W pole tekstowe wpisujemy opis funkcji komendy.

Panel HMI na tym etapie jest w stanie wydać komendę MZH, czyli załączenie silników, zerowanie robota oraz ustawienie go w pozycji Home (domowa pozycja).
Nie mamy informacji zwrotnej na ekranie, czy robot zaczął wykonywać komendę.Możemy dodać prosty blok, który pełni funkcję sygnalizacyjną.
Z paska elementów wybieramy opcję Bit Lamp i umieszczamy na ekranie panelu (Screen 1).


Wchodzimy w ustawienia bloku, dwukrotnie klikając lewym przyciskiem myszy, a następnie wybieramy symbol etykiet.

Wybieramy tę samą komendę, którą ustawiliśmy w przycisku Bit Button.
Jest to komenda MZH. Następnie klikamy Select.

Do tego momentu zrealizowaliśmy wysyłanie komend z panelu HMI do robota oraz wyświetlenie stanu wciśnięcia przycisku za pomocą lampki.
Do wyświetlania wiadomości z robota dodamy kolejną lampkę, która będzie informować o załączeniu silników. Nazwa tej komendy to Motors On. Po wciśnięciu przycisku odpowiedzialnego za komendę MZH robot załączy silniki, a lampka powinna zasygnalizować ich odpalenie.
Umieszczamy na ekranie panelu lampkę (Bit Lamp) i wchodzimy w jej ustawienia.
Wchodzimy w symbol etykiet.

Wybieramy etykietę xMotorsOnCmd i zatwierdzamy Select.

Dodajemy pole tekstowe Message Display, ustawiamy przezroczystość bloku, wchodzimy w opcje etykiet.

Ustawiamy wcześniej utworzoną zmienną lokalną Tekst_1 i zatwierdzamy Select.

W zakładce Text wpisujemy Motors On i zatwierdzamy.

Tak przygotowany program można wgrać do panelu HMI.

Po wciśnięciu wgrywania programu pojawi się okno, w którym należy zaznaczyć, jakie typy danych chcemy pobrać na panel oraz w jaki sposób chcemy zrobić transfer.
Wybieramy wszystkie pliki oraz tryb przesyłu przez Ethernet i klikamy Start.

Aplikację można rozbudować o większą liczbę sygnałów na panelu HMI.
Przykładowy wygląd aplikacji używającej wszystkich skonfigurowanych przez nas sygnałów:

Autor artykułu: