Перейти к содержимому

Обработчики

Обработчики позволяют преобразовывать данные, полученные от объектов контроля. Каждый обработчик представляет собой исходный код, написанный на языке программирования JavaScript версии ES6, при помощи которого реализуется заложенный в нем алгоритм. Исходный код разрабатывается непосредственно самим пользователем, что дает возможность учитывать все аспекты при обработке данных.

Платформа позволяет осуществлять контроль текущих значений параметров объекта, которые регистрируются его датчиками. Все данные, полученные от устройства, сохраняются на платформе и в любой момент доступны для последующего анализа. Однако зачастую при анализе данных появляется необходимость в дополнительных расчетах на базе полученных значений. Или же наоборот, могут быть случаи, когда получены данные с избыточной или некорректной информацией. В подобных ситуациях необходима дополнительная фильтрация.

Для этого в архитектуре платформы существует отдельный слой - обработчики, которые позволяют обрабатывать входной пакет данных с целью его коррекции или дополнения. Данные могут быть обработаны таким образом, чтобы можно было, например, рассчитывать расстояние, пройденное транспортным средством, оперируя количеством оборотов колеса и длиной его окружности; осуществлять перевод величины одной единицы измерения в другую; фильтровать пакеты данных, отбрасывая избыточную информацию и оставляя наиболее существенную, и многое другое. Подобные действия можно реализовать в обработчике и затем запустить его. Для создания обработчика необходимо написать исходный код на языке программирования JavaScript версии ES6. Таким образом, вы сами реализуете алгоритм, с помощью которого можно учитывать все аспекты обработки данных для ваших пакетов.

Обработчики работают только с теми параметрами, которые пришли от устройства. Никаких дополнительных источников данных не привлекается.

Карточка обработчика

обработчик1

  1. Имя обработчика

  2. Описание обработчика

  3. Количество объектов, добавленных в обработчик. Нажмите на него, чтобы применить фильтр к списку объектов и показать только те объекты, которые связаны с этим обработчиком

Назначение параметров входных и выходных данных

Заголовок раздела «Назначение параметров входных и выходных данных»

“Управление обработчиком” — это интерфейс для настройки сопоставления параметров обработчика с параметрами моделей выбранных объектов. Здесь вы указываете, какие данные из модели будут использоваться как входные параметры и куда будут записываться результаты обработки.

обработчик2

  1. remainder = “Остаток до ТО” (зелёная рамка — выбрано)

  2. motochron = “Моточасы” (белая рамка — не выбрано)

  1. remainder = “Остаток до ТО” (оранжевая рамка)
  • Выделен зелёным параметр “Моточасы” (motochron)

  • Это значит, вы выбрали его для одного из входных параметров

обработчик3

  1. remainder = “Остаток до ТО” (белая рамка)

  2. motochron = “Моточасы” (зелёная рамка — выбрано)

  1. remainder = “Остаток до ТО” (оранжевая рамка)
  • Выделен зелёным параметр “Моточасы” (motochron)

  • Это значит, вы назначили его для motochron

обработчик4

  • remainder = “Остаток до ТО” (белая рамка — уже назначен)

  • motochron = “Моточасы” (белая рамка — уже назначен)

  • remainder = “Остаток до ТО” (оранжевая рамка — выбрано сейчас)

Выделен оранжевым/желтым цветом параметр “Остаток до ТО” (remainder)

Это значит, что вы только что выбрали этот параметр для выходного значения.

Для создания нового обработчика перейдите на вкладку Обработчики. Добавьте обработчик, нажав на плюсик.

Заполните следующие поля:

  • имя — наименование обработчика;

  • описание — подробная характеристика обработчика, заполняется при необходимости;

  • параметры по умолчанию — поведение обработчика при получении пакета данных, в котором нет нужных входных аргументов:

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

    • заменять на “null” — в качестве значений недостающих в пакете параметров будет подставлен “null”. Например, в обработчике вы рассчитываете среднее значение скорости на базе последних десяти значений. Однако скорость вы получаете не в каждом пакете. Если вы выберете режим “брать последнее присланное значение”, то при получении пакета без скорости обработчик возьмет последнее значение скорости и проведет для него расчет. Вы получите некорректную выходную величину. Если же вы выберете режим “заменять на “null”, то такую ситуацию вы можете обработать и не проводить расчет:

if (speed === null) {
return {};
}

обработчик5

Нажмите кнопку Создать. Перед вами откроется готовый шаблон с небольшим кодом для расчета суммы двух входных значений. Используйте его в качестве наглядного примера того, каким образом может быть реализован обработчик.

обработчик6

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

  1. Нажмите кнопку Testing.

  2. Выберите тип тестовых входных данных и впишите их в окно для ввода слева.

  3. Нажмите кнопку Выполнить.

  4. Выходные данные обработчика появятся справа.

обработчик7

При запущенном режиме тестирования вы также можете редактировать код обработчика. Выполнение теста работает даже на не сохраненном обработчике, чтобы не было необходимости сохранять еще не проверенный код.

Для того чтобы выбрать объекты, на которых необходимо запустить обработчик, перейдите на вкладку Запуск на объекты, и нажмите на кнопку “Выбрать объекты”.

обработчик8

Выберите нужные объекты

обработчик9

Нажмите на кнопку Сохранить, объекты появятся в списке с одним из статусов:

  • Не выбраны параметры - для модели данного объекта еще не установлено соответствие аргументов и входных/выходных параметров обработчика. Подробнее о заполнении параметров

  • Обработка - соответствие параметров сделано, обработчик работает на данном объекте.

В поле Обработка данных отображается время получения последнего обработанного пакета с данными.