Приветствую! Помогите разобраться в проблеме…
Есть WB 8.5.2 …по rs-485-1 опрашиваю датчик температуры и влажности типа ths-01-modbus… данные получаю…все ок
Добрый день.
Покажите пожалуйста запрос-ответ Modbus (именно байты, то есть то что отправляется-принимается)Ну и напишите чем они отличаются от ожидаемых.
Проверяю и через modbus32 и через modbus poll показания примерно одинаковые…получается что WB криво отправляет…но когда в настройках шлюза устанавливаю знаковое число…показание температуры приходят норм, но только соответственно целая часть
Картинка - не сильно удобна для анализа, ну да ладно. Но вот десятичные значениия - крайне неудобно пересчитывать.
итак - запрашиваете два holding регистра с адреса 5.
Получаете значения, десятчные: 251 68 0 128
что есть 0xfb44 0080
Переворачиваем (ieee754) и получаем
0x44fb 8000
То есть
0x44FB8000 = 01000100111110111000000000000000
Старший бит 0, значит положительное
Экспонента 10001001
Мантисса 11110111000000000000000
Получаем 20,32
То есть что именно считаете неверным в текущем преобразовании?
Опишите пожалуйста что такое “Float BA DC”.
Мне это описание ни о чем не говорит.
И приведите пример - значение из топика и какое (должно) отдаваться в регистрах. В шестнадцатеричном виде.