Исходный код вики Настройка аналогового ДУТ
Версия 37.1 от Андрей Калиновский на 2023/07/11 13:14
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
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 | ((( | ||
24 | **До включения медианной фильтрации:**[[image:image-20230707160642-1.png||height="260" width="733"]] **После включения медианной фильтрации:**[[image:image-20230707160743-2.png||height="260" width="734"]] | ||
25 | ))) | ||
26 | |||
![]() |
17.1 | 27 | После настройки датчика **Уровень топлива** необходимо выполнить настройку шаблонов **Заправка** и ** Слив**. Они расположены во вкладке **Шаблоны**. |
28 | |||
![]() |
26.1 | 29 | В шаблонах **Заправка **и **Слив **настройки одинаковы. Необходимо изменить условие **Значение параметра**, обведено голубым, уменьшить до 1 с. Таким образом датчик будет чувствительнее относиться колебаниям. Если какие-либо заправки не отображаются, установите значение 0 сек или удалите данное условие. |
![]() |
17.1 | 30 | |
31 | [[image:image-20220525164243-7.png]] | ||
32 | |||
![]() |
28.1 | 33 | На параметр, обведенный красным, кликаем два раза и открывается окно **Условия определения события**. Здесь удаляем событие **Остановка (150м)**. Это изменение позволит отслеживать заправки и сливы случае, когда неактивно событие **Остановка (150м)**. |
![]() |
17.1 | 34 | |
35 | [[image:image-20220525164243-8.png]] | ||
![]() |
26.1 | 36 | |
![]() |
37.1 | 37 | |
38 | (% class="box infomessage" %) | ||
39 | ((( | ||
40 | **С наличием события "Остановка (150м)":**[[image:image-20230711131355-3.png]]** Без события "Остановка (150м)":**[[image:image-20230711131425-4.png]] | ||
41 | ))) | ||
42 | |||
![]() |
26.1 | 43 |