Wizualizacja w systemie SCADA ICONICS

23.10.2020 How to / Oprogramowanie przemysłowe
Responsywna wizualizacja SCADA
Wizerunek autora
Wiktor Susfał Były pracownik Elmark Automatyka S.A.
Producent: ICONICS
  • Zakłady przemysłowe
  • Woda i ścieki
  • Górnictwo

 

Wizualizacja w systemie SCADA obejmuje zarówno proste wyświetlanie wartości wskaźników KPI, liczników, jak również zaawansowane wykresy, czy animacje modeli 3D. Co więcej, z ICONICS nie jest potrzebna umiejętność programowania. Zaawansowane i interaktywne wyświetlacze SCADA HMI projektowane są przy użyciu gotowych narzędzi. Jednocześnie, użytkownik ma do dyspozycji szereg opcji, pozwalających dostosować każdy projekt do jego szczegółowych wymagań.

Z produktami ICONICS zwizualizujesz dane pochodzące z różnych źródeł za pomocą tabel, animacji modeli 2D i 3D lub symboli. Następnie opublikujesz je w lokalizacji sieciowej, aby mieć do nich dostęp z urządzeń klienckich. Co więcej, wizualizacje ICONICS współpracują z przeglądarkami internetowymi, również z tymi wykorzystującymi HTML5.

 


 

GraphWorX64: Tworzenie responsywnego interfejsu użytkownika

 

Tworzenie dynamicznych ekranów, które dopasowują się do wyświetlacza może zaoszczędzić wiele czasu oraz pozwala rozszerzyć funkcjonalność wizualizacji.

Responsywny ekran wizualizacji to taki ekran który dopasowuje styl wyświetlania do docelowego wyświetlacza. Zobaczmy jak wygląda to w praktyce.

Oprócz responsywnego okna wizualizacji, responsywne są także elementy całego ekranu. Dzięki czemu wizualizacja podczas zmieniania rozmiaru okna zachowuje się według naszych zasad.

 

Konfiguracja Responsywnego UI

 

Konfiguracja ekranu wizualizacji odbywa się w programie GraphWorX64. Po włączeniu programu należy uruchomić tryb Grid ekranu wizualizacji. W tym celu przechodzimy do:

File> New Settings

Następnie należy zaznaczyć opcję grid w sekcji layout. Następnie należy przejść do zakładki preferences ustawień ekranu wizualizacji i upewnić się że właściwość DefaultNewRootObjectType w opcjach generalnych ma wartość Grid.

 

 

Następnie dzielimy ekran na kolumny i wiersze, aby uzyskać efekt jak na przykładowym filmie należy podzielić ekran na 2 wiersze, pozostawiając jedną kolumnę. Szerokość wiersza 0 należy zadeklarować jako stałą wartość pikseli (np. 100). Dodawać i konfigurować wiersze/kolumny można na dwa sposoby:

  • Klikając PPM na lewą krawędź ekranu wizualizacji aby dodać i konfigurować wiersz oraz na górną krawędź, by dodać i konfigurować kolumny.
  • We właściwościach ekranu wizualizacji, w zakładce Measurements - Grid, możemy edytować definicje wierszy i kolumn.

Pełna konfiguracja responsywnego interfejsu użytkownika przedstawia poniższy film.

 

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.

 


 

GraphWorX: Smart symbols - tworzenie nowych symboli

 

GraphWorX64 umożliwia tworzenie własnych symboli nazywanych Smart Symbols. Można je dowolnie konfigurować oraz wykorzystywać wielokrotnie w wizualizacjach.

Ten poradnik pokaże Ci jak w prosty sposób stworzyć symbol wskazujący aktualny stan maszyny w postaci prostokąta zmieniającego kolor tła zależnie od stanu zawierającego nazwę maszyny oraz strzałkę wskazującą aktualny trend wydajności maszyny.

Kolory w powyższym symbolu oznaczają:

  • Czarny - maszyna wyłączona,
  • Szary - zmiana narzędzia,
  • Zielony - została osiągnięta norma produkcji,
  • Żółty - trend wydajności produkcji wzrastający,
  • Czerwony - trend wydajności produkcji opadający.

 

 

 

Tworzenie symbolu zaczniemy od utworzenia nowego ekranu typu Grid. Użycie tego typu ekranu zapewni zmaksymalizowanie użyteczności symbolu dzięki dodaniu "responsywności". O tym, co to responsywność i jak ją wykorzystywać w GraphWorX64 przeczytasz w jednym z poprzednich wpisów: GraphWorX64: Tworzenie responsywnego UI.

Następnie, przejdź do zakładki View > Application Mode i wybierz Advenced Mode.

Na nowo otwartym ekranie dodajemy element typu Grid, ustawiamy automatyczną wysokość i szerokość obiektu oraz ustalamy położenie kolumn i wierszy jak na obrazku poniżej.

 

Kolejnym krokiem jest dodanie prostokąta (obiekt Rectangle), który będzie zakrywał całą powierzchnię symbolu (szerokość i wysokość obiektu ustalana automatycznie). Należy również dodać obiekt typu Process Point w View Box, który zawiera się w całym pierwszym wierszu.

Po dodaniu odpowiednich obiektów, kolej na skonfigurowanie właściwości dynamicznych symboli:

  • Process point:
    1. źródło danych, jako dowolny ciąg znaków zawarty w cudzysłowie.
  • Rectangle:
    1. Dodajemy dowolną ilość akcji dynamicznych typu Color.
    2. Dla każdej akcji definiujemy źródło danych, kolor i warunek aktywacji tak jak na poniższym obrazku.

 

 

Następnie, w Explorer (po lewej stronie ekranu GraphWorX) zaznacz Grid i z zakładki Dynamics wybierz Smart Symbol. Po wybraniu tej opcji pokaże się okienko konfiguracji tworzenia Smart Symbol.

  • Expose data sources as Smart Properties - automatycznie określa unikalne źródła danych jako Smart Properties,
  • Optimize hierarchial data sources - automatycznie określa hierarchię źródeł danych.

Obie te opcje ułatwiają konfigurację Smart Symbol, jednak w tym poradniku odznaczmy obie opcje, aby w pełni zrozumieć tworzenie nowych opcji symboli.

 

Po przekonwertowaniu obiektu Grid na Smart Symbol należy zdefiniować właściwości obiektów w symbolu, które chcemy w przyszłości zmieniać, czyli Smart Properties.

Przedstawimy tu konfigurację Smart Properties dla źródła danych dotyczących trendu, koloru dla trendu opadającego i wartości zmiennej, dla której ta akcja dynamiczna jest aktywna. Dodawanie i konfiguracja Smart Properties odbywa się w kilku krokach:

  1. Kliknij PPM w nazwę właściwości i wybierz Add To Smart Properties (grafika - klik), a nastepnie określ nazwę właściwości.
  2. W akcji dynamicznej "Trend_opadajacy" obiektu Rectangle dodaj do Smart Properties właściwości (grafika - klik):
    • Data Source,
    • Low limit,
    • EndColor.
  3. W Explorer zaznacz Grid (obiekt typu Smart Symbol) i z zakładki Dynamics wybierz Define Properties (grafika - klik).
  4. W oknie możesz konfigurować właściwości, PropertyType oraz DefaultValue pozostaw bez zmian. Możliwe jest dodanie kategorii oraz opisu.
  5. Tak skonfigurowane właściwości umożliwiają łatwą konfigurację zdefiniowanych właściwości. Aby to zrobić, przejdź do Properties obiektu Smart Symbol - domyślnie znajdują się w zakładce Smart Properties (grafika - klik).
  6. W ramach ćwiczenia skonfiguruj resztę Smart Properties, aby uzyskać symbol, który umożliwia podmiany:
    • źródeł danych,
    • kolorów akcji dynamicznych oraz tekstu,
    • limitów aktywacji akcji dynamicznych (zmiany kolorów),
    • nazwy urządzenia (zawartego w obiekcie typu Proces Point).
  7. Kolejnym zadaniem ćwiczeniowym jest stworzenie strzałki, która będzie wskazywała trend (rosnący, opadający, stały), wykorzystaj do tego celu właściwość dynamiczną rotacji (Rotation) oraz skonfiguruj jej Smart Properties.

Tak skonfigurowany Smart Symbol można wykorzystać wielokrotnie na wizualizacjach w GraphWorX64 oraz KPIWorX.

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.

 


 

Global i local aliasing: Szybkie tworzenie wielu wersji ekranu wizualizacji

 

 

Często w tworzonej wizualizacji jest potrzeba stworzenia wielu tak samo wyglądających stron prezentujących elementy tego samego typu. W GraphWorX nie musimy tego robić. Global i local aliasing pozwalają zaoszczędzić wiele godzin, zwalniając twórcę wizualizacji z konieczności budowania wielu takich samych ekranów wizualizacji.

Wyobraźmy sobie obiekt w którym pracuje 20 pomp, a każda z nich posiada swój ekran wizualizacji przedstawiający informacje o jej stanie. Logicznym wydaje się dodanie dwudziestu oddzielnych ekranów wizualizacji, jendnak jest to strata czasu i pieniędzy. Tworząc wizualizacje w środowisku firmy ICONICS wystarczy zbudować jeden ekran HMI zamiast dwudziestu!

 

 

Local aliasing

 

 

Local Alias to zmienna, która definiowana i używana jest w GraphWorX. Użycie tego typu aliasu nie wykracza poza konkretny ekran wizualizacji a GraphWorX64 jest jedynym produktem ICONICS, który wykorzystuje local aliasing.

Lokalne Aliasy znajdują zastosowanie najczęściej tam, gdzie chcemy zwizualizować wiele zestawów informacji za pomocą pojedynczej grupy symboli - na żądanie. Na przykład, posiadamy w zakładzie 20 pomp, a z każdej pompy odczytujemy 3 analogiczne zmienne. Na ekranie wizualizacji posiadamy 3 liczniki i chcemy dynamicznie "podpinać" do nich odpowiedni zestaw zmiennych - na żądanie i podczas działania aplikcji.

Jeśli za pomocą lokalnych alisów zastąpimy indywidualne części adresów zmiennych, możemy dynamicznie wplywać na to, jakie zmienne wizualizujemy w danej chwili.

 

 

Global aliasing

 

 

Global Alias może pełnić takie same funkcje, jak jego lokalny odpowiednik, a co więcej - można go stosować w obrębie całego systemu GENESIS64. W szczególności, możemy go umieścić wewnątrz kontrolek do wyświetlania wykresów, alarmów czy tabel z baz danych na wizualizacji - w przeciwieństwie do aliasów loklanych.

Globalne aliasy należy jednak definiować w Workbench, a ich konfiguracje są przechowywane w odpowiedniej bazie SQL. Jest to różnica względem aliasów lokalnych, o których informacje są przechowywane wraz plikiem projektu GraphWorX.

 

 

Global i local aliasing - różnice?

 

 

Chociaż global i local aliasing mogą wydawać się niemal tym samym, mimo podobnego działania mechanizmu działania i spełniania tej samej funkcji te dwie funkcje charakteryzują się innym sposobem konfiguracji, zasięgiem oraz możliwym zastosowaniem.

Global Aliasing

Local Aliasing

  • Globalny zasięg referencji (dla wszystkich wizualizacji w danej konfiguracji).
  • Lokalny zasięg referencji (każdy ekran może mieć własną wartość aliasu).
  • Konfiguracja w workbench.
  • Konfiguracja bezpośrednio w GraphWorX64.
  • Możliwość wykorzystania w różnych programach wchodzących w skład pakietu Genesis64: ReportWorX64, TrendWorX64, AlarmWorX64.
  • Implementacja tylko na ekranach wizualizacji GraphWorX64.

 

 

Konfiguracja lokalnych aliasów

 

 

Na samym początku spójrzmy na strukturę naszych zmiennych, , które znajdują się na serwerze OPC, opsiujących pracę pomp. W tym celu w wyszukiwarce DataBrowser programu GraphWorX odnajdźmy posidany serwer OPC.

Widzimy, że każdy folder symbolizujący pompę zawiera identycznie nazwane zmienne. Różnica jest tylko w nazwie samego folderu. Tak więc, ścieżki do zmiennych będą różnić się od siebie tylko nazwą folderu.

Od razu wnioskujemy, że właśnie tę nazwę folderu w adresie zmiennej możemy zastąpić Lokalnym Aliasem.

Jak zastąpić część adresu zmiennej aliasem? Wystarczy usunąć ten fragment, który zastępujemy, a następnie umieścić tam:

<<nazwa aliasu>>

Nazwa aliasu jest dowolna, ale trzeba ją zapamiętać, aby móc później manipulować tym aliasem. Poniższy film przedstawia prostą konfigurację interfejsu HMI z lokalnymi aliasami.

 

 

 

Jak zmieniać wartość aliasu lokalnego? Można to zrobić w trybie "Konfiguracji" edytując listę aliasów ręcznie, lub wczytując pary ("nazwa aliasu, wartość") z pliku .csv. Można to robić dla konkretnego obiektu/grupy obiektów lub dla całego interfejsu na raz. Konkrente obiekty mogą zawierać więc takie same aliasy lokalne ale mieć zapisaną różną ich wartość.  

 

Jak zmieniać wartości aliasów podczas działania aplikacji? Można do tego użyć przycisków i gotowych komend. Przykładowe użycie pokazuje krótki film instruktażowy.

Komendy można wykonywać w stosunku do całego interfejsu lub pojedynczych obiektów. W drugim przypadku należy wybrać pożądany obiekt z rozwijanej listy ObjectName w ustawieniach komendy.

 

 

 

Konfiguracja globalnych aliasów

 

Konfigurację tą pokażemy na przykładzie dynamicznej podmiany trendów rysowanych na ekranie HMI. Zanim jednak można przystąpić do projetowania interfejsu, należy:

  • zdefiniować odpowiedni Alias Globalny w Workbench,
  • dodać do modułu archiwizacji Hyper Historian co najmniej dwie zmienne na podstawie sygnałów z serwera OPC. W tym przypadku zachowaliśmy takie samo nazewnictwo folderów i zmiennych.

Aliasy Globalne używa się w adresach zmiennych w otoczeniu znaków: <# i #>

 

 

Jak zauważyłeś w praktyce korzystanie z local oraz global aliasing jest skuteczną metodą tworzenia wielu wersji ekranu wizualizacji przedstawiającego podobne zestawy danych. Konfiguracja jest prosta i szybka, co pozwala na zaoszczędzenie czasu i pieniędzy. Możliwości obu funkcji, a zwłaszcza global aliasing są dużo większe, a omówione tu przykłady są tylko prostymi przykładami. Zapraszamy do kontaktu na adres iconics@elmark.com.pl w celu uzyskania wyceny produktów ICONICS.

 


 

GraphWorX64: Wizualizacja zorientowana obiektowo

 

Jak tworzyć wizualizację prościej, szybciej i przyjemniej oraz zapewnić spójność jej elementów? Odpowiedzią jest wizualizacja zorientowana obiektowo. 

Podejście obiektowe do programowania w świecie aplikacji konsumenckich znane i stosowanie jest od wielu lat. Takie podejście można wykorzystywać w aplikacjach procesowych i SCADA. ICONICS zawarł w swoich produktach narzędzia zapewniające możliwość wdrożenia programowania zorientowanego obiektowo by dostarczyć użytkownikom jeszcze lepsze doświadczenia związane z projektowaniem, wdrażaniem, zarządzaniem oraz użytkowaniem aplikacji.

 

Podejście standardowe a obiektowe

 

Przez podejście standardowe rozumieć będziemy klasyczne podejście do aplikacji. Takie aplikacje korzystają z "płaskiej" listy zmiennych z określonymi przez twórcę aplikacji zależnościami i relacjami. Globalne zmiany w organizacji bazy zmiennych (ang. tag) zazwyczaj dokonywane są za pomocą zewnętrznych narzędzi tekstowych takich, jak Microsoft Excel. Zmiany te następnie muszą być zaimportowane do aplikacji. 

Powielanie raz stworzonych elementów w standardowym podejściu polega na stworzeniu szablonu, dla którego wymagane jest za każdym razem podpięcie wielu zmiennych. Zarządzanie taką aplikacją zazwyczaj wymaga analizy zmienna po zmiennej, a wprowadzanie zmian jest czasochłonne i wymaga dużych nakładów pracy.

Podejście obiektowe polega na wyeliminowaniu jak największej ilości powtarzalnych czynności oraz na wielokrotnym wykorzystaniu raz stworzonych obiektów. Zmiany w bazie zmiennych są łatwe do wprowadzenia gdyż wszystkie zmienne są pogrupowane w strukturach jednoznacznie definiujących obiekty. Globalna propagacja zmian obiektu pozwala zmienić wszystkie obiekty tego samego typu poprzez wprowadzenie zmian tylko w jednym z nich. To z kolei pozwala na łatwe zarządzanie zmianami w projekcie.

 

Szablony obiektów

 

Obiekty w aplikacji przemysłowej zorientowanej obiektowo integrują wiele informacji: o wejściach/wyjściach, alarmach i wydarzeniach, polityce bezpieczeństwa i zabezpieczeniach, danych historycznych, elementach wizualnych oraz skryptach.

Jednak główną zaletą obiektowo zorientowanej SCADy jest tworzenie szablonów obiektów. Szablony obiektów zawierają powtarzalne informacje o obiekcie. Może być to ogólny jego wygląd na wizualizacji, który ostatecznie zostaje tylko nieznacznie dostosowany za pomocą parametrów. To może być także odczyt poszczególnych zmiennych przy znanej i zunifikowanej strukturze danych.

Za przykład posłuży nam obiekt jakim jest zawór, który zintegrowane ma informacje dotyczące jego stanu, przepływu cieczy, jej ciśnienia oraz kierunku przepływu. W standardowym podejściu do tworzenia aplikacji musielibyśmy wskazywać wiele źródeł danych dla tego zaworu. W podejściu obiektowym skonfigurowanie wewnętrznej struktury zmiennych w szablonie pozwala nam ograniczyć czas inżynierii i pozwala na wskazanie jedynie jednej ścieżki do zmiennych, czyli podanie ścieżki do obiektu.  

Istotną przewagą szablonów obiektów jest możliwość ich wielokrotnego użycia. Raz stworzony obiekt można wykorzystać wielokrotnie, a każda instancja połączona jest z szablonem. Dzięki temu, wszelkie zmiany dokonane w szablonie możemy "rozgłosić" do już utworzonych instancji szablonu. Oczywiście możemy wybrać, które elementy będą uaktualnione. Podejście obiektowe do wizualizacji pozwala również zapewnić spójność oraz jednolitość wizualizacji oraz ograniczyć występowanie błędów podczas konfiguracji. Im więcej elementów wizualizacji jest zunifikowanych oraz obiektowych, tym mniej okazji do pomyłek.

 

Oszczędność czasu = oszczędność pieniędzy

 

Dzięki integracji wielu danych w obiektach, możliwości wielokrotnego użycia raz stworzonego obiektu, a także dzięki propagacji zmian w obiektach możliwe jest osiągnięcie znacznych oszczędności na kosztach inżynierii oraz wdrażania aplikacji. Poniżej zostanie przeprowadzona krótka analiza czasu konfiguracji stu symboli odpowiadającym rzeczywistym zaworom. Do analizy przyjmiemy następujące założenia:

  • podpięcie zmiennej - 30s,
  • zmiana symbolu - 45s,
  • ilość symboli - 100.
  • liczba zmiennych definiujacych zachowanie symbolu: 4.

Analizowany scenariusz zakłada zmianę stu symboli na jednym ekranie wizualizacji, różnice w symbolach obejmują właściwości obiektów, kolory, zachowanie. Nie obejmują jednak zmian źródeł danych ich lokalizacji czy też nazwy. Zatem przejdźmy do prostej analizy, zacznijmy od przeprowadzenia zmian w standardowej wizualizacji opartej na zmiennych.

Zmiana jednego symbolu obejmuje usunięcie starego symbolu, wstawienie w to miejsce zaktualizowanego symbolu, nadanie mu nazwy oraz innych unikalnych ustawień dla konkretnej instancji symbolu. Taka operacja musi być przeprowadzona dla każdego symbolu, zatem  w analizowanym przypadku taka operacja zostanie przeprowadzona 100 razy. 100 operacji, 45s każda daje 4500s, a wiec 1 godzinę i 15 minut.

Uaktualnienie symboli to nie koniec zmian, każdy symbol musi zostać wyposażony w zestaw zmiennych. Każdy symbol definiowany jest przez 4 zmienne, zmiana każdej z nich trwa 30s, a więc całego symbolu 2 minuty. Nie trudno policzyć że dla 100 symboli czas trwania operacji wyniesie 3 godziny i 20 minut. Podsumowując, cała operacja uaktualnienia 100 symboli będzie trwała ponad 4 godziny i 30 minut.

Przejdźmy zatem do wprowadzania zmian w symbolach, gdy wizualizacja zorientowana jest obiektowo i oprogramowanie pozwala nam na propagację zmian przeprowadzonych w szablonie, do wywołań tego szablonu na ekranach wizualizacji. W tym przypadku operacjami, które mogą trwać nieco dłużej jest to konfiguracja narzędzia do uaktualniania symboli oraz uaktualnianie symboli. Oczywiście czas potrzebny na konfigurację zależy od doświadczenia, a czas przetwarzania od zakresu wprowadzonych zmian w symbolach, ich złożoności, wydajności komputera i wielu innych czynników.

Załóżmy więc że projektant potrzebuje 5 minut na poprawne ustawienie narzędzia, a aktualizacja symbolu trwa 3 sekundy. Zatem cała operacja będzie trwała 10 minut. Podsumowując wprowadzanie zmian w wizualizacji opartej na zmiennych dla 100 symboli twała 4 godziny i 30 minut, w wizualizacji obiektowej zaledwie 10 minut czyli o 27 razy krócej.

Tak znaczna redukcja czasu inżynierii przy tak mało skomplikowanym symbolu robi wrażenie. Można sobie tylko wyobrazić jakie oszczędności czasu i pieniędzy może przynieść wykorzystanie wizualizacji obiektowej przy rozbudowanych wizualizacjach.

 

 

Jeżeli masz więcej pytań lub  jesteś zaciekawiony oprogramowaniem ICONICS, 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, odpowiedzi na pytania lub oferty handlowej.

 


 

GridWorX Viewer: Inteligentna prezentacja informacji z baz danych SQL

 

Dowiedz się, jak w kilku krokach sporządzić zawsze aktualny interfejs wizualizujący informacje przechowywane w bazach danych.

 

Cel artykułu

 

Efektem końcowym wyżej postawionego zadania będzie ekran SCADA zawierający tabelę, w której użytkownik ma możliwość wyświetlania danych z wybranych ostatnich kilku dni poprzez obsługę przygotowanych przycisków. Raz skonfigurowany interfejs, będzie spełniać swoją rolę zawsze, automatycznie dostosowując wartości swoich parametrów do aktualnej daty.

 

Przygotowanie źródła danych - połączenie z bazą SQL

 

Analogicznie jak to zostało opisane w drugim z w/w wpisów, utworzono źródło danych oparte o przykładową tabelę z baz danych SQL. Tabela ta zawiera rekordy informujące o ilości wytworzonych wyrobów w konkretnym dniu, podczas trwania konkretnej zmiany. Zapytanie SQL wydobywające informacje z tabeli skonfigurowano tak, że zwraca ono pełne dane o produkcji z konkretnego dnia. W tym celu utworzono parametr date_parameter przechowujący pożądaną datę. Wyżej opisane czynności przedstawia krótki film.  

 

Budowa interfejsu SCADA

 

Ekran przygotowany na potrzeby prezentacji jest bardzo prosty i zawiera tylko niezbędne elementy. Na tym etapie będą to 4 obiekty typu "Button" (przyciski) oraz okno narzędzia GridWorX Viewer. Napis zawarty na przycisku będzie wskazywał na datę, jaką ustawia on dla danych wyświetlanych w tabeli.

Dla przykładu, aby uzyskać automatycznie napis będący aktualną datą, należy wprowadzić w pole konfiguracji "Text" przycisku następującą formułę:

{{x=toformat(now(), "MMMM dd")}}

zwróci ona aktualna datę w określonym formacie. Dodano jeszcze 3 przyciski, każdy ustawiający datę o jeden dzień wstecz. Dla przykładu, to formuła dla przycisku obsługującego wczorajszą datę:

{{x=toformat(now()-fromdays(1), "MMMM dd")}}

 

 

Konfiguracja GridWorX Viewer

 

Pierwszym krokiem, jeszcze przed ustawieniem w/w narzędzia jest przygotowanie zmiennej przechowującej pożądaną wartość parametru date_parameter. Zmienną tą będzie globalny alias, z uwagi na proste zapisywanie do niego ciągów znaków. Do każdego z 4 utworzonych przycisków zostanie przypisana komenda SetGlobalAliases skonfigurowana tak, że będzie wprowadzać do aliasu ciąg znaków symbolizujący określoną datę. Odpowiednia komenda wpisująca aktualną datę w pożądanym formacie do aliasu to:

{{x="#NazwaAliasu="+toformat(now(), "yyyy-MM-dd")+"/2;"}}

Dla przykładu, data wczorajsza uzyskiwana jest za pomocą:

{{x="#NazwaAliasu="+toformat(now()-fromdays(1), "yyyy-MM-dd")+"/2;"}}

 

 

Drugi krok to dodanie w oknie konfiguracji GridWorX Viewer subskrypcji odpowiedniego źródła danych. W obecnie omawianym przypadku nie stworzono w Workbench kilku widoków tego samego sparametryzowanego źródła danych. Natomiast, podczas dodawania subskrypcji do GridworX Viewer'a przekazano wyżej utworzony alias jako wartość parametru.

 

 

Prezentowanie danych z baz SQL - wykresy

 

GridWorX Viewer pozwala nie tylko na wyświetlanie informacji za pomocą dynamicznych tabel. Możliwe jest również generowanie różnego typu wykresów na ich podstawie. Na potrzeby niniejszego projektu dodano nowe źródło danych do serwera GridWorX w programie Workbench, które wydobywa wszystkie informacje z używanej tabeli. Sporządzony wykres będzie, wyświetlał sumę wyprodukowanych towarów w zależności od numeru zmiany (S1, S2, S3) , za cały okres prowadzonych pomiarów. Poniższy film przedstawia wyżej opisane czynności, krok po kroku.  

 

Podsumowanie

 

Moduł graficzny GraphWorX oraz narzędzie GridworX Viewer oferują szereg dodatkowych funkcji, pozwalających dostosować projektowane interfejsy zarówno pod kątem funkcjonalności, jak i wyglądu. Możliwe jest m.in. automatyczne wyróżnianie rekordów tabeli spełniających dane warunki. Na poniższym filmie pokazano ten sam interfejs, z bardziej dopracowaną szatą graficzną oraz funkcją "migających" wierszy tabeli, których pole ,"Pieces" zawiera wartość większą niż 330.  

 

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.

 


 

Interfejs SCADA wykonuje proste algorytmy

 

Jak dodać przycisk do ekranu SCADA, który wykona dowolne proste algorytmy po jego naciśnięciu? Wszystko bez potrzeby programowania!

 

O czym tu przeczytasz?

 

Funkcjonalność prezentowana w tym wpisie to nowość w ostatniej odsłonie systemu SCADA od ICONICS - wersji 10.96 oprogramowania GENESIS64. Jest ona nowym rodzajem komendy wywoływanej z poziomu interfejsu SCADA, w celu wykonania interakcji z systemem. Komenda ta nosi nazwę "Batch". Pozwala zarówno na wywołanie kilku innych prostszych komend za jednym razem, jak i dba o kolejność ich wykonywania.

W efekcie otrzymujemy możliwość zdefiniowania swego rodzaju "przepisu" na realizację określonych działań w systemie. Poszczególne kroki przypisane do naszego algorytmu mogą wykonywać się w zależności od różnych warunków oraz przechodzić dalej do wybranych komend. Zupełnie jak w schemacie blokowym.

We wcześniejszych wersjach GENESIS64 również możliwe było skonfigurowanie kilku komend wykonywanych np. po wyborze jednego przycisku z ekranu. Różnica polega na tym, że wtedy użytkownik nie miał pełnej kontroli nad kolejnością ich wywoływania, ani warunkami, pod którymi miałoby to nastąpić.

W celu lepszej prezentacji tego, w jaki sposób interfejs SCADA może wykonywać proste algorytmy omówiono dalej krótki przykład.

 

Proste algorytmy na ekranie SCADA

 

Przykładowa aplikacja

Postawione zadanie można opisać, jak poniżej.

  • Posiadamy aplikację, która wyświetla nam po jednym parametrze z trzech podłączonych (symulowanych) urządzeń.
  • Jako operator, chcemy za pomocą jednego przycisku zmienić wartości tych 3 parametrów w odstępie 1 sekundy pomiędzy każdym z nich.
  • Chcemy to zrobić po kolei, to znaczy zacząć od konkretnego urządzenia i skończyć na konkretnym.
 
Wyjściowy ekran SCADA do rozpoczęcia wdrożenia prostych algorytmów
Wyjściowy ekran SCADA do rozpoczęcia wdrożenia prostych algorytmów
  • Dodatkowo, dane urządzenie może być w trybie "Ready" lub "Busy".
  • Tylko do urządzenia w trybie "Ready" algorytm może zapisać wartość.
  • W razie braku możliwości realizacji zadania, algorytm przerwie pracę.

Powyższe zdjęcie przedstawia wyjściowy interfejs SCADA, od którego zaczniemy omawiać wdrożenie algorytmów. Użytkownik może za jego pomocą zarówno wprowadzić docelowe wartości parametrów, jak i odczytać aktualny stan symulowanych urządzeń. Stan urządzenia ("Ready"/"Busy") jest również symulowany i można go ręcznie zmieniać klikając LPM na odpowiedni okrąg.

Konfiguracja wykonywania algorytmu na ekranie SCADA

Pierwszym krokiem jest dodanie nowego przycisku do ekranu SCADA (którym będziemy wywoływać algorytm) oraz przypisanie do niego właściwej komendy - "Batch".

Schemat blokowy algorytmu wykonywanego z poziomu ekranu SCADA
Schemat blokowy algorytmu wykonywanego z poziomu ekranu SCADA
 
Nowy przycisk do wyzwalania działania algorytmu na ekranie SCADA
Nowy przycisk do wyzwalania działania algorytmu na ekranie SCADA
 

 

Następnie, należy wybrać pole "Steps" (widoczne w ustawieniach komendy "Batch"), tak aby otworzyło się okno konfiguracji nowego algorytmu - zestawu kolejnych komend. Poniższe wideo obrazuje, w jaki sposób zbudować odpowiednią listę komend, aby realizowała algorytm przedstawiony na zdjęciu wyżej. Wszystkie działania przeprowadzane są w programie GraphWorX (części składkowej pakietu GENESIS64).

W celu realizacji postawionego zadania wykorzystamy fakt, że dla każdej komendy na liście można:

  • zdefiniować warunek, pod którym ma się ona wykonać;
  • wskazać kolejny krok zarówno dla przypadku, gdy powyższy warunek będzie spełniony, jak i niespełniony;
  • zamiast komendy można wybrać akcję "Delay", która po postu odczeka ustaloną chwilę czasu.

 

  Definiowanie prostego algorytmu z poziomu ekranu SCADA

 

Podsumowanie

 

Konfiguracja sporządzona na potrzeby tego wpisu, działa jak na filmie poniżej. Użytkownik może wprowadzać docelowe wartości parametrów za pomocą klawiatury oraz symulować stan pracy urządzeń ("Ready"/"Busy").

 

W celu przejrzystego zaprezentowania nowej i praktycznej funkcjonalności ostatniej odsłony pakietu GENESIS64, pokazano tu jeden z prostszych algorytmów.

 
Prezentacja działania aplikacji

 


Omawiana komenda pozwala jednak nie tylko na proste manipulowanie wartościami zmiennych, lecz również interakcję z innymi narzędziami wizualizacji od ICONICS. Mówimy tu na przykład o TrendWorX - kreatorze wykresów dla ekranów SCADA.

W celu uzyskania szerszych informacji i bardziej zaawansowanych wskazówek, skontaktuj się z nami pod adresem e-mail: iconics@elmark.com.pl .

Pobierz bezpłatnie wersję 10.96 DEMO oprogramowania GENESIS64 ze strony Producenta (KLIK).

 


 

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!