Цитата:
Сообщение от Arsie
0-7 - это интеджеры. 4, 5 и 7 - считанное перевести в реал и поделить на 10, получится искомое число.
С 8 по 32 - лонги (через один адрес, т.е. 8, 10, 12 и т.д.). Причём 8-26 также перевести в реал и поделить на 10, получится искомое число.
С 34 опять пошли интеджеры.
|
К сожалению, так как вы говорите не работает, выводятся абсолютно не корректные значения. Так же есть 16U. Т.е. есть 16, 16S, 16U и если просто 16 это int, то значение выводится каретное, а если 16S, 16U ставить int то у этих параметров на выходе фигня полная. Для примера Oil temperature у него диапазон значений от -50 - 200 а выводится 327676 и тоже самое для температуры топлива. Или вот например, у Coolant level диапазон от 0-100%, а показывает -1, у него параметр типа 16 U и в модбас стоит так же тип int.
Что то у меня такое чувство, что контролер просто не может работать с данными типами данных, просто выбор то не большой, int по сути и все, real и long не подходят, потому что они по два адреса занимают.