Исходный код вики Настройка аналогового ДУТ
Версия 17.1 от Илья Крайнов на 2022/05/25 16:47
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | == Настройки датчика уровня топлива для объекта с аналоговым датчиком == | ||
2 | |||
3 | |||
4 | Особенность аналоговых датчиков состоит в том, что при отключении и включении зажигания значению по параметру, с которого снимаются показания, несколько секунд перебираются значения, пока не достигнут реальных показаний. Необходимо отсечь периоды с ложными данными. | ||
5 | |||
6 | В случае, если данные с аналогового датчика поступают по параметру **in*** или **adc***, где ***** номер входа, то можно использовать их напрямую. Иначе необходимо создать датчик, с типом **Простой**, тип датчика **Виртуальный**, тип входа **Аналоговый**. Указываем номер входа, по которому поступают данные. Также указываем псевдоним, в нашем случае **fuel**. | ||
7 | |||
8 | [[image:image-20220525164243-5.png]] | ||
9 | |||
10 | При создании датчика уровня топлива необходимо установить его **Тип **как **Виртуальный**. Функцию как **Выражение**, что позволит нам ввести **Формулу**, тип тарировки указать как **Таблица**. | ||
11 | |||
12 | [[image:image-20220525164243-6.png]] | ||
13 | |||
14 | В формуле создаётся функция, которая проверяет наличие двух условий: включенного зажигания и скорости, выше заданной. Функция позволит отсечь период, когда в аналоговом датчике поступали ложные значения. Справочник по функциям находится по [[ссылке>>url:https://wiki.glonasssoft.ru/bin/view/%D0%9F%D0%B0%D0%BD%D0%B5%D0%BB%D1%8C%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8/%]]. | ||
15 | |||
16 | //if(ign and speed>10,adc2,0)// | ||
17 | |||
18 | здесь **ign** - псевдоним датчика зажигания, **speed>10 - **проверка условия, что скорость объекта в сообщении меньше 10 км/ч. **adc2 -** это параметр, с которого считываются значения датчика уровня топлива, ранее мы создавали произвольный датчик с псевдонимом **fuel**, которым можно использовать в данной формуле вместо **adc2**. В данной формуле можно изменять скорость, чем выше, тем сильнее транспорту нужно разогнаться, чтобы данные не были отброшены. | ||
19 | |||
20 | Так же включаем **Медианную фильтрацию**, которая позволит нам сгладить график и получить меньше скачков топлива. Можно, как на примере, начать со значения 20, и изменять в зависимости от того насколько часто появляются ложные скачи топлива. | ||
21 | |||
22 | После настройки датчика **Уровень топлива** необходимо выполнить настройку шаблонов **Заправка** и ** Слив**. Они расположены во вкладке **Шаблоны**. | ||
23 | |||
24 | В шаблонах **Заправка **и **Слив **настройки одинаковы. Необходимо изменить условие **Значение параметра**, обведено голубым, уменьшить до 20 с. Таким образом датчик будет чувствительнее относиться колебаниям. | ||
25 | |||
26 | [[image:image-20220525164243-7.png]] | ||
27 | |||
28 | На параметр, обведенный красным, кликаем два раза и открывается окно **Условия определения события**. Здесь удаляем событие **Остановка (150м)**. Это изменение позволит отслеживать заправки и сливы случае, когда автомобиль начал движение. | ||
29 | |||
30 | [[image:image-20220525164243-8.png]] |