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

В случае, если данные с аналогового датчика поступают по параметру in* или adc*, где * номер входа, то можно использовать их напрямую. Иначе необходимо предварительно создать датчик с типом Простой, типом датчика Произвольный, типом входа Аналоговый. Указываем номер входа, по которому поступают данные. Также указываем псевдоним, в нашем случае fuel.

image-20220525164243-5.png

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

image-20220808104445-1.png

В формуле создаётся функция, которая проверяет наличие двух условий: включенного зажигания и скорости, выше заданной. Функция позволит отсечь период, когда в аналоговом датчике поступали ложные значения. Справочник по функциям.

if(ign and ((prev(speed)+speed)/2)>14,adc2,0)

здесь ign - псевдоним датчика зажигания, ((prev(speed)+speed)/2)>14 - проверка условия, что средняя скорость объекта в между двумя сообщениями больше 14 км/ч. Средняя скорость между сообщениями вычисляется для уменьшения влияния колебаний скорости, появляющаяся из-за экранирования, во время стоянки. adc2 - это параметр, с которого считываются значения датчика уровня топлива, ранее мы создавали произвольный датчик с псевдонимом fuel, который можно использовать в данной формуле вместо adc2. В данной формуле можно изменять скорость, чем выше, тем сильнее транспорту нужно разогнаться, чтобы данные не были отброшены.

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

До включения медианной фильтрации:                          image-20230711134009-5.png                                                     

После включения медианной фильтрации:image-20230711134025-6.png

После настройки датчика Уровень топлива необходимо выполнить настройку шаблонов Заправка и  Слив. Они расположены во вкладке Шаблоны.

В шаблонах Заправка и Слив настройки одинаковы. Необходимо изменить условие Значение параметра, обведено голубым, уменьшить до 1 с. Таким образом датчик будет чувствительнее относиться колебаниям. Если какие-либо заправки не отображаются, установите значение 0 сек или удалите данное условие.

image-20220525164243-7.png

На параметр, обведенный красным, кликаем два раза и открывается окно Условия определения события. Здесь удаляем событие Остановка (150м). Это изменение позволит отслеживать заправки и сливы случае, когда неактивно событие Остановка (150м).

image-20220525164243-8.png

Работа датчика без использования формулы: image-20230711135209-7.png

Работа датчика с использованием форумы:image-20230711135459-8.png

Tags:
Created by Илья Крайнов on 2022/05/25 15:23
   

Меню

ГЛОНАССSoft wiki - 2023г