Artykuł z serii: WebHMI - SCADA bez limitów i licencji w jednym urządzeniu
Sterownik SCADA WebHMI wywołał spore zamieszanie. Po publikacji relacji z testów tego urządzenia dostaliśmy masę pytań o dostępność, dodatkowe funkcjonalności i prośby o potwierdzenie jego możliwości. Tak! Potwierdzamy! To urządzenie potrafi wszystko co zostało opisane i wiele wiele więcej! Cały czas testujemy WebHMI z różnymi sterownikami Siemens S7-300, S7-1200, S7-200, LOGO!8, EATON, WAGO, Mitsubishi Electric, czy klasycznego Modbus RTU lub Modbus TCP/IP. Ze wszystkimi opcjami nie mieliśmy żadnych problemów i konfiguracja poszła jak z płatka.
Wiem! Brzmi to niewiarygodnie, dlatego jako zespół iAutomatyka.pl postanowiliśmy zaprezentować Wam to na konkretnych przykładach. Zaczynamy od najprostszego, czyli jak zacząć pracę WebHMI ze sterownikiem Siemens LOGO!8. Więcej szczegółów uzyskacie natomiast od importera http://zestapro.pl
Poniższy film przedstawia krok po kroku od połączenia przez budowanie wizualizacji w WebHMI po sterowanie wyjściami LOGO!8 za pomocą WebHMI i smartfona! Miłego oglądania.
Jeśli zamiast filmu wolisz klasyczny artykuł, to poniżej przygotowaliśmy specjalnie dla Ciebie taką wersję. Trochę urozmaiconą ;).
Trzy kroki do pracy z WebHMI
Korzystanie ze sterownika WebHMI jest na tyle proste, że dla osoby posiadającej doświadczenie w pracy ze sterownikami PLC i wizualizacjami wystarczy ta prosta, trzypunktowa instrukcja. Po wpisaniu w przeglądarkę IP 192.168.1.1 wpisz login: admin i hasło: admin. I tyle…
- Krok 1
- Krok 2
- Krok 3
Jeśli masz jednak problemy z połączeniem z WebHMI przejdź do dokładnej instrukcji konfiguracji połączenia WebHMI z komputerem PC.
W dalszej części artykułu przedstawię krok po kroku jak połączyć się z urządzeniami oraz dokładnie opiszę gdzie i jakie parametry należy ustawić aby komunikacja była możliwa.
UWAGA!
Testowaliśmy połączenie z Logo!8 w wersji 6ED1 052-1FB00-0BA8. W nowszych modelach sterownika LOGO! pojawiają się problemy z komunikacją za pomocą protokołu S7. Należy wtedy wykorzystać protokół MODBUS TCP/IP, o którym piszemy tutaj.
Zmiana IP sterownika LOGO!8
Aby komunikacja pomiędzy WebHMI i LOGO!8 była możliwa to oba urządzenia muszą znajdować się w tej samej podsieci. Adres IP i maskę podsieci LOGO!8 najłatwiej sprawdzić za pomocą panelu na obudowie sterownika. Używamy przycisku ESC, przechodzimy do zakładki Network, a następnie IP Address.
Jeśli adres IP sterownika LOGO jest inny niż 192.168.1.xxx to należy go zmienić. Możliwe jest to na dwa sposoby:
SPOSÓB 1: Za pomocą panelu na obudowie sterownika. Jeśli sterownik jest w trybie STOP to będąc w zakładce IP Address możliwa jest zmiana adresu przy użyciu przycisków na sterowniku.
SPOSÓB 2: Za pomocą oprogramowania LOGO!Soft Comfort V8:
- Łączymy komputer przewodem ethernetowym bezpośrednio ze sterownikiem,
- zmieniamy adres IP karty sieciowej komputera na pasujący do podsieci sterownika (patrz rozdział „Rozpoczęcie pracy z urządzeniem” w tej instrukcji),
- w środowisku do programowania sterowników LOGO wybieramy z górnego menu zakładkę Tools → Transfer → Configure Network Address,
- wpisujemy aktualny adres IP sterownika, sprawdzamy dostępność sterownika (przycisk Test) i przechodzimy dalej (Przycisk OK),
- podajemy nowy adres IP i maskę podsieci i zapisujemy nowe ustawienia za pomocą przycisku Assign IP Address.
Programowanie sterownika LOGO!8
Mamy już ustalony odpowiedni adres IP sterownika. Teraz możemy połączyć sterownik do portu LAN WebHMI, a komputer połączyć z utworzoną siecią bezprzewodową. W oprogramowaniu LOGO!Soft Comfort V8 stwórzmy prosty program w którym stan flagi M1 steruje stanem dwóch wyjść sterownika (Q1 i Q2), a dodatkowo występuje opóźnienie zmiany wyjścia Q2 o 2 sekundy (opóźnienie zrealizowano za pomocą bloku TON). Gotowy program w języku FBD pokazano poniżej.
Stworzony program możemy już załadować do pamięci sterownika. W tym celu wybieramy z górnego menu Tools → Transfer → PC → LOGO! lub korzystamy ze skrótu klawiszowego Ctrl +D. W nowym oknie podajemy adres IP sterownika, potwierdzamy przyciskiem OK i ładujemy program.
Tworzenie połączenia i dodawanie rejestrów
Ostatnim krokiem, który musi zostać zrealizowany przed tworzeniem wizualizacji jest zdefiniowanie połączenia i zmiennych w ustawieniach WebHMI. Będąc w lokalnej sieci bezprzewodowej logujemy się na urządzeniu (adres: 192.168.1.1, login: admin, hasło: admin). Z menu po lewej stronie wybieramy Ustawienia → Zmienne. Używając przycisku Nowe Połączenie przechodzimy do formularza, w którym zdefiniujemy nowe połączenie pomiędzy WebHMI a sterownikiem LOGO.
W nowo otwartym oknie musimy wypełnić między innymi następujące informacje:
- Nazwa – nazwa połączenia
- Model urządzenia – z listy dostępnych urządzeń wybieramy Siemens Simatic S7
- Protokół – wybieramy S7 Comm (TCP)
- Adres urządzenia – adres IP sterownika z którym chcemy się połączyć
- TSAP– wykorzystywany w protokole COTP (domyślnie 0301)
Zatwierdzamy tworzone połączenie i możemy dodawać nowe zmienne. Będąc w zakładce Ustawienia → Zmienne wybieramy przycisk Nowa zmienna. Definiując nową zmienną w zakładce Podstawowe informacje wybieramy połączenie, podajemy jego nazwę, adres, a w zakładce Wartość typ zmiennej. W przypadku sterowników LOGO!, przy komunikacji za pomocą protokołu S7 zmienne bitowe I, Q, M są „wpasowywane” do bajtów. Oznacza to, że zmienna M1 jest równoznaczna z zapisem M0.0 w protokole S7. Podobnie na przykład zmienna I9 w protokole S7 ma adres I1.0, a zmienna Q15 przyjmuje adres Q1.6. Dodatkowo obszar pamięci VM sterownika LOGO! jest dostępny w protokole S7 jako blok danych DB1. W tabeli poniżej przedstawiono adresy wszystkich obszarów pamięci sterownika LOGO!8.
Obszar pamięci | Adres VM od: | Adres VM do: | Długość | adres w protokole S7 |
I | 1024 | 1031 | 8 bajtów | I1= DB1.DBX1024.0 |
AI | 1032 | 1063 | 32 bajty | AI1=DB1.DBW1032 |
Q | 1064 | 1071 | 8 bajtów | Q1=DB1.DBX1064.0 |
AQ | 1072 | 1103 | 32 bajty | AQ1=DB1.DBW1072 |
M | 1104 | 1117 | 14 bajtów | M1=DB1.DBX1104.0 |
AM | 1118 | 1245 | 128 bajtów | AM1=DB1.DBW1118 |
NetI | 1246 | 1261 | 16 bajtów | NetI1=DB1.DBX1246.0 |
NetAI | 1262 | 1389 | 128 bajtów | NetAI1=DB1.DBW1262 |
NetQ | 1390 | 1405 | 16 bajtów | NetQ1=DB1.DBX1390.0 |
NetAQ | 1406 | 1469 | 64 bajtów | NetAQ1=DB1.DBW1406 |
W pamięci VM sterownika zapisywana jest także aktualna data i godzina:
Adres VM | Wartość | Długość | adres w protokole S7 |
985 | rok | 1 bajt | DB1.DBB985 |
986 | miesiąc | 1 bajt | DB1.DBB986 |
987 | dzień | 1 bajt | DB1.DBB987 |
988 | godzina | 1 bajt | DB1.DBB988 |
989 | minuta | 1 bajt | DB1.DBB989 |
990 | sekunda | 1 bajt | DB1.DBB990 |
Korzystając z powyższych informacji możemy dodać zmienne wykorzystywane w programie.
- Dodawanie nowej zmiennej
- Zakładka Wartość
Lista dodanych zmiennych wygląda następująco:
Ekran wizualizacji
Aby dodać nowy ekran wystarczy wybrać: Ustawienia → Pulpity → Dodaj pulpit. Podajemy nazwę ekranu, wymiary ekranu oraz kolory tła, tekstu i nagłówka strony.
Kończymy tworzenie pulpitu przyciskiem Dodaj. W celu edycji pulpitu wchodzimy do stworzonego ekranu przy użyciu przycisku Edytor wizualny (zaznaczony na zdjęciu poniżej).
W tym momencie mamy dostęp do przybornika elementów, z którego przeciągamy używane elementy na projektowany ekran wizualizacji. Dodajmy przycisk i dwa wskaźniki LED. Przycisk powiążmy ze zmienną M1, a LEDy z wyjściami sterownika Q1 i Q2. Po dwukrotnym kliknięciu na dodany przycisk wyświetli nam się okienko do dodania zmiennej i wybieramy wcześniej dodaną o nazwie Flaga_M1. Następnie w pasku Właściwości musimy ustalić jaką wartość przyjmie zmienna przy naciśnięciu, a jaką przy zwolnieniu przycisku.
- Wybór zmiennej
- Ustalenie wartości przycisku
Analogicznie postępujemy przy dodawaniu LEDów. Konieczna jest zmiana opcji Zmień właściwość na „przy określonej wartości zmiennej”. Po tym będziemy mogli dodać kolor jaki będą przyjmowały LEDy w stanie wysokim, a jakie w stanie niskim.
Kończymy edycję ekranu wizualizacji za pomocą przycisku Zapisz, a w celu zobaczenia działającej wizualizacji wybieramy Widok. Nie musisz wykonywać kompilacji, ani wgrywać programu do pamięci WebHMI. Działanie stworzonej wizualizacji pokazano poniżej.
BONUS – wyświetlanie i zmiana ustawień daty i godziny w LOGO!
Powyżej podałem tabele z adresami bajtów, w których sterownik LOGO! zapisuje aktualną datę i godzinę. Możemy te adresy wykorzystać aby w prosty sposób dodać wyświetlanie daty i godziny na ekranie wizualizacji z możliwością jej edycji. Dodajemy 6 nowych zmiennych (rok, miesiąc, dzień, godzina, minuta, sekunda) i podajemy ich adresy zgodnie z tabelą. Dla każdej zmiennej w zakładce Wartość wybieramy Typ danych jako Bajt. Listę dodanych zmiennych przedstawiono poniżej.
Teraz w ekranie wizualizacji dodajemy 6 Pól edycji. Do każdego elementu przypisujemy odpowiednią zmienną. Możemy dodać też kilka pól tekstowych do wyświetlania napisów oraz znaków pomiędzy wyświetlanymi wartościami. Jeszcze tylko chwila manipulacji z pozycjami oraz wymiarami okien (parametry X, Y, Szerokość, Wysokość) i gotowe. Możemy teraz na ekranie wizualizacji odczytywać aktualną datę i godzinę oraz edytować te wartości. Zmiana tych wartości natychmiastowo zmienia też datę i godzinę, która jest wyświetlana na wyświetlaczu sterownika LOGO!.
Podsumowanie
W artykule pokazałem jak rozpocząć komunikację pomiędzy sterownikiem LOGO!8 i WebHMI. Opisałem też w jaki sposób odwoływać się do adresów sterownika. Artykuł jest częścią kursu o WebHMI. Pozostałe artykuły i poradniki o tym urządzeniu możesz znaleźć na liście poniżej. Szukając więcej informacji o WebHMI możesz sprawdzić wikipedię producenta. W celu zakupienia sterownika odsyłamy do importera http://zestapro.pl