Introduction
Modbus RTU RS232/RS485 Communication Ports
6 HC900 Hybrid Controller Communications User Guide Revision 4
9/03
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 5.
Modbus RTU
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.
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 5.
Modbus RTU Exception Codes.