Тема: Modbus, float
Показать сообщение отдельно
Старый 11.03.2018, 11:15   #3
kostkost
Senior Member
 
Регистрация: Apr 2008
Сообщения: 204
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Modbus, float

Не проблема поменять байты местами как вы написали
FLOAT и LONG побайтно передаются в порядке 3-4-1-2, т.е. число LONG, равное 08403020h передаётся как 30h.20h.08h.40h

В моем случае это на входе 1
на сервере 00 00 3F 80 т е при пересчете 3F 80 00 00(10 ое 1065353216)
как из 1 получается такое 1065353216 ? вот не понимаю я
в двоично- шестнадц.. виде
00 11 11 11 10 00 00 00 00 00 00 00 ...
здесь
первые два ноля это знак числа я так понял
а дальше темный лес
Мне непонятно где найти точку а еще там Е может быть я так понял.
нашел в ОПС сервере такую строку
Перестановка байтов в значении 10325476
Только я не понял там 8 байт а в контроллере 4 же?
Сервер получает теже ответы что и я но у него из 3F 80 00 00 получается 1 а у меня нет ))
Вариант преобразования на стороне контроллера не рассматриваю поскольку контроллер ограничен в ресурсах
kostkost вне форума   Ответить с цитированием