Страница 1 из 1

Отображение алармов

СообщениеДобавлено: Пт июл 06, 2007 2:50 pm
HakMax
Не совсем понятна работа с алармами.Допустим аналоговый тег со всеми алармами т.е. LoLo, Lo, HiHi, Hi.Как определить какой именно из алармов(или какое событие не знаю как правильно) наступил?

Re: Отображение алармов

СообщениеДобавлено: Пт июл 06, 2007 3:18 pm
Admin
Сначала Вы сами задаете уставки Alarm Value Lo LoLo Hi HiHi.
Например Lo=15 LoLo=10 Hi=85 HiHi=90.
Кроме этого Вы можете указать приоритет Priority для каждой устаки.
Priority = 1..1000 и чем он меньше тем "важнее" событие.

Добавляете в свое окно ActiveX AlarmViewerCtrl и там наблюдаете алармы, ActiveX можно настроить double-click->Properties.
ACK/UnACK - это текущий статус аларма (acknowledge) устанавливается оператором.
Можно определить группы алармов и тогда нагляднее использовать AlarmTreeViewerCtrl, по умолчанию все алармы имеют группу $System.

Как узнать какое событие произошло? Если лень читать, то
double-click -ом на нужном аларме в списке

Кроме того имеются встроенные Quick-функции для работы с алармами.
например almSelectAll - выделяет все алармы.
almAckAll - квитирует выделенные алармы.

СообщениеДобавлено: Пт июл 06, 2007 5:17 pm
HakMax
С AlarmTreeViewerCtrl понятно.Я про другое.Например при наступлении аларма Hi вызывается один скрипт а при HiHi другой.

СообщениеДобавлено: Пн июл 09, 2007 12:53 pm
Admin
За исключением логгирования,в InTouch не предусмотрено функций для работы с событиями. Предполагается что оператору нужен лишь
определенный класс событий, характеризующий критичное состояние системы - алармов.
Алармы сами по себе - это в общем то условия.
Если E > HiLimit делать то и то. А сами события "alarm notifications", например мигание ActiveX. Поэтому чтобы "поймать" свое событие
надо писать Condition Script.

Например если Вам нужен момент когда переменная E принимает значения между 10 и 15 не включая, Вы можете написать

E.HiLimit = 10;
E.HiHiLimit = 15;

IF ( E.HiStatus == 1 ) ..
ENDIF

когда значение превысит 15 HiStatus сбросится на ноль, а HiHiStatus станет равен 1.