# ModbusTCP driver - Expected float format

**URL:** <https://forum.inductiveautomation.com/t/modbustcp-driver-expected-float-format/18734>\
**Category:** Ignition\
**Created:** [July 5, 2018, 3:30pm UTC](https://forum.inductiveautomation.com/t/modbustcp-driver-expected-float-format/18734 "2018-07-05T15:30:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![francois.uhl](https://avatars.discourse-cdn.com/v4/letter/f/8797f3/32.png) [@francois.uhl](https://forum.inductiveautomation.com/u/francois.uhl)\
**Post date:** [July 5, 2018, 3:30pm UTC](https://forum.inductiveautomation.com/t/modbustcp-driver-expected-float-format/18734/1 "2018-07-05T15:30:23Z")

</div>

Hi there,

It seems that I cannot read a float value corectly from a holding register.  
The float value is on 2 \* 16 bit registers.

I have tried every modbus tricks:

- +/- 1 bit shifting (0/1-based addressing)
- use of HRUI or HRF

Reading integer value is ok (that fixed me about the last two points).

Since the Modbus slave has been developped from scratch, I was wondering if the correct standard was used to store float values.

Does anyone know the expected float format when reading from a holding register with Ignition ModbusTCP driver?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 5, 2018, 3:44pm UTC](https://forum.inductiveautomation.com/t/modbustcp-driver-expected-float-format/18734/2 "2018-07-05T15:44:19Z")

</div>

It expects an IEEE 32-bit float in big-endian byte order. The first register contains the higher bytes, the second register containers the lower bytes.
