Rozproszona archiwizacja danych w systemie SCADA

Wiktor Susfał Archiwizacja Danych, Łączność i Zarządzanie Tagi: , , ,
Rozproszona archiwizacja SCADA - główne

Rozproszona archiwizacja w systemie SCADA ICONICS działa dzięki Zdalnym Kolektorom. Dowiedz się czym one są i jak współpracują z serwerem Hyper Historian.

Jeśli nie otwierają Ci się pełne rozmiary obrazków, klikaj w nie PPM i wybieraj „Otwórz w nowej karcie”.

Działanie modułu archiwizacji HyperHistorian

Moduł archiwizacji Hyper Historian od ICONICS dzieli się na dwa podstawowe komponenty. Pierwszy z nich to Collector – jest to usługa działająca w celu pobierania danych ze źródła, normalizowania ich do postaci zmiennej OPC oraz (ewentualnie) wykonywania wstępnych obliczeń na danych.

Drugim składnikiem jest natomiast Logger. Odpowiada on za zapis danych w plikach binarnych na dysku komputera. W jego zakresie leży również zarządzanie tworzonymi plikami. Informacje do Logger’a wysyłane są bezpośrednio przez Kolektor (Collector).

Czym są Zdalne Kolektory?

Jak wspomniano we wstępie, rozproszona archiwizacja w systemie SCADA ICONICS opiera się o Zdalne Kolektory (ang. Remote Collectors). To pojedyncze narzędzia (usługi) instalowane osobno, na danej maszynie działającej z systemem Windows. Ich zadanie jest takie samo, jak dla standardowych (loklanych) odpowiedników. Różnią się jednak możliwością samodzielnego działania.

Zdalny kolektor działający na tym samym komputerze, co źródłowy serwer OPC, pobiera z niego dane, a następnie wysyła je poprzez sieć do głównego serwera HyperHistorian.

Dlaczego rozproszona archiwizacja w systemach SCADA jest istotna?

Rozproszona archiwizacja w systemach SCADA sprawdza się najlepiej, gdy cały system działa w lokalnej sieci o ograniczonej przepustowości. Można sobie wyobrazić, że sieci lokalne (zamknięte) – wewnątrzzakładowe, obsługiwane przez pojedyncze routery mogą mieć problem z przesyłem dużej ilości danych w czasie rzeczywistym. Szczególnie wtedy, gdy dane te są pobierane z wielu elementów wyposażenia.

Sytuacja taka jest wysoce niepożądana, a nawet bezcelowa w przypadku, gdy w praktyce nie potrzeba znać wszystkich wartości danej zmiennej, a jedynie pewne średnie parametry jej przebiegu.

Można przykładowo wyobrazić sobie następującą sytuację. Na Komputerze A działa serwer OPC, który zbiera szybkozmienne odczyty z urządzenia podpiętego lokalnie do tego komputera. Odczyty te prowadzi się w odstępie 500ms i na bieżąco wysyła do głównego serwera Hyper Historian, działającego na Komputerze B. Na Komputerze B, odczyty te są zbiera Lokalny Kolektor, który oblicza ich dokładną średnią za okres 1 minuty i tylko tą wartość zapisuje się na dysku.

Schemat standardowej archiwizacji w systemie SCADA
Schemat standardowej archiwizacji w systemie SCADA

Nie trudno w tym przypadku zauważyć pewną nieefektywność. Przez okres 1 minuty tylko to jedno urządzenie prześle aż 120 próbek danych. Biorąc pod uwagę fakt, że na taki okres czasu tylko 1 wartość jest zapisywana (średnia), można dojść do wniosku, że 119 próbek przesyła się bezcelowo.

ICONICS stworzyło rozwiązanie mające na celu usprawnienie tego procesu. Posiadając zainstalowaną na Komputerze A usługę Zdalnego Kolektora, potrzebne obliczenia (wyciągnięcie średniej) można wykonać lokalnie na nim. W wyniku tego, poprzez sieć wysyłana jest tylko jedna wartość na każdą minutę – wynik obliczeń. Warto podkreślić, że dzięki takiemu podejściu, można przesłać dane pochodzące ze 120 różnych urządzeń, obciążając sieć w taki sam sposób, jak za pierwszym razem.

Rozproszona archiwizacja SCADA - schemat
Rozproszona archiwizacja SCADA – schemat

Konfiguracja zdalnej archiwizacji

Niezbędne zasoby

Aby móc korzystać z funkcji Zdalnych Kolektorów (ang Remote Collectors) wymagana jest licencja typu Enterprise dla modułu Hyper Historian.

W celu zainstalowania usługi Logger’a – zapisu danych na dysk komputera w głównej lokalizacji, potrzebna jest pełna instalacja Hyper Historian. Nieważne czy jest to instalacja samodzielnego Historian’a, czy jest on częścią całego pakietu SCADA GENESIS64. Wynika to z faktu, że nie ma „Zdalnych Logger’ów” – są to centralne, główne narzędzia.

Najbardziej efektywnym sposobem na instalację Zdalnego Kolektora, jest wybór właśnie takiej opcji z płyty DVD z Hyper Historian. Zajmie on wtedy najmniej miejsca. Niemniej jednak, zdalny kolektor może być również skonfigurowany posiadając pełną instalację Hyper Historian.

Ustawienia wstępne

Aby system w takiej postaci działał prawidłowo, należy zsynchronizować czas na maszynach obsługujących logger’y i kolektory. Działania te nie są związane z narzędziami od ICONICS i mogą się różnić w zależności od czynników, takich jak:

  • obecność komputerów w tej samej domenie;
  • połączenie komputerów przez sieć lokalną (LAN);
  • dostęp komputerów do internetu.

W momencie, gdy komputery mają dostęp do Internetu, sprawa jest łatwa. Wystarczy w ustawieniach w Panelu Sterowania wskazać im ten sam serwer internetowy przechowujący aktualny czas.

Synchronizacja czasu
Synchronizacja czasu

Jeśli komponenty HyperHistorian nie komunikują się ze sobą, może wynikać z blokowania przepływu danych na określonym porcie przez Firewall. Również pomocnym w takim przypadku może okazać się dostosowanie ustawień bądź całkowite wyłączenie usługi UAC (User Account Control) w systemie.

Konfiguracja Zdalnego Kolektora

Odpowiednia opcja instalacyjna znajduje się na płycie DVD z HyperHistorian. Nosi ona nazwę „Hyper Historian Collector”.

Opcja instalacyjna
Opcja instalacyjna

W tym przypadku wybrano instalację kolektora dla 64 bitowego systemu. Należy również pamiętać, że ta instalacja nie wymaga połączenia z bazą SQL. Przy takiej konfiguracji systemu, wszystkie informacje odnośnie ustawień znajdują się w bazie SQL głównego serwera Hyper Historian. Główny serwer wysyła te dane do Kolektora przy każdym uruchomieniu, lub po każdej ich edycji.

W przypadku, gdyby instalowany był pełny serwer Hyper Historian, należałoby przy instalacji wskazać serwer SQL do przechowywania konfiguracji.

Ostatnią ważną rzeczą jest fakt, że do prawidłowego działania archiwizacji na każdej maszynie musi działać taka sama wersja oprogramowania i update’u.

Powyższe kroki wykonuje się na maszynie zdalnej, zbierającej dane z urządzenia i obliczającej wymagane parametry. Kolejne etapy konfiguracji Zdalnego Kolektora wykonuje się już na głównym serwerze.

Dodanie zdalnego kolektora do konfiguracji Hyper Historian

Nowy kolektor dodaje się w środowisku Workbench, w lokalizacji pokazanej na poniższym zdjęciu.

Ustawienia zdalnego kolektora
Ustawienia zdalnego kolektora

Z ważniejszych opcji konfiguracyjnych, użytkownik powinien przede wszystkim zaznaczyć:

  • opcję :„Standalone Collector”,
  • wskazać pożądany protokół wymiany danych (tu: HTTP),
  • podać nazwę lub adres IP maszyny ze Zdalnym Kolektorem.

Wybierając protokół komunikacyjny, należy odczytać z pola „URL” port, którego on używa, a następnie odblokować komunikację przez Firewall dla niego.

W tej lokalizacji znajdują się również inne opcje, pozwalające m. in. na konfigurację redundantnych kolektorów. Pokazano je w innym wpisie na tym blogu, do którego link podano pod koniec tego artykułu.

Utworzenie odpowiedniej struktury archiwizacji

Jak już wiadomo, u podstawy działania Hyper Historian znajdują się logger’y. Zapisują one dane na dysku komputera. Naturalnym następstwem podejmowanych tu działań jest więc dodanie loggera do systemu (tu posłużono się domyślnym przykładem „Data Logger” implementowanym automatycznie podczas instalacji).

Następnie „pod” danym logger’em należy utworzyć „Grupę Archiwizacji” (logowania danych) oraz przypisać do niej tego logger’a. Do nowo utworzonej grupy archiwizacji trzeba przypisać nową Grupę Kolektora. Jest to instancja wybranego kolektora, dla której podaje się pewne parametry pozyskiwania danych, jak np. okres odczytu, czy okres czasu, za który oblicza się pożądane wskaźniki.

Użytkownik może utworzyć dowolną ilość takich instancji dla jednego kolektora, a także tworzyć instancje dla innych kolektorów w obrębie tej samej grupy.

Struktura rozproszonej archiwizacji w Hyper Historian

Na powyższym filmie utworzono jedną instancję Zdalnego Kolektora. Zgodnie z przykładem opisanym na początku artykułu, pobiera ona próbki danych co 500 ms, i wykonuje obliczenia parametrów przebiegu zmiennych za okres 1 minuty.

Licencja Hyper Historian

Aby upewnić się, że Hyper Historian pracuje z odpowiednią licencją, należy przejść do zakładki „System Administrtion”->”System Settings” oraz wybrać licencję „Enterprise”.

Rozproszona archiwizacja SCADA - wybór licencji dla Hyper Historian
Rozproszona archiwizacja SCADA – wybór licencji dla Hyper Historian

Dodanie archiwizowanych zmiennych

Operację tą dokonuje się w taki sam sposób, jak dla lokalnej archiwizacji. Jedyna różnica polega na tym, aby dodając taką zmienną, przypisać ją do odpowiedniej Grupy Kolektora (tu: „RemoteCollectorGroup” ). Dokonuje się tego również z poziomu głównego serwera. Ścieżkę do zmiennej można wprowadzić ręcznie, wpisując lokalny łańcuch połączenia z serwerem OPC (tak, jak „widzi go” Zdalny Kolektor). Można również wprowadzić dane połączenia z serwerem do systemu GENESIS64 oraz wyszukać pożądaną zmienną w Data Browser.

Reszta opcji towarzyszących dodawaniu zmiennej nie jest szczególna dla rozproszonej archiwizacji.

Poniższe zdjęcia przedstawiają dla przykładu:

  • posiadaną konfigurację OPC Serwera – ICONICS OPC Server v5, zainstalowanego na zdalnej maszynie,
  • ustawiania archiwizowanej zmiennej w Workbench pozwalające na jej odczyt.
Ustawienia ICONICS OPC Server v5
Ustawienia ICONICS OPC Server v5
Archiwizowana zmienna
Archiwizowana zmienna

Usługi systemowe związane z archiwizacją

Aktywować lub dezaktywować serwer Hyper Historian można na dwa sposoby. Pierwszym z nich jest zaznaczenie tego komponentu LPM w środowisku konfiguracyjnym Workbench oraz kliknięcie w ikonkę „sygnalizacji świetlnej” na górnym pasku tego programu. Drugi zaś polega na aktywacji lub zatrzymaniu pewnych usług w dedykowanym oknie systemu Windows.

Pierwszy przypadek jest prosty. Jednak, obserwując uważnie wpływ działania ikonki „sygnalizacji” z programu Workbench, można zauważyć, że uruchamia ona usługę: ICONICS Hyper Historian Logger w oknie usług Windows. Odpowiada ona za działanie Logger’a oraz lokalnych kolektorów.

W przypadku głównego serwera Hyper Historian, tylko ta usługa musi być uruchomiona (o ile na głównym serwerze nie działają Zdalne Kolektory). Na maszynie ze Zdalnym Kolektorem (Kolektorami) wystarczy natomiast druga z tego typu usług w oknie Windows: ICONICS Hyper Historian Collector.

Usługi systemowe archiwizacji
Usługi systemowe archiwizacji

Prezentacja działania systemu

Pokazana wyżej zmienna symuluje sygnał sinusoidalny w zakresie <0, 50>. Została ona skonfigurowana tak, aby generować 120 próbek na pełen okres, każda co 500ms. Wynika z tego, że okres tego sygnału to 1 minuta.

Do powyższej zmiennej dodano jeszcze jedną – spełniającą założenia z początku artykułu. Jej konfiguracja jest taka sama, jednak zaznaczono tam również opcję o zliczaniu średniej wartości tej zmiennej za okres 1 minuty (zamiast przesyłania wszystkich próbek).

Powyższe działania, jak i rezultaty w postaci przebiegów wykresów przedstawia film.

Prezentacja rozproszonej archiwizacji

Podsumowanie

Rozproszona archiwizacja w systemie SCADA pozwala przede wszystkim na zoptymalizowanie wykorzystania zasobów sieciowych. Podczas, gdy komunikacja urządzeń jest rozwiązaniem powszechnym – według idei Przemysłu 4.0 – mądrze zagospodarowane sieci stoją u podstaw sprawnie działającego przedsiębiorstwa. Co więcej, elastyczność rozwiązań od ICONICS pod względem optymalnej transmisji danych pozwala na proste dołączenie tego systemu SCADA do już prosperującej infrastruktury sieciowej.

Elmark Automatyka udostępnia wersję demo oprogramowania GENESIS64 (obsługującą rozproszoną archiwizację), w celu osobistego przetestowania funkcjonalności pakietu. Skontaktuj się z nami na ICONICS@elmark.com.pl w celu otrzymania wersji testowej lub oferty handlowej.