Modbus Instruction manual 05/0820
20
Modbus Instruction manual 05/08
6.4 Supported Function Codes
Modbus definitions for reading/writing data in a device do not fit directly to parame-
ter access of inverters (independent of inverter manufacturer). Modbus is defined for
reading/writing bits and registers in a different way. Furthermore, data access is
limited to 16 bit wide data.
To fulfill the Modbus requirements the data access to parameters in the devices (in-
verters) will use the following defined function codes:
- Function Code 3 Read ONE 16 bit wide data
(Read Holding Register)
- Function Code 6 Write ONE 16 bit wide data
(Write Single Register)
For data access to 32 bit wide data two new inverter specific function codes are
defined:
- Function Code 100 Read ONE 32 bit wide data
- Function Code 101 Write ONE 32 bit wide data
With the help of these two new functions (which are not defined by the Modbus
descriptions), data access to 32-bit “long” variables/parameters inside the inverters
is made possible.
For diagnostic purposes the Modbus function code "8" (
Diagnostics
) is also sup-
ported.
These function codes and their corresponding data fields are described in detail in
the following chapters.
Remark: In all data fields with more than one byte, the highest order byte is
transmitted first.
Message examples for all supported function codes in both RTU and ASCII transmis-
sion modes can be found in chapters
8.
6.4.1 Function Code 3, Read 16-bit Parameter
This function code is used to read the value of integer or unsigned integer parame-
ters in the inverter.
Request:
Function Code 1 Byte 0x03
Start Address (Data Set / Para-No.) 2 Bytes 0x0000 – 0x963F
No. of Registers 2 Bytes 0x0001 (always)
Response:
Function Code 1 Byte 0x03
Byte Count 1 Byte 0x02 (always)
Register Value (Parameter Value) 2 Bytes 0 – 0xFFFF
Exception Response:
Error Code 1 Byte 0x83
Exception code 1 Byte 2, 3 or 4