PDA

Просмотр полной версии : ПР200 modbus float



pruwait
21.07.2023, 20:48
69064
Не могу читать данные float по модбас.
С целыми данными проблем не возникает.
Уже подключился переходником usb-rs485 для поиска причины.
Вижу в Holding Registers по адресу 512 и 513 какие-то данные, но как их преобразовать в 19 градусов, не пойму.
Дисплей ПР200 показывает верно.

https://youtu.be/W-ioipvLQeM

АРТ.Кар 64
21.07.2023, 21:22
Если int-это один регистр,то float-это 2 регистра
Возможно,что порядок чтения не совпадает.
Если в Вашей программе есть что-то типа mant-ord, то смените на ord-mant.
То есть измените порядок и мантиссу

https://disk.yandex.ru/i/65dqI8hW9G78XA


Но если в качестве "мастера" ПР 200-24,а в качестве "ведомого" модуля М2000-4ДА "Болид"-то порядок чтения нужно в ПР-2оо менять...Иначе..."шляпа".Настройки меняются в "мастере".

kondor3000
21.07.2023, 21:37
Не могу читать данные float по модбас.
С целыми данными проблем не возникает.
Уже подключился переходником usb-rs485 для поиска причины.
Вижу в Holding Registers по адресу 512 и 513 какие-то данные, но как их преобразовать в 19 градусов, не пойму.
Дисплей ПР200 показывает верно.


Float это 2 регистра ( 4 байта), при не правильном отображении, при передаче по модбас, надо переставить регистры (байты), обычно достаточно переставить регистры.
В вашем случае регистры (байты), надо переставлять в мастере, в ПР слейве галки перестановки не работают.

bayk
22.07.2023, 08:04
Блин. У овена практически у всего оборудования флоат читается младшим регистром вперед. Настройте порядок сборки регистров на устройстве, которым опрашиваете.

melky
22.07.2023, 10:14
для ПР200 порядок байт 2301 для режима слейв. Настройки в ОЛ действуют только для мастера.

pruwait
25.07.2023, 17:40
Блин. У овена практически у всего оборудования флоат читается младшим регистром вперед. Настройте порядок сборки регистров на устройстве, которым опрашиваете.

Спасибо за подсказки. Победил.
Опрос ведет ESPHOME
Чтобы заработало верно, использовал:
FP32_R: 32 bit IEEE 754 floating point - same as FP32 but low word first