Перечень настраиваемых событий по сырым данным включает в себя 5 вариаций:
- Выход параметра из рабочего режима потребления.
- Значение параметра выше допустимой нормы.
- Значение параметра ниже допустимой нормы.
- Значение параметра равно константному значению.
- Выражение для анализа данных.
При работе с событиями по сырым данным необходимо знать: единица измерения во всех условиях является не обязательным атрибутом. Если не указывать единицу измерения, система автоматически подставит заложенную в приборе учета. При указании в условиях события единицы измерения и не совпадении ее заложенной в приборе, АИИС Элдис произведет попытку перевода значения в указанную пользователем единицу измерения и при отсутствии такой возможности настроенное событие никогда не сработает, в случае успеха — событие будет работать со значениями пересчитанными в выбранной пользователем единице измерения.
Рассмотрим подробнее каждое из предложенных событий.
Выход параметра из рабочего режима потребления. Событие предлагает для настройки ряд атрибутов: значение «от», значение «до», тип архива для анализа, источник поля (атрибут архива) и единица измерения анализируемого атрибута.
Событие позволяет указать рабочий диапазон, в пределах которого должен находиться выбранный в поле «Источник поля для анализа» атрибут архива, выбранного в поле «Тип архива». Единица измерения указывается по желанию, в случае необходимости перерасчета значений в удобную пользователю единицу измерения. Событие срабатывает при выходе выбранного атрибута в заданной пользователем единице измерения (или единице измерения, заложенной в приборе учета если не указана пользовательская) за рамки, указанные в полях «от» и «до».
Значение параметра выше допустимой нормы. Событие предлагает для настройки ряд атрибутов: допустимая норма, тип архива для анализа, источник поля (атрибут архива) и единица измерения анализируемого атрибута.
Событие позволяет указать значение, которое не должен превышать, выбранный атрибут из указанного пользователем архива. Единица измерения указывается по желанию, в случае необходимости перерасчета значений в удобную пользователю единицу измерения. Событие срабатывает при превышении выбранного атрибута значения, указанного в качестве допустимого в выбранной пользователем единице измерения (или единице измерения, заложенной в приборе учета если не указана пользовательская).
Значение параметра ниже допустимой нормы. Событие предлагает для настройки ряд атрибутов: допустимая норма, тип архива для анализа, источник поля (атрибут архива) и единица измерения анализируемого атрибута.
Событие позволяет указать значение, ниже которого не должен опускаться, выбранный атрибут из указанного пользователем архива. Единица измерения указывается по желанию, в случае необходимости перерасчета значений в удобную пользователю единицу измерения. Событие срабатывает при снижении выбранного атрибута ниже значения, указанного в качестве допустимого в заданной пользователем единице измерения (или единице измерения, заложенной в приборе учета если не указана пользовательская).
Значение параметра равно константному значению. Событие предлагает для настройки ряд атрибутов: константное значение, тип архива для анализа, источник поля (атрибут архива) и единица измерения анализируемого атрибута.
Событие позволяет указать фиксированное число, с которым будет производиться сравнение выбранного атрибута из указанного пользователем архива. В случае совпадения константы со значением из архива, будет зафиксировано срабатывание события. Единица измерения указывается по желанию, в случае необходимости перерасчета значений в удобную пользователю единицу измерения.
Выражение данных для анализа. Форма предлагает выбрать тип архива на базе которого будет производиться анализ, указать выражение данных для анализа, а также указать текст сообщения для email и sms.
Событие позволяет построить произвольное логическое выражение, используя значения атрибутов выбранного архива, при положительном ответе на которое будет происходить срабатывание события.
Для упрощения работы с построением логического выражения предусмотрен конструктор, позволяющий выбирать атрибуты из указанного архива. Как и в случае с описанными выше формами, здесь также предусмотрена возможность выбора единиц измерения, к которым система должна привести выбранные пользователем атрибуты. В случае указания несовместимой с выбранным атрибутом единицы измерения система позволит сохранить условия события, но срабатываний по нему не будет, ввиду ошибки в логическом выражении.
Для вызова формы настройки выражения для анализа, необходимо нажать ЛКМ по иконке с карандашом в соответствующем поле.
Для выбора атрибута и добавления его значения в выражение для анализа, необходимо произвести двойной клик ЛКМ по интересующему параметру, далее в появившемся окне при необходимости выбрать единицу измерения.
Также единицу измерения можно не указывать, в таком случае будет использоваться указанная на приборе учета, для этого необходимо нажать ЛКМ по кнопке «не указывать».
Выбранные атрибуты отображаются в строке «Выражение для анализа данных» в квадратных скобках – это служебные символы символизирующие АИИС о необходимости подстановки атрибута из архива.
Разберем подробнее отображение атрибута, выбранного пользователем в строке для анализа данных:
[TR.M#2(32)]
[] – служебные спецсимволы, оповещающие систему о начале и завершении строки описания атрибута.
TR.M#2 – масса на трубопроводе 2 (обратка).
(32) – код выбранной единицы измерения, в данном случае - тонны.
В строке для анализа данных можно применять простейшие логические и арифметические операции, а также расставлять приоритет выполнения при помощи круглых скобок (как в математике):
- < — меньше;
- > — больше;
- <= — меньше или равно;
- >= — больше или равно;
- <> — не равно;
- = — равно;
- ISNULL — пустое значение. Синтаксис операции: ISNULL(выражение, X) если значение указанного выражения пустое, подставляется X.
- IIF — оператор условного перехода «Если». Синтаксис операции: IIF(выражение, Х, У) если выражение верно оператор вернет Х если ложно, У.
- LIKE — поиск значения в строке на включение, работает только с атрибутами возвращающими строку. Синтаксис "текст LIKE '*искомое*'" если текст включает в себя искомое оператор вернет true (истинно), иначе false (ложно). * до и после искомого текста означает произвольный набор символов. * может быть указана как до и после искомого текста, так и только с одной стороны, в случае если искомым текстом должна начинаться или завершаться строка.
Пример: “[TR.tNSCodes#1] LIKE ‘*10*’”
Если значение атрибута TR.tNSCodes#1 содержит подстроку 10 оператор вернет true, иначе false. - SUBSTRING — позволяет обрезать строку, работает только с атрибутами возвращающими строку. Синтаксис: SUBSTRING(строка, номер символа с которого произведется обрезание, число обрезаемых символов).
Пример: SUBSTRING(‘Диспетчеризация’, 10, 6) вернет Диспетчер.
Рассмотрим в качестве примера выражение, содержащее несколько операторов:
IIF(ISNULL([TV.ta],0)<=0, [TR.t#1]-[TR.t#2], [TR.t#1])<18
Выражение начинается с условного оператора IIF (если) всё что во внешних круглых скобках будет относиться к нему. В скобках нас встречает оператор ISNULL в котором проверяется на пустоту значение TV.ta(температура атмосферы) если оно будет пустым будет передаваться 0, т.к. он указан после запятой в скобках оператора ISNULL, далее идет условие меньше или равно нулю. Итого мы получаем следующее условие «если температура атмосферы (при пустом вернем 0) меньше или равна нулю». Далее после запятой идет разница между температурой подачи и обратки – это значение вернется в случае, если температура была ниже или равна нулю, после следующей запятой указана температура обратки, она будет передана, если температура атмосферы больше нуля. За скобками следует оператор меньше с числом 18, следовательно если число, возвращенное оператором IIF, будет меньше 18, событие сработает.
Если логическое выражение построено не верно – событие не сработает никогда.
Атрибуты могут возвращать:
- числовые значения;
- строковые значения;
- битовые значения.
Атрибуты, которые возвращают битовые значение (true/false): TV.FullArchive, TV.EmptyArchive, TV.NS.
К атрибутам которые возвращают строковое значение относятся: TV.NS, TR.tNSCodes#1, TV.DINSCodes, TV.dtNSCodes, TR.GNSCodes#1, TR.MNSCodes#1, TV.MgNSCodes, TR.GNSCodes#2, TR.MNSCodes#2, TR.PNSCodes#1, TR.PNSCodes#2, TV.QgNSCodes, TV.QntHIPNSCodes, TV.QntPNSCodes, TV.QoNSCodes, TV.taNSCodes, TR.tNSCodes#1, TR.tNSCodes#2, TV.tswNSCodes, TR.VNSCodes#1, TR.VNSCodes#2.
На форме настройки события присутствуют поля «сообщение отображаемое в email» и «короткое сообщение в sms». Для данных полей предусмотрена форма настройки, которая также вызывается ЛКМ по иконке карандаша. На данной форме мы можем указывать логические выражения, и арифметические операции, но анализ их результата производиться не будет. В данной форме мы можем указать произвольный текст (указывается в одинарных кавычках ‘текст’), который без изменений попадет в оповещение по email и/или sms. Текст заключенный в служебные символы [] будет разобран сервисом Элдис и в случае корректности введенных операций, отображен в письме в виде рассчитанных согласно введенных формул значений. Для включения переменных в строку применяется операция конкатенации строк при помощи оператора +.
Пример: ‘Потребление ta (' + [TV.ta] + ' ) выше указанного значения'