Обычно ваш dbc-файл должен содержать информацию о преобразовании из необработанного значения (в вашем случае длиной 4B) в физическое значение в виде определения коэффициента и смещения:
Таким образом, ваше физическое значение тока должно быть рассчитано следующим образом: phys_val = (raw_value * factor) + offset
Примечание: если вы определяете отрицательное смещение, тогда вы фактически вычитаете его вуравнение выше.
Но, похоже, у вас нет dbc-файла, поэтому вам нужно вычислить коэффициент и смещение самостоятельно (если у вас есть 2 примера необработанных значений и вы знаете их физический эквивалент, тогда это будет так же просто, как найти линейныйПараметры уравнения -> y = ax + b).
CAPL должен выглядеть следующим образом:
variables
{
float current_phys;
/* adjust below values to your needs */
float factor = 0.001
dword offset = -1000
}
on message 0x110
{
current_phys = (this.long(4) * factor) + offset;
write(current_phys);
}