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

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

В формуле создаётся функция, которая проверяет наличие двух условий: включенного зажигания и скорости, выше заданной. Функция позволит отсечь период, когда в аналоговом датчике поступали ложные значения. Справочник по функциям.
if(ign and ((prev(speed)+speed)/2)>14,adc2,0)
здесь ign - псевдоним датчика зажигания, ((prev(speed)+speed)/2)>14 - проверка условия, что средняя скорость объекта в между двумя сообщениями больше 14 км/ч. Средняя скорость между сообщениями вычисляется для уменьшения влияния колебаний скорости, появляющаяся из-за экранирования, во время стоянки. adc2 - это параметр, с которого считываются значения датчика уровня топлива, ранее мы создавали произвольный датчик с псевдонимом fuel, который можно использовать в данной формуле вместо adc2. В данной формуле можно изменять скорость, чем выше, тем сильнее транспорту нужно разогнаться, чтобы данные не были отброшены.
Так же включаем Медианную фильтрацию, которая позволит нам сгладить график и получить меньше скачков топлива. Можно, как на примере, начать со значения 20, и изменять в зависимости от того насколько часто появляются ложные скачи топлива.
Настройка при двух аналоговых ДУТах
Для настройки двух ДУТов на одном объекте необходимо на датчиках уровня топлива выставить тип "Произвольный" и дать каждому датчику псевдонимы Fuel1 и Fuel2

После этого создать виртуальный датчик уровня топлива. В качестве функции использовать "Выражение". В полер "Формула" поставить 
if(ign and ((prev(speed)+speed)/2)>14,fuel1+fuel2,0)

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

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



 Copy
 Copy Export
 Export Annotate
 Annotate Print Preview
 Print Preview Source
 Source Children
 Children Attachments (25)
 Attachments (25) History
 History Information
 Information Likes
 Likes


 
                                                     

