Promotic

SetState - metoda obiektu PmAlarmItem

Opis:
Zmiana stanu alarm pozycji przez ustawienie nowego wymaganego stanu.
Składnia:
Empty SetState(Long nState)
Notatka:
Zmiana stanu jest wewnętrznie wykonywana przez automatyczne wywołanie metod Activate, Inactivate oraz Acknowledge tak, żeby alarm pozycja osiągnęła nowy, wymagany stan.
W niektórych przypadkach można przejść ze stanu bieżącego do nowego wymaganego stanu bezpośrednio, przez wywołanie jednej z trzech przedstawionych metod. W innych przypadkach nie można przejść z jednego stanu do drugiego bezpośrednio, i musi dojść do kilkakrotnego wewnętrznego wywołania niektórych z przedstawionych metod, i alarm pozycja musi przejść przez kilka innych stanów, zanim osiągnie wymagany stan.
Alarm w stanie "nieaktywny potwierdzony (zielony)" może przejść do stanu "aktywny niepotwierdzony (czerwony)" bezpośrednio przez wywołanie metody Activate.
Alarm w stanie "aktywny potwierdzony (żółty)" może przejść do stanu "nieaktywny niepotwierdzony (niebieski)" przez kolejne wołanie metod Inactivate ("nieaktywny potwierdzony (zielony)"), Activate ("aktywny niepotwierdzony (czerwony)") i w końcu Inactivate ("nieaktywny niepotwierdzony (niebieski)").
W historii alarmów rzeczywiście pojawi sią ciąg kolejno wywołanych metod.

Metoda ta można zastosować zwłaszcza w przypadku, kiedy właściwe alarmy są zaimplementowane poza systemem PROMOTIC (np. w sterowniku PLC) i PROMOTIC jest wykorzystywany do ich wyświetlania. Przy pomocy zdarzenia onUserItemAction można wychwycić również kwitowanie takich alarmów z tym, że potwierdzenie w systemie PROMOTIC zostanie pominięta i informacja o pokwitowaniu zamiast tego zostanie wysłana do systemu odpowiedzialnego za alarmowanie (np. do sterownika PLC).
Metoda jest synchroniczna, to znaczy, że podsystem alarmów ją odrazu wykona. Jednak samotny zapis na dysk do historii alarmów jest asynchronniczny, to znaczy, że metoda ta przekaże podsystemu alarmów wymóg o zapis do historii, ten jest zaszeregowany do kolejki żądań a podsystem alarmów go wykona później.
Patrz również:
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oAl = pMe.Pm("/Alarm");
var oAlItem = oAl.Item("Temperatura");
oAlItem.SetState(3);
© MICROSYS, spol. s r.o.