Transmit the entire telegram frame 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 telegram and assumes that the next byte is the address field of a
new telegram. Similarly, if a new telegram begins before 3.5 character intervals after a previous telegram, the receiving device considers
it a continuation of the previous telegram. This behavior causes a timeout (no response from the follower), since the value in the final
CRC field is not valid for the combined telegrams.
9.8.4 Address Field
The address field of a telegram frame contains 8 bits. Valid follower device addresses are in the range of 0–247 decimal. The individual
follower devices are assigned addresses in the range of 1–247. 0 is reserved for broadcast mode, which all slaves recognize. A master
addresses a follower by placing the follower address in the address field of the telegram. When the follower sends its response, it places
its own address in this address field to let the master know which follower is responding.
9.8.5 Function Field
The function field of a telegram frame contains 8 bits. Valid codes are in the range of 1–FF. Function fields are used to send telegrams
between master and follower. When a telegram is sent from a master to a follower device, the function code field tells the follower what
kind of action to perform. When the follower 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 follower simply echoes the original function code. For an exception response, the follower returns a code that
is equivalent to the original function code with its most significant bit set to logic 1. In addition, the follower places a unique code into
the data field of the response telegram. This code tells the master what kind of error occurred, or the reason for the exception. Also refer
to chapter Function Codes Supported by Modbus RTU and chapter Modbus Exception Codes.
9.8.6 Data Field
The data field is constructed using sets of 2 hexadecimal digits, in the range of 00–FF hexadecimal. These digits are made up of 1 RTU
character. The data field of telegrams sent from a master to a follower device contains additional information which the follower must
use to perform accordingly.
The information can include items such as:
l Coil or register addresses.
l The quantity of items to be handled.
l The count of actual data bytes in the field.
9.8.7 CRC Check Field
Telegrams include an error-checking field, operating based on a cyclic redundancy check (CRC) method. The CRC field checks the
contents of the entire telegram. It is applied regardless of any parity check method used for the individual characters of the telegram.
The transmitting device calculates the CRC value and appends the CRC as the last field in the telegram. The receiving device recalculates
a CRC during receipt of the telegram and compares the calculated value to the actual value received in the CRC field. 2 unequal values
result in bus timeout. The error-checking field contains a 16-bit binary value implemented as 2 8-bit bytes. After the implementation,
the low-order byte of the field is appended first, followed by the high-order byte. The CRC high-order byte is the last byte sent in the
telegram.
9.8.8 Coil Register Addressing
In Modbus, all data is organized in coils and holding registers. Coils hold a single bit, whereas holding registers hold a 2 byte word (that
is 16 bits). All data addresses in Modbus telegrams are referenced to 0. The first occurrence of a data item is addressed as item number
0. For example: The coil known as coil 1 in a programmable controller is addressed as coil 0000 in the data address field of a Modbus
telegram. Coil 127 decimal is addressed as coil 007Ehex (126 decimal).
102 | Danfoss A/S © 2024.01 AJ435824192086en-000101 / 130R1295
Design Guide | VLT® AutomationDrive FC 360