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
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…”.
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ć.
Sprawdź ofertę paneli operatorskich Astraada HMI w sklepie internetowym firmy ASTOR.
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