Wykresy w WebHMI służą do wizualizacji i analizy danych historycznych.
Zastosowanie wykresów – porównanie z trendami
Wykresy są narzędziem służącym do wizualizacji danych historycznych, w przeciwieństwie do trendów służących do wyświetlania danych w czasie rzeczywistym. O ile trendy są wykreślane na podstawie bieżących danych, to wykresy są rysowane na podstawie danych zapisanych do wykresów gromadzonych w pamięci WebHMI.
Najważniejsze różnice z tego wynikające to:
- Trendy pokazują dokładny przebieg wartości danego rejestru, podczas gdy rozdzielczość wykresów dostosowuje się do wybranego okna czasowego. Jeśli okno czasowe jest stosunkowo krótkie w stosunku do częstotliwości zapisu danych, to zamiast linii przedstawiającej dokładny przebieg wartości otrzymamy linię pokazującą średnią wartość oraz półprzeźroczyste tło obrazujące wartości minimalne i maksymalne w danym przedziale czasowym.
- Wykresy wymagają gromadzenia danych do wykresów, trendy tego nie wymagają.
- Trendy są znacznie bardziej obciążające dla procesora WebHMI niż wykresy.
Ustawienia zmiennych związane z wykresami
W celu pokazania wartości rejestru na wykresach należy zaznaczyć w ustawieniach zmiennej opcję „Zapisz dane do wykresów”.
Szczegółowy opis dotyczący ustawień zmiennych można znaleźć w artykule na temat zmiennych.
Menu „Wykresy” – dodawanie i edycja wykresów
W celu dodania wykresu do wizualizacji należy przejść do menu wykresów (1) oraz wybrać „Dodaj wykres” (2).
W kreatorze wykresu w zakładce „Podstawowe informacje” wybieramy nazwę (1), kategorię wykresów (2) oraz zmienne które mają być przedstawione na wykresie (3). W parametrach zmiennych możemy nadać nazwę, która się pojawi w legendzie wykresu, a także parametry do skalowania linii wykresu oraz która oś Y ma odpowiadać danej linii wykresu.
Zakładka wygląd definiuje w jaki sposób będzie wyglądał nasz wykres. Możemy zdefiniować jego wysokość (1), która jest zawsze stała, a także minimalne i maksymalne wartości na poszczególnych osiach Y (2). Ciekawą funkcjonalnością są również strefy kolorów (3), dzięki którym możemy podzielić pole wykresu na strefy, które mogą oznaczać np. zakres optymalnych wartości w którym powinna się mieścić wartość danego rejestru albo zakresy ostrzegawcze i alarmowe.
Ostatnia zakładka „Uprawnienia” (4) opisuje role, które mają mieć przydzielony dostęp do danego wykresu.
Zakładka „Wykresy” w menu bocznym
Po dodaniu wykresu możemy go podejrzeć w zakładce wykresów, do którego możemy przejść za pomocą menu bocznego (1).
Wchodząc w zakładkę wykresów będziemy mogli podejrzeć:
- pojedyncze wykresy,
- wszystkie wykresy, które nie zostały przypisane do żadnej z kategorii,
- lub wszystkie wykresy z danej kategorii, jeśli zostały utworzone kategorie trendów.
Lepszym rozwiązaniem jest jednak skonfigurowanie menu kontekstowego, które pozwala nam na dodanie odnośników bezpośrednio do danego wykresu lub do danej kategorii wykresów.
Elementy wykresu

Źródło: docs.webhmi.com.ua

Źródło: docs.webhmi.com.ua
Elementy wykresu:
- Pole wyboru przedziału czasowego, w którym będzie wyświetlany wykres. Z wybranego przedziału zostaną wczytane dane i w zakresie tego przedziału będzie można analizować wykres oraz przybliżać i oddalać widok za pomocą suwaka.
- Tytuł wykresu.
- Nazwa rejestru (lub nazwa wybrana w ustawieniach wykresu) oraz wartości minimalna, średnia oraz maksymalna w wybranym punkcie krzywej. Każdy punkt wykresu ma wielkość nie mniejszą niż jeden piksel, co oznacza że przy stosunkowo szerokim oknie czasowym oraz wysokiej częstotliwości zapisu danych na jeden piksel na wykresie może przypadać więcej niż jedna zarchiwizowana wartość. Z tego powodu w WebHMI wyświetlane są 3 wartości – minimalna, średnia i maksymalna. Gdy w bazie danych logów znajdują się wartości dla wszystkich punktów krzywej w danym oknie czasowym, to wszystkie trzy wartości będą takie same, a krzywa będzie wyglądać jak linia ciągła. Szerzej opisujemy to dalej.
- Półprzezroczyste tło obrazuje wahanie pomiędzy wartościami minimalnymi oraz maksymalnymi, które wybrany rejestr przyjął na danym odcinku czasu.
- Linia ciągła wartości uśrednionych.
- Linia ciągła wartości dokładnych.
- Suwak rzutni. Możesz przesuwać suwak okienka ekranu wzdłuż osi czasu, wybierając w ten sposób interesujący interwał w tej samej skali czasu
- Suwak zmiany rozmiaru lewy uchwyt
- Suwak zmiany rozmiaru rzutni prawy uchwyt
Sposób przedstawienia wartości minimalnych, średnich oraz maksymalnych na wykresach
Poniżej znajduje się GIF wyjaśniający w jaki sposób wykreślane są poszczególne części krzywej oznaczone jako [4], [5] i [6] oraz wartości minimalne, maksymalne oraz średnie.

Źródło: docs.webhmi.com.ua
W tym przykładzie w ustawieniach rejestru zostało wybrany zapis do logu przy każdej wartości zmiennej, a wartość sinusa była obliczana w skrypcie wykonywanym przy każdym skanowaniu. Następnie zmieniono czas skanowania systemu z 50 ms na 1 sekundę. Ponieważ rozdzielczość obszaru wyświetlania wykresu wynosi 1 sekundę, to gdy czas skanu wynosił 50 ms tych danych przypadających na jeden punkt wykresu jest więcej niż jeden, i w tym momencie generowana jest półprzeźroczyste tło oznaczające zakres wartości od minimalnej do maksymalnej.
W przypadku, gdy dla wybranej skali wykresu na 1 piksel ekranu będzie przypadały dane z 1 minuty lub więcej, to wartości średnie rejestru (5) i strefa rozkładu wartości (4). Uśrednianie to jest wtedy wykreślane na podstawie danych z pamięci podręcznej z bazy danych, odpowiadających aktualnej skali widoku (w bazie danych uśrednianie jest przechowywane dla dla okresów 1, 2, 5, 15 i 60 minut).
Metoda ta pozwala na optymalizację pracy z wykresami przy przeglądaniu dużych ilości danych w różnej skali, przy zachowaniu szybkości pracy.
Gdy bieżąca skala czasu wyświetlania odpowiada prędkości zapisu danych, linia ciągła (6) pokrywa się (lub prawie się pokrywa) z półprzeźroczystym tłem, ponieważ wartości minimalne, średnie oraz maksymalne są zbliżone.
Nawigacja w oknie wykresu

Źródło: docs.webhmi.com.ua
Nawigacja w obszarze wyświetlania wykresu
- dwukrotne kliknięcie powiększy widok do przedziału czasu wybranego w kalendarzu,
- wybór myszką zmieni widok na granice zaznaczenia,
- przytrzymanie klawisza Shift pozwala „przeciągnąć” widok wzdłuż osi X za pomocą ruchu myszy – to samo można zrobić „przeciągając” suwak widoku.
Wykresy jako widżety
Wykresy po otworzeniu w menu wykresów można dodać do ekranów jako widżet.
Wykres wyświetlany w postaci widżetu ma dokładnie takie same właściwości jak wykres wyświetlany w zakładce wykresów.
Wybierając ustawienia widżetu możemy edytować parametry wykresu. W ustawieniach widżetu wykresowego możemy wybrać:
- Wykres do wyświetlenia (1).
- Częstotliwość odświeżania (2) – jak często widok wykresu ma być automatycznie aktualizowany. Możemy wybrać jeden z interwałów czasowych od 1 mintu do 1 godziny lub brak odświeżania – w takim wypadku widok wykresu zaktualizuje się tylko i wyłącznie w momencie otwarcia strony z danym ekranem lub ręcznego odświeżenia karty w przeglądarce.
- Zakres czasowy wykresu (3) – możemy skonfigurować go jako stały lub zmienny.
- Opcje czy chcemy wyświetlać jednostki miary oraz legendę (3).
Jak widzimy są to ustawienia bliźniacze w stosunku do ustawień wykresów w menu wykresów oraz w zakładcewykresów w menu po lewej stronie. Dodatkowo w zakładce „Wygląd” możemy określić pozycję wykresu w widżecie analogicznie do widżetów innych typów.
Eksport danych z wykresu przy pomocy widżetu wykresowego
Widżet wykresowy pozwala na eksport danych z wykresów do pliku za pomocą przycisku pobierania. Dostępne są następujące formaty danych:
- CSV,
- HTML,
- XLSX.
Powyżej widok wyeksportowanych danych w formacie XLSX otwartych w Excelu.
Rzeczy na które warto zwrócić uwagę podczas korzystania z funkcji eksportu danych:
- Dane są eksportowane dokładnie w tej samej formie jak są przechowywane w bazie danych WebHMI, tj. jako wartości średnie, maksymalne oraz minimalne.
- Zakres czasowy jest od okna jakie zostało wygenerowane na podstawie ustawień widżetu. Oznacza to że jeśli dane są gromadzone od 30 minut, a zakres jest ustawiony na godzinę, to w wygenerowanym pliku będziemy mieli punkty danych z datami i godzinami, ale z pustymi wartościami wszędzie tam, gdzie te dane się jeszcze nie zdążyły zapisać.
- Wyeksportowane dane nie zależą od okna czasowego na jaki ustawimy widok – zawężanie okna za pomocą suwaka nie ma wpływu na zawartość pliku jaki powstanie po eksporcie danych.
Dodatek – film demonstracyjny