RS485 Installation and Set-...
5.8 Modbus RTU Message Framing
Structure
5.8.1 Introduction
The controllers are set up to communicate on the Modbus
network using RTU (remote terminal unit) mode, with each
byte in a message containing 2 4-bit hexadecimal
characters. The format for each byte is shown in Table 5.12.
Start
Data byte
bit
Table 5.12 Format for Each Byte
Coding system
8-bit binary, hexadecimal 0-9, A-F. 2
hexadecimal characters contained in each 8-
bit field of the message.
•
Bits per byte
1 start bit.
•
8 data bits, least significant bit sent first.
•
1 bit for even/odd parity; no bit for no
parity.
•
1 stop bit if parity is used; 2 bits if no
parity.
Error check field
Cyclical redundancy check (CRC).
Table 5.13 Byte Details
5.8.2 Modbus RTU Message Structure
The transmitting device places a Modbus RTU message
into a frame with a known beginning and ending point.
This allows receiving devices to begin at the start of the
message, read the address portion, determine which
device is addressed (or all devices, if the message is
broadcast), and to recognise when the message is
completed. Partial messages are detected and errors set as
a result. Characters for transmission must be in
hexadecimal 00 to FF format in each field. The frequency
converter continuously monitors the network bus, also
during 'silent' intervals. When the first field (the address
field) is received, each frequency converter or device
decodes it to determine which device is being addressed.
Modbus RTU messages addressed to 0 are broadcast
messages. No response is permitted for broadcast
messages. A typical message frame is shown in Table 5.14.
Start
Address
Function
T1-T2-T3-
8 bits
8 bits
T4
Table 5.14 Typical Modbus RTU Message Structure
MG06B402
Design Guide
Stop/
Stop
parity
Data
CRC
End
check
N x 8
16 bits
T1-T2-T3-
bits
T4
Danfoss A/S © 09/2014 All rights reserved.
5.8.3 Start/Stop Field
Messages start with a silent period of at least 3.5 character
intervals. This is implemented as a multiple of character
intervals at the selected network baud rate (shown as Start
T1-T2-T3-T4). The first field to be transmitted is the device
address. Following the last transmitted character, a similar
period of at least 3.5 character intervals marks the end of
the message. A new message can begin after this period.
The entire message frame must be transmitted as a
continuous stream. If a silent period of more than 1.5
character intervals occurs before completion of the frame,
the receiving device flushes the incomplete message and
assumes that the next byte is the address field of a new
message. Similarly, if a new message begins before 3.5
character intervals after a previous message, the receiving
device considers it a continuation of the previous message.
This causes a time-out (no response from the slave), since
the value in the final CRC field is not valid for the
combined messages.
5.8.4 Address Field
The address field of a message frame contains 8 bits. Valid
slave device addresses are in the range of 0–247 decimal.
The individual slave devices are assigned addresses in the
range of 1–247. (0 is reserved for broadcast mode, which
all slaves recognise.) A master addresses a slave by placing
the slave address in the address field of the message.
When the slave sends its response, it places its own
address in this address field to let the master know which
slave is responding.
5.8.5 Function Field
The function field of a message frame contains 8 bits. Valid
codes are in the range of 1-FF. Function fields are used to
send messages between master and slave. When a
message is sent from a master to a slave device, the
function code field tells the slave what kind of action to
perform. When the slave responds to the master, it uses
the function code field to indicate either a normal (error-
free) response, or that some kind of error occurred (called
an exception response).
For a normal response, the slave simply echoes the original
function code. For an exception response, the slave returns
a code that is equivalent to the original function code with
its most significant bit set to logic 1. In addition, the slave
places a unique code into the data field of the response
message. This tells the master what kind of error occurred,
or the reason for the exception. Also refer to
chapter 5.8.10 Function Codes Supported by Modbus RTU and
chapter 5.8.11 Modbus Exception Codes.
5
5
67
Need help?
Do you have a question about the VLT AutomationDrive FC 360 and is the answer not in the manual?
Questions and answers