В отличие от дискретных параметров, динамические параметры меняются намного быстрее, и их нельзя зафиксировать на одном конкретном значении: они будут колебаться в некотором диапазоне. Для декодирования нужно знать, какое значение в CAN-шине соответствует значению на приборной панели.
Последовательность записи логов:
Видеозапись обязательна по нескольким причинам:
Рекомендуется изменять параметр не хаотично и не циклически, а по заранее заданной последовательности — это делает график более узнаваемым.
Для разбора параметра оборотов двигателя в примере будем использовать следующий алгоритм:
сначала холостые обороты → затем плавное увеличение ступенями до максимума → возврат к холостым → 3 резкие перегазовки → остановка двигателя.
Дополнительно требуется фоновый лог без воздействия на параметр — для фиксации базового состояния системы.
Имея представление о том, как изменялся параметр во время записи, в сравнении логов ищем график, соответствующий этому поведению. Мы ищем сигнал, форма которого повторяет форму изменения параметра.

Не любой изменяющийся сигнал является параметром, важна корреляция формы, а не просто изменение.
После нахождения нужной реакции оцениваем, сколько бит выделено под параметр.

В данном примере видно, что в момент переполнения байта D6 растёт значение байта D7. Из этого делаем вывод, что значение состоит из этих двух байтов, где D7 — старший байт, а значит, порядок байтов — младшим вперёд (Little Endian).
В редакторе добавляем параметр и задаем ID.

Задаем битовую маску в 2 байта со смещением 6 байт, порядок байтов младшим вперед.

Перед масштабированием задаётся параметр FLEX, так как для некоторых параметров он влияет на итоговое значение.
После применения маски получаем «сырое» значение из CAN. Его нужно привести к значению на приборной панели.
Используется линейное преобразование:
где:
x — сырое значение
y — значение на панели
k — коэффициент
b — смещение (обычно 0)
Берём две точки (CAN ↔ приборка) и считаем коэффициент:
Чаще всего:
В данном случае, чтобы привести параметр к значению оборотов на панели приборов мы использовали коэффициент 1/4 = 0.25.

Для расчета коэффициента можно использовать встроенный калькулятор.
В диапазоне задаем границы, в которых могут находиться валидные значения параметра. Это позволит отсечь мусор.
Лучше сразу исключать нулевое значение для параметров уровня топлива и пробега, так как нередки случаи, когда при включении зажигания в данных по этим параметрам проскакивают нули.
Важно: диапазон применяется к столбцу Значение, который может отличаться от FLEX.
После настройки в таблице результатов в столбце FLEX отображается итоговое значение параметра. Его можно сравнить со значением на приборной панели по видео, которое снималось в процессе записи лога.
Проведите поиск оборотов двигателя самостоятельно.
Логи: lexus_nx300.zip
Видео, снятое для лога Simple log with limited recording time, доступно по ссылке.