4.3 Modbus RTU Link Layer
The link layer includes the following properties/behaviors:
•
Slave address recognition,
•
Start / End of Frame detection,
•
CRC-16 generation / checking,
•
Transmit / receive message time-out,
•
Buffer overflow detection,
•
Framing error detection,
•
Idle line detection.
Errors detected by the physical layer in messages received by the slave are ignored and the physical layer
automatically restarts by initiating a new receive on the next idle line detection.
4.4 General Modbus RTU message format
Query message format
[Slave Address, Function Code, Function code dependent data, CRC 16]
Response message format
[Slave Address, Function Code*, Function code dependent data, CRC 16]
* If an error is detected in a valid message the response function code is modified by adding 80 (hex) and the
function code dependent data is replaced by an exception response code as described in 9 -
Exception Codes
Between messages, the RS-485 link is in a high impedance state. During this time receiving devices are
more susceptible to noise generated false start of messages. Although noise-generated messages are
rejected due to address, framing, and CRC checking, they can cause the loss of a good message when they
are included in the message stream. In the slave the transmitting device enables its transmitter line diver
and forces an idle line state onto the link for three character time slots prior to transmitting. This forces
termination of any noise generated messages and improves message frame synchronization.
4.5 Modbus RTU Data Layer
The data layer includes:
•
Diagnostic loopback,
•
Function code recognition / rejection,
•
Busy / repoll,
•
Data error code generation
Errors detected by the data layer are rejected and the slave responds to the polling device with a Modbus-
type status exception error. A summary of the Modbus status exception codes is listed in Section 9 -
Modbus RTU Exception Codes.
January 09
.
UDA2182 Communications User Guide
Modbus RTU Serial Communication Port
Modbus RTU
11