2–4
MM300 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE
MODBUS FUNCTIONS
CHAPTER 2: RS485 INTERFACE (MODBUS RTU)
be reset (i.e. all slaves start listening for a new transmission from the master). Thus at 9600
baud a delay of greater than 3.5 x 1 / 9600 x 10 x = x 3.65 x ms will cause the
communication link to be reset.
MM300 supported functions
The following functions are supported by the MM300:
•
FUNCTION CODE 03 - Read Setpoints and Actual Values
•
FUNCTION CODE 04 - Read Setpoints and Actual Values
•
FUNCTION CODE 05 - Execute Operation
•
FUNCTION CODE 06 - Store Single Setpoint
•
FUNCTION CODE 07 - Read Device Status
•
FUNCTION CODE 08 - Loopback Test
•
FUNCTION CODE 10 - Store Multiple Setpoints
Modbus Functions
Function Code 03H
Modbus implementation: Read Holding Registers
MM300 implementation: Read Setpoints
For the MM300 implementation of Modbus, this function code can be used to read any
setpoints (“holding registers”). Holding registers are 16 bit (two byte) values transmitted
high order byte first. Thus all MM300 Setpoints 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
number of 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, consider a request for slave 17 to respond with 3 registers starting at address
006B. For this example the register data in these addresses is as follows:
The master/slave packets have the following format:
Table 2-1: Master/slave packet format for Function Code 03H
Address
Data
006B
022B
006C
0000
006D
0064
MASTER TRANSMISSION
BYTES
EXAMPLE
DESCRIPTION
SLAVE ADDRESS
1
11
message for slave 17
FUNCTION CODE
1
03
read registers
DATA STARTING ADDRESS
2
00 6B
data starting at 006B
NUMBER OF SETPOINTS
2
00 03
3 registers = 6 bytes
total
CRC
2
76 87
CRC error code