← All Calculators
Numeric value read from the Modbus register.
Minimum value of the register range.
Maximum value of the register range.
Engineering value corresponding to the raw minimum.
Engineering value corresponding to the raw maximum.
Optional unit displayed with the result.

Engineering Value

How Modbus Register Scaling Works

A Modbus register normally contains a numeric value rather than the engineering value displayed by an operator interface. The receiving device may need to scale that register into units such as PSI, °F, %, RPM, or °C.

A common linear scaling calculation is:

Engineering Value = Engineering Low + ((Register Value − Raw Low) ÷ (Raw High − Raw Low)) × (Engineering High − Engineering Low)

This is the same basic linear relationship used for many PLC analog-input scaling applications.

Example

Example: A Modbus register ranges from 0 to 1000 and represents 0–100 PSI.

Register value = 500
Raw range = 0–1000
Engineering range = 0–100 PSI

Engineering Value = 0 + ((500 − 0) ÷ (1000 − 0)) × (100 − 0)

Result = 50 PSI

Important Modbus Considerations

The scaling calculation is only one part of interpreting a Modbus value correctly. Always verify how the device's register is defined.

Register Addressing

Documentation may use different addressing conventions such as 0-based offsets, 1-based register numbers, or traditional 4xxxx/3xxxx notation. The address shown in a manufacturer's documentation does not always correspond directly to the address entered into a Modbus driver.

Integer Versus Floating-Point Values

Some devices store a measurement in a single 16-bit register, while others use two registers to store a 32-bit integer or IEEE-754 floating-point value.

If two registers are involved, verify the device's word order and byte order before applying scaling.

Built-In Scaling

Some devices already scale values before placing them into the Modbus register. For example, a temperature of 72.5 °F might be transmitted as 725, with an implied divisor of 10.

In that case, the register scaling documented by the device must be applied before interpreting the value as the final engineering measurement.

Common Modbus Scaling Mistakes

  • Using the wrong register address or offset.
  • Confusing holding registers with input registers.
  • Assuming every register contains a 16-bit integer.
  • Ignoring signed versus unsigned data types.
  • Using the wrong byte or word order for multi-register values.
  • Applying scaling twice when the device already applies it.
  • Assuming the register range without checking the device documentation.

Related Controls Calculators