Исходный код вики Настройка аналогового ДУТ

Редактировал(а) Андрей Калиновский 2023/07/11 13:55

Скрыть последних авторов
Илья Крайнов 18.1 1 (% class="wikigeneratedid" id="H41D43044144244043E43943A43843443044244743843A43044344043E43243D44F44243E43F43B43843243043443B44F43E43144A43543A44243044143043D43043B43E43343E43244B43C43443044244743843A43E43C" %)
2 (((
Илья Крайнов 30.1 3 Особенность аналоговых датчиков состоит в том, что при отключении и включении зажигания по параметру, с которого снимаются показания, несколько секунд поступают сообщения с ложными данными, пока не будет достигнута нужная величина. Необходимо отсечь период с ложными данными.
Илья Крайнов 18.1 4 )))
Илья Крайнов 2.1 5
Илья Крайнов 26.1 6 В случае, если данные с аналогового датчика поступают по параметру **in*** или **adc***, где * номер входа, то можно использовать их напрямую. Иначе необходимо предварительно создать датчик с типом **Простой**, типом датчика **Произвольный**, типом входа **Аналоговый**. Указываем номер входа, по которому поступают данные. Также указываем псевдоним, в нашем случае **fuel**.
Илья Крайнов 2.1 7
Илья Крайнов 17.1 8 [[image:image-20220525164243-5.png]]
Илья Крайнов 2.1 9
Илья Крайнов 25.1 10 При создании датчика уровня топлива необходимо установить его тип** **как **Виртуальный**, тип датчика как **Уровень топлива**, а функцию как **Выражение**, что позволит нам ввести **Формулу.** Тип тарировки указать как **Таблица**.
Илья Крайнов 2.1 11
Илья Крайнов 25.1 12 [[image:image-20220808104445-1.png]]
Илья Крайнов 2.1 13
Андрей Калиновский 21.2 14 В формуле создаётся функция, которая проверяет наличие двух условий: включенного зажигания и скорости, выше заданной. Функция позволит отсечь период, когда в аналоговом датчике поступали ложные значения. [[Справочник по функциям>>doc:Панель управления.Основные справочники.Справочник функций и параметров виртуального датчика.WebHome]].
Илья Крайнов 2.1 15
Илья Крайнов 27.1 16 //if(ign and ((prev(speed)+speed)/2)>14,adc2,0)//
Илья Крайнов 2.1 17
Илья Крайнов 31.1 18 здесь **ign** - псевдоним датчика зажигания, **//((prev(speed)+speed)/2)>14// - **проверка условия, что средняя скорость объекта в между двумя сообщениями больше 14 км/ч. Средняя скорость между сообщениями вычисляется для уменьшения влияния колебаний скорости, появляющаяся из-за экранирования, во время стоянки. **adc2 -** это параметр, с которого считываются значения датчика уровня топлива, ранее мы создавали произвольный датчик с псевдонимом **fuel**, который можно использовать в данной формуле вместо **adc2**. В данной формуле можно изменять скорость, чем выше, тем сильнее транспорту нужно разогнаться, чтобы данные не были отброшены.
Илья Крайнов 2.1 19
Илья Крайнов 17.1 20 Так же включаем **Медианную фильтрацию**, которая позволит нам сгладить график и получить меньше скачков топлива. Можно, как на примере, начать со значения 20, и изменять в зависимости от того насколько часто появляются ложные скачи топлива.
Илья Крайнов 2.1 21
Андрей Калиновский 34.1 22 (% class="box infomessage" %)
23 (((
Андрей Калиновский 44.1 24 **До включения медианной фильтрации:                          **[[image:image-20230711134009-5.png||height="299" width="637"]]
25
26 **После включения медианной фильтрации:**[[image:image-20230711134025-6.png||height="285" width="647"]]
Андрей Калиновский 34.1 27 )))
28
Илья Крайнов 17.1 29 После настройки датчика **Уровень топлива** необходимо выполнить настройку шаблонов **Заправка** и ** Слив**. Они расположены во вкладке **Шаблоны**.
30
Илья Крайнов 26.1 31 В шаблонах **Заправка **и **Слив **настройки одинаковы. Необходимо изменить условие **Значение параметра**, обведено голубым, уменьшить до 1 с. Таким образом датчик будет чувствительнее относиться колебаниям. Если какие-либо заправки не отображаются, установите значение 0 сек или удалите данное условие.
Илья Крайнов 17.1 32
33 [[image:image-20220525164243-7.png]]
34
Илья Крайнов 28.1 35 На параметр, обведенный красным, кликаем два раза и открывается окно **Условия определения события**. Здесь удаляем событие **Остановка (150м)**. Это изменение позволит отслеживать заправки и сливы случае, когда неактивно событие **Остановка (150м)**.
Илья Крайнов 17.1 36
37 [[image:image-20220525164243-8.png]]
Илья Крайнов 26.1 38
Андрей Калиновский 37.1 39
40 (% class="box infomessage" %)
41 (((
Андрей Калиновский 47.1 42 **Работа датчика без использования формулы: **[[image:image-20230711135209-7.png]]
Андрей Калиновский 37.1 43 )))
Андрей Калиновский 47.1 44
45 (% class="box infomessage" %)
46 (((
47 **Работа датчика с использованием форумы:**[[image:image-20230711135459-8.png]]
48 )))

Меню

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