Hyper Historian: Analiza danych historycznych

Bartłomiej Pień How to

Performance Caltulation to wbudowane funkcje w Hyper Historian umożliwiające analizę danych historycznych, aby uzyskać użyteczne informacje.

Przeanalizujmy następującą sytuację: posiadamy zbiornik oraz dwie pompy, jedną odpowiedzialną za napełnianie zbiornika, a drugą za opróżnianie. Zbieramy i archiwizujemy dane dotyczące efektywności, statusu pomp i trybu ich pracy oraz poziomu cieczy w zbiorniku. Jednak obecna wizualizacja przedstawia tylko aktualne dane na ten temat. W tym wpisie przedstawię jak wykorzystać dane historyczne do uzyskania użytecznych informacji. Dane historyczne wykorzystam do uzyskania danych o czasie pracy pomp i ilości załączeń oraz przewidywania czasu do napełnienia zbiornika.

Czas pracy pomp

Konfigurację zaczynamy od stworzenia Tagu kalkulacyjnego w Hyper Historian, następnie zmieniamy typ zmiennej (2), oraz dodajemy calculation trigger (3). Można wykorzystać jeden z skonfigurowanych, lub stworzyć własny.

 

Następnie przejdź do zakładki Expression (1), wybieramy z listy funkcji (2) Functions> History Functions> tagtimestate1(3). Następnie dostosowujemy wyrażenie (zaznaczone czerwonym prostokątem).

Tak skonfigurowaną zmienna kalkulacyjną wystarczy dodać do ekranu wizualizacji, aby uzyskać informacje o czasie pracy urządzenia (w moim przypadku w ciagu bieżącego dnia).

 

Ilość załączeń pompy

Konfiguracja zmiennej obliczającej ilość załączeń pompy w danym zakresie czasu wygląda niemal identycznie jak w przypadku konfiguracji czasu pracy pomp. Jedyną różnicą jest użycie innej funkcji i zmiennej przechowującej informacje o tym czy pompa pracuje. Do zliczania ilości załączeń służy funkcja tagtrans znajdujaca się w Functions> History Functions.

Przewidywany czas do napełnienia zbiornika

Dodanie elementu predykcji wymaga stworzenia bardziej skomplikowanej formuły obliczeniowej, zmiennej kalkulacyjnej. Trzonem funkcji jest funkcja warunkowa IF THEN ELSE oraz wyznaczanie delty pomiaru między kolejnymi obliczeniami. Jeżeli delta jest większa od 0 to znaczy że zbiornik się napełnia i możemy wyznaczyć czas do napełnienia.

tagdelta(/*variable, startTime, endTime*/) – oblicza deltę pomiaru w danym zakresie czasu.

trgnamecur() – zwraca wartość czasu aktywnego calculation trigger.

tagprevgood(/*variable, dateTime*/) – zwraca wartość poprzedniej próbki pomiaru, którego jakość jest określona jako „dobra”.

Podsumowanie

 

Dzięki wbudowanym funkcjom do analizy danych historycznych w Hyper Historian możemy wzbogacić naszą wizualizację o użyteczne informacje.

 

Elmark Automatyka udostępnia wersję demo oprogramowania GENESIS64 w celu osobistego przetestowania funkcjonalności pakietu. Skontaktuj się z nami na ICONICS@elmark.com.pl w celu otrzymania wersji testowej lub oferty handlowej.