Hallo, von einem Geräte lese ich mittels Modbus zwei 16-Bit Register aus, welche zusammen einen 32-Bit-Wert als Float darstellen. Das ganze mache ich in Python.
1 | int_value = (register1 << 16) + register2 |
Wie wandle ich die erhaltene 32-Bit-Zahl in einen Float-Wert um? Hier noch ein Zahlenbeispiel:
1 | register1 = 17586 |
2 | register2 = 63453 |
3 | |
4 | int_value = (17586 << 16) + 63453 = 1152579549 |
5 | |
6 | 1152579549 = 0b01000100101100101111011111011101 => 1431.7457 |
Danke und schöne Weihnachten!