COMMUNICATIONS GUIDE | RS485 INTERFACE (MODBUS RTU) |
Master Request Transmission:
SLAVE ADDRESS: 1 byte
FUNCTION CODE: 1 byte
DATA: variable number of bytes depending on FUNCTION CODE
CRC: 2 bytes
Slave Response Transmission:
SLAVE ADDRESS: 1 byte
FUNCTION CODE: 1 byte
DATA: variable number of bytes depending on FUNCTION CODE
CRC: 2 bytes
SLAVE ADDRESS: This is the first byte of every transmission. This byte represents the user- assigned address of the slave device that is to receive the message sent by the master. Each slave device must be assigned a unique address and only the addressed slave will respond to a transmission that starts with its address. In a master request transmission the SLAVE ADDRESS represents the address of the slave to which the request is being sent. In a slave response transmission the SLAVE ADDRESS represents the address of the slave that is sending the response.
FUNCTION CODE: This is the second byte of every transmission. Modbus defines function codes of 1 to 127.
DATA: This will be a variable number of bytes depending on the FUNCTION CODE. This may be Actual Values, Setpoints, or addresses sent by the master to the slave or by the slave to the master.
CRC: This is a two byte error checking code.
Error Checking
The RTU version of Modbus includes a two byte
If a MM300 Modbus slave device receives a transmission in which an error is indicated by the
The
CRC-16 Algorithm
Once the following algorithm is complete, the working register “A” will contain the CRC value to be transmitted. Note that this algorithm requires the characteristic polynomial to be reverse bit ordered. The MSBit of the characteristic polynomial is dropped since it does not affect the value of the remainder. The following symbols are used in the algorithm:
—>: data transfer
A: 16 bit working register
MM300 MOTOR MANAGEMENT SYSTEM – COMMUNICATIONS GUIDE | 3 |