Strona główna ASTOR
Automatyka w praktyce

Komunikacja paneli Astraada HMI ze sterownikami Siemens S7-1200

Kontakt w sprawie artykułu: Wojciech Talik - 2022-07-26

Z tego artykułu dowiesz się:

  • jak skonfigurować panel Astraada HMI oraz sterownik Siemens S7 do wymiany danych przez sieć Ethernet,
  • w jaki sposób adresować zmienne w sterowniku z poziomu panelu,
  • jak w panelu Astraada HMI obsługiwać własne typy danych i jak importować Data Blocki ze sterownika.

Panele operatorskie Astraada HMI zapewniają użytkownikom bogate możliwości komunikacyjne. Są wyposażone w szerokie spektrum portów komunikacyjnych, a ponad 400 dostępnych driverów komunikacyjnych umożliwia wymianę danych z niemal wszystkimi urządzeniami automatyki. W tym artykule opisujemy krok po kroku, jak skonfigurować połączenie panelu Astraada HMI ze sterownikami Siemens S7, z wykorzystaniem sieci Ethernet.

Komunikację paneli Astraada HMI ze sterownikami Siemens S7 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ć, a także jak adresować zmienne, importować własne typy danych i zmienne zorganizowane w Data Blockach.

Uwaga – akapity poświęcone importowaniu zmiennych w Data Blockach dotyczą tylko wersji oprogramowania Astraada HMI CFG 4.0.x.x

Konfiguracja sterownika

Po podstawowej konfiguracji sterownika w oprogramowaniu TIA Portal należy przejść do zakładki Properties – w kontekście określonego urządzenia. Następnie w zakładce Protection zaznaczamy opcję “Permit access with PUT/GET communication…”.

Po wykonaniu tych czynności, skompilowaniu programu i pobraniu aplikacji do sterownika możliwa będzie komunikacja ze sterownikiem z panelu Astraada HMI.

Konfiguracja połączenia w panelu operatorskim

W trakcie tworzenia nowego projektu na panel operatorski w oprogramowaniu Astraada HMI CFG należy skonfigurować odpowiedni dla urządzenia S7-1200 link komunikacyjny – w sposób przedstawiony poniżej. Jeśli nie zrobiono tego na etapie tworzenia projektu, można dodać nowy link, klikając prawym przyciskiem myszy na obiekcie Links w Project Managerze i wybierając Add Link…

W zakładce General należy wybrać typ linku Ethernet. W polach Device/Server wybieramy kolejno Siemens AG oraz SIMATIC S7-1200.

W zakładce Parameter należy wpisać adres IP sterownika i ustawić Timeout Time różny od zera.

Po zatwierdzeniu ustawień link zostanie skonfigurowany. Na tym kończy się etap podstawowej komunikacji urządzeń.

Adresowanie zmiennych

Teraz możemy już odczytywać i zapisywać zmienne w pamięci wewnętrznej sterownika. Dla przykładu utworzono w oprogramowaniu Astraada HMI CFG obiekt Numeric Entry, Bit Button i Bit Lamp. Obiekt Numeric Entry zaadresowano, wpisując adres zmiennej QW0 i typ danych 16-Bit Unsigned Integer.

Do obiektu Bit Button w analogiczny sposób przypisano adres Q0.0, a do obiektu Bit Lamp adres I0.0.

Adresowanie zmiennych w Data Blockach

W aplikacji przeznaczonej dla sterownika stworzonej w TIA Portal zdefiniowano dla przykładu nowy Data Block DB1 o nazwie Data_block_1.

Aby możliwy był odczyt i zapis zmiennych wewnątrz Data Blocków z poziomu panelu operatorskiego, podczas tworzenia nowego bloku należy odznaczyć opcję Symbolic access only.

Alternatywnie (w zależności od wersji oprogramowania) można też wejść w ustawienia Data Blocku i w zakładce Attributes odznaczyć opcję Optimized block access.

Dzięki temu po kompilacji zmiennym wewnątrz Data Blocków nadane zostaną odpowiednie offsety, co później umożliwi ich adresowanie.

Zmienne wewnątrz data blocków można w oprogramowaniu Astraada HMI CFG adresować „ręcznie”. Przykładowo chcąc wymieniać ze sterownikiem wartość zmiennej Var_3 ,należy użyć składni DB1.DBW824:

W nieco bardziej skomplikowanym przykładzie – chcąc odczytywać zmienną Some_real_2, będącą częścią struktury w ramach własnego typu danych, należy obliczyć offset dodając offsety kolejnych poziomów, czyli w tym przypadku offset struktury + offset zmiennej w ramach tej struktury: 264 + 258 = 522. Dodatkowo w tym przypadku odczytywana zmienna jest zmienną 32-bitową typu floating point, zatem w ustawieniach obiektu należy wybrać odpowiedni typ zmiennej:

Dodatkowo oprogramowanie Astraada HMI CFG w ramach opisywanego drivera wspiera dynamiczne adresowanie zmiennych w oparciu o Index registers. Przykładowo możliwe jest użycie poniższej adresacji:

DB[$I3].DBW100

DB[$I5+2].DBD[$I10+16]

DB[$I0+2].DBX[$I1].5

Obsługa własnych typów danych

Oprogramowanie Astraada HMI CFG w wersjach 4.0.x.x umożliwia import własnych typów danych tworzonych w oprogramowaniu TIA Portal. Dla przykładu utworzono nowy typ o nazwie Some_type_1.

Aby wyeksportować typ danych, należy kliknąć prawy przycisk myszy na nowym typie i wybrać opcję Generate source from blocks, a następnie zapisać w dowolnym miejscu na dysku komputera plik z rozszerzeniem .udt.

W oprogramowaniu Astraada HMI CFG należy otworzyć okno tagów, klikając dwukrotnie prawym przyciskiem myszy na obiekcie Tags w drzewie projektu. Następnie wybieramy z listy po lewej stronie link powiązany ze sterownikiem, klikamy prawym przyciskiem myszy na tym linku i wybieramy opcję Import Data Type…

Następnie po zaznaczeniu checkboxa w kolumnie Use należy wybrać odpowiedni plik z dysku i wybrać polecenie Convert.

Po tej operacji w części okna po prawej stronie powinna pojawić się kompletna lista zawierająca typ zmiennej. Całość należy zatwierdzić przyciskiem OK. Na liście w zakładce Data Type w ramach Tag Table powinny pojawić się zaimportowane typy danych.

Import Data Blocków

Po utworzeniu Data Blocku – zgodnie z wymienionymi wcześniej zaleceniami – należy skompilować projekt i wykonać operację Generate source from blocks. Wygenerowany zostanie w ten sposób plik z rozszerzeniem .db, który należy zapisać w dowolnym miejscu na dysku komputera.

W oprogramowaniu Astraada HMI CFG w oknie Tag Table należy po kliknięciu prawym przyciskiem myszy na odpowiednim linku komunikacyjnym wybrać opcję Preview/Import Tags…

Następnie należy zaznaczyć checkbox w kolumnie Use i wybrać wcześniej wygenerowany plik z rozszerzeniem .db dla Data Blocku z odpowiednim numerem.

Po zatwierdzeniu przyciskiem Import powinna pojawić się kompletna lista zmiennych. Należy kliknąć Import po raz drugi.

Zmienne zostały dodane do projektu, można już zamknąć okno Tag Table.

Od tego momentu w obiektach w Astraada HMI CFG można odwoływać się do nazw zmiennych. Obok pola do wpisywania adresu w ramach obiektów w oprogramowaniu znajduje się przycisk z etykietą:

Po jego użyciu pojawi się okno, w którym będzie można wybrać zmienną z listy, przykładowo chcąc odczytywać wartość z tablicy Some_array_1 o indeksie 2 w ramach zmiennej Var_1 wybrano:

Po skompilowaniu i wgraniu programów do urządzeń komunikacja zostanie nawiązana:

W razie pytań smiało możemy podpowiedzieć.

Czy ten artykuł był dla Ciebie przydatny?

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

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

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

2 odpowiedzi na “Komunikacja paneli Astraada HMI ze sterownikami Siemens S7-1200”

  1. Czy dla starszych wersji firmware S7-1200 3.X wszystko powinno działać tak samo czy można się spodziewać jakichś problemów?

Dodaj komentarz

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