Instruction manual

49
4000 Modbus Implementation
9.4 Functions and Data Formats
The Modbus data in the ATT is arranged in integer registers, floating point registers, and
status bits. The assignments for these registers are found at the end of this appendix.
Function codes 03, 04, 06, and 16 are used with integer registers.
Because of the multiple Modbus hosts available today, the ATT supports two floating-
point data formats: a two 16-bit register format and a one 32-bit register format. These
two formats provide maximum system flexibility. In the two 16-bit registers format,
function codes 03 and 04 are used to read floating-point registers while function code
16 is used to write floating-point registers. In the one 32-bit register format, function
code 65 is used to read floating-point registers, while function code 66 is used to write
floating-point registers.
Function codes 01, 02, 05, and 15 are used with status bits.
A complete description of all the preceding commands, except floating point, can be
found in the Modicon Modbus Protocol Reference Guide, document number PI-MBUS-
300 Rev B.
9.5 Integer Registers
Integer registers are the most commonly used type of Modbus data and are supported
by most Modbus hosts. In the ATT implementation, the Modbus registers are arranged
in one of the following four formats:
Integer Data - a scaled number from 0 to the maximum Modbus integer
Character Data - 2 ASCII characters per 16-bit register (ex. date, password)
Coded Data - Multiple choice configuration data chosen from a coded list
Packed Bit Data - Register form of 16 packed single bits
The integer, character, and coded data registers contain all of the information needed
to configure and read process data. Any integer register may be read with function code
03 or function code 04. These same registers may be written one at a time with function
code 06 or multiple registers can be written with function code 16.
For future compatibility, the ATT accepts reads and writes to reserved registers. Writes
to reserved registers have no effect. Reads from reserved registers return a zero (0).
Term Definition
Address User-assigned address of the slave device
Function Code Function the slave is to perform
Start Register (H) High-order data address byte of the number of registers to read
or write
Start Register (L) Low-order data address byte of the first register to read or write
Number of Registers (H) High-order byte of the number of registers to read or write
Number of Registers (L) Low-order byte of the number of registers to read or write
Byte Count Number of data bytes
Data MSB Data register's most significant byte
Data LSB Data register's least significant byte
Status Bit (H) High-order data address byte of the first bit to read or write