Zarówno w programie jak i w wizualizacji web możemy skorzystać z ułatwień przyspieszających oprogramowanie obsługi alarmów. Saia oddała do dyspozycji dwa mechanizmy, “Alarming” oraz “Alarming2”. Alarming2 jest nowszą i rozszerzoną wersją podstawowego mechanizmu.
Niniejszy wpis opisuje jak skorzystać z tych makr.
Alarming
W programie należy umieścić bloczki funkcyjne obsługujące alarmy od strony sterownika. Niezbędny jest bloczek inicjalizacyjny oraz bloczki do list alarmów. W przypadku mechanizmu “Alarming” bloczkiem inicjalizacyjnym jest “Alarm SWeb Init”. Alarmy w postaci wartości binarnych (1 = jest alarm / 0 = brak alarmu) należy podpiąć do bloczków “Alarm 1”, “Alarm 10” lub “Alarm 20”.
Każdy alarm otrzymuje unikalny identyfikator od 1 do maksymalnej wartości zdefiniowanej w bloczku inicjalizacyjnym. Numerem bazowym dla pierwszego alarmu w bloczku jest numer wpisany na bloczku w polu Idx. Kolejne alarmy są numerowane kolejno. Bardzo istotne jest, aby alarmy się nie powtarzały, zatem jeśli w programie znajduje się więcej niż jeden blok do obsługi alarmów, należy się upewnić, czy numery alarmów się nie zazębiają.
W Web-Editorze na wybranym obrazie należy dodać makro alarmowe. Dostępne są trzy wersje szablonu:
MacroAlarmingDefOnline – alarmy są pogrupowane względem identyfikatora, dostępna jest informacja o czasie wystąpienia ostatniego alarmu, czasie zakończenia ostatniego alarmu oraz łączny licznik wszystkich wystąpień tego alarmu
MacroAlarmingHisOnline – wyświetlane są alarmy bieżące w kolejności chronologicznej
MacroAlarmingHisOffline – wyświetlane są alarmy zakończone w kolejności chronologicznej
Dla wszystkich makr dostępne są przyciski umożliwiające potwierdzanie, czyszczenie alarmów czy np. ich sortowanie.
Po wybraniu makra alarmowego należy je skonfigurować poprzez wskazanie nazwy listy alarmów. Nazwa ta znajduje się w jednym z rejestrów, który należy wskazać. Nazwa tego rejestru zależna jest od nazwy bloczka w Fupli i może brzmieć np. tak: A.Alarm.MojeAlarmy.MyName, gdzie MojeAlarmy to nazwa bloku inicjalizującego.
Konfiguracja makra powinna wyglądać zatem następująco:
![Konfiguracja makra alarmów](https://www.sabur.com.pl/wp-content/uploads/alarmy1_konfiguracja_makra.png)
Konfiguracja makra alarmów
W kolejnym kroku należy zdefiniować teksty alarmów, które będą wyświetlane w wizualizacji na liście alarmów. W tym celu należy do plików projektu dodać nowy plik CSV (np. “tagi.csv”), a następnie uruchomić opcję Project -> Update CSV Files for…
Funkcja ta spowoduje wygenerowanie w pliku CSV wpisów obecnych w wizualizacji. Pierwsza kolumna pliku to identyfikatory tekstów w wizualizacji, druga kolumna to rzeczywiste teksty, które będą zamiast nich wyświetlane. Na liście tej powinny się również znaleźć linie odpowiadające za teksty alarmów, ich identyfikatory powinny mieć nazwę np. A.Alarm.MojeAlarmy.MyName_1, gdzie MojeAlarmy to nazwa bloczka w programie, a 1 to identyfikator alarmu. Po średniku należy wpisać tekst odpowiadający temu alarmowi, np.:
A.Alarm.MojeAlarmy .MyName_1;Mój alarm
A.Alarm.MojeAlarmy .MyName_2;Włamanie
A.Alarm.MojeAlarmy .MyName_3;Wybuch
A.Alarm.MojeAlarmy .MyName_4;Pożar
Ostatnią czynnością jest wskazanie Web-Editorowi, aby korzystał z utworzonego pliku CSV. Należy to zrobić wchodząc w opcje projektu (Project -> <NAZWA> options), przechodząc do zakładki Runtime -> Languages.
Alarming2
W programie należy umieścić bloczki funkcyjne obsługujące alarmy od strony sterownika. Niezbędny jest bloczek inicjalizacyjny oraz bloczki do list alarmów. W przypadku mechanizmu “Alarming” bloczkiem inicjalizacyjnym jest “Alarm2 SWeb Init”. Alarmy w postaci wartości binarnych (1 = jest alarm / 0 = brak alarmu) należy podpiąć do bloczków “Alarm 1”, “Alarm 10” lub “Alarm 20”.
Każdy alarm otrzymuje unikalny identyfikator od 1 do maksymalnej wartości zdefiniowanej w bloczku inicjalizacyjnym. Numerem bazowym dla pierwszego alarmu w bloczku jest numer wpisany na bloczku w polu Idx. Kolejne alarmy są numerowane kolejno. Bardzo istotne jest, aby alarmy się nie powtarzały, zatem jeśli w programie znajduje się więcej niż jeden blok do obsługi alarmów, należy się upewnić, czy numery alarmów się nie zazębiają.
W Web-Editorze na wybranym obrazie należy dodać makro alarmowe. Dostępne są trzy wersje szablonu:
MacroAlarmingDefOnline2 – alarmy są pogrupowane względem identyfikatora, dostępna jest informacja o czasie wystąpienia ostatniego alarmu, czasie zakończenia ostatniego alarmu oraz łączny licznik wszystkich wystąpień tego alarmu
MacroAlarmingHisOnline2 – wyświetlane są alarmy bieżące w kolejności chronologicznej
MacroAlarmingHisOffline2 – wyświetlane są alarmy zakończone w kolejności chronologicznej
Dla wszystkich makr dostępne są przyciski umożliwiające potwierdzanie, czyszczenie alarmów czy np. ich sortowanie.
Po wybraniu makra alarmowego należy je skonfigurować poprzez wskazanie nazwy listy alarmów. Nazwa ta znajduje się w jednym z rejestrów, który należy wskazać. Nazwa tego rejestru zależna jest od nazwy bloczka w Fupli i może brzmieć np. tak: A.Alarm.MojeAlarmy.MyName, gdzie MojeAlarmy to nazwa bloku inicjalizującego.
W konfiguracji tego makra musimy ponadto zdefiniować początek nazwy pliku w formacie ASV. W makrach Alarming2 to właśnie w tym pliku przechowywane są teksty alarmów. Nazwa pliku musi posiadać odpowiedni format: AL_nazwa_PL.ASV, gdzie “AL_” jest obowiązkowym początkiem, “_PL” jest obowiązkowym oznaczeniem języka (można utworzyć więcej plików z innymi językami), a “nazwa” jest dowolną nazwą nadaną przez programistę, np. “alarmy”. W polu “*.asv File Start Name” wpisujemy początek tej nazwy bez oznaczenia kraju. tzn. np. “AL_alarmy”.
![Konfiguracja makr Alarming2](https://www.sabur.com.pl/wp-content/uploads/alarmy2_konfiguracja_makra.png)
Konfiguracja makr Alarming2
W następnym kroku należy dodać pliki ASV oraz CSV. Plik ASV musi mieć format nazwy opisany powyżej (np. “AL_alarmy_PL.ASV”). Plik CSV może się nazywać dowolnie (np. “tagi.csv”). Następnie uruchamiamy opcję Project -> Update CSV Files for…
W pliku CSV należy odnaleźć linię zawierającą “LANG_SYMB”, a następnie po średniku wpisać “PL”. W przypadku aplikacji wielojęzykowej zmienna ta będzie uaktualniana o kod bieżącego języka.
W pliku ASV należy zmienić przykładowe teksty alarmów na własne, a następnie w opcjach projektu (Project -> <NAZWA> options) przejść do zakładki Runtime -> Languages i wskazać dodany plik CSV.