Составление формул для определения наступления аварийных событий

На каждом узле учета каждого прибора могут быть зарегистрированы индивидуальные аварийные/событийные критерии. При их срабатывании происходит запись в журнал и происходит опциональное оповещение заинтересованных в информировании лиц по email и/или SMS.

Технически аварии и события являются формулами, зарегистрированными на узле учета прибора, чье значение вычисляется с приходом новых данных по всем правилам, свойственным текущим вычисляемым параметрам.


События 

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


Аварии

Аварии, в отличие от событий, имеют атрибут «защелкнутости». Отщёлкнутая авария защелкивается, когда результат вычисления ее критерия принимает отличное от нуля значение. Авария продолжает оставаться в защелкнутом состоянии до тех пор, пока её критерий не примет значение равное нулю — в этом случае авария отщелкнется.


Если аварийный критерий вычисляется в null, авария не меняет своего состояния — т.е. защелкнутая авария остается защелкнутой, а отщелкнутая авария продолжает оставаться отщелкнутой. Этот момент удобно использовать для создания «нейтральной полосы»  вокруг порогового значения, чтобы избежать дребезга аварии, когда проверяемый параметр колеблется около порогового значения.

Например, рассмотрим следующую формула аварийного критерия
t1 < 10 ? true : t1 > 20 ? false : null

Это выражение принимает значение 1, когда t1 < 10. Когда t1 > 20 принимается значение 0. А значение null выражение будет иметь тогда, когда 10 <= t1 <= 20 (в том числе и когда значение t1 неизвестно). Таким образом, авария сработает (защелкнется), когда значение t1 упадет ниже 10, и останется в защелкнутом состоянии до тех пор, пока t1 не станет выше 20.

Каждая авария и событие имеют настраиваемые тексты, вставляемые в журнал при их срабатывании. Аварии имеют отдельные тексты для защелкивания и отщелкивания. Эти тексты могут использовать внутри себя формульные подстановки, к примеру «Разница температур {t1-t2} выше порога {max_dt}», где t1 и t2 — параметры прибора, max_dt — вычисляемый параметр с константной формулой, а критерий самой аварии: t1 — t2 > max_dt. В момент записи в журнал на места, ограниченные фигурными скобками, будут записаны вычисленные по соответствующей формуле значения параметров.

Наличие защелкнутых аварий на объекте делает его красным на карте (кроме аварии «Не в сети», которая делает значок прибора жёлтым). Если на приборе защелкнуты одновременно аварии «не в сети» и еще какая-то производственная авария, его значок на карте будет оранжевым.

Аварийные и событийные критерии так же могут отдельно ссылаться на предыдущее и новое значение параметра, при обработке новых данных с прибора они будут отличаться. Например, можно зарегистрировать событие с формулой new(counter) < old(counter) и текстом «Сброс счетчика». Так же можно зарегистрировать аварию с критерием «new(t1) < old(t1)», текстом защелкивания «Температура падает» и противоположным текстом отщелкивания аварии – «Температура растет».

Данный пункт необходимо читать совместно с разделом Создание нового аварийного события

Читайте дополнительно: синтаксис редактора формул.