Fleetrun
Hecterra
NimBus
Другие приложения
Wialon для Android/iOS
Logistics
Wialon Local
Wialon Hosting
WiaTag
Configurator
LeaseControl
Содержание
Параметры в виде выражений
  • sensors
  • sensor_parameters

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

  • параметры из последнего сообщения (adc1, in1 и т. п.);
  • параметры из предыдущего сообщения (перед ними необходимо ставить знак #, например, #adc1);
  • побитовый контроль параметра (param199:3 и т. п.);
  • имена датчиков (их необходимо указывать в квадратных скобках, например, [Уровень топлива]);
  • константные параметры (const10, const-4.54 и т. п.);
  • знаки математических операций, приведенные ниже.

ЗнакОперация

сложение

− 

вычитание

∗ 

умножение

деление

^

возведение в степень (например, ^const2 — возвести в квадрат, ^const0.5 — извлечь квадратный корень)

( )

скобки приоритета (например, в выражении const1.5*(param1−#param1) скобки указывают на то, что вычитание должно выполняться перед умножением)

|

проверка наличия значения

преобразование параметра

Параметры из предыдущего сообщения недоступны:

  • для датчика Частный режим и его валидатора,
  • для датчика Назначение водителя и его валидатора,
  • для датчиков в уведомлениях,
  • при трассировке графиков,
  • ретрансляции датчиков.
Если один из параметров, входящих в выражение, невалиден, невалидным является и его значение целиком.

Значения датчиков рассчитываются в следующем порядке:

  1. вычисление выражения в поле Параметр,
  2. преобразование значения по таблице расчета (если настроена),
  3. валидация (если настроена).

Параметр датчика, определяющего скорость по координатам

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

Готовая формула указывается в поле Параметр создаваемого датчика. Тип датчика должен быть Произвольный.

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

Ниже приведен пример готовой формулы для Вильнюса, а также этапы для применения формулы. В ее основе скорость рассчитывается как расстояние, деленное на время.

(((lat-#lat)*const111.1365)^const2+((lon-#lon)*const64.3541)^const2)^const0.5/((time-#time)/const3600)

Действия по вычислению скорости по этой формуле можно разделить на 3 этапа:

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

Вычисление коэффициентов для значений lat и lon

Значения широты (lat) и долготы (lon) необходимо перевести из градусов в километры. Для этого необходимо рассчитать коэффициенты. Коэффициент для значения долготы зависит от места. 

  • Широта (lat). Расстояние, покрываемое 1 градусом широты, отличается незначительно от северного до южного полюса: от 110.579 километров на экваторе до 111.694 километров на полюсах. Для упрощения расчетов можно использовать среднее значение: 110.579+111.694)/2=111.1365.
  • Долгота (lon). Расстояние, покрываемое 1 градусом долготы, значительно отличается от северного до южного полюса: от 0 километров на полюсах до 111.321 километров на экваторе. Это расстояние вычисляется по формуле 111.321*cos(lat). Вильнюс расположен на широте 54.6833 градусов (в десятичном формате), поэтому получаем: 111.321*cos(54.6833)=64.3541.

Если нужно рассчитать коэффициент для другого места, подставьте его широту в формулу, не меняя остальные значения.

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

(((lat-#lat)*const111.1365)^const2+((lon-#lon)*const111.321*[Датчик вычисления косинуса широты])^const2)^const0.5/((time-#time)/const3600)

Вычисление расстояния по теореме Пифагора

При вычислении расстояния по теореме Пифагора выполняются следующие действия:

  1. Вычислить разницу между значениями широты из текущего и предыдущего сообщения в километрах, возвести в квадрат.
  2. Вычислить разницу между значениями широты из текущего и предыдущего сообщения в километрах, возвести в квадрат.
  3. Сложить эти два значения.
  4. Извлечь квадратный корень из суммы, чтобы получить расстояние в километрах.

Итоговое вычисление скорости

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

  1. Преобразовать разницу во времени между текущим и предыдущим сообщением из секунд в часы. Для этого необходимо разделить количество секунд на коэффициент 3600.
  2. Разделить расстояние на полученное значение.

Добавление датчика зажигания в формулу (опционально)

Если для объекта настроен датчик зажигания, то в формулу можно добавить условие нулевого значения при выключенном зажигании. Это позволит избежать учета ошибочного изменения координат во время стоянок. Для этого выражение можно указать в следующем виде:

(((lat-#lat)*const111.1365)^const2+((lon-#lon)*const64.3541)^const2)^const0.5/((time-#time)/const3600)*[Имя датчика зажигания]

Результат

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

Параметр датчика относительных моточасов

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

  • датчик коэффициента моточасов (определяет интенсивность работы оборудования в зависимости от оборотов двигателя);
  • датчик относительных моточасов.

Чтобы создать датчик коэффициента моточасов, выполните следующие шаги:

  1. Нажмите на Создать.
  2. Укажите имя датчика.
  3. В качестве типа выберите Произвольный датчик.
  4. Укажите параметр датчика в виде выражения (param1+#param1)/const2, где param1 — параметр, присылающий значение оборотов двигателя. Параметр датчика коэффициента представляет собой среднее арифметическое оборотов двигателя за интервал между двумя соседними сообщениями.

  5. В таблице расчета включите пары XY и настройте их следующим образом:

    XYПояснение

    500

    0.33

    Одна минута работы при 500 об/мин соответствуют 20 секундам моточасов, значит, коэффициент равен 0.33.

    1000

    0.67

    Одна минута работы при 1000 об/мин соответствуют 40 секундам моточасов, значит, коэффициент равен 0.67.

    1500

    1

    Одна минута работы при 1500 об/мин соответствую 60 секундам моточасов, значит, коэффициент равен 1.

    2000

    1.5

    Одна минута работы при 2000 об/мин соответствуют 90 секундам моточасов, значит, коэффициент равен 1,5.

  6. Нажмите на кнопку Генерировать
  7. Нажмите ОК.

Далее создайте датчик типа Относительные моточасы и укажите для него следующий параметр: 

(time-#time)*[Имя датчика коэффициента]/const3600

Параметр представляет собой разницу во времени между соседними сообщениями, умноженную на коэффициент интенсивности работы и разделенную на 3600. Деление на 3600 необходимо, чтобы перевести секунды в часы.

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

Проверка наличия значения

Проверка наличия значения используется для исключения потери данных при замене оборудования. Для применения этой операции в поле Параметр необходимо указать используемые параметры через вертикальную черту (|). Система учитывает первое валидное значение из указанных параметров. 

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

Вместо параметра можно также использовать значения других датчиков в формате [Имя датчика1]|[Имя датчика2].

Проверка наличия значения не работает с параметрами цифровых входов, а также с датчиками, созданными на их основе. Например, функция не работает, если в поле Параметр указано in1|in2.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.
Спасибо за ваш отзыв!
Сообщить об ошибке
Текст с ошибкой Комментарий
Максимум 500 символов