Аналитика топлива поверх показаний датчиков уровня топлива по алгоритму И. Германа: выделяет заправки и сливы, сглаживает график и компенсирует «болтанку». Это не физический датчик, а надстройка над одним или нескольким ДУТ в одном или нескольких баках.
Форма анализа топлива: вкладки «Основное» и «Эксперт», флажки анализа, тип топлива и сглаживания.
Датчик добавляется в карточке объекта мониторинга (вкладка Объекты → «Доп. оборудование» → «Добавить новое оборудование»): после выбора типа открывается показанная выше форма.
Анализ топлива — не физический датчик, а виртуальная надстройка над датчиками уровня топлива (ДУТ). Платформа анализирует график уровня топлива и автоматически находит на нем заправки и сливы, отсеивая помехи: болтанку топлива в баке, разрывы связи и мнимые простои. Это ядро топливной аналитики: системные события заправки и слива попадают в топливные отчеты, аналитику заправок и сливов и на график топлива объекта, а также участвуют в контроле норм расхода. Нормы расхода (летняя и зимняя — по пробегу; по моточасам и стоянке — по времени работы двигателя) сравниваются с фактом в суточном отчете и в аналитике перерасхода.
Итоговый фактический расход за трек = топливо в начале − топливо в конце + сумма заправок − сумма сливов.
В отчетах по объекту с анализом топлива столбцы «Уровень на начало периода, л» и «Уровень на конец периода, л» показывают не сырое показание датчика из телеметрии, а рассчитанный платформой уровень топлива, поэтому они, как правило, не совпадают со значением последней точки телеметрии за период. Сырое показание канала ДУТ переводится в объем по тарировочной таблице (линейная интерполяция между ее точками) с учетом коэффициента корректировки топлива; при нескольких ДУТ в одном баке берется среднее по ним, а объемы всех баков анализа складываются; дополнительно применяются температурная компенсация и округление до целых литров, если они включены в настройках анализа.
Уровень на начало периода берется из первой точки периода, в которой есть рассчитанный уровень топлива, на конец периода — из последней такой точки; окрестность границы не усредняется.
Отбракованное показание ДУТ (по границам валидных показаний или по флагу «Игнорировать данные без зажигания») в уровень не попадает: в расчетах основного анализа топлива вместо него используется последнее корректное значение, а точки без рассчитанного уровня при поиске границ периода пропускаются. Поэтому уровень на границе периода может относиться к более раннему сообщению, чем последнее сообщение за период, — например, при ночной стоянке с выключенным зажиганием.
Заправки и сливы алгоритм ищет не по сырому ряду точек, а по сглаженной кривой: перед анализом значения проходят фильтр, выбранный в поле «Тип сглаживания топлива» (при значении «Без фильтра» сглаживание не выполняется), а пропуски заполняются последним известным значением. Объемы заправок и сливов, а также уровни на начало и конец каждого такого события считаются по сглаженной кривой и поэтому не равны разнице соседних сырых точек. Первая и последняя точки сглаживаемого интервала остаются несглаженными — иначе заправка или слив на самом краю периода выпрямился бы в прямую линию.
Флаг «Сглаживание графика» отвечает только за отрисовку кривой топлива: сам анализ применяет выбранный фильтр всегда, независимо от этого флага.
Если заправка или слив пересекает границу периода (например, полночь при суточной группировке), уровень топлива на этой границе вычисляется линейной интерполяцией между соседними точками и не берется ни из одной реальной точки телеметрии.
В суточных отчетах действует отдельное правило: если по основному анализу расход за сутки получился отрицательным, а уровень на конец предыдущих суток был выше уровня на начало текущих, то в качестве уровня на начало периода подставляется уровень на конец предыдущих суток.
Сырые записи трекера, включая показания топливных входов, доступны в разделе Телеметрия: он открывается из карточки объекта мониторинга (блок «Телеметрия» → «Посмотреть») и показывает данные устройства без обработки — именно их следует сравнивать с уровнями, рассчитанными анализом топлива.
Универсального набора настроек нет: фильтр подбирают на конкретной технике. Удобный порядок — начать со значения «Без фильтра», чтобы увидеть исходное поведение датчика, и дальше перебирать варианты, сравнивая, как меняются найденные заправки и сливы на встроенном графике карточки анализа. Заходить для этого в WALIOT.Навигатор не нужно.
Перебор безопасен: настройки анализа не меняют сохраненную телеметрию — записи трекера остаются в хранилище такими, как пришли, а выбранный фильтр применяется в момент, когда по ним строятся график, события и отчеты. Поэтому любое значение можно вернуть обратно, а прошлые периоды пересчитаются по новым настройкам при следующем построении.
Фильтрацию на самом датчике уровня топлива при этом стоит держать минимальной: анализ применяет выбранный в этом поле фильтр всегда, и предварительное сглаживание в самом ДУТ добавляется к нему второй обработкой, из-за чего график растягивается по времени, а границы заправок и сливов размываются.
Основной анализ топлива (обязательное) — чекбокс. Помечает данный анализ основным для объекта.
Название (обязательное) — название анализа.
Тип топлива — переключатель-кнопки «Дизель»/«Бензин».
Тип техники (обязательное) — выпадающий список: Легкий/Тяжелый грузовик, Легкий/Тяжелый экскаватор, Легкий/Тяжелый трактор, Стационарный объект, Цистерна, Легкая/Тяжелая тихоходная техника. Рядом кнопка (i) с описанием каждого варианта.
Температурная компенсация — чекбокс.
Округление до целых литров — чекбокс.
Сглаживание графика — чекбокс; включает сглаживание кривой топлива на графике.
Тип сглаживания топлива — выпадающий список: Без фильтра, Фильтр Гаусса (слабый/средний/сильный), Медианный фильтр (слабый/средний/сильный), Гибридный фильтр (слабый/средний/сильный).
Мин. объем топлива для учета слива (обязательное) — единица «мл».
Мин. объем топлива для учета заправки (обязательное) — единица «мл».
Топливный расчет не выполняется, если у объекта нет топливного анализа, нет ни одного ДУТ или нет датчика зажигания.
Это не физический датчик, а аналитика поверх датчиков уровня топлива: выбора типа и номера датчика и режима «Датчик»/«Атрибут» в форме нет.
Кнопка (i) у поля «Тип техники» открывает окно «ТИП ТЕХНИКИ» с описанием всех вариантов техники.
Тип техники влияет только на выбор предобученной ML-модели режимов работы и не влияет на пороги растекания, слияния и минимальных объемов.
Форма разбита на две вкладки — «Основное» и «Эксперт»; обе редактируют один общий набор параметров, по умолчанию открыта «Основное».
Тумблеры на вкладке «Эксперт» (растекание заправок, растекание сливов, компенсация «болтанки») лишь визуально затеняют зависимые поля — обязательность этих полей сохраняется, поэтому форма может остаться невалидной при выключенном тумблере.
Помимо заправок и сливов анализ размечает на графике регионы режимов работы техники (см. раздел «График на карточке анализа»).
Температурная компенсация применяется к каждому ДУТ до расчетов и только при одновременном выполнении условий: компенсация включена, задан тип топлива, канал датчика — топливный, задан номер датчика и в телеметрии есть температура ДУТ; иначе ДУТ участвует в расчетах без температурной компенсации.
На карточке анализа топлива кнопка «График» открывает встроенный график за выбранный период. По оси X — дата и время; по левой оси Y — уровень топлива в литрах; по правой — скорость в км/ч.
На графике отображаются:
линия «Топливо» — уровень топлива по результату анализа;
линия «Скорость»;
цветные полосы событий: «Заправка», «Слив», «Простой», «Работа», «Холостой ход», «Работа доп. оборудования», «Размотка» (компенсация «болтанки»), а также полоса «Зажигание» при наличии данных.
Горизонтальная линия «Объем бака» показывает заданный объем бака в литрах.
Меню графика (кнопка «⋮»): «Показать/скрыть все графики», «Полноэкранный режим», а также печать и выгрузка CSV/XLS.
Подбор фильтра сглаживания удобно проверять на этом графике: менять настройки и сразу сравнивать найденные заправки и сливы, не переходя в WALIOT.Навигатор.