Инструкция AXENTA

Как преобразовать уровень топлива из CAN в литры

Справочный центр Вернуться в базу знаний

После подключения CAN пользователь может увидеть уровень топлива, например:

72 %

Но для контроля топлива требуется значение:

216 л

Возникает вопрос: почему автомобиль передает проценты и как получить из них литры?

В большинстве подобных случаев проблема не в Axenta и не в терминале. CAN предоставляет параметр в той единице и формате, которые предусмотрены автомобилем и способом получения данных.

Если исходный параметр представляет уровень топлива в процентах, для получения литров его необходимо преобразовать.

Что означает процент топлива из CAN

Значение:

72 %

означает относительный уровень топлива, а не его объём.

Само по себе оно не говорит, сколько литров находится в баке.

Например, 50 % для разных автомобилей может означать:

бак 100 л → примерно 50 л

бак 300 л → примерно 150 л

Поэтому Axenta не может определить количество литров только по числу 50 %, не имея дополнительной информации о соответствии процентов фактическому объёму топлива.

Самый простой вариант — известен объём бака

Если известно, что автомобиль имеет бак объёмом 300 л, можно использовать простое преобразование.

Например:

100 % → 300 л

75 % → 225 л

50 % → 150 л

25 % → 75 л

Тогда при исходном значении:

72 %

расчётное количество топлива составит:

300 × 72 / 100 = 216 л

В Axenta для этого можно использовать датчик, который преобразует исходный CAN-параметр в необходимое пользователю значение.

Но проценты не всегда линейно соответствуют литрам

Расчёт:

50 % бака = 50 % его объёма

удобен, но не во всех случаях обеспечивает требуемую точность.

Причина — форма топливного бака и особенности штатного измерения уровня.

Если бак имеет сложную геометрию, изменение показателя с 70 до 60 % не обязательно означает такое же изменение количества топлива в литрах, как переход с 30 до 20 %.

Кроме того, исходные данные CAN сами по себе могут иметь определённую дискретность и особенности обновления.

Поэтому сначала нужно определить, для какой задачи требуются литры и какая точность необходима.

Когда достаточно простой формулы

Линейное преобразование подходит, если известно соответствие процентов объёму бака и полученной точности достаточно для рабочей задачи.

Условно:

литры = процент × объём бака / 100

Для бака 300 л:

72 × 300 / 100 = 216 л

Такой вариант позволяет получить понятное пользователю значение в литрах без установки отдельного ДУТ.

Но рассчитанные таким способом литры не следует автоматически считать эквивалентом показаний тарированного датчика уровня топлива.

Когда нужна таблица преобразования

Если требуется более точное соответствие между CAN-процентом и фактическим количеством топлива, можно использовать известные контрольные точки.

Например:

10 % → 24 л
25 % → 68 л
50 % → 145 л
75 % → 228 л
100 % → 300 л

В таком случае преобразование строится не просто исходя из:

1 % = 3 л

а по фактическому соответствию исходного значения количеству топлива.

Такой подход имеет смысл только тогда, когда эти контрольные значения действительно известны и проверены.

CAN в процентах и ДУТ — не одно и то же

Важно не смешивать два разных источника данных.

В одном случае используется штатная информация автомобиля:

CAN → уровень топлива в % → преобразование в литры

В другом — отдельный датчик уровня топлива:

ДУТ → исходное значение датчика → тарировочная таблица → литры

Оба варианта могут в итоге показывать литры в Axenta, но источник данных и способ расчёта отличаются.

Поэтому наличие значения «200 л» на экране еще не означает, что оборудование непосредственно передало на сервер число 200 в литрах.

Что проверить, если литры рассчитываются неправильно

Начинать проверку нужно с исходного CAN-параметра.

Сначала посмотрите, что действительно поступает от терминала:

проценты изменяются → исходные данные есть;

процент не изменяется или отсутствует → сначала нужно разбираться с источником CAN-данных;

процент выглядит корректно, а литры нет → проверяйте настройку преобразования в Axenta.

Так можно разделить проблему на два этапа:

CAN и терминал передают исходное значение

↓

Axenta преобразует его в необходимую единицу измерения.

Главное

Если уровень топлива приходит из CAN в процентах, это не означает, что система получила количество топлива в литрах.

Процент — исходное относительное значение.

Чтобы получить литры, необходимо определить правило его преобразования.

Если достаточно приблизительного линейного расчёта и известен объём бака, можно использовать соответствующую зависимость.

Если требуется более точное соответствие, необходимо учитывать реальные контрольные значения и особенности бака.

При диагностике всегда начинайте с исходного CAN-параметра: сначала убедитесь, что передает автомобиль, а затем проверяйте, как это значение преобразуется в Axenta.

✓
Готово

Если нужного ответа в инструкции нет, вернитесь в базу знаний и воспользуйтесь поиском по другим материалам.

Наверх