14
MG.10.P2.22
VLT is a registered Danfoss trade mark
Modbus
Message
Structure
The controllers are setup to communicate on
the Modbus network using RTU (Remote
Terminal Unit) mode, with each 8-bit byte in a
Coding System:
8-bit binary, hexadecimal 0-9, A-F
Two 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)
A Modbus message is placed by the
transmitting device 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 know when
the message is completed. Partial messages
are detected and errors set as a result.
The allowable characters transmitted for all
fields are hexadecimal 0-9, A-F. The adjustable
frequency drives monitor the network bus
continuously, including ‘silent’ intervals. When
the first field (the address field) is received,
each drive or device decodes it to determine
whether it is the addressed device.
Modbus messages addressed to zero are
converted to broadcast messages using the
FC protocol. No response is needed on
broadcast messages.
To ensure the attribute data returned is the
most current, each attribute access must
include one attribute only.
A typical message frame is shown below.
Start
Address
Function
Data
CRC Check
End
T1-T2-T3-T4
8 Bits
8 Bits
n x 8 Bits
16 Bits
T1-T2-T3-T4
Remote
Terminal
Unit
Start/Stop Field
Messages start with a silent interval of at least
3.5 character times. This is implemented as a
multiple of character times at the 9600
network baud rate (shown as Start T1-T2-T3-
T4). The first field then transmitted is the device
address. Following the last transmitted
character, a similar interval of at least 3.5
character times marks the end of the
message. A new message can begin after this
interval.
The entire message frame must be
transmitted as a continuous stream. If a silent
interval of more than 1.5 character times
occurs before completion of the frame, the
receiving device flushes the incomplete
message and assumes that the next byte will
be the address field of a new message.
Similarly, if a new message begins earlier that
3.5 character times following a previous
message, the receiving device will consider it
a continuation of the previous message. This
will set an error, since the value in the final
CRC field is not valid for the combined
messages.
Typical Modbus Message Structure
Modbus
Message
Structure
(continued)
message contains two 4-bit hexadecimal
characters. The format for each byte is shown
below.