Добрый день.
я по modbus считываю значение float
и мне необходимо преобразовать ее по следующей формуле
Вложение 83310
не могу понять как мне разделить подобным образом значение числа в owen logic
Вид для печати
Добрый день.
я по modbus считываю значение float
и мне необходимо преобразовать ее по следующей формуле
Вложение 83310
не могу понять как мне разделить подобным образом значение числа в owen logic
Вопрос а нафига ? ПР понимает IEEE754 из коробки. Взяли float, при необходимости умножили на 10 и перевели в INT.
да пока считывает неверное. может не так считываю
переставить регистры, байты, или байты с регистрами. Там в мастере ПР это настраивается.
Если ПР слейв, попробуйте переставить регистры но у себя в Scada или чем вы читаете. На Slave эти галочки не действуют.
Да вот так и работает. В modbus нет никаких float, есть регистры. 32-хбитное float занимает два регистра, 4 байта. Поэтому в регистрах modbus float может храниться в 4-х видах:
порядок байт:
1 0 3 2
3 2 1 0
0 1 2 3
2 3 0 1
Чаще всего используются первые два представления, поэтому обычно достаточно порядок слов поменять. Но, тут уж как повезёт.
Короче, "запомнытэ эта, дэты, панят эта нэвазможна!"