Promotic
WikipediaLinkedInYoutubeTwitterFacebook

System Alarmów i Eventów

Alarmy oraz eventy to w systemie PROMOTIC pojęcia do wychwytywania i zarządzania zdarzeń technologicznych.
- Alarm to wychwycone zdarzenie technologiczne (np. usterka zaworu), które powstanie, zaniknie i jest wymagane, żeby użytkownik przyjął je do wiadomości tzw. potwierdzenie.
- Event to prostszy rodzaj zdarzenia (np. czynność użytkownika), które tylko powstanie i jest wymagane tylko jego zapisanie.

Oba obiekty są bardzo podobne i z tego powodu mają wspólne niektóre metody. Dla jednej grupy alarmów jest przeznaczony obiekt PmaAlarmGroup, dla grupy eventów obiekt PmaEventGroup. Takich obiektów może być w aplikacji większa ilość. (np. jeżeli chcesz mieć osobno alarmy komunikacyjne i technologiczne lub osobno eventy z kotłowni i z suszarni, itd.)

 
Wytworzenie konkretnego alarm/eventu:

Konkretny alarm/event można wytworzyć (tzn. zdefiniować w celu jego późniejszej aktywacji/deaktywacji/potwierdzenia, itd.) na kilka różnych sposobów:

- Rozszerzenie danych: Wykorzystać Rozszerzenie danych jest najbardziej standardowym i najprostszym sposobemdo wytworzenia alarm/eventu. Jest zdefiniowany w zakładce danych obiektu PmaData. System przeprowadza kontrolę przekroczenia limitów i według tego aktywuje/deaktywuje alarm. Można zastosować Rozszerzenie danych typu ExtAlarmAnalog, ExtAlarmBinary, ExtEvent.
- Statyczne alarmy/eventy: Alarmy oraz eventy można określić bezpośrednio w obiekcie PmaAlarmGroup lub PmaEventGroup w zakładce "Pozycje". Takie alarmy/eventy nestępnie muszą być aktywowane w skrypcie przy pomocy metody Activate.
- Dynamiczne alarmy/eventy: Jeżeli jest wymagane żeby alarmy/eventy nie musiały zostać z góry zdefiniowane, wtedy można w zakładce "Pozycje" zdefiniować tzw. wzór (patrz konfigurator "Szablon dla dynamicznie wytwarzanych pozycji") i dane alarmy/eventy następnie wytwarzać dynamicznie w skrypcie przy pomocy metod PmaAlarmGroup.RegisterNew lub PmaAlarmGroup.ActivateNew.
 
Wytworzenie grupy przy pomocy większej ilości obiektów:

Jeżeli chcesz mieć tylko jedną grupę alarmów/eventów (żeby było na przykład możliwe wspólne przeglądanie wszystkich tych alarmów) lecz chcesz wytworzyć tą grupę przy pomocy większej ilości obiektów PmaAlarmGroup (np. dla każdego kotła chcesz mieć własny PmaAlarmGroup obiekt), wtedy można to uczynić w następujący sposób: Wytwórz jeden obiekt PmaAlarmGroup, który będzie służyć jako podstawa (korzeń - root) dla wszystkich dalszych obiektów. Odpowiednio ustaw go, lecz nie wolno w tym obiekcie wytworzyć żadnego alarm/eventu. W innych odpowiednich miejscach następnie możesz wytwarzać dalsze obiekty PmaAlarmGroup, w których zakreślisz konfigurator "Rodzic aktywny" i wypełnisz ścieżkę do obiektu podstawowego. W taki sposób wytworzonych obiektach następnie wytworzysz wymagane alarmy/eventy.

Zarządzanie tymi alarmami/eventami będzie się odbywać nad tymi obiektami, lecz wewnętrznie wszystko zostanie skierowane do podstawowego obiektu. Alarmy/eventy można następnie przeglądać wspólnie, można je zapisywać do wspólnego pliku, itd.

 
Grupa lokalna (serwer) i grupa odległa (klient):
- Grupa lokalna (serwer) - najczęstszy przypadek, kiedy alarm/event grupa przedstawia miejsce w aplikacji, w którym alarm pozycje rzeczywiście powstają i są zapisywane na dysku komputera. Stosowany jest rodzaj zapisu "Plik tekstowy (*.al)" lub "Plik dBASE III (*.dbf)" - patrz konfigurator "Typ zapisania".
- Grupa odległa (klient) - przypadek, kiedy aplikacja wyświetla alarmy/eventy powstające i przechowywane w innej aplikacji (serwer), która może działać na innym komputerze. Stosowany jest rodzaj zapisu "Odległe połączenie poprzez WEB" - patrz konfigurator "Typ zapisania".
 
Przeglądanie alarmów/zdarzeń:

Do przeglądania alarmów/zdarzeń służy obiekt PmgAlarmStateViewer, PmgAlarmHistoryViewer lub PmgEventViewer. Obiekt ten wraz z następnymi obiektami (przyciski, teksty) znajduje się w panelu i w ten sposób tworzy przeglądarkę stanu alarmów, historii alarmów lub historii zdarzeń. Zazwyczaj przeglądarka jest zarejestrowana w obiekcie PmaAlarmGroup lub w obiekcie PmaEventGroup. Poprzez zarejestrowanie przeglądarki do grupy alarmów/zdarzeń dana grupa uzyska zdolność pośredniczenia wyświetlania w przeglądarce swoich alarmów/zdarzeń. Otwieranie zarejestrowanej przeglądarki (tworzonej panelem) za pośrednictwem grupy alarmów/zdarzeń jest o wiele prostsze od otwieranie bezpośrednio przeglądarki, ponieważ grupa automatycznie dostarczy przeglądarce wszystkie ważne parametry, które w drugim przypadku musiały by zostać przekazane podczas otwarcia. Zarejestrowanie przeglądarki do grupy upraszcza otwieranie przeglądarki dla danej grupy alarmów/zdarzeń.

Wytworzenie przeglądarki alarmów własnymi środkami nie jest prostym zadaniem. Dlatego system PROMOTIC zawiera konfiguracje wstępne wszystkich trzech podstawowych przeglądarek (stanów alarmów, historii alarmów oraz historii zdarzeń). Panel przeglądarki podczas zmiany rozmiaru w runtime skaluje swoją zawartość (zwiększa, przesuwa obiekty graficzne) oraz działa również w Webie. Podczas tworzenia nowej grupy alarmów/zdarzeń można wybrać opcję wytworzenia odpowiednich przeglądarek. Przeglądarkę można wytwórzyć również kiedykolwiek później korzystając z konfiguracji wsępnej, którą projektant może swobodnie modyfikować.

Zarejestrowane przeglądarki otwierane są za pośrednictwem PmaAlarmGroup lub PmaEventGroup określając typ /#state lub /#history. Do dodanych parametrów sParams metody OpenView zostaną uzupełnione (o ile już nie zostały dodane) podstawowe parametry oraz zostaną przekazane przeglądarce (obiekt PmaPanel). Podstawowe parametry panela zarejestrowanej przeglądarki:

- filter: Łańcuch filtra określający, które alarmy/zdarzenia mają zostac wyświetlone. Parametr ten jest dostarczany wraz z metodą OpenView. Jeżeli nie zostanie dostarczony (jest pusty) wtedy zostaną wyświetlone wszystkie alarmy/zdarzenia.
- grouppath: Ścieżka do grypy alarmów/zdarzeń. Jest dostarczana automatycznie (o ile nie została określona) podczas otwierania zarejestrowanej przeglądarki.
- statepath: Ścieżka do otwarcia przeglądarki stanu grypy alarmów. Stosowana jest tylko w przeglądarce historii alarmów i jest przeznaczona do przełączenia do przeglądarki stanu alarmów. Jest dostarczana automatycznie (o ile nie została określona) podczas otwierania zarejestrowanej przeglądarki.
- historypath: Ścieżka do otwarcia przeglądarki historii grypy alarmów. Stosowana jest tylko w przeglądarce stanu alarmów i jest przeznaczona do przełączenia do przeglądarki historii alarmów. Jest dostarczana automatycznie (o ile nie została określona) podczas otwierania zarejestrowanej przeglądarki.
 
Otwarcie konkretnej zarejestrowanej przeglądarki za pośrednictwem grypy alarmów/zdarzeń wraz z przykładami pokazano w następujących punktach.
 
Następujący opis alarmów>/eventów różni się, dlatego będziemy je opisywać oddzielnie:
 

Alarmy

Alarm oznacza sygnalizację stanu, który w zwykłych warunkach nie powinien wystąpić (np. przekroczenie zakresu technologicznego danej wartości, błąd komunikacji, itd.).
 
Otwarcie zarejestrowanej przeglądarki stanu/historii w postaci panela zawierającego obiekt PmgAlarmStateViewer/PmgAlarmHistoryViewer za pośrednictwem obiektu PmaAlarmGroup.
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

pMe.PmPanel.OpenView("/alarmy/#state", "target:main;", "pars:{filter:{source:boiler1;}}");
//lub
pMe.PmPanel.OpenView("/alarmy/#history", "target:main;", "pars:{filter:{source:boiler1;}}");
 
Pojęcia podstawowe:
Aktywacja (powstanie) alarmu: Istnieje sytuacja, kiedy dany alarm stanie się aktywnym. Na przykład dojdzie do uszkodzenia pompy. Alarm może zostać zaktywowany jednym z następujących sposobów:
1. W skrypcie przez wywołanie metody PmaAlarmGroup.Activate lub PmAlarmItem.Activate - odpowiednie dla istniejących alarm pozycji.
2. W skrypcie przez ustawienie właściwości PmAlarmItem.Active - odpowiednie do prostej aktywacji/dezaktywacji.
3. W skrypcie przez wywołanie metody PmaAlarmGroup.ActivateNew - odpowiednie do wytworzenia nowej alarm pozycji według wzoru.

Sprawdzenie, czy alarm jest aktywny można przy pomocy właściwości PmAlarmItem.Active.

Dezaktywacja alarmu: Istnieje sytuacja, kiedy dany alarm przestanie być aktywnym. Na przykład pompa przestanie być uszkodzona. Alarm może zostać dezaktywowany jednym z następujących sposobów:
1. W skrypcie przez wywołanie metod PmaAlarmGroup.Inactivate lub PmAlarmItem.Inactivate.
2. W skrypcie przez ustawienie właściwości PmAlarmItem.Active - odpowiednie dla prostej aktywacji/dezaktywacji.
Potwierdzenie alarmu: Istnieje sytuacja, kiedy użytkownik w aplikacji potwierdzi dany alarm. Na przykład potwierdzi, że przyjął do wiadomości, że pompa jest (lub była) uszkodzona. Alarm może być potwierdzony jednym z następujących sposobów:
1. Potwierdzeniem alarmu w oknie przeglądu stanów alarmów danej grupy.
2. W skrypcie przez wywołanie metod PmaAlarmGroup.Acknowledge lub PmAlarmItem.Acknowledge.

Uwaga: Użytkownik musi posiadać uprawnienie "Acknowledge". Sprawdzić, czy alarm jest potwierdzony można przy pomocy właściwości PmAlarmItem.Acknowledged.

 
Każdy alarm może znajdować się w jednym z następujących stanów:
Stan alarmu: Opis:
aktywny oraz niepotwierdzony (czerwony) Alarm, który został zaktywowany i nie doszło do jego dezaktywacji ani użytkownik nie przyjął go do wiadomości (nie potwierdził).
aktywny oraz potwierdzony (żółty) Alarm, który został zaktywowany, nie doszło do jeho dezaktywacji i użytkownik potwierdził go. Ten stan nie występuje u alarmów, kde konfigurator "Typ potwierdzenia" jest ustawiony na "2 = przy potwierdzeniu także automatyczna deaktywacja".
nie aktywny oraz nie potwierdzony (niebieski) Alarm, który został dezaktywowany lecz użytkownik jeszcze go nie potwierdził. Ten stan nie występuje u alarmów, kde konfigurator "Typ deaktywacji" jest ustawiony na "2 = przy deaktywacji także automatyczne potwierdzenie".
nie aktywny oraz potwierdzony (zielony) Alarm, który jest dezaktywowany i jeżeli jest to konieczne to został potwierdzony przez użytkownika.

Przy zmianie stanu każdego alarmu zostanie wywołane zdarzenie PmaAlarmGroup.onStateChange w obiekcie PmaAlarmGroup w którym dany alarm został zdefiniowany.

 
Alarmy przeczuwające (opóznienie aktywacji i deaktywacji):

Ustawia się w konfiguratorach Opóźnienie aktywacji [sec] oraz Opóźnienie deaktywacji [sec], które umożliwiają nieaktywowanie/niedeaktywowanie alarmu w bieżącej chwili, lecz zamiast tego wprowdzają alarm do stanu przeczucia aktywacji lub przczucia deaktywacji. Przeczucie po ustawionym odcinku czasu zmieni się w rzeczywistą aktywację/deaktywację alarmu albo przeczucie zaniknie.

Dzięki temu można w łatwy spósób zabronić zbytecznemu powstawaniu/zanikaniu alarmów przez chwilowe wahania w wartościach monitorowanych danych, na przykład spowodowane zakłóceniami lub błędami komunikacji. W ten sposób można również implementować alarmy dla czynności z 'timeoutem', kiedy na początku takiej czynności jest aktywowany alarm z opóźnioną aktywacją i przy stwierdzeniu pomyślnego zakończenia czynności alarm należy deaktywować. Jeżeli w określonym czasie nie dojdzie do pomyślnego zakończenia czynności, wtedy alarm w podejrzeniu po określonym czasie powstanie automatycznie.

 
W przeglądarce stanu bieżącego (PmaAlarmGroup.WndState) każdy alarm znajduje się w większości tylko raz. Dla każdego alarmu jest tam przedstawiony jego najbardziej aktualny stan.

Jeżeli alarm ma w ustawieniu zakreśloną opcję Usuń nieaktywne potwierdzone (zielone), wtedy dany alarm zniknie z listy aktywnych alarmów, jeżeli znajdzie się w stanie nie aktywny oraz potwierdzony (zielony).

Jeżeli wartość konfiguratora "Ilość alarmów nie aktywnych, nie potwierdzonych (niebieskich)" obiektu PmaAlarmGroup jest większe niż 1, wtedy alarmy, które wymagają potwierdzenia, pozostają w liście również przy aktywacji nowego alarmu tej samej nazwy. I tylko w tym przypadku może wystąpić sytuacja, kiedy w przeglądarce znajduje się większa ilość stanów takich samych alarmów.

 
W uruchomionej aplikacji można przeglądać listę grup alarmowych przez kliknięcie na ikonę "Alarmy". Ikona znajduje się w pasku narzędzi, który zostanie automatycznie wytworzony przy założeniu nowej aplikacji.

W oknie listy grup alarmowych znajduje się przegląd wszystkich grup alarmowych. Przy każdej grupie alarmowej jest przedstawiona ilość alarmów

- dźwięczących.

Przez podwójne kliknięcie na nazwę dowolnej grupy alarmowej. W tym oknie można alarmy przeglądać i potwierdzać. Jeżeli jest to dozwolone, wtedy można także ustawić i zapisać (przyciski "Nastawienie" i "Zapisać") szerokości kolumn, kolory stanów alarmów, format wyświetlenia czasu, itd.

Każda linia przeglądarki informuje tylko o czasie ostatniej aktywacji/dezaktywacji/potwierdzeniu alarmu. Pełną historię wszystkich alarmów można wyświetlić przez naciśnięcie przycisku "Historia". Tym sposobem otworzy się okno do przeglądania historii wszystkich alarmów w danej grupie.

Eventy

Event jest oznajmieniem o wykonaniu pewnej czynności (np. rozpoczęcie, dokończenie lub pomyślność wykonania jakiegoś procesu, itd.). Oznajmienie to jest zapisywane na dysk twardy w celu późniejszego przeglądania. W ten sposób wytwarza się tak jakby "kronika" o działaniu całej technologii.
 
Otwarcie zarejestrowanej przeglądarki historii w poastaci panela zawierającego obiekt PmgEventViewer za pośrednictwem obiektu PmaEventGroup.
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

pMe.PmPanel.OpenView("/eventy/#history", "target:main;", "pars:{filter:{source:boiler1;}}");

Zaniast słowa "event" można użyć "zdarzenie". Słowo "zdarzenie" jest wszak w tej dokumentacji zarezerwowane dla obiektu (każdy obiekt może posiadać zdarzenia jako na przykład zdarzenie PmaTimer.onTick) i dlatego poniżej będziemy posługiwać się określeniem "event".

 
W odróżnieniu od alarmów, eventy tylko aktywują się. Pojęcia jak "dezaktywacja" i "potwierdzenie" nie musimy w ich odniesieniu stosować, ponieważ można to sobie wyobrazić w ten sposób, że eventy dezaktywują się i potwierdzają się już przy swej aktywacji. Aktywacja eventów wykonuje się w skrypcie przy pomocy metod PmaEventGroup.ActivateNew, PmaEventGroup.Activate lub PmEventItem.Activate.
 
W uruchomionej aplikacji można przeglądać listę gup eventów przez kliknięcie na ikonę "Events". Ikona znajduje się w pasku narzędzi, który zostanie automatycznie wytworzony przy założeniu nowej aplikacji.

W oknie listy grup eventowych znajduje się przegląd wszystkich grup eventowych. Przez podwójne kliknięcie na nazwę dowolnej grupy eventów otworzy się okno z przeglądem historii danej grupy. W tym oknie można przeglądać historię wszystkich eventów w danej grupie.


Historia:
Pm8.03.00:
- Dane historyczne można teraz zapisywać również do Baza danych MS SQL oraz Baza danych Oracle (patrz konfigurator "Typ zapisania").
- Przeglądarka historii:
- Zamiast scrollbara są teraz przyciski "w górę" oraz "w dół".
- Usprawnione zostalo sortowanie malejąco oraz narastająco wg czasu powstania, tzn. nowe alarmy teraz mogą znajdować się u góry.
- Przeglądarkę stanu oraz historii można teraz otworzyć wielokrotnie jednocześnie, na przykład można mieć wciąż otwarte małe a doże okno otworzyć tylko niekiedy.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice