Тема: Настройка датчика топлива New Holland Т9 505 CAN шина.
Здравствуйте. Ситуация следующая:
Блок GALILEOSKY BASE BLOCK Лайт. Так вышло что на нем нет rs232, но это мы узнали на монтаже. CAN лог форватора мы подключить не смогли. Подключились напрямую к Can шине, прослушали данные, из кучи данных мы нашли ID параметра, который отвечает за уровень топлива (спасибо инструкциям производителя). В общем ID=18FF1117 (8) AE 01 00 C0 F3 FF 00 00 данные идут в 16-тиричной системе. Галилео умеет понимать и мы добились чтоб на сервер мониторинга передавалось нужное нам значение в двоичной системе. При заправки меняется первый байт AE 01 00 C0 F3 FF 00 00. Все бы хорошо но:
При тарировки приходят уже обработанные сообщения от 0 до 250 что соответствует литражу ( значение 150 - 150 литров) но когда значение достигает уровня 255, то оно начинается опять сначала но меняется 2 байт AE 01 00 C0 F3 FF 00 00. На сервер получаем 2 параметра can_r1= и can_r0=
Проще говоря Получаем таблице(кратко) :
0л - can_r0=0 - can_r1=0
100л - can_r0=0 - can_r1=100
200л - can_r0=0 - can_r1=200
255л - can_r0=0 - can_r1=255
300л - can_r0=1 - can_r1=45
510л - can_r0=1 - can_r1=255
800л - can_r0=2 - can_r1=120 и так до 1300л (цифры примерные, но отражают суть вопроса)
И так нам сделать тарировочнуюб таблицу на датчике топлива, если у нас вот такая история.
Я понимаю что если can_r0=0 и can_r1 то столько литров, can_r0=1 и can_r1 то столько литров, а как сделать не знаю.
Пожалуйста помогите.