One must take particular note when interpreting the data bits returned from the IED. Different manufacturers input
data from Modbus devices however, each manufacturer starts its address start addresses taking into account the
zero offset whereas, other manufacturers do not. Some manufacturers number their data bit presentations in the
registers differently. Figure 5-23 below illustrates the register decoding differences.
DOCUMENTATION
For Example: If a Telemechanique PLC was serving as a Modbus host, the ABB
documentation for bit interpretation most significant bit = bit 15 leftmost bit, least
significant bit = bit 0 rightmost bit. However, to access a register the host would need
to subtract the value of 1 from the data address to obtain the correct data.
If a Modicon PLC was serving as a Modbus host, the ABB documentation would need
to be transposed to acknowledge that any data analyzed by the host in the bit 16 position
would reflect the status described as Bit 0 lsb nomenclature. No data address offset
would need to be performed to obtain the correct information from the protective relay.
Function Code 03 – Read Holding Registers (Read Only)
The 4x frame sequence is illustrated in Figure 5-24 for Function 03 (Read Holding Registers). The Host sends
the protocol request and the TPU2000/2000R responds. The host decodes the data requested dependent upon
the definition of the register data. The reader should note that Modbus ASCII denotes a Colon (:) and Carriage
Return/Line Feed combination for Start of Message and End Of Message designators. Modbus RTU designates
3 character delays for a Start of Message and End Of Message designator.
register mapping for Modbus reads. Access of Momentary data access is not available through 4X reads.
SOM = Start of Message
EOM = End of Message
TPU2000/2000R Modbus/Modbus Plus Automation Guide
Most Significant Bit
ABB
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DOCUMENTATION
MODICON
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 - First data Address = 1.
TELEMECANIQUE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DOCUMENTATION
Figure 5-23. Vendor Documentation Translation Example
Function 03 - Read Holding Registers
Slave
Funct.
Start
Start
SOM
Addr.
Code
Addr
Addr
03
HI
Byte 1 ...2........3.......4.......5......6........7....
Command
Allows for
125 Registers
Max.
Slave
SOM
Addr.
Note: Varies with
MSB
Modbus
Emulation
Register Hi Byte
151413121110 9 8
Figure 5-24. 4x Data Read Frame Format
Least Significant Bit
Regs
Regs
Error
EOM
Read
Read
Check
LO
HI
LO
Modbus Host
Funct.
Byte
Data
Data
Code
Count
Byte
Byte
03
*
Hi
Lo
MSB
LSB
LSB
7 6 5 4 3 2 1 0
- First data Address = 1.
- First data Address = 0.
Tables 5-9 through 5-19 list the
Modbus Slave Addr =1
E C
Read from
4X Mapping
Data
Error
EOM
Byte
Check
Lo
Register Lo Byte
73