Датчик уровня топлива (ДУТ) — физический датчик в баке или топливные показания CAN-шины: по тарировочной таблице платформа переводит их в литры и строит уровень топлива, по которому считаются заправки и сливы. На этой странице администратор или инженер добавляет ДУТ объекту и настраивает его тарировку.
Форма датчика уровня топлива: тип и номер датчика, модель, номер и объем бака, кнопка тарировки.
Датчик добавляется в карточке объекта мониторинга (вкладка Объекты → «Дополнительное оборудование» → «Добавить новое оборудование»): после выбора типа открывается показанная выше форма.
Датчик уровня топлива (ДУТ) — физический датчик в баке или топливные данные с CAN-шины. Платформа переводит сырые показания в литры по тарировочной таблице и вычисляет текущий уровень топлива: уровень бака с несколькими ДУТ — среднее по ним, общий объем топлива на объекте — сумма по всем бакам. Именно этот уровень рисуется на графике топлива объекта.
Уровень топлива — вход для всей топливной аналитики: по нему анализ топлива выделяет заправки и сливы, а уведомление низкого уровня топлива срабатывает по абсолютному порогу (в литрах) или процентному порогу (в %). Для неосновных анализов платформа строит параллельные топливные графики с именем анализа.
Последнее известное валидное значение по номеру бака подставляется, когда рассчитанного значения по баку нет: при поиске заправок и сливов — для каждого анализа топлива; в уровнях в отчетах — только для основного анализа, уровни дополнительных выводятся без подстановки; в текущем состоянии объекта — для всех анализов.
Аналитика топлива по ДУТ работает, когда на объекте мониторинга настроены три вида оборудования:
Датчик зажигания — по нему анализ размечает режимы работы техники;
Датчик уровня топлива — с тарировочной таблицей не меньше чем из 2 точек, номером и объемом бака;
Анализ топлива — ровно один анализ объекта отмечен флажком «Основной анализ топлива».
ДУТ участвует в расчетах только того анализа, который выбран в поле «ID привязанного анализа топлива». При создании ДУТ на объекте с одним анализом топлива поле заполняется этим анализом; если анализов нет или их несколько, в поле стоит «Не выбрано» и анализ выбирают явно. В расчетах уровня, заправок и сливов участвуют только ДУТ с выбранным анализом. В списке поля — анализы топлива этого объекта.
Несколько баков объекта задают полем «Номер бака»: ДУТ с одинаковым номером относятся к одному баку. Уровень бака — среднее по его валидным ДУТ, уровень анализа — сумма уровней баков. Объем бака берется у первого ДУТ бака, у которого он задан, поэтому у всех ДУТ одного бака указывают одинаковый «Объем бака, л». Общий объем — сумма объемов баков.
ДУТ разных баков привязывают к одному анализу, если баки нужно считать вместе, или к разным анализам, если каждый бак нужно считать отдельно.
Уровень бака = среднее арифметическое валидных ДУТ бака: сумма значений делится на их количество. Тарировка «показание → литры» — линейная интерполяция по отсортированным по возрастанию парам таблицы (квантиль → миллилитры); результат умножается на коэффициент корректировки топлива (по умолчанию 1.0). Уровень точки трека = сумма текущих значений по всем бакам.
Форма датчика уровня топлива в карточке объекта содержит поля; источник данных выбирают переключателем «Датчик» (вход трекера) или «Атрибут» (ключ атрибута телеметрии):
Оборудование клиента (обязательное) — чекбокс.
Игнорировать данные без зажигания — чекбокс.
Работает через Bluetooth — чекбокс; при включении ниже появляется поле «MAC-адрес».
Тип датчика (обязательное) — выпадающий список каналов: Аналоговый, Топливный, Импульсный. Виден и обязателен в режиме «Датчик».
Номер датчика (обязательное) — номер канала (в интерфейсе — начиная с 1). Виден в режиме «Датчик»; максимум зависит от выбранного типа датчика: Аналоговый — 4, Топливный — 6, Импульсный — 4.
Ключ атрибута (обязательное) — поле с автоподсказками популярных ключей (по модели трекера и типу оборудования). Виден и обязателен в режиме «Атрибут».
Псевдоним (наименование для произвольных выражений) — текстовое поле.
Валидатор (произвольное логическое выражение) — текстовое поле; показание, для которого выражение ложно, отбрасывается.
ID привязанного анализа топлива — выпадающий список: «Не выбрано» и анализы топлива того же объекта; при создании ДУТ на объекте с одним таким анализом он выбирается автоматически, иначе по умолчанию стоит «Не выбрано». ДУТ участвует в расчетах выбранного анализа.
Номер бака (обязательное) — целое число.
Объем бака, л (обязательное) — целое число.
Модель датчика уровня топлива (обязательное) — поле поиска-выбора из справочника моделей.
Серийный номер — текстовое поле.
MAC-адрес — показывается только при включенном «Работает через Bluetooth».
Расширить тарировочную таблицу при выходе за ее пределы — чекбокс.
Тарировочная таблица (обязательное) — кнопка открывает отдельное модальное окно с графиком и таблицей точек (ось X — «Уровень», ось Y — «Литры»). Нужно минимум 2 точки.
Минимальные валидные показания — числовое поле; задается в тех же единицах, что ось «Уровень» тарировочной таблицы.
Максимальные валидные показания — числовое поле; задается в тех же единицах, что ось «Уровень» тарировочной таблицы.
Тарировочная таблица ДУТ открывается отдельным окном «Тарировочная таблица» с графиком и таблицей точек со столбцами «Уровень» (показание датчика) и «Литры». На графике та же ось X подписана «Квантили», а горизонтальная линия «Объем бака» показывает объем из формы.
Литры вводятся целыми числами: дробная часть значения в столбце «Литры» при сохранении отбрасывается.
Значения «Уровень» идут строго по возрастанию или строго по убыванию. Значения «Литры» монотонны нестрого: равные соседние значения допускаются.
Кнопка «Инвертировать по вертикали» переворачивает порядок строк таблицы, кнопка «Инвертировать по горизонтали» меняет местами столбцы «Уровень» и «Литры».
Кнопки «Скопировать(Ctrl + C)» и «Вставить(Ctrl + V)» переносят таблицу через буфер обмена, кнопка «Удалить все значения» очищает ее.
Кнопка «Экспорт в CSV» внизу окна выгружает таблицу в файл CSV со столбцами «Уровень» и «Литры».
Таблица применяется кнопкой «Сохранить изменения» окна, а в датчик записывается после сохранения формы.
Как ДУТ ведет себя в расчетах и на что обратить внимание при настройке:
Сглаживание графика и детекция заправок, сливов и болтанки выполняются механизмом анализа топлива, а не самим датчиком уровня топлива.
Тарировочная таблица открывается отдельным окном. Тарировочная таблица валидна, только если после сортировки значения-объемы монотонны, причем не строго: равные соседние значения (плато) допускаются, отклоняются лишь реально немонотонные таблицы, где значения растут, а потом падают.
Несколько ДУТ в одном баке усредняются; бак без валидных датчиков в результат не попадает; при разных объемах баков у датчиков одного бака учитывается только объем первого.
Топливных каналов трекера в режиме «Датчик» шесть: для типа «Топливный» поле «Номер датчика» принимает значения от 1 до 6. Число ДУТ на объекте платформа не ограничивает. Седьмой и последующие топливные входы приходят в телеметрии атрибутами: такие ДУТ подключаются в режиме «Атрибут», в поле «Ключ атрибута» указывается имя атрибута, под которым уровень топлива приходит в телеметрии объекта (например, fuel7 для седьмого датчика — фактическое имя атрибута можно проверить в телеметрии). Каждый ДУТ читает свой канал или атрибут: два ДУТ на одном канале раздел Аудит (категория «Проблемы») показывает как «Некорректные настройки».
Без флага «Расширить тарировочную таблицу при выходе за ее пределы» показание вне диапазона таблицы отбрасывается; с флагом выполняется экстраполяция крайним участком кривой. Минимальные и максимальные валидные показания отбраковывают сырые значения: показание, равное границе или выходящее за нее, отбрасывается — граничные значения тоже невалидны.
Флаг «Игнорировать данные без зажигания»: при отсутствии датчика зажигания показание ДУТ отбрасывается; при наличии датчика вычисляется состояние зажигания, и если оно не «включено», показание тоже отбрасывается.