Исходный код вики Примеры заведения датчиков
                  Версия 17.1 от Андрей Калиновский на 2022/06/10 10:57
              
      Последние авторы
| author | version | line-number | content | 
|---|---|---|---|
| 1 | == **Простые датчики** == | ||
| 2 | |||
| 3 | == == | ||
| 4 | |||
| 5 | **Зажигание** по дискретному входу | ||
| 6 | |||
| 7 | [[image:image-20220519165301-1.png]] | ||
| 8 | |||
| 9 | |||
| 10 | |||
| 11 | **Зажигание** по аналоговому входу (датчик сработает при напряжении более > 6000 мВ) | ||
| 12 | |||
| 13 | [[image:image-20220519165301-2.png]] | ||
| 14 | |||
| 15 | |||
| 16 | **Топливораздача** со счетного импульсного входа | ||
| 17 | |||
| 18 | [[image:image-20220519165301-3.png]] | ||
| 19 | |||
| 20 | В зависимости от алгоритма подсчета импульсов терминалом выбирается тип тарировки «Накопитель» или «Разница от пред.». | ||
| 21 | |||
| 22 | Аналогичным образом создаются датчики проточных расходомеров топлива - в этом случае тип датчика следует выбрать «Расход топлива». | ||
| 23 | |||
| 24 | |||
| 25 | |||
| 26 | **Уровень зерна** полученный по интерфейсу RS485 | ||
| 27 | |||
| 28 | [[image:image-20220519165301-4.png]] | ||
| 29 | |||
| 30 | |||
| 31 | |||
| 32 | **Уровень топлива** полученный по интерфейсу RS485 | ||
| 33 | |||
| 34 | [[image:image-20220519165301-5.png]] | ||
| 35 | |||
| 36 | Т.к. значения меньше первой и больше или равной последней строке считаются невалидными и игнорируются, рекомендуется в последней строке таблицы добавлять входное значение выше максимально возможного. Например 1024 или 4096 для датчиков которые максимально передают уровень топлива в диапазонах 0-1023 или 0-4095. Выходное значение можно рассчитать линейно. | ||
| 37 | |||
| 38 | |||
| 39 | **Температура прицепа **полученная по по интерфейсу 1-Wire | ||
| 40 | |||
| 41 | [[image:image-20220519165301-6.png]] | ||
| 42 | |||
| 43 | |||
| 44 | == **Виртуальные** == | ||
| 45 | |||
| 46 | == == | ||
| 47 | |||
| 48 | [[**Датчик зажигания **по бортовому напряжению>>doc:Панель управления.Раздел "Объекты".Настройка зажигания по напряжению.WebHome]] | ||
| 49 | |||
| 50 | |||
| 51 | **Подавление сигнала GNSS** полученное от терминала УМКа3хх | ||
| 52 | |||
| 53 | [[image:image-20220519165301-7.png]] | ||
| 54 | |||
| 55 | |||
| 56 | Для терминалов УМКа3хх поле STATUS отображается в десятичном виде на входе *А(100), подавление сигнала GNSS меняет девятый бит. В датчике задаем выражение getbit(adc100,9) | ||
| 57 | |||
| 58 | {{video url="https://youtu.be/8i1A0xIBBpc" width="50%"/}} | ||
| 59 | |||
| 60 | |||
| 61 | **Уровень топлива **с агрегирующей функцией суммирования или определения среднего значения. | ||
| 62 | |||
| 63 | [[image:image-20220519165301-8.png]] | ||
| 64 | |||
| 65 | |||
| 66 | [[image:image-20220519165301-9.png]] | ||
| 67 | |||
| 68 | Арегирующая функция «Сумма» применяется **при установке в каждый бак по одному датчику уровня топлива**. | ||
| 69 | |||
| 70 | Арегирующая функция «Среднее» применяется **при установке в один бак нескольких датчиков уровня топлива**. | ||
| 71 | |||
| 72 | |||
| 73 | **Уровень топлива **с валидацией по зажиганию | ||
| 74 | |||
| 75 | При использовании штатных датчиков топлива с инвертированной тарировочной таблицей возникает эффект когда при отключении зажигания напряжение с датчика падает в 0, что детектируется как полный бак. Для фильтрации можно использовать валидацию по датчику зажигания. | ||
| 76 | |||
| 77 | |||
| 78 | Для этого создаем физические датчики зажигания и уровня топлива с указанием псевдонимов ign и fuel | ||
| 79 | |||
| 80 | [[image:image-20220519165301-10.png]] | ||
| 81 | |||
| 82 | [[image:image-20220519165301-11.png]] | ||
| 83 | |||
| 84 | Затем создаем виртуальный датчик уровня топлива с выражением **//if(ign, fuel, 0)//** - если включено зажигание то передаем топливо как есть, в противном случае передаем вместо него 0. Заполняем тарировочную таблицу 2-мя сточками - 0 - 0 и максимальный_объем_бака - максимальный_объем_бака, что будет отсекать 0 полученный из условия формулы. В результате система будет считать невалидным уровень топлива полученный при отключенном датчике зажигания. | ||
| 85 | |||
| 86 | [[image:image-20220519165301-12.png]] | ||
| 87 | |||
| 88 | |||
| 89 | |||
| 90 | **Уровень топлива **по датчику с изменившимся номером входа. | ||
| 91 | |||
| 92 | Для этого создаем физические датчики с типом «Произвольный», тарировочными таблицами, старым и новым номерами входов и указанием псевдонимов fuel_old и fuel_new. | ||
| 93 | |||
| 94 | [[image:image-20220519165301-13.png]] | ||
| 95 | Затем создаем виртуальный датчик уровня топлива с выражением **//if(time > cdate('2021-12-22 00:00:00', 'yyyy-MM-dd HH:mm:ss'), fuel_new, fuel_old)//** - после 2021-12-22 00:00:00 (время по UTC) топливо отображается с нового ДУТ, а до этого времени включительно со старого ДУТ. | ||
| 96 | |||
| 97 | |||
| 98 | [[image:image-20220519165301-14.png]] | ||
| 99 | |||
| 100 |