GraphWorX64: Wizualizacja zorientowana obiektowo

Bartłomiej Pień How to, Publikacje

Jak tworzyć wizualizację prościej szybciej i przyjemniej oraz zapewnić spójność elementów wizualizacji? 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ć i jest wykorzystywane w aplikacjach procesowych i SCADA. ICONICS także wdrożył 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 zależnościami i relacjami między nimi przez twórcę aplikacji. Globalne zmiany w organizacji bazy zmiennych (ang. tag) zazwyczaj dokonywane są za pomocą zewnętrznych narzędzi tekstowych takich jak Microsoft Excel, które następnie muszą być zaimportowane do aplikacji.  Powielanie raz stworzonych elementów w standardowym podejściu polega na stworzeniu szablony, 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 w takiej aplikacji 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 w wielokrotnym wykorzystaniu raz stworzonych obiektów. Zmiany w bazie zmiennych są łatwe do wprowadzenia gdyż wszystkie zmienne są pogrupowane w strukturach jednoznacznie definiujące 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, obiekt zawiera informacje 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 SCADA jest tworzenie szablonów obiektów. Szablony obiektów zawierają powtarzalne informacje o obiekcie. Może być to ogólny wygląd obiektu 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 zmiennych np. wykorzystując obiektow. Za przykład posłuży nam obiekt jakim jest zawór, który zintegrowane ma informacje dotyczące jego stanu, przepływu cieczy, ciśnienia cieczy oraz kierunek 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ż wywołanych 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.

Trudno uwierzyć żeby było to aż tak proste? Zapraszam na krótką prezentację opisywanej funkcjonalności GraphWorX64. Cały film trwa niemal 2 minuty, jednak proszę zwrócić uwagę jak krótko trwa „rozgłaszanie” zmian do niezaktualizowanych symboli.

 

Zapraszam do zapoznania się z powiązanymi wpisami, które opisują narzędzia do wdrażania obiektowej wizualizacji:

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.