Пользовательская диагностика
Помимо предопределенных вариантов диагностики нештатных ситуаций пользователь может задать свои.
Рассмотрим следующий пример.
Пусть на точке учета используется прибор КМ-5 и необходимо генерировать нештатную ситуацию при отключении электропитания.
Согласно руководства по эксплуатации этого прибора при сбое питания генерируется событие с кодом 122 и сохраняется в архиве прибора.
Допустим при чтении данных за последние 5 дней надо генерировать нештатную ситуацию на каждую метку времени, когда были сбои электропитания.
Далее описывается порядок создания пользовательского варианта диагностики сбоев электропитания.
Пользовательские параметры диагностики задаются на вкладке Диагностика формы свойств объекта учета:
Выражение, которое используется при диагностике, строится с помощью редактора формул.
Важно
Выражение, которое используется при диагностике, должно иметь логический тип.
При построении выражения используются параметры потребления точек учета, принадлежащих объекту учета.
Для задания выражения надо нажать кнопку Изменить и в открывшейся форме задать выражение, используя параметры потребления точек учета принадлежащих редактируемому объекту учета.
Поле ДатаАрхива содержит дату архивной записи, для которой проводится расчет выражения (параметры потребления и коды ошибок соответствуют этой дате).
Поле Ошибки хранит считанные из архива ошибок коды, разделённые символом |
.
Например, если были зафиксированы коды ошибок 122 и 456, поле Ошибки будет содержать строку: |122|456|
Важно
Если в выражении используется код из архива ошибок, то его надо обрамлять символами |
.
Например, если надо проверить наличие ошибки с кодом 122, то условие должно иметь вид Contains([ИмяТочкиУчёта.Ошибки], '|122|')
.
Вертикальные чёрточки нужны обязательно, иначе НС будет зафиксирована, если были найдены ошибки с кодами 122
, 1224
, 1122
, и так далее.
Если для диагностики используются текущие данные, то порядок расчета выражения следующий:
- При изменении текущих данных по какой-либо точке учёта-источника, входящей в выражение для диагностики, проверяются все формулы, в которую входит эта точка-источник.
- Запрашиваются текущие данные за период плюс минус пять минут относительно времени из п.1, по всем точкам-источникам используемым в выражении для диагностики.
- По всем точкам-источникам отбираются текущие данные, которые укладываются в этот диапазон.
- Из отобранных выбираются данные ближайшие по времени к данным из п.1 и по ним рассчитывается выражение для диагностики.