CHAPTER 2: RS485 INTERFACE (MODBUS RTU)
MODBUS FUNCTIONS
MM300 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE
2–5
Function Code 04H
Modbus Implementation: Read Input Registers
MM300 implementation: Read Actual Values
For the MM300 implementation of Modbus, this function code can be used to read any
actual values (“input registers”). Input registers are 16 bit (two byte) values transmitted high
order byte first. Thus all MM300 Actual Values are sent as two bytes. The maximum
number of registers that can be read in one transmission is 125.
The slave response to this function code is the slave address, function code, a count of the
data bytes to follow, the data itself and the CRC. Each data item is sent as a two byte
number with the high order byte sent first.
For example, request slave 17 to respond with 1 register starting at address 0008. For this
example the value in this register (0008) is 0000.
Table 2-2: Master/slave packet format for Function Code 04H
Function Code 05H
Modbus Implementation: Force Single Coil
MM300 Implementation: Execute Operation
This function code allows the master to request a MM300 to perform specific command
operations.
SLAVE RESPONSE
BYTES
EXAMPLE
DESCRIPTION
SLAVE ADDRESS
1
11
message from slave
17
FUNCTION CODE
1
03
read registers
BYTE COUNT
1
06
3 registers = 6 bytes
DATA 1 (see definition above)
2
02 2B
value in address
006B
DATA 2 (see definition above)
2
00 00
value in address
006C
DATA 3 (see definition above)
2
00 64
value in address
006D
CRC
2
54 83
CRC error code
MASTER TRANSMISSION
BYTES
EXAMPLE
DESCRIPTION
SLAVE ADDRESS
1
11
message for slave 17
FUNCTION CODE
1
04
read registers
DATA STARTING ADDRESS
2
00 08
data starting at 0008
NUMBER OF ACTUAL VALUES
2
00 01
1 register = 2 bytes
CRC
2
B2 98
CRC error code
SLAVE RESPONSE
BYTES
EXAMPLE
DESCRIPTION
SLAVE ADDRESS
1
11
message from slave
17
FUNCTION CODE
1
04
read registers
BYTE COUNT
1
02
1 register = 2 bytes
DATA (see definition above)
2
00 00
value in address
0008
CRC
2
78 F3
CRC error code