Knowledge Base

PLC data topic hub

PLC DINT, Modbus register, and REAL data interpretation

A field reference for signed and unsigned 32-bit values, byte and word order, Modbus register offsets, and IEEE 754 REAL conversion.

Fully public referenceReviewed 2026-07-163 official sources

Technical orientation

A PLC value is a bit pattern plus an interpretation contract. The same 32 bits can be displayed as a signed DINT, an unsigned DWORD, a hexadecimal value, four bytes, two Modbus registers, or an IEEE 754 REAL. Converting the representation without confirming that contract can produce a plausible-looking but incorrect number.

Signedness changes the numeric meaning without changing the bits. For example, 0xFFFFFFFF is -1 as a signed 32-bit two's-complement integer and 4,294,967,295 as an unsigned integer. Byte order and 16-bit word order introduce another layer when the value crosses a protocol or device boundary.

Modbus documentation may label the first holding register 40001 while a client uses zero-based offset 0. Record the published address, function code, client offset, register width, signedness, byte order, and word order before changing a mapping.

Original public reference

Diagram and comparison table

Use this as a screening reference. Confirm the installed equipment, configuration, and site requirements before making a field change.

IEEE 754 example: 12.5 = 0x41480000

Layout labelByte sequence16-bit registersFirst check
ABCD41 48 00 004148 / 0000Documented high word first
CDAB00 00 41 480000 / 4148Swap 16-bit words
BADC48 41 00 004841 / 0000Swap bytes in each word
DCBA00 00 48 410000 / 4841Reverse words and bytes

Preserve the original hexadecimal pattern before attempting a conversion.

Treat byte order and 16-bit register order as separate decisions.

Confirm whether a Modbus document uses human-readable 4xxxx notation or protocol offsets.

Validate REAL conversion with a known value such as 12.5 = 0x41480000 in standard IEEE 754 byte order.

Supporting guides

Common questions

Why does a DINT suddenly become negative?

A signed 32-bit DINT uses the highest bit as the sign bit. When bit 31 is set, the same pattern is interpreted as a negative two's-complement value even though an unsigned display would show a large positive number.

What is Modbus word swapping?

A 32-bit value spans two 16-bit registers. Some devices transmit the high word first and others the low word first. That word-order decision is separate from byte order inside each register.

How can I tell whether two registers contain a REAL?

Use the device register map first, then preserve both registers in hexadecimal and test the documented word and byte order. A correct IEEE 754 interpretation should match a known operating value and remain sensible across more than one sample.