5 How to Control
5.1.1 How to Control the Frequency Converter
This section describes codes which can be used in the function and data fields of a Modbus TCP message. For a complete description of all the message fields
please refer to the section Modbus TCP Message Framing Structure.
5.1.2 Function Codes Supported by Modbus TCP
Modbus TCP supports use of the following function codes in the function field of a message
Function
Function Code
Read holding registers
3 hex
Write single register
6 hex
Write multiple registers
10 hex
Device identification
2B hex
Function
Function Code
Sub-function code
Sub-function
Diagnostics
8
1
Restart communication
2
Return diagnostic register
10
Clear counters and diagnostic register
11
Return bus message count
12
Return bus communication error count
13
Return bus exception error count
14
Return slave message count
5.2 Modbus TCP Message Framing Structure
5.2.1 Function Code
The function code of a message frame contains 8 bits. Valid codes are in the range of 1-FF. Function codes are used to send messages between master and slave.
When a message is sent from a master to a slave device, the function code tells the slave what kind of action to perform. When the slave responds to the master,
it uses the function code 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. Please also refer to the section
Function Codes Supported by Modbus TCP and Exception Codes
.
5.2.2 Data Field
The data field is constructed using sets of two hexadecimal digits, in the range of 00 to FF hexadecimal. These are made up of one TCP character. The data field
of messages sent from a master to slave device contains additional information which the slave must use to take the action defined by the function code. This
can include items such as coil or register addresses, the quantity of items to be handled, and the count of actual data bytes in the field.
5.2.3 CRC Check Field
Messages include an error-checking field, operating on the basis of a Cyclical Redundancy Check (CRC) method. The CRC field checks the contents of the entire
message. It is applied regardless of any parity check method used for the individual characters of the message. The CRC value is calculated by the transmitting
device, which appends the CRC as the last field in the message. The receiving device recalculates a CRC during receipt of the message and compares the calculated
value to the actual value received in the CRC field. If the two values are unequal, a bus time-out results. The error-checking field contains a 16-bit binary value
implemented as two 8-bit bytes. When this is done, 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 message
Modbus TCP
23
5