We need more information to be able to offer useful help.
What make and model are the [system 1] and [DCS] devices? Can you provide PDF manuals for the devices?
Which system initiates the transfer? That is,
- Is the [system 1] device writing the 32-bits to the [DCS] device?
- OR
- Is the [DCS] device reading the 32-bits from the [system 1] device?
Explanation
The Modbus protocol only provides two kinds of access
- single-bit: read or write single or multiple Coils; read single or multiple Discrete Inputs)
- 16-bit: write single or multiple Holding Registers; read multiple Input or Holding Registers; etc.
This process will be using 16-bit access.
The REAL value in [system 1] probably comprises 32 contiguous bits, like this:
(Cf:
https://en.wikipedia.org/wiki/Singl...cision_binary_floating-point_format:_binary32)
Let us assume that the [DCS] device is going to initiate a Modbus TCP/IP read of those 32 bits as two 16-bit integers. So, bits [0:15] on the left half of the image above map to (will be) one 16-bit integer (Register), and bits [16:31] on the right half map to (will be) another 16-bit integer (Register).
Read the [system 1] programming manual to determine the addresses of the two 16-bit Modbus Registers that map (point) to the 32 bits of the real number, and also what type of reg; they will almost certainly be adjacent e.g. 40011 and 40012.
Once that Modbus transfer is working, we now have the bits of the real value on the [DCS] device as two 16-bit integers; that is the easy part.
We do not know the word order, or the byte order, of the bits on either the [system 1] device or the [DCS] device. Also, because we know nothing about the DCS system, we do not know how to recombine the two 16-bit integers into a single 32-bit real.
The best way to proceed would be to do the transfer, and then post the results here in this thread:
- The value of the real on the [system 1] device
- The value (hexadecimal preferred, decimal also okay) of the two 16-bit integers received by the [DCS] device, as interpreted by the [DCS] device.
- In fact, you should probably make the Modbus read operation retrieve at least three or four contiguous 16-bit integers and post all of the values.