Strona główna ASTOR
Automatyka w praktyce

Komunikacja robota Astorino ze sterownikiem PLC w protokole Modbus TCP. Wizualizacja komunikacji na panelu HMI

Kontakt w sprawie artykułu: Kamila Jaworowska - 2025-08-08

Z tego artykułu dowiesz się:

  • jak skonfigurować panel operatorski Astraada HMI do komunikacji z robotem Astorino,
  • jak zaprojektować aplikację wizualizacyjną, wizualizującą komunikację na ekranie panela HMI.

W tym artykule kontynuujemy temat komunikacji robota Astorino ze sterownikiem PLC w protokole Modbus TCP. Tym razem będziemy wizualizowali komunikację, wykorzystując panel operatorski Astraada HMI.

Aby zaprogramować panel Astraada HMI, wymagane jest oprogramowanie Astraada HMI CFG. W tym artykule wykorzystaliśmy wersję 4.0.9.94. Będziemy konfigurować panel operatorski Astraada HMI, model AS46TF0707. Pozostałe urządzenia – sterownik PLC i robot Astorino – są takie same, jak w poprzednim artykule i w taki sam sposób skonfigurowane. Do sterownika PLC wgrany jest ten sam program.

Podłączenie i konfiguracja panela HMI

Na wstępie musimy podłączyć panel HMI za pomocą kabla Ethernet do sieci, w której znajduje się sterownik, a następnie ustawić adres IP panela na znajdujący się w tej samej podsieci, co sterownik, robot i komputer. W tym celu należy włączyć sterownik w trybie Maintenance, w następujący sposób:

Wyłączamy zasilanie panela, przytrzymujemy palcem prawy górny róg ekranu, a następnie włączamy zasilanie i trzymamy palec do momentu usłyszenia drugiego dźwięku dźwiękowego.

Usuwamy palec z ekranu HMI. Powinien wyświetlić się poniższy ekran:

Należy teraz wejść w opcję General.

W tym ekranie widoczny jest adres IP i maska podsieci. Klikając na te pola aktywna stanie się opcja zmiany tych parametrów.

Należy zmienić je tak, aby panel znajdował się w tej samej podsieci, co pozostałe urządzenia. Zmianę parametru zapisać można naciskając przycisk Ent na klawiaturze numerycznej służącej do ich wpisania.

Po wybraniu adresu IP i maski podsieci należy zapisać zmiany przez naciśnięcie przycisku OK w oknie General.

Następnie w głównym oknie trybu Maintenance należy kliknąć przycisk Run.

Modyfikacja programu PLC

Teraz należy zmodyfikować wcześniej napisany program. Aby móc przesyłać zmienne do panela, najpierw trzeba je utworzyć.

W tym celu należy w drzewie projektu wybrać PLC_PROG i kliknąć go dwukrotnie.

Następnie w polu zmiennych należy zadeklarować zmienne, które użyte będą później w celu przesłania zmiennych z bloków komunikacji do HMI.

Aby stworzyć nową zmienną, należy między słowami kluczowymi VAR i END_VAR wpisać odpowiednią frazę zgodnie ze wzorem:

nazwa_zmiennej:TYP_ZMIENNEJ:=wartość_zmiennej(opcjonalna);

Poniższy zrzut pokazuje wszystkie zadeklarowane zmienne:

Zmienne zaczynające się od „i” będą odpowiedzialne na przechowywanie zmiennych przychodzących z robota, natomiast te zaczynające się od „o” będą odpowiedzialne za zmienne wysyłane do robota.

Zmienne należy teraz odpowiednio przypisać w programie. Aby to zrobić, należy przeciągnąć z sekcji ToolBox, z zakładki Ladder Elements do nowej sieci programu element Contact.

Następnie należy do tej samej sieci dodać z tej samej zakładki element Coil.

Utworzoną właśnie sieć programu należy powielić tyle razy, ile zmiennych wymienianych jest w komunikacji robota z PLC. W naszym przypadku jest ich16. Aby przyspieszyć ten proces, całą sieć można skopiować i wkleić poniżej. W tym celu klikamy prawym przyciskiem na sieć i wybieramy przycisk Copy. Można również użyć skrótu klawiszowego CTRL+C po zaznaczeniu sieci.

Następnie klikamy pod siecią prawym przyciskiem myszy i wybieramy opcję Paste. Można również użyć skrótu klawiszowego CTRL+V.

Po utworzeniu w sumie 16 takich sieci, należy do poszczególnych elementów przypisać odpowiednie zmienne.

Sieci, które będą odpowiedzialne za zmienne odbierane, powinny w elemencie Contact mieć przypisany Input z funkcji odbierającej sygnały, a w elemencie Coil – zmienną utworzoną do przechowywania elementu.

Sieci które będą odpowiedzialne za zmienne wysyłane, powinny w elemencie Contact mieć zmienną utworzoną do wysyłki elementu do robota, a w elemencie CoilOutput funkcji używanej do wysyłania.

Poprawne przypisanie zmiennych jest kluczowe do poprawnego działania programu.

Poniżej przedstawiono gotowy program.

Po przygotowaniu programu należy utworzyć plik z linkami do zmiennych. Aby to zrobić, należy wybrać z drzewka projektu obiekt Application, kliknąć na niego prawym przyciskiem myszy i rozwinąć opcję Add Object. Z tego menu należy wybrać opcję Symbol Configuration.

Po wybraniu tej opcji otworzy się okno tworzenia elementu. Obiekt należy dodać przyciskiem Add.

Po otworzeniu nowego okna należy wcisnąć przycisk Build, aby zmienne pojawiły się w tej zakładce.

Po poprawnym zbudowaniu projektu należy rozwinąć pole PLC_PRG i wybrać interesujące nas zmienne. Interesują nas zmienne, które wcześniej utworzyliśmy: Wysyl oraz Odbior.

Kiedy wgramy program na sterownik opcją Login, w folderze projektu (domyślnie folder Dokumenty utworzony zostanie plik z linkami do zmiennych.

Projektowanie wizualizacji

Teraz należy włączyć oprogramowanie ASTRAADA HMI CFG i utworzyć nowy projekt.

Należy nazwać projekt, wybrać jego ścieżkę i zatwierdzić przyskiem Dalej.

W kolejnym oknie należy wybrać nazwę aplikacji i parametry HMI które jest wykorzystywane. Zatwierdzić przyciskiem Dalej.

W następnym oknie należy skonfigurować Link. Jest to połączenie między HMI a PLC. Należy wybrać poprawny typ komunikacji i odpowiedni typ urządzenia, z którym się łączymy. Zatwierdzamy przyciskiem Dalej.

W następnej karcie należy wpisać adres IP urządzenia, z którym panel będzie się komunikować. W naszym wypadku będzie to adres IP sterownika. Należy również ustawić parametry połączenia i zatwierdzić przyciskiem Zakończ.

Pojawiło się teraz okno wizualizacji oraz drzewo projektu.

Należy teraz wczytać do projektu zmienne uprzednio eksportowane z projektu w CODESYS. W tym celu należy rozwinąć AP_1 z drzewa projektu i dwukrotnie kliknąć w pole Tags.

Wyświetli się teraz okno ze zmiennymi zadeklarowanymi w pamięci panela, oraz tymi wymienianymi z użyciem komunikacji.

Aby zaimportować listę zmiennych ze sterownika, należy kliknąć prawym przyciskiem myszy na Link 1 i wybrać opcję Preview/Import Tags.

Otworzy się teraz eksplorator plików, w którym należy wybrać plik z linkami i zatwierdzić podwójnym kliknięciem w plik.

Po wybraniu pliku pojawi się następujący komunikat:

W naszym przypadku w programie nie ma żadnych zmiennych, więc możemy wybrać opcję pierwszą  i zatwierdzić przyciskiem Continue.

Wyświetli się teraz lista zaimportowanych zmiennych. Zatwierdzamy przyciskiem Import.

Okno Tag Table(AP_1) można wyłączyć.

Do wizualizacji należy wstawić teraz przyciski i lampki. Odpowiednie ikonki można znaleźć w górnej części okna programu.

Aby dodać element, należy kliknąć odpowiedni przycisk w pasku narzędziowym, a następnie kliknąć w odpowiednim miejscu na ekranie wizualizacji. Na poniższym obrazku po lewej stronie znajduje się przycisk, po prawej lampka.

Należy wstawić 10 przycisków i 8 lampek. Każda lampka będzie sygnalizować sygnał z robota. 8 przycisków będzie służyło jako bufor informacji wysyłanych do robota, 2 przyciski będą służyły do odbierania i wysyłania komunikatów z i do PLC.

Aby dodać opis do utworzonych pól, należy dodać obiekt Message Display do ekranu wizualizacji.

Klikając na niego podwójnie pokaże się okno parametrów obiektu.

Aby obiekt działał prawidłowo, należy ustawić Monitor Address. W tym celu trzeba kliknąć w ikonkę znacznika:

Otworzy się wtedy okno wyboru zmiennej.

W polu Link należy wybrać Internal Memory.

Należy kliknąć w przycisk New Tag, nazwać zmienną w polu Tag Name (w naszym przypadku będzie to nazwa pomoc) i przy polu Address kliknąć ikonkę trzech kropek.

W nowo otwartym oknie wybieramy opcję ENT i klikamy Add.

Utworzona została nowa zmienna w pamięci panela.

Należy teraz ją wybrać i zatwierdzić przyciskiem Select.

Każdą obiekt typu Message Display trzeba podpiąć pod tę zmienną.

Aby dodać tekst do obiektu, należy przejść do zakładki Text i wpisać w odpowiednim polu tekst, jaki ma wyświetlać obiekt, a następnie zatwierdzić przyciskiem OK.

Można teraz skopiować i wkleić obiekty opisujące do każdego przycisku oraz lampki, a następnie przypisać im odpowiedni tekst.

Teraz należy ustawić przyciski pod poprawny tryb pracy oraz przypisać zmienne obsługiwane przez lampy i przyciski.

Należy dwukrotnie kliknąć na przycisk, otworzy się wtedy okno parametrów obiektu.

Należy wybrać z zakładki Operation opcję Momentary ON i przypisać zmienną Wysyl do Write Address.

Zatwierdzamy przyciskiem OK.

W ten sposób należy podpiąć odpowiednie zmienne pod każdą lampkę i przycisk. Przyciski używane do ustawiania bufora wysyłamia informacji, jak i przycisk służący do odbioru informacji, powinny pracować w trybie Invert.

Przykład lampki podłączonej do odpowiedniej zmiennej:

Po ustawieniu wszystkich parametrów projekt należy zapisać (CTRL+S) i wgrać do panela. W tym celu wystarczy wcisnąć przycisk Download z górnej wstążki programu.

Pojawi się okno transferu, w którym należy wybrać typ połączenia i adres IP panela, a następnie zatwierdzić przyciskiem Start.

Po wgraniu projektu okno wizualizacji pokaże się na panelu. Klikając przycisk pod Odbierz, panel ciągle odbierać będzie sygnały z robota i niektóre lampki zmienią swój tekst na „ON”.

Aby wysłać komunikat do robota, należy kliknąć odpowiadający mu przycisk i nacisnąć przycisk pod Wyślij.

Działanie programu można sprawdzić w oprogramowaniu Astorino.

Włączamy aplikację Astorino i łączymy się z robotem.

 Wybieramy z prawej wstążki opcję System Settings.

W grupie Fieldbus Inputs i Fieldbus Outputs widoczne są sygnały docierające i wysyłane z i do Astorino.

Na poniższej ilustracji pokazana jest przykładowa komunikacja.

W grupie Fieldbus Inputs świeci się bit 9, bo z panela wysyłana jest komenda Motors On. W grupie Fielbus Outputs świecą się bity 10, 12, 14, 16 i 18, co oznacza, że na panelu lampki Repeat, Motor On, Ready i Hold wyświetlają stan ON. Pozostałe mają stan OFF.

Bit 18 pali się, ponieważ przypisany jest do niego sygnał dedykowany, ale nie jest on uwzględniony w komunikacji – odbieramy i wysyłamy tylko bajt 1 sygnałów Fieldbus, czyli bity 9-16.

Rozwiązywanie problemów

Jeżeli komunikacja z robotem nie przebiega pomyślnie, tzn. elementy ethernetowe w drzewku projektu nie posiadają obok zielonej ikony, a robot nie odbiera ani nie wysyła informacji, należy:

  • upewnić się że połączenie Ethernet między robotem, sterownikiem, komputerem i HMI jest podpięte poprawnie, należy również sprawdzić, czy w porcie świecą się światła,
  • upewnić się że zasilanie robota jest włączone,
  • zresetować robota,
  • zresetować sterownik,
  • upewnić się że sterownik, komputer, HMI i robot są w tej samej podsieci.

Autor artykułu:


Konrad Kamiński

Praktykant ASTOR

Student III roku kierunku Automatyka i robotyka na Politechnice Poznańskiej

Newsletter Poradnika Automatyka

Czytaj trendy i inspiracje, podstawy automatyki, automatykę w praktyce

Please wait...

Dziękujemy za zapis do newslettera!

Czy ten artykuł był dla Ciebie przydatny?

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

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *