Miesiąc temu przestawiliśmy konstrukcję systemu automatycznego podlewania ogrodowego, wykonanego na sterowniku LOGO! 0BA8. Ma on wbudowany serwer HTTP, za którego pomocą można podglądać i modyfikować zmienne (w tym stany wejść i wyjść) wykorzystywane w programie, można monitorować informacje wyświetlane na pokładowym LCD sterownika, a także zdalnie sterować pracą LOGO!, korzystając ze zdalnego pulpitu. W artykule pokażemy jak krok-po-kroku przystosować program do komunikacji sieciowej, co jest dość proste, bowiem LOGO! zawiera wszystkie niezbędne do tego rozwiązania sprzętowe i programowe.
Dołączenie LOGO! do sieci wymaga wykonania kilku kroków przygotowawczych:
- Dołączamy LOGO! za pomocą kabla Ethernet do sieci lokalnej i ustanawiamy (np. z poziomu lokalnego menu LOGO!, wybierając kolejno Network>IP Address – fotografia 1) jego adres IP (na stałe, nie działa tu DHCP), maskę sieci i punkt dostępowy (w przykładzie są to: 192.168.0.155/255.255.255.000/192.168.0.1) – fotografia 2.
- Konieczne jest włączenie serwera HTTP, przy okazji czego można (w zasadzie: trzeba) ustalić własne hasło dostępowe. W tym celu wybieramy w menu programu LOGO! Soft Comfort opcję Tools>Transfer>Access Control (rysunek 3). W wyniku tej operacji wyświetla się okno Interface (rysunek 4), w którym podajemy (lub wybieramy z wcześniejszych wpisów książki adresowej) adres IP sterownika (Target IP Address) i klikamy OK. Jeżeli sterownik jest w trybie RUN pojawia się kolejne okno (rysunek 5) z propozycją przełączenia go w tryb Stop, co jest konieczne do wprowadzenia modyfikacji w konfiguracji sterownika. W kolejnym wyświetlonym oknie (rysunek 6) znajdujemy sekcję Web server access, w której zaznaczamy opcje Allow Web server access oraz Enable password protection for Web server access. W podsekcji Enter new password dwukrotnie wprowadzamy hasło zabezpieczające przed nieuprawnionym dostępem do zasobów serwera i zatwierdzamy konfigurację za pomocą przycisku Apply w sekcji. Po zatwierdzeniu zmian sterownik jest za zgodą użytkownika przełączany w tryb Run rozpoczynając normalną pracę.
- Aby móc monitorować stan wyświetlacza LCD poprzez sieć musimy nieco zmodyfikować projekt implementowany w LOGO! Modyfikacja polega na zdefiniowaniu, które z komunikatów tekstowych wyświetlanych na wyświetlaczu LOGO! i/lub panela HMI będą dostępne za pośrednictwem sieci. Wymaga to uruchomienia okna edycyjnego komunikatu tekstowego (rysunek 7) i zaznaczeniu w nim opcji Webserver w sekcji Message Destination. Wszystkie komunikaty, które mają być widoczne poprzez sieć muszą mieć tę opcję zaznaczoną!
Po wykonaniu tych czynności możemy uruchomić przeglądarkę i wpisać wcześniej ustalony adres sterownika (rysunek 8). W wyświetlonym oknie powitalnym wprowadzamy ustalone i zapisane hasło dostępowe, następnie logujemy się do serwera HTTP.
Po zalogowaniu w oknie przeglądarki zostanie wyświetlony widok pokazany na rysunku 9, który jest ilustracją aktualnego statusu sterownika.
Z lewej strony okna mamy do dyspozycji proste menu z opcjami umożliwiającymi:
- LOGO! Variable: podglądanie i modyfikowanie wartości zmiennych wyświetlanych na ustalonej liście (rysunek 10). Jednocześnie można wyświetlać wartości maksymalnie 8 zmiennych, wybranych z bogatej listy widocznej na rysunku 11. O tym jak w przykładowym projekcie wybrać interesujące nas zmienne udostępniane przez rejestry VM napiszemy w dalszej części artykułu.
- LOGO! BM: umożliwia zdalne „oglądanie” treści wyświetlacza LOGO!, przy czym serwer udostępnia wyłącznie te ekrany tekstowe, które skonfigurowano do udostępniania w sieci (opis powyżej). Użytkownik może także operować przyciskami na panelu LOGO!, co zapewnia pełną jego funkcjonalność w dostępie zdalnym. Na rysunkach 12 i 13 pokazano uzyskane przez sieć przykładowe ekrany ręcznie przełączanego (za pomocą przycisków kursorów) menu podczas pracy sterownika podlewania ogrodu.
- LOGO! TD: jest to opcja o funkcjonalności podobnej do opisanej powyżej, ale dotycząca opcjonalnego tekstowego panela HMI LOGO! TDE. Użytkownik może zdalnie monitorować komunikaty pojawiające się na wyświetlaczu oraz używać zdalnie wszystkich przycisków panelu.
Wybór zmiennych podglądanych za pomocą serwera http w trybie LOGO! BM jest prosty jeżeli monitorujemy wejścia i wyjścia. Nieco bardziej skomplikowane jest podglądanie wartości zmiennych wybranych timerów, przetwornika A/C lub innych bloków funkcjonalnych. Niestety nie jest możliwe wybranie monitorowanych parametrów poprzez podanie nazwy własnej bloku funkcjonalnego (np. TimerTygodniowyStronyLewej), do tego celu trzeba skorzystać z pośrednictwa zestawu rejestrów VM (Variable Memory). Umożliwiają one wygodne i przy tym elastyczne udostępnianie wybranych zmiennych, niezależnie od ich bajtowej długości.
Udostępnienie wybranych zmiennych serwerowi HTTP wymaga zdefiniowania ich w programie LOGO! Soft Comfort, do czego służy opcja Tools>Parameter VM Mapping (rysunek 14). W wyświetlonym oknie ustalamy listę zmiennych do monitorowania, korzystając - co ważne – z nazw własnych nadanych blokom podczas edycji programu (rysunek 15).
Po wybraniu z listy monitorowanego bloku, w kolumnie Parameter wybieramy parametr bloku, który będzie monitorowany (którego wartość udostępni nam serwer HTTP) – rysunek 16.
W zależności od wybranej zmiennej jej długość może mieć długość słowa lub podwójnego słowa, co automatycznie ustala program i także automatycznie nadaje zmiennym odpowiednie adresy. Po ustaleniu tabeli zmiennych (rysunek 17) zapisujemy ją w pamięci sterownika, co odbywa się jednocześnie z aktualizacją oprogramowania.
W kolejnym kroku definiujemy tabelę obserwowanych zmiennych w serwerze HTTP, co wymaga podania ich typów (w przykładzie pokazanym na rysunku 18 monitorujemy wyłącznie zmienne udostępnione w obszarze VM), adresu (zgodnie z wartościami w tabeli Parameter VM Mapping), typu zmiennej (także zgodnie z wartościami w tabeli) oraz oczekiwanego formatu wyświetlania (liczba ze znakiem, bez znaku, binarna lub szesnastkowa – rysunek 19). Opcjonalnie bieżące wartości zmiennych można modyfikować korzystając z dwóch prawych kolumn tabeli wyświetlanej przez serwer HTTP.
W przypadku konieczności monitorowania stanów wejść i wyjść (cyfrowych i analogowych, lokalnych i sieciowych), przycisków, znaczników M, wybieramy je bezpośrednio z poziomu menu (jak pokazano na rysunku 11), bez konieczności modyfikowania ustawień w programie LOGO! Soft Comfort i wgrywania oprogramowania do pamięci sterownika. Na rysunku 20 pokazano nieco zmodyfikowany w stosunku do rysunku 18 wygląd okna przeglądarki – dodatkowo w oknie wyświetlono stan jednego wejścia i trzech wyjść podczas pracy sterownika podlewania.
W ten sposób poznaliśmy część sieciowych możliwości sterownika LOGO! bazujących na wbudowanym w niego serwerze HTTP. Z miesiąc zajmiemy się prezentacją zdalnego dostępu do sterownika bazującego na aplikacjach dla urządzeń mobilnych.
Piotr Zbysiński, EP