28-8 9440300990
Modbus
®
Communication DECS-250
Query
Data will cease to be written if any of the following exceptions occur.
• Queries to write to Read Only registers result in an error response with Exception Code of “Illegal
Data Address”.
• A query to write an unallowed value (out of range) to a register results in an error response with
Exception Code of “Illegal Data Value”.
Device Address
Function Code = 06 (hex)
Address Hi
Address Lo
Data Hi
Data Lo
CRC Hi error check
CRC Lo error check
Response
The response message echoes the Query message after the register has been altered.
Data Formats
DECS-250 systems support the following data types:
• Data types mapped to 2 registers
o Unsigned Integer 32 (Uint32)
o Floating Point (Float)
o Strings maximum 4 characters long (String)
• Data types mapped to 1 register
o Unsigned Integer 16 (Uint16)
o Unsigned Integer 8 (Uint8)
o Strings maximum 2 characters long (String)
• Data types mapped to more than 2 registers
o Strings longer than 4 characters (String)
Floating Point Data Format (Float)
The Modbus floating point data format uses two consecutive holding registers to represent a data value.
The first register contains the low-order 16 bits of the following 32-bit format:
• MSB is the sign bit for the floating-point value (0 = positive).
• The next 8 bits are the exponent biased by 127 decimal.
• The 23 LSBs comprise the normalized mantissa. The most-significant bit of the mantissa is always
assumed to be 1 and is not explicitly stored, yielding an effective precision of 24 bits.
The value of the floating-point number is obtained by multiplying the binary mantissa times two raised to
the power of the unbiased exponent. The assumed bit of the binary mantissa has the value of 1.0, with
the remaining 23 bits providing a fractional value. Table 28-4 shows the floating-point format.
Table 28-4. Floating Point Format
Sign Exponent + 127 Mantissa
1 Bit 8 Bits 23 Bits
The floating-point format allows for values ranging from approximately 8.43X10
-37
to 3.38X10
38
. A
floating-point value of all zeroes is the value zero. A floating-point value of all ones (not a number)
signifies a value currently not applicable or disabled.