Добрый день.
я по modbus считываю значение float
и мне необходимо преобразовать ее по следующей формуле
float.png
не могу понять как мне разделить подобным образом значение числа в owen logic
Добрый день.
я по modbus считываю значение float
и мне необходимо преобразовать ее по следующей формуле
float.png
не могу понять как мне разделить подобным образом значение числа в owen logic
Вопрос а нафига ? ПР понимает IEEE754 из коробки. Взяли float, при необходимости умножили на 10 и перевели в INT.
да пока считывает неверное. может не так считываю
переставить регистры, байты, или байты с регистрами. Там в мастере ПР это настраивается.
Если ПР слейв, попробуйте переставить регистры но у себя в Scada или чем вы читаете. На Slave эти галочки не действуют.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Да вот так и работает. В modbus нет никаких float, есть регистры. 32-хбитное float занимает два регистра, 4 байта. Поэтому в регистрах modbus float может храниться в 4-х видах:
порядок байт:
1 0 3 2
3 2 1 0
0 1 2 3
2 3 0 1
Чаще всего используются первые два представления, поэтому обычно достаточно порядок слов поменять. Но, тут уж как повезёт.
Короче, "запомнытэ эта, дэты, панят эта нэвазможна!"