При детектировании сливов используются обработанные данные (на этапах Подготовка данных и Фильтрация).
Нас интересуют следующие опции:
- Минимальный объем слива;
- Искать сливы в движении;
- На холостом ходу;
- Рассчитывать объем слива по сырым данным.
Минимальный объем слива
Свойства объекта → Датчики → Свойства ДУТ → Рассчитывать данные в отчетах по датчику → Базовые настройки → Минимальный объем слива
Данная опция определяет необходимое падение уровня топлива за вычетом расхода на движение/простой, чтобы слив был детектирован.
Искать сливы в движении
Свойства объекта → Датчики → Свойства ДУТ → Рассчитывать данные в отчетах по датчику → Расширенные настройки → Настройки для определения сливов → Искать сливы в движении
По умолчанию данная опция не выбрана. В случае если пользователь имеет веские основания отслеживать ситуации сливов в движении, он может воспользоваться данной опцией. Однако в случае резкого перепада уровня топлива в движении может быть детектирован ложный слив.
На холостом ходу
Свойства объекта → Датчики → Тип датчика «Датчик зажигания» → Расход, л/ч Свойства объекта → Датчики → Тип датчика «Абсолютные моточасы» → Расход, л/ч Свойства объекта → Датчики → Тип датчика «Относительные моточасы» → Расход, л/ч
Данная опция позволяет выявлять сливы при остановках/парковках. Находится разница между топливом, потраченным по датчикам, и рассчитанным математически. В случае расхождений, равных либо превышающих минимальный объем слива, детектируется слив.
Рассчитывать объем слива по сырым данным
Свойства объекта → Датчики → Свойства ДУТ → Рассчитывать данные в отчетах по датчику → Расширенные настройки → Настройки для определения сливов → Рассчитывать объем слива по сырым данным
Схожим с заправками образом, фильтрация может накладывать искажения на начальные и конечные уровни топлива при сливах. Для нивелирования данных искажений опция использует неотфильтрованные данные при подсчете объема сливов. Эта опция применяется только тогда, когда значение до применения фильтрации превышает значение, полученное в результате фильтрации.
Ситуация: как детектируется слив?
Временные границы слива и его объем
Совершается слив.
Пусть объем топлива в текущем сообщении будет Vтекущ, объем топлива в предыдущем сообщении – Vпред. Если разница d для текущего сообщения (d = Vтекущ — Vпред) будет отрицательной, то данное сообщение будет считаться начальным сообщением слива.
Проходит время. Когда для какого-то сообщения величина d будет положительной (т.е. объем топлива в текущем сообщении больше объема топлива в предыдущем в силу искажений данных от датчика), данное сообщение будет считаться конечным сообщением слива.
Если уровень топлива остается неизменным на протяжении времени, указанного в параметре Таймаут для разделения сливов в настройках ДУТ, то слив также считается завершенным.
Регистрация слива в системе может произойти не при получении конечного сообщения, а позже. Это зависит от того, используются ли для датчика уровня топлива настройки Фильтровать значения датчика и Таймаут для разделения сливов. Чем выше значения, указанные в этих настройках, тем больше времени требуется для того, чтобы зарегистрировать слив.
Объем слива равен Vконеч — Vнач по модулю (разница уровней топлива между конечным и начальным сообщениями слива).
Алгоритм расчета времени слива
Теперь ищется момент совершения слива.
Итеративно для каждого сообщения, лежащего в границах интервала слива (исключаем последнее сообщение), ищется дельта по модулю со следующим сообщением d=Vслед — Vтекущ, показывающая величину падения топлива между текущим и следующим сообщениями.
Время сообщения, чья дельта по модулю больше остальных дельт, считается временем слива (другими словами, выбирается левое сообщение из пары сообщений, чья дельта по модулю больше остальных).
Время (момент времени) слива рассчитывается в каждой конкретной ситуации динамически на основании имеющихся данных от датчиков.