События

Материал из WebHMI
Перейти к: навигация, поиск

События представляют собой механизм, позволяющий регистрировать данные только по наступлению неких условий, когда началась определенная технологическая операция, либо например, определенный параметр процесса вышел за допустимые границы, и необходимо получить отдельный набор данных, связанный с этим моментом, таких как время начала, окончания, значения или изменения других параметров (влияющих на процесс или зависимых от него ) в этот момент, либо на протяжения данного события, что позволяет эффективно анализировать такие ситуации.

Таким образом, события позволяют удобно отфильтровать необходимые данные по каждому из таких условий их наступления, и получить отдельные структурированные отчеты по каждому событию в отдельности. В отличие от построения необходимых протоколов по "срезу" информации в базе данных (логах), событийные отчеты формируются "на лету" т.е. в темпе с процессом мониторинга. После создания события, его данные становятся доступными в виде отчетов в меню Reports, а также имеется возможность представлять данные на временной оси ("ленте"), доступной в меню Reports/Timeline(после выбора опции Show on timeline для одного из событий).

Рассмотрим в качестве примера работы событийного отчета задачу определения интервала времени, когда некоторый параметр вышел за определенные границы, и дополнительные данные связанные с этим событием - время начала и окончания этого интервала, среднее значение параметра в этом интервале, минимальное и максимальное. В качестве источника сигнала будем использовать данные регистра "интервал 20 сек."(I20), меняющего свои значение от 0 до 19 в течении 20 сек.

Для создание событий выбираем п. меню Setup/Events, затем +Add new event. Назначение базовых настроек показано на рисунке. Поскольку событие длящееся, необходимо не забыть указать соответствующую опцию.

Edit event basic.png

Вкладка Condition служит для собственно формирования условия выполнения события:

Condition.png

Визуальный редактор позволяет "склеивать" логические выражения в цепочки условий, в т.ч. с несколькими уровнями вложенности. Доступны следующие блоки:

  • Logic - логические операторы "НЕ", "И", "ИЛИ", и сравнения - "равенство", "неравенство", "больше", "меньше", "больше или равно", "меньше или равно";
  • Math - арифметические блоки - константа, либо операция сложения,вычитания,умножение, деление;
  • Registers - блоки выбора регистра для включения в логические или арифметические выражения;

Вкладка Action настройки событий определяет что, как, и когда записывается в структуру данных отчета событий.

Action .png

При выборе опции "Save to log" появится возможность задания регистров условия вида Ey.x.(полное описание см здесь). Регистры условий нумеруются от 0 и далее по возрастанию (х - это индекс), y - идентификатор события, который присваивается ему при создании и отображается в списке событий. В качестве параметра записываемого в регистр условий может быть 4 варианта:

  • Start time - время начала события
  • End time - время окончания события
  • Last update time - время последнего обновления, фактической регистрации события
  • Произвольный регистр из списка объявленных в меню Registers - при этом в третьей колонке настроек отчета можно будет дополнительно выбрать обработку этого регистра -взять минимальное(Min), максимальное значение(Max), первое значение при старте события(First Value) или последнее при его окончании(Last Value), среднее значение (Average Value).

Настройки для регистров условий в и используемом нами примере приведены на предыдущем рисунке. Название столбцов отчета могут изменены. Для регистров E2.0, E2.1, содержащих время, используется строка задания формата, принятая в PHP. Для регистров E2.2, E2.3 заданы мин и макс. значения соответственно. Е2.4 - усредненное значение регистра на протяжении события.

Результатом настройки данного события станет появление в меню Reports отчетов такого вида:

Event report example copy.png

Поскольку при создании события была также указана опция "Show on timeline", все события будут сохранены и также и на ленте. Выноской с точкой на оси отмечается начало события, либо однократное событие. Удерживая нажатой основную кнопку мыши, можно сдвинуть график по горизонтали, "прокруткой" колеса мыши изменяется масштаб.

Time line.png