Вход

Просмотр полной версии : Переменные float32 из одного регистра с разными настройками порядка5



FPavel
06.07.2025, 16:59
Добрый день

Исходная задача - скачать переменную float32 из прибора через шлюз ПМ200 в облако.

Прибор Streamlux
описание https://www.streamlux.ru/uploads/file/re_sls720f_oktyabr_21.pdf
карта modbus https://www.streamlux.ru/uploads/file/protokoly_modbus.pdf

Экспериментом над регистрами 92-94 установил, что адрес в карте нужно уменьшить на 1 при описании в облаке, т.е. в облаке это будут адреса 005B-005D (91...93).

Хочу получить текущий расход - регистр 0001 тип float32, т.е. в облаке адрес 0000.
Объявил 5 переменных с адресом 0000. Четыре - float32 с разными вариантами порядка байт, пятое - целое uint32, чтобы выяснить нужный вариант.

Но, при выводе на экран - все варианты float32 показывают одно и то же значение.

Это ошибка в облаке или я что-то не правильно делаю?

На картинках - настройки переменных и полученные данные из облака. Видно, что все переменные float32 несмотря на разные настройки показывают одинаковые значения.

Почему значения одинаковы?

capzap
06.07.2025, 18:22
Есть вероятность что система настолько ленивая по одному и тому же адресу делать четыре запроса, делает один и распределяет получено значение по всем переменным

FPavel
06.07.2025, 18:32
Да, очень возможно...
Думаю, что сделано это с целью оптимизации - что очень-очень хорошо.

Но, код не учёл возможность различных настроек - в моём случае порядка байт.

Подожду немного реакции производителей, и если её не будет здесь - напишу в форму обратной связи.

melky
06.07.2025, 18:39
Опять же, посмотреть снифером что и сколько раз опрашивается ?
А с другой стороны, какая разница, даже если это один запрос, в каждую переменную оно ведь должно с разным порядком положить, обработка то на уровне мастера должна быть

kondor3000
06.07.2025, 20:21
Да, очень возможно...
Думаю, что сделано это с целью оптимизации - что очень-очень хорошо.

Но, код не учёл возможность различных настроек - в моём случае порядка байт.

Подожду немного реакции производителей, и если её не будет здесь - напишу в форму обратной связи.

Скорее всего порядок у всех, как у последнего варианта.
Либо делайте 5 штук с разными адресами, либо в одном переставляйте до правильных показаний.
Либо убирайте по одному.