Запустил OpenHAB. На ПЛК110 добавил Slave и передаю значение переменной типа float.
OpenHAB (по Modbus tcp) считывает два word.

Преобразую 2 word
rule "_float1" when
Item var1 changed or
Item var2 changed
then
var n2 = (var1.state as DecimalType).intValue
var n1 = (var2.state as DecimalType).intValue
var temp = n1 * 256 * 256 + n2
var sign = -temp.shiftRight(31).bitwiseNot()
var exponent = temp.shiftRight(23).bitwiseAnd(255) - 127
var mantissa = temp.bitwiseAnd(8388607).doubleValue / 8388608 + 1
var result = sign * mantissa * 1.shiftLeft(exponent)
_float1.sendCommand(result)
end
Полученное значение редактирую и нужно отправить обратно на ПЛК.
Как сделать обратное преобразование? Из float в 2 word для последующей передачи на ПЛК по modbus?