Komunikacja paneli Astraada HMI ze sterownikami Siemens S7-1200
Kontakt w sprawie artykułu: Wojciech Talik - 2022-07-26
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image07.jpg)
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
Obsłudze importu zmiennych w starszych wersjach oprogramowania poświęcona jest osobna instrukcja dostępna w zakładce Wsparcie na stronie internetowej firmy ASTOR.
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…”.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image01-805x734.png)
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…
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image02.png)
W zakładce General należy wybrać typ linku Ethernet. W polach Device/Server wybieramy kolejno Siemens AG oraz SIMATIC S7-1200.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image03.png)
W zakładce Parameter należy wpisać adres IP sterownika i ustawić Timeout Time różny od zera.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image04.png)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image05.png)
Do obiektu Bit Button w analogiczny sposób przypisano adres Q0.0, a do obiektu Bit Lamp adres I0.0.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image06.png)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image07.jpg)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image08.png)
Dzięki temu po kompilacji zmiennym wewnątrz Data Blocków nadane zostaną odpowiednie offsety, co później umożliwi ich adresowanie.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image09-840x375.png)
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:
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image10.png)
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:
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image11.png)
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image12.png)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image13-840x373.png)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image14.png)
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…
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image15.png)
Następnie po zaznaczeniu checkboxa w kolumnie Use należy wybrać odpowiedni plik z dysku i wybrać polecenie Convert.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image16.png)
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.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image17.png)
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…
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image18.png)
Następnie należy zaznaczyć checkbox w kolumnie Use i wybrać wcześniej wygenerowany plik z rozszerzeniem .db dla Data Blocku z odpowiednim numerem.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image19-840x477.png)
Po zatwierdzeniu przyciskiem Import powinna pojawić się kompletna lista zmiennych. Należy kliknąć Import po raz drugi.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image20-840x563.png)
Zmienne zostały dodane do projektu, można już zamknąć okno Tag Table.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image21-840x401.png)
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ą:
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image22.png)
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:
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image23.png)
Po skompilowaniu i wgraniu programów do urządzeń komunikacja zostanie nawiązana:
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2022/07/image24-840x127.png)
W razie pytań smiało możemy podpowiedzieć.
![](https://www.astor.com.pl/poradnikautomatyka/wp-content/uploads/2023/05/Baner-Astraada-HMI-4.jpg)
Czy dla starszych wersji firmware S7-1200 3.X wszystko powinno działać tak samo czy można się spodziewać jakichś problemów?
Dzień dobry.
Na pewno nie testowaliśmy komunikacji we wszystkich wariantach jeśli chodzi o wersje firmware sterowników Siemensa, ale nie mam też żadnych informacji o tym, żeby w jakichś wersjach coś funkcjonowało w inny sposób. Może Pan przetestować komunikację na symulatorze, oprogramowanie jest darmowe i można je pobrać z tej strony:
https://www.astor.com.pl/wsparcie/dokumentacja-techniczna/id/9593
Poniżej przesyłam link do krótkiego informatora na temat symulatora:
https://www.astor.com.pl/wsparcie/dokumentacja-techniczna/zobacz/Astraada/Panele%20operatorskie/Astraada%20HMI%20Panel%20Economy/Symulacja-pracy-panelu-HMI-na-PC-testy-driver%C3%B3w