Zarządzanie projektami w systemie SCADA ICONICS

22.10.2020 How to /
Zarządzanie projektem SCADA
Wizerunek autora
Wiktor Susfał Były pracownik Elmark Automatyka S.A.
Producent: ICONICS
  • Gaz i Paliwa
  • Górnictwo
  • Zakłady przemysłowe

Podstawową cechą profesjonalnych systemów SCADA powinna być ich skalowalność. System od ICONICS spełnia to wymaganie, udostępniając chociażby narzędzia do automatycznej konfiguracji zasobów z wykorzystaniem arkuszy Excel. Z narzędziami ICONICS w prosty sposób wyedytujesz duże ilości zasobów, nadasz uprawnienia użyktownikom korzystającym z systemu, zautomatyzujesz wybrane procesy w oparciu o harmonogramy oraz przeniesiesz konfiguracje pomiędzy maszynami. 

 

 


 

Transfer projektu SCADA pomiędzy różnymi wersjami GENESIS

 

Zarys konfiguracji systemu SCADA - GENESIS

 

Konfiguracja oprogramowania GENESIS64 następuje w module Workbench. Tam definiowane są: źródła odpowiednich danych pochodzących np. z serwerów OPC oraz ustawienia narzędzi składowych Workbench wykonujących operacje na tych danych. Informacje wyjściowe z modułu Workbench mogą być następnie wizualizowane za pomocą programu GraphWorX.

Na przestrzeni czasu pojawiło się wiele wersji oprogramowania GENESIS64 (np. 10.5, 10.6, 10.95). Najczęściej przy aktualizacji systemu do nowszych wersji zachodzi potrzeba przeniesienia zaprojektowanej konfiguracji. W przypadku omawianego oprogramowania SCADA można to zrobić na 3 sposoby:

  • wykorzystując natywne narzędzie składowe modułu Workbench - ProjectWorX,
  • za pomocą plików (arkuszy) z danymi,
  • z poziomu baz danych SQL.

 

Migracja projektu przy użyciu ProjectWorX

 

ProjectWorX jest rozbudowanym narzędziem pozwalającym na jednoczesne przenoszenie całej konfiguracji GENESIS. 

Za jego pomocą możliwe jest nie tylko spakowanie całego projektu w jeden plik, ale również zabezpieczenie go hasłem, zaszyfrowanie lub generowanie podglądów innych zapisanych konfiguracji bez potrzeby ich rozpakowywania.

Dostęp do omawianego narzędzia uzyskuje się poprzez wybór elementu symbolizującego projekt w oknie Workbench oraz kliknięcie odpowiedniej opcji na górnym pasku narzędzi tego modułu.

 

  Zdj. 1.

 

Po wybraniu opcji "Pack Project" otwiera się odpowiedni kreator, który pozwala na dostosowanie potrzebnych ustawień w kilku krokach.

  • Krok 1 : dodanie stosownego komentarza do pakowanego projektu oraz możliwość podmiany określonych ciągów znaków zawierających się w przenoszonej konfiguracji na nowe, zdefiniowane przez użytkownika (w zakładce "Find and Replace" po zaznaczeniu opcji "Enable Find and Replace").
  • Krok 2: dostosowanie opcji odpowiadających za kompresję plików, ich ochronę (hasło, szyfrowanie) oraz ewentualne wprowadzenie hasła. W tym kroku możliwy jest też szczegółowy wybór, które z konfiguracji narzędzi Workbench mają zawrzeć się w pakowanym projekcie.
  • Krok 3: określenie, czy zapamiętane mają zostać również ustawienia programu GraphWorX i ewentualne dołączenie plików interfejsów graficznych lub baz danych.

Po wybraniu opcji "Pack" w kroku 3 następuje spakowanie projektu. Jego pobranie na dysk komputera możliwe jest za pomocą prawego panelu programu Workbench - "Recent Tasks". Wyżej opisane kroki zobrazowane są za pomocą poniższych zdjęć.

Zdj. 2.   Zdj. 3.

 

Spakowany projekt może być zaimportowany do programu Workbench po wybraniu opcji "Unpack Project" (patrz zdj. 1.) i przejściu analogicznych kroków. Użytkownik ma możliwość zastąpienia obecnej konfiguracji nową, lub dodania jej do istniejących ustawień. Zdjęcia nr 2 i 3 dotyczą wersji 10.95 oprogramowania GENESIS64.

Narzędzie ProjectWorX oferuje wiele dodatkowych funkcji, natomiast sprawdza się najlepiej przy migracji projektów pomiędzy systemami tej samej wersji. Przy przenoszeniu projektów między oprogramowaniami różnych typów, niektóre ustawienia mogą nie działać.

 

Eksport i import projektu przy użyciu plików z danymi

 

Ten sposób polega na zapisie informacji dotyczących konfiguracji każdego narzędzia składowego z osobna, w plikach o formacie CSV, Excel lub XML. Następnie dane konfiguracyjne importowane są po kolei do każdego z modułów programu Workbench w lokalizacji docelowej.

Poniższe zdjęcia ukazują proces eksportu konfiguracji AlarmWorX Server'a. Aby tego dokonać, należy w programie Workbench, w lokalizacji początkowej, wybrać PPM narzędzie AlarmWorX Server i użyć opcji "Export Sub-Tree". Powoduje to pojawienie się okna zatytułowanego "Export Options". Użytkownik jest w stanie dodać do pliku właściwy opis, wybrać jego format oraz określić, jak rozdzielane są dane (przecinkiem, znakiem tabulacji lub innym). Po zatwierdzeniu generowany jest odpowiedni plik, który może zostać pobrany za pomocą panelu "Recent Tasks" programu Workbench - analogicznie jak w poprzednim przypadku.

 

Zdj. 4.

 

Dane z plików importowane są w podobny sposób - wybierając w Workbench odpowiednie narzędzie i używając opcji "Import" (patrz zdj. 4.). Użytkownik określa m. in. lokalizację pliku z danymi; znak, jakim rozdzielane są w nim informacje oraz tryb importu - np. zastąpienie lub aktualizację istniejących danych.

 

Migracja projektu poprzez rekonstrukcję baz danych SQL

 

Jest to najbardziej uniwersalny i jednocześnie zalecany sposób przenoszenia konfiguracji programu Workbench pomiędzy systemami. Polega on na sporządzeniu kopii zapasowych odpowiednich baz danych SQL Server oraz zainstalowaniu ich w tym programie, w lokalizacji docelowej.

Oprogramowanie GENESIS64 współtworzone jest przez wiele narzędzi składowych odpowiedzialnych m. in. za alarmowanie czy archiwizację informacji. Moduły te przechowują informacje o swojej konfiguracji w bazach danych SQL. Program SQL Server jest instalowany i konfigurowany automatycznie razem z pakietem GENESIS64. Użytkownik może w późniejszym czasie zdefiniować nowe bazy danych, w których narzędzia składowe będą przechowywać swoje dane konfiguracyjne.

Pierwszy etap migracji projektu dotyczy sporządzenia kopii pożądanej bazy danych - odpowiedniego pliku w formacie .bak. Na filmie zostanie pokazany proces uzyskiwania wyżej wymienionego pliku zawierającego konfigurację serwera alarmów z pakietu GENESIS64 w wersji 10.85.  

 

Nowo utworzony plik należy przenieść do systemu, na którym działa docelowe oprogramowanie GENESIS64 (tu - w wersji 10.95). Kolejny krok obejmuje stworzenie nowej bazy dla alarmów w programie SQL Server z wykorzystaniem pliku .bak. Rzeczą ważną do zapamiętania jest potrzeba określenia odpowiedniego właściciela dla nowej bazy danych - użytkownika podanego/stworzonego przy instalacji pakietu GENESIS64.  

 

Przenoszenie danych kończy wskazanie nowo utworzonej bazy danych jako tej, z której narzędzie AlarmWorX działające w docelowej lokalizacji ma pobierać dane. Dostęp do odpowiednich opcji z poziomu Workbench otrzymuje się poprzez wybór elementu symbolizującego projekt w oknie "Project Explorer", a następnie opcji "Configure Application Settings" z górnego paska narzędzi. Następnie w oknie konfiguracyjnym należy dopasować odpowiednią bazę danych do AlarmWorX.

 

Użytkownik otrzyma po chwili komunikat zwrotny o nieaktualnej wersji wskazanej bazy danych. W celu rozwiązania problemu należy uaktualnić ją - również z poziomu programu Workbench. Dostęp do odpowiednich ustawień uzyskuje się poprzez zakładkę "Project" i opcję "Upgrade Database" na górnym pasku narzędzi Workbench.  

 

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.

 


 

Security: Realizacja polityki bezpieczeństwa oparta na rolach

 

GENESIS64 zawiera zintegrowane narzędzie do zarządzania bezpieczeństwem aplikacji oraz przyznawania kompetencji zależnie od stanowiska.

Jeżeli chcesz zapewnić użytkownikom w Twojej firmie spójną i jednolitą wizualizację, a jednocześnie mieć pewność że każdy użytkownik ma dostęp do funkcji, których wymaga jego stanowisko to GENESIS64 jest idealnym narzędziem dla Ciebie. 

GENESIS64 wykorzystuje model bezpieczeństwa, który zapewnia jasno zdefiniowane grupy użytkowników, jak i spersonalizowane ustawienia dla każdego konta. Możesz ustawić indywidualne uprawnienia i dostępu w oparciu o użytkowników i grupy, tworzyć własne ustawienia polityki, które mogą być stosowane wobec użytkowników i grup oraz kontrolować dostęp do poszczególnych aplikacji, funkcji, systemów i innych funkcji w oparciu o harmonogram.

Security Server jest usługą, która zapewnia użytkownikom i grupie bezpieczeństwo oparte na zasadach bezpieczeństwa różnych aplikacji i funkcji GENESIS64, oferując skuteczne narzędzia konfigurowania dostępu do aplikacji. Model bezpieczeństwa ocenia prawa użytkowników i grup, w pierwszej kolejności sprawdza uprawnienia użytkownika pomijając uprawnienia grupy. Jeśli jednak dostęp użytkownika nie jest określony, wówczas członkostwo w grupie określa politykę dostępu.

 

Ustawienia zabezpieczeń są konfigurowane na serwerze bezpieczeństwa przy użyciu Classic Workbench, Workbench lub Workbench-SL. Ustawienia bezpieczeństwa są stosowane w odniesieniu do następujących elementów systemu GENESIS64:

  • działania podejmowane w aplikacjach pakietu GENESIS64,
  • zmiana stanu wyjść procesowych,
  • dostęp do alarmów i plików,
  • polecenia niestandardowe,
  • dostęp do stacji roboczych.

 

Global Settings

 

Ustawienia globalne służą do konfigurowania polityk, które określają sposób, w jaki serwer bezpieczeństwa GENESIS64 zarządza kontami w swojej bazie danych. Można również zdefiniować punkty krytyczne i alarmy, których edycja następuje przy bardziej restrykcyjnych ograniczeniach - np. przy każdorazowym podaniu hasła. 

Zakładka General Settings (Ustawienia ogólne) umożliwia dostęp do zasad, które kontrolują sposób, w jaki serwer bezpieczeństwa GENESIS64 zarządza kontami w swojej bazie danych. Możesz wybrać, aby serwer Security Server współpracował z usługami domeny Windows. Zapewnia on wtedy połączenie z odpowiednią domeną i mapuje nazwę konta użytkownika w bazie danych zabezpieczeń ICONICS na nazwę konta w domenie Windows - w zadany sposób. Security Server zapewnia ponadto niezbędne dane uwierzytelniające domeny, tak aby GENESIS64 mógł akceptować autoryzację z domeny Windows.

Można ustawić politykę, która będzie akceptować aktualne dane uwierzytelniające konta użytkownika systemu Windows, wypełniać okno dialogowe logowania z użytkownikami domen oraz zmieniać tryb zabezpieczeń. Ustawienia przechowywane w bazie danych Security Server są automatycznie synchronizowane z usługą domeny.

 

 

 

Policies

 

Zasady dotyczące konta to zbiór reguł bezpieczeństwa, które można stosować wobec użytkownika lub grupy użytkowników. Możesz tworzyć wiele polityk, ale tylko jedna polityka może być przypisana do jednego użytkownika lub grupy w danym momencie.

Korzystając z formularza Polityki konta, użytkownik określa, w jaki sposób należy używać haseł i czy użytkownicy są automatycznie blokowani po serii nieprawidłowych prób logowania. Możesz użyć tych ustawień, aby zwiększyły odporność haseł na złamanie, ustawić politykę automatycznego wylogowania i określić, jak radzić sobie z nieudanymi próbami logowania.

Zakładka Time Sheet pozwala na ograniczenie korzystania z aplikacji w zależności od pory dnia, z dokładnością do godziny. Dostęp jest dozwolony w zaznaczonych godzinach, a zablokowany w godzinach nie są zaznaczonych. Poniższy rysunek przedstawia konfigurację, która umożliwia dostęp do danych w godzinach od 8:00 do 17:00 w ciągu pięciodniowego tygodnia pracy.

 

Groups

Grupa pozwala przypisać jednakowe uprawnienia dla użytkowników, którzy mają jednakowe uprawnienia. Użytkownicy mogą należeć jednocześnie do wielu grup, ale grupy nie mogą przypisane do innych grup. Można jednak powielić grupę i wprowadzić w niej odpowiednie zmiany. Grupy muszą mieć niepowtarzalną nazwę.

W czasie pracy, jeśli użytkownik należy do wielu grup, stosuje się najmniej restrykcyjne uprawnienia. Z tego powodu przywileje i ograniczenia ustanowione w domyślnej grupie muszą posiadać najmniejsze uprawnienia. Indywidualne konta użytkowników mogą być mniej restrykcyjną politykę bezpieczeństwa niż domyślnie, ale nigdy bardziej restrykcyjną niż domyślna.

 

 

Users

 

Użytkownik jest kontem kojarzonym z nazwą, hasłem i pewnymi uprawnieniami, które są albo dozwolone, albo mu odebrane. Wiele z  zakładek uprawnień podzielonych jest na dwie sekcje: sekcja dodawania uprawnień i sekcja odmowy dostępu.

W czasie działania, gdy klient GENESIS64 wysyła łańcuch punktów OPC, alarm, plik lub inny obiekt do serwera bezpieczeństwa w celu przetestowania dostępu (przyznany lub odrzucony), listy dodawania i wykluczania są porównywane. Jeśli dany zasób, do którego klient próbuje uzyskać dostęp, znajduje się na liście dozwolonych i nie znajduje się na liście zabronionych, GENESIS64 pozwoli dokonać nad nim manipulacji.

W tym przykładzie użyto łańcuchów punktów OPC, ale ta sama logika odnosi się do wszystkich obiektów, które wymagają dostępu.

 

 

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 dema lub oferty handlowej.

 


 

GraphWorX64: Integracja polityki bezpieczeństwa z wizualizacją

 

GraphWorX64 umożliwia stworzenie wizualizacji zawierającej kontekstowe informacje.

Budowanie takiej wizualizacji pozwala skrócić czas wdrażania aplikacji dzięki wyeliminowaniu konieczności dodawania wielu wersji tego samego ekranu wizualizacji przeznaczonych dla różnych grup użytkowników. Jedna wersja wizualizacji to także wygoda i łatwość jej późniejszej edycji.

Ten wpis przedstawi konfigurację Security Server oraz GraphWorX64, aby uzyskać ekran wizualizacji z danymi kontekstowymi.

 

Konfiguracja GraphWorX64

 

W dowolnym miejscu hierarchii elementów wizualizacji GraphWorX64 należy dodać warstwy, a następnie nadać im unikalne nazwy oraz upewnić się że właściwość HideWhenSecruityDenided ma wartość True. Na warstwach dodajemy elementy zawierające kontekstowe informacje. Poza warstwami powinny się znaleźć wszystkie elementy wizualizacji, które zobaczy każdy użytkownik.  

 

Konfiguracja Secruity Server

 

Moduł Security Server został opisany wyżej, przy omawianiu realizacji polityki bezpieczeństwa opartej na rolach.

Po włączeniu Worbench przechodzimy do modułu Security. Stwórzmy dwóch użytkowników: "operator" i "menager". Operatorowi należy odebrać uprawnienia dostępu do warstwy menagera, a menagerowi do warstwy operatora.

W tym celu należy uruchomić ustawienia użytkownika (lub grupy jeżeli chcemy zdefiniować ustawienia grupy) i przejść do zakładki Files. Przykładowa składnia odebrania/nadania uprwanień dostępu do wizualizacji wygląda następująco:

X:\kontekstowydisplay.gdfx|Menager

Jak widać, składnia zawiera ścieżkę dostępu, symbol oddzielający, nazwę warstwyDowolny ciąg znaków można zastąpić znakiem: * (tzw. "wildcart"). Jeżeli w składni występuje sama * oznacza to, że użytkownik posiada lub nie posiada uprawnienia dostępu do wszystkich elementów należących do danej sekcji (np. wszystkich plików).

Zatem w ustawieniach operatora, w zakładce "Files", sekcji "Deny these operations" wpisujemy:

*(nazwa pliku).gdfx|(nazwa warstwy, której operator ma nie widzieć)

Analogicznie postępujemy z menagerem. Dodatkowo możemy wkleić naszą składnię do okienka testowego znajdującego się na dole sekcji. 

 

Po zaakceptowaniu zmian możemy cieszyć się rezultatami.

 

 

Ukrywanie pojedynczego elementu wizualizacji

 

Jednak zarządzanie zawartością wizualizacji za pomocą warstw często jest niewystarczające. Co jeżeli chcemy chować pojedyncze elementy wizualizacji, bądź dynamicznie wpływać na wygląd wizualizacji na podstawie posiadanych praw dostępu przez użytkownika? Do sprawdzania uprawnień dostępowych użytkownika podczas pracy aplikacji służy przedrostek:  ?DataPoint. Przykładowo, aby uzyskać informacje o uprawnieniach dostępu do zmiennej:  @sim64:Float.Sine(10,0,100,0).Value  należy użyć składni: 

?DataPoint@sim64:Float.Sine(10,0,100,0).Value

 W ten sposób zmienna może przyjmować jedną z czterech wartości: 

  • 3 (b#11) - użytkownik posiada uprawnienia zapisu i odczytu zmiennej,
  • 2 (b#10) - użytkownik może tylko zapisywać wartości do zmiennej, bez możliwości jej odczytu,
  • 1 (b#01) - użytkownik może odcztywać, jednak nie może zapisywać zmiennej lub punktu,
  • 0 (b#00) - użytkownik jest pozbawiony wszelkich praw dostępu do zmiennej lub punktu.

Od takiej zmiennej można uzależnić właściwości dynamiczne obiektów wizualizacji, na przykład kolor tła lub widoczność obiektu.  

Konfiguracja

W przedstawionym przykładzie  uzależnimy kolor wypełnienia prostokąta od uprawnień dostępu użytkownika do danej zmiennej. Konfigurację należy rozpocząć od skonfigurowania dostępu do poszczególnych zmiennych przez użytkowników, to zostało opisane już powyżej. Następnie przechodzimy do ekranu wizualizacji i konfigurujemy właściwości dynamiczne obiekty wizualizacji.

 

Końcowy efekt konfiguracji:

 

   

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.

 


 

ScheduleWorX: Zarządzanie harmonogramem

 

ScheduleWorX to moduł pakietu GENESIS64 stworzony do harmonagramowania działania automatyki, oświetlenia obiektów, urządzeń HVAC i innych.

W tej lekcji opisujemy moduł programowy ScheduleWorX, oraz przedstawiamy przykładową konfigurację harmonogramu do sterowania oświetleniem budynku. Możliwości tego narzędzia będą przedstawiane równolegle do konfiguracji - najlepiej połączyć je z praktyką.

Konfigurator ScheduleWorX składa się z trzech kluczowych elementów:

  • Value Sets - są to grupy zmiennych, które mogą być użyte do grupowania sterowania ich wartościami za pomocą harmonogramu. Każda zmienna, w value set ma inwidualnie określoną wartość.
  • Schedules - są to listy wydarzeń, która może zawierać jedno lub wiecej wydarzeń. Wydarzenia to elementy zdefiniowane w harmonogramie, które mogą się powtarzać cyklicznie.
  • Holidays - jest to lista dni, która służy do nadpisywania cyklicznego harmonogramu.
 

 

Należy pamiętać, że konfiguracja ScheduleWorX odbywa się w programie Workbench, tak samo jak innych modułów GENESIS64.

 

Konfiguracja value sets

 

Konfigurację zaczniemy od obiektu Value Sets, ponieważ będzie on wykorzystywany przy ustawianiu harmonogramu. Przejdźmy zatem do:

Workbench> Actions> Schedules,

otwórzmy rozwijane menu przez kliknięcie PPM na Value Sets i utwórzmy nową grupę zmiennych, tak jak zaprezentowano wyżej.

Okno, które się otowrzy zawiera cztery zakładki (nazwa zakładki jest także odnośnikiem do grafiki prezentującej zawartość oraz przykładową konfigurację):

  • Value Set Tags (klik) - tutaj dodaje się zmienne, których wartości chcemy zmieniać za pomocą harmonogramu.
  • Value Set Values (klik) -  po dodaniu zmiennych w zakładce value set tags, tutaj definiujemy różne warianty wartości zmiennych w grupie.
  • Parameters (klik) - tu określamy zmienne parametry grupy zmiennych, dzięki temu jeden value set możemy wykorzystać w wielu harmonogramach.
  • Other properties (klik) - zakładka umożliwiająca dodanie opisu.

Z tak skonfigurowanym zestawem zmiennych możemy przejść do tworzenia harmonogramu.

 

Konfiguracja harmonogramu

 

Tworzymy nowy harmonogram, tak samo jak stworzyliśmy nowy value set. Konfigurator harmonogramu składa się z 6 zakładek:

  • General (klik) - w tej zakładce można ustawić początek i koniec działania harmonogramu, okres skanowania zmian harmonogramu, czas odświeżania wyjść sterowanych harmonogramem. Ustalamy również typ wyjścia, którym sterujemy harmonogramem.
  • Weekly (klik) - tu tworzymy harmonogram tygodniowy dodając wydarzenia, które będą się powtarzać aż do końca harmonogramu (jeżeli został ustalony).
  • Holidays (klik) - tu ustalamy oraz przypisujemy wcześniej skonfigurowane dni wolne od pracy. To pozwala nam stworzyć wyjątki w działaniu harmonogramu w tych dniach.
 
  • Exeptions (klik) - Wyjątki dają większą elastyczność przy tworzeniu harmonogramów niż tworzenie harmonogramu w cyklu cotygodniowym. Dla skonfigurowanych tutaj wydarzeń można określić dowolnie powtarzalność wydarzeń.
  • Preview (klik) - tu sprawdzimy efekt końcowy naszej pracy, czyli to jak w rzeczywistości wygląda harmonogram po uwzględnieniu wszystkich wydarzeń oraz dni wolnych od pracy w tym harmonogramie.
  • Runtime (klik) - tu sprawdzamy aktualny status harmonogramy oraz możemy ręcznie zmienić aktywny value set do następnej zmiany wynikającej z konfiguracji lub tymczasowo.

 

Konfiguracja dni wolnych od pracy

 

Należy stworzyć nowy zbiór dni wolnych od pracy w zakładce holidays, podobnie jak tworzyliśmy wcześniej inne konfiguracje. Następnie przechodzimy do zakładki Calendar View i tworzymy nowe wydarzenie o dowolnej nazwie. Ważne aby ustalić długość trwania wydarzenia na 1 dzień, a powtarzalność dopasować do własnych wymagań.

 

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.

 


 

Workbench: Grupowanie zmiennych i receptury

 

Zmiana wartości wielu zmiennych za pomocą jednego przycisku? Wybór wartości zmiennych z wcześniej zdefiniowanych zestawów? Nic trudnego dzięki ICONICS.

Rozwiązaniem tego problemu są dwie funkcje zaimplementowane w GENESIS64: Groups oraz Recipes.

  • Groups - służy do tworzenia grup zmiennych. Zmiana wartości zmiennej grupowej powoduje zmianę wartości zmiennych należących do danej grupy.
  • Recipes - jest to rozbudowana funkcja do zarządzania recepturami tj. grupami zmiennych, w której każda zmienna ma indywidualnie przypisaną wartość. Recipes posiada przeglądarkę oraz menu do zarządzania recepturami z poziomu działającej wizualizacji.

Przejdźmy do szczegółowego omówienia powyższych funkcji. Obydwie funkcje konfigurowane są w programie Workbench. Groups znajduje się w zakładce "Platform Services> Unified Data Menager", a Recipes bezpośrednio w "Platform Services".

 

Groups

 

Konfiguracja grupy zmiennych jest niezwykle prosta. Wystarczy stworzyć nową grupę (PPM zakładka Groups> Add Group). 

Po stworzeniu grupy otwiera się okno konfiguracyjne składające się z trzech zakładek. W pierwszej - Group Settings - wybieramy typ zmiennej oraz dodajemy opcjonalny opis.

W zakładce Grouped Tags dodajemy zmienne należące do grupy.

Trzecia zakładka to Parmeters. Tutaj definiujemy parametry grupy zmiennych, które umożliwiają użycie jednej grupy dla wielu zestawów podobnych zmiennych. Pozwala to na wykorzystanie jednej grupy zmiennych w wielu miejscach na wizualizacji.

 

 

Konfiguracja Recipes

 

Konfigurację receptur należy rozpocząć od rozwinięcia Recipes i dodania nowej recepty. Po jej stworzeniu otworzy się okno konfiguracyjne. Umożliwia ono dodawanie opisu elementu,  ustalanie typu zmiennej określającej procent z wartości w recepturze (która zostanie przypisana do zmiennej końcowej) oraz konfigurowanie składowych receptury.

Po skonfigurowaniu receptury należy przycisnąć PPM na skonfigurowanej i dodać nowy wariant receptury (Recipe Item). Tutaj wystarczy określić wartości odpowiadające odpowiedniemu wariantowi.

 

 

Wykorzystanie Recipes w GraphWorX

 

Zarządzanie recepturami z poziomu wizualizacji odbywa się za pośrednictwem dwóch narzędzi: Recipe Navigator oraz Recipe Grid. Znajdują się one w zakładce Controls.

  • Recipe Navigator - służy do przeglądania drzewa receptur oraz ich aktualizacji.
  • Recipe Grid - służy do przeglądania właściwości receptur w postaci tabel.

Oba narzędzia zawierają zaawansowane opcje konfiguracji okna, które umożliwiają dostosowanie wizualizacji do osobistych wymagań i preferencji.

 

 

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.

 


 

AssetWorX - skalowanie projektów SCADA z użyciem drzew zasobów

 

Dowiedz się, w jaki sposób zaprojektować skalowalny system SCADA i ułatwić sobie tym samym zarządzanie aplikacją kontroli procesów.

 

Różne podejścia do projektowania aplikacji SCADA

 

Tradycyjne sposoby budowy systemów SCADA

Na przestrzeni czasu zmienia się podejście do tworzenia aplikacji kontroli procesów. Dawniej, integratorzy systemów wykonywali większość operacji ręcznie, natomiast sam proces projektowania sprowadzał się do poniższych kroków:

  • konfiguracji źródeł danych - powtarzanej dla każdego źródła,
  • dodania połączenia ze źródłem danych w systemie SCADA,
  • następnie, konfiguracji archiwizacji dla wybranych zmiennych,
  • dodania alarmów monitorujących wybrane zmienne,
  • zaprojektowania interfejsu do prezentacji wartości zmiennych.

 

 

Można zauważyć, że w celu ukończenia całej aplikacji, należy powtórzyć powyższy algorytm tyle razy, ile wynosi liczba zbieranych sygnałów. Nietrudno domyślić się, że w przypadku dużych systemów SCADA może być to kłopotliwe.

 

 

Powyższe podejście wprowadza bowiem 4 główne problemy:

  • wydłuża czas budowy i wdrożenia aplikacji,
  • zwiększa prawdopodobieństwo popełnienia błędów przy wielokrotnym powtarzaniu podobnych czynności,
  • utrudnia wprowadzanie modyfikacji dla już działającej aplikacji,
  • sprawia, że cała aplikacja jest nieprzejrzysta i niewygodna w obsłudze.

 

Nowe podejście do projektów SCADA

W dalszej części artykułu opowiemy, w jaki sposób możesz wykorzystać narzędzia od ICONICS, aby stworzyć prawdziwie skalowalny system SCADA. Dzięki produktom ICONICS, budowa przejrzystej aplikacji kontroli procesów może odbyć się prosto - bez programowania.

Wszystkie opisywane działania wykonujemy na pakiecie GENESIS64 w wersji 10.96, który stanowi trzon rozwiązań w zakresie oprogramowania SCADA od ICONICS.

Narzędzia ICONICS mogą służyć zarówno do zautomatyzowania procesu pozyskiwania danych do systemu SCADA, jak i do budowy inteligentnych interfejsów użytkownika. W skrócie, używając produktów ICONICS możemy:

  • tworzyć obiekty na podstawie wcześniej zdefiniowanych klas, które reprezentują monitorowane urządzenia,
  • następnie, grupować te obiekty w logiczne struktury, które odzwierciedlają ich fizyczne rozlokowanie,
  • automatyzować powyższy proces z wykorzystaniem arkuszy Excel zawierających listy posiadanych zasobów,
  • tworzyć interfejsy HMI, które samoistnie dostosują się do liczby i rodzaju monitorowanych zasobów.

Sam algorytm budowy systemów SCADA (przedstawiony w poprzednim podrozdziale) się nie zmienia. Dzięki ICONICS możesz go jednak maksymalnie zautomatyzować. Automatyzacja tworzenia projektu i nadawanie wzajemnych powiązań pomiędzy monitorowanymi sygnałami skutkuje dodatkowo tym, że modyfikacja istniejącej aplikacji jest bardzo prosta.

 

Skalowalny system SCADA z ICONICS

 

Tworzenie klas - szablonów dla obiektów

Narzędzie od ICONICS wchodzące w skład pakietu GENESIS64 - AssetWorX - pozwala na zdefiniowanie klas (szablonów) dla przyszłych obiektów. Takie podejście pozwala nie tylko ujednolicić projekt, lecz także przyspieszyć jego wdrożenie.

Jeśli posiadamy kilkaset urządzeń, które są do siebie bardzo podobne, możemy utworzyć jedną klasę zasobu. Te składowe klasy, które przyjmują różne wartości dla różnych urządzeń (np. ścieżki do zbieranych sygnałów), po prostu uzupełniamy parametrami. Następnie, dodając obiekty do naszego projektu, korzystamy z jednej wspólnej klasy, natomiast zmieniamy jedynie wartości poszczególnych parametrów.  

Podstawową zaletą tego rozwiązania jest fakt, że minimalizujemy tu ryzyko pomyłek związanych z wielokrotnym wykonywaniem tych samych czynności. Ilość pracy jest ograniczona - korzystamy z pre-definiowanych klas, a uzupełniamy jedynie wartości parametrów.

Grupowanie zasobów w logiczne struktury

Narzędzie składowe GENESIS64 - AssetWorX, służy głównie do tworzenia drzew zasobów - uporządkowanych struktur dla obiektów, które odzwierciedlają ich fizyczne rozlokowanie. Dzięki temu nasz projekt staje się od razu bardziej przejrzysty.

 

Skalowalny system SCADA - gotowy obiekt w drzewie AssetWorX
Instancja klasy zasobu - gotowy obiekt w drzewie AssetWorX

 

Na przykład, na powyższym zdjęciu widzimy obiekt klasy AC o nazwie "Klimatyzator" znajdujący się w pomieszczeniu "Biuro 1A" na "Piętrze I" w "Biurowcu A". Po prawej stronie widzimy listę parametrów (właściwą dla klasy AC) z ich indywidualnymi wartościami dla tego obiektu.

Możemy stworzyć dowolną ilość klas i dodawać dla każdej z nich dowolne ilości obiektów.

Niepodważalną zaletą AssetWorX jest również to, że obiekty znajdujące się w drzewie zasobów "wiedzą o sobie nawzajem". Innymi słowy, wraz z dodaniem obiektu do drzewa, automatycznie tworzony jest dla niego zestaw domyślnych atrybutów. Do tych atrybutów należą na przykład zmienne:

  • ChildEquipmentCount - dla każdego obiektu zwróci liczbę obiektów potomnych, znajdujących się pod nim w drzewie,
  • ChildEquipmentNames - jest to wektor, który przechowuje nazwy obiektów potomnych dla każdego obiektu w drzewie,
  • i inne.
 
Automatyczne atrybuty w AssetWorX - informacje o topologii drzewa

Automatyczne atrybuty w AssetWorX - informacje o topologii drzewa

 

Automatyzacja budowy drzewa zasobów

Narzędzia od ICONICS pozwalają nawet na zautomatyzowanie tworzenia samego drzewa zasobów. Wystarczy jedynie, że w odpowiedni sposób uzupełnimy plik Excel tak, aby zawierał listę urządzeń, które chcemy wprowadzić do systemu. Każdy obiekt to osobny wiersz w arkuszu.

W standardowym przypadku, gdy chcemy jedynie zbudować nasze drzewo, arkusz Excela powinien zawierać co najmniej kolumny: TargetEquipment, InstanceName, EquipmentClass niosące informacje o:

  • docelowej lokalizacji zasobu w drzewie,
  • nazwie dla tworzonego zasobu,
  • klasie dla tworzonego zasobu.

Dalej, dodajemy kolumny które odpowiadają nazwom używanych parametrów. Jeśli dany parametr dotyczy dodawanego obiektu, uzupełniamy odpowiednią komórkę. Jeśli nie dotyczy - zostawiamy ją pustą.

 

Jeśli posiadamy już odpowiednio uzupełniony plik Excel, uruchamiamy narzędzie od ICONICS - Bulk Asset Configurator i podajemy ścieżkę do pliku. Narzędzie to doda automatycznie potrzebne elementy w drzewie zasobów AssetWorX.

 

Automatyczna Budowa Drzewa Zasobów z Wykorzystaniem Arkuszy Excel

 

Inteligentny interfejs użytkownika

Wdrażanie każdej aplikacji SCADA kończy przygotowanie odpowiedniego interfejsu użytkownika. Jak łatwo się domyślić, tutaj również istnieje spore pole manewru do automatyzacji czynności.

Dawniej każdą zmienną na ekranie trzeba było dodawać ręcznie. Niekiedy również wymagane było ręczne przerabianie tego samego interfejsu dla różnych urządzeń, tak aby prezentować różne zestawy danych.

Dziś, dzięki rozwiązaniom od ICONICS, większość zagadnień związanych z wizualizacją poddawana jest automatyzacji. Narzędzie do projektowania interfejsów - GraphWorX64 wyposażone jest w mechanizm Clone Dynamic, który pozwala natomiast na powielanie obiektów znajdujących się na ekranie.

Clone Dynamic przyjmuje tylko dwie informacje:

  • liczbę kopii obiektu do wykonania,
  • nazwę dla zmiennej (iteratora), który dla każdego z powielonych obiektów przyjmie wartość odpowiadającą jego numerowi.

Łącząc narzędzie Clone Dynamic z domyślnymi atrybutami obiektów drzewa AssetWorX (ChildEquipmentCount, ChildEquipmentNames ...) możemy zaprojektować interfejs, który automatycznie dostosuje się do posiadanych zasobów.

Na przykład, na zdjęciach niżej pokazano, w jaki sposób interfejs składający się z jednego symbolu zmienia się automatycznie w zależności od obiektu wybranego z drzewa zasobów.

  • Domyślnie jeden element, wizualizujący dane z pomieszczeń, do wielokrotnego powielania:

 

  • Element powielony dla pomieszczeń na Piętrze I w Biurowcu A:

 

  • Element powielony dla pomieszczeń na Piętrze V w Biurowcu A:

 

Na powyższych zdjęciach widzimy, że symbol wizualizujący dane z pojedynczego pomieszczenia powielano tyle razy, ile pomieszczeń było obecnych pod piętrem wybieranym z drzewa zasobów. Interfejs nie tylko powielił symbol, lecz również przyporządkował każdej z kopii unikalny zestaw danych do wizualizacji.

 

Podsumowanie

 

Oczywiście, ICONICS dysponuje zbyt szerokim wachlarzem narzędzi, aby możliwe było omówienie wszystkich funkcjonalności w jednym artykule. Jeśli masz jakieś wątpliwości lub potrzebujesz wskazówek, by móc zaprojektować swój własny skalowalny system SCADA, napisz do nas na adres:

iconics@elmark.com.pl

Dodatkowo, istnieje możliwość darmowego przetestowania systemu od ICONICS zdalnie - przez przeglądarkę. Skontaktuj się z nami pod powyższym adresem e-mail w celu ustalenia terminu zdalnego dostępu i ewentualnych konsultacji.

Jeśli wolisz testować oprogramowanie na własnym sprzęcie, pobierz za darmo wersję DEMO oprogramowania GENESIS64 ze strony producenta (KLIK).

Skontaktuj się ze specjalistą Elmark

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