Archiwizacja alarmów w systemie SCADA ICONICS – przegląd funkcji

Wiktor Susfał Alarmy i Powiadomienia Tagi: , , ,
Archiwizacja alarmów w systemie SCADA - główne

Poznaj sposób, w jaki funkcjonuje archiwizacja alarmów w systemie SCADA ICONICS. Zobacz jak przebiega zapis danych o awariach do baz danych SQL.

Wykorzystywane narzędzie

Komponent służący do zapisywania informacji o alarmach do baz danych SQL to AlarmWorX Logger. Jest on częścią serwera alarmowania dostępnego w systemie SCADA od ICONICS. Zapewnia on pełną archiwizację danych o sytuacjach awaryjnych, czy zdarzeniach systemowych, jak również pozwala użytkownikowi na precyzyjne dostosowanie parametrów zapisu.

Wpis ten powstał w celu przybliżenia sposobu działania AlarmWorX Loggera. Wstępem teoretycznym do tego narzędzia jest lektura wcześniejszego wpisu na naszym blogu (sekcji „AlarmWorX Logger – zapis zdarzeń do baz SQL”. Mimo, że podlinkowany niżej artykuł omawia jedynie zdarzenia systemowe, trzeba pamiętać, że AWX Logger może też archiwizować informacje o alarmach.

Funkcje archiwizacji udostępniane przez AlarmWorX Logger

Wyzwalanie archiwizacji alarmów

Ogólnie rzecz biorąc, AlarmWorX64 Logger archiwizuje dane regularnie sprawdzając, czy:

  • liczba rekordów w aktywnej tabeli SQL znajduje się powyżej maksymalnej ich liczby („Max Records”),
  • maksymalny zakres czasowy rekordów w tabeli został przekroczony („Max Interval”),

a następnie przenosi nadmiar wierszy do tabel archiwalnych SQL.

Po wyzwoleniu archiwizacji, AWX Logger przesunie wystarczająco dużo wierszy z aktywnej tabeli do archiwalnej, aby sprowadzić liczbę rekordów aktywnej tabeli (lub ich zakres czasowy) do zdefiniowanego Max Records (lub Max Interval). Oznacza to, że może wystąpić sytuacja, gdy tabela aktywna posiada więcej rekordów niż wartość parametru Max Records (Max Interval). Jednak zaraz po wyzwoleniu archiwizacji wróci w zakres bardzo bliski skonfigurowanym limitom.

Zarządzanie archiwalnymi tabelami SQL

Jeśli AWX Logger wykryje, że liczba tabel archiwalnych przekracza zdefiniowany parametr Max Archive Tables, usunie najstarszą tabelę. Należy pamiętać, że aby usługa archiwizacji była aktywna, wymaga się większej od zera wartości parametru Max Archive Tables. Co więcej, odznaczenie opcji „Max Archive Tables” całkowicie wyłączy proces archiwizacji, a aktywna tabela będzie mogła rosnąć w nieskończoność.

Archiwalne tabele na serwerze SQL noszą nazwę tabeli aktywnej, po której następuje znacznik czasu (ang. Timestamp) – data utworzenia tabeli. Kiedy wyzwala się archiwizacja, AWX Logger sprawdza ostatnią taką tabelę pod względem ilości rekordów a także ich zakresu czasowego. Jeśli wielkości te przekraczają wartości parametrów (odpowiednio: Max Archive Records lub Max Archive Interval), AWX Logger tworzy nową tabelę na serwerze SQL.

Pomiędzy tabelami dane zawsze transportuje się w „kawałkach”. Parametr „Max Records Size” oznacza maksymalną liczbę rekordów (wierszy), które migrują z aktywnej do archiwalnej tabeli w jednym kawałku. Niemniej jednak, wiele takich „kawałków” może być przetwarzanych w jednym okresie (za jednym wyzwoleniem) archiwizacji.

Tryby archiwizacji alarmów w AWX Logger

Archiwizacja alarmów w systemie SCADA od ICONICS opiera się w całości o bazy SQL, lecz można wyróżnić dla niej 3 tryby.

  • SQL Only – Jest to domyślne zachowanie systemu archiwizacji. W wyniku tej opcji, proces archiwizacji (sprawdzanie warunków opisywanych wyżej) przebiega w tempie określonym przez ustawienie parametru Archive Period.
  • Archive Daily – proces archiwizacji uruchamia się raz dziennie. Co więcej, po uruchomieniu cały zestaw rekordów w aktywnej tabeli migruje do nowej, archiwalnej. Ponadto, AWX Logger nie bierze pod uwagę ustawień Max Records, Max Interval, Max Archive Records i Max Archive Interval. Parametr Max Archive Tables nadal obowiązuje (teraz można go interpretować jako liczbę dni, z których dane o alarmach znajdują się w tabelach SQL). Zamiast korzystać z okresu archiwizacji, użytkownik określa porę dnia (godzinę w zakresie (0, 23) – parametr Archive On Time), o której następuje wyzwolenie archiwizacji. Należy pamiętać, że proces archiwizacji wyzwoli się o tej porze dnia lub później. Jeśli ustawiono go np. na 22:00, a serwer AWX Logger rozpoczął pracę o godzinie 23:00, wszystkie działania zostaną przeprowadzone o 23:00. Stanie się tak, ponieważ AWX Logger wykryje, że pora archiwizacji minęła, ale jest wciąż ten sam dzień.
  • Create Tables Daily – działa tak samo jak tryb Archive Daily, z wyjątkiem częstszych kontroli. Tryb Archive Daily działa tylko o określonej godzinie, natomiast Create Tables Daily wyzwala się zgodnie z okresem archiwizacji (Archive Period). Mimo wszystko, tryb ten nadal powoduje przeniesienie całego zestawu alarmów z aktywnej tabeli do bieżącej tabeli archiwalnej. Dodatkowo, raz dziennie o godzinie skonfigurowanej jako parametr Archive on Time, zostanie utworzona nowa tabela SQL. Podobnie jak w przypadku trybu Archive Daily, tutaj też ignoruje się parametry Max Records, Max Interval, Max Archive Records i Max Archive Interval. Natomiast nadal spełniane są wymagania stawiane przez wielkość: Max Archive Tables.

Podsumowanie opcji archiwizacji alarmów

Aby lepiej zrozumieć powyższe treści zamieszczono niżej zdjęcie obrazujące okno konfiguracyjne AWX Logger’a. Aby dostać się do tej lokalizacji należy otworzyć program Workbench (środowisko konfiguracyjne systemu SCADA od ICONICS). Dalsze działania obrazuje poniższe zdjęcie.

Ustawienia modułu archiwizacji alarmów w systemie SCADA ICONICS
Ustawienia modułu archiwizacji alarmów w systemie SCADA ICONICS

Porównanie trybów archiwizacji

W zdecydowanej większości przypadków, użytkownicy powinni korzystać z domyślnego trybu archiwizacji – SQL Only. Zarówno metoda Archive Daily, jak i Create Tables Daily jest zalecana dla użytkowników, którzy oczekują rejestrowania dużej ilości rekordów dziennie. Zaleca się pozostanie przy metodzie SQL Only, chyba że okaże się ona zbyt wolna w działaniu względem przyrostu danych w systemie. Niemniej jednak, SQL Only jest jedyną metodą, która zawsze pozostawia pewną ilość rekordów w aktywnej tabeli. Jest to zachowanie, którego oczekuje większość użytkowników.

Tryb Create Tables Daily jest wydajniejszy niż Archive Daily, ponieważ aktywuje się częściej i dlatego pracuje za każdym razem z mniejszym zestawem danych. Będzie on jednak usuwać aktywną tabelę częściej niż tryb Archive Daily. Co za tym idzie, użytkownik powinien wziąć to pod uwagę przed dokonaniem wyboru pomiędzy nimi.

Redundantna archiwizacja danych alarmowych

Archiwizacja alarmów w systemie SCADA ICONICS może zostać skonfigurowana jako lokalnie redundantna. Oznacza to w tym przypadku wprowadzenie łańcuchów połączeń z dwiema oddzielnymi bazami danych. Jeśli łączność zniknie, zapis realizuje się do zapasowej lokalizacji. Oczywiście dalej jest on zgodny z regułami ustalonymi według powyższych opisów. Rozwiązanie to nie zapewnia jednak ciągłości zapisu do tabel SQL w przypadku awarii całego serwera GENESIS64.

Ustawienia redundancji widoczne są na zdjęciu dodanym wyżej. Jest tam też dodatkowo pole o nazwie „Enable Store and Forward”. Pozwala ono na specyfikację lokalizacji na dysku komputera, w której utworzy się plik z danymi, nie mogącymi trafić do bazy SQL w wyniku utraty połączenia.

Przy korzystaniu z zapasowej bazy danych, powinno się również skorzystać z funkcji store-and-forward. Funkcja ta buforuje dane w przypadku utraty połączenia z bazą danych ustawioną dla Logger’a. Kiedy połączenie z nią zostanie przywrócone, zawartość tych plików zostanie wyczyszczona, a dwie (podstawowa i zapasowa) bazy danych zostaną automatycznie zsynchronizowane.

Połączenie z serwerem alarmowania

Ustawienie subskrypcji (wskazanie źródła danych) serwera alarmowania, z którego pobierane są informacje o sytuacjach awaryjnych następuje w zakładce „Alarm Subscription”. Jest ona również widoczna na zdjęciu dodanym wyżej.

Użytkownik jest w stanie wskazać odpowiedni serwer alarmów oraz określić zakres priorytetów, które wyselekcjonują interesującą grupę alarmów. Co więcej można wskazać jakie typy alarmów mają być archiwizowane oraz ustalić które informacje na ich temat zostaną zapisane.

Ponadto użytkownik może tworzyć własne filtry oparte na formułach matematycznych i zmiennych dostępnych w systemie SCADA. Rozwiązanie to sprawdza się wtedy, gdy wyżej wymienione opcje nie pozwalają zawęzić zbioru wszystkich alarmów do ściśle pożądanej grupy.

Zakładkę „Alarm Subscription” ukazano na krótkim filmie pokazowym zamieszczonym we wpisie, do którego link podano na początku tego artykułu.

Podsumowanie

Wpis ten miał na celu nakreślić zasady, jakie obowiązują podczas archiwizacji alarmów w systemie SCADA ICONICS przy użyciu AlarmWorX Logger’a. Jako, że system GENESIS64 to bardzo rozbudowane oprogramowanie, niektóre opcje musiały zostać pominięte przy prowadzeniu niniejszego opisu.

Zachęcamy jednak użytkowników do lepszego zapoznania się z systemem SCADA od ICONICS poprzez testowanie jego darmowej wersji DEMO. Elmark Automatyka udostępnia ją po wysłaniu zapytania na ICONICS@elmark.com.pl .