Modbus introduction

The VARIPACK has a built-in Modbus RTU interface which allows to monitor and control the compressor.

Like the dedicated communication interface for the BEST Software, the Modbus interface is located on the RJ45 socket of the frequency inverter (pin 3, 7 and 8). Whereas the VARIPACKs with enclosure class IP66 (F.Y) have two RJ45 sockets, allowing to plug in the BEST converter and Modbus simultaneously, the VARIPACKs with enclosuree class IP55 (F.W) and IP20 (F.U) have only one RJ45 socket. As a consequence, an adapter cable is required for those types in order to allow to connect the BEST converter and Modbus in parallel. By the F.Y frequency inverters, the two RJ45 sockets are internally bridged, allowing to use both sockets in the same way and for both interfaces.

Terminals of the communication interface socket(s) of the VARIPACK.
Terminals of the communication interface socket(s) of the VARIPACK.

Configuration of the Modbus communication parameters

Configuration and default settings can be found in BEST under "Configuration" in the parameter group "Modbus".

Setting of the parameters can be done via BEST, the keypad or Modbus. Changing the communication parameters will result in an immediate change of the communication. As the Modbus address is also used as address for the communication of the BEST Software, the connection of BEST will be interrupted when BEST is connected.

Used data types and scaling

Data types:

Scaling of the values:

Reading and writing 32-bit values

32-bit values must be read and written as two consecutive Modbus registers (register count = 2).
While Modbus.org has specified that 16-bit values are transmitted with the most significant byte first (or "big endian byte order"), there is no standard for the order of the words that come into play with 32-bit values or character strings with 2 or more registers.

This device transmits 32-bit values with the least significant word first (or "little endian word order").

The following table shows an example of this procedure for the number 123456789, which corresponds to the hexadecimal number 75BCD15.

Register X

Register X+1

Word 0

Word 1

Byte 1

Byte 0

Byte 3

Byte 2

Bit 16 .. 9

Bit 8 .. 0

Bit 32 .. 25

Bit 24 .. 17

Binary

11001101

00010101

00000111

01011011

Hexadecimal

CD

15

07

5B

Reading string values via Modbus

One byte can be used to transmit one character via ASCII code. One word or register therefore allows two characters to be transmitted.
In order to be able to transmit longer character strings, therefore, usually multiple registers are used for the string data type.
The number of registers to be read is listed in "Number of registers".

The character strings are transferred from left to right and always with the most significant word and the least significant byte first (also "big endian word order" and "little endian byte order") .

The following table shows an example of this procedure for the character string ABCD, which is provided in a string with 3 registers.

Register X

Register X+1

Register X+2

Word 2

Word 1

Word 0

Byte 4

Byte 5

Byte 2

Byte 3

Byte 0

Byte 1

Bit 40 .. 33

Bit 48 .. 41

Bit 24 .. 17

Bit 32 .. 25

Bit 8 .. 0

Bit 16 .. 9

Binary

01000010

01000001

01000100

01000011

00000000

00000000

Hexadecimal

42

41

44

43

0

0

ASCII

B

A

D

C

Modbus function codes

The following function codes have been implemented from the standard Modbus protocol:

Function

Code (hexadecimal)

Code (decimal)

Read holding registers (H)

03

03

Read input register (I)

04

04

Write single register (H)

06

06

All input registers (I) can also be read as holding registers (H).

Modbus exception codes

The following exception codes have been implemented from the standard Modbus protocol:

Code

Name

Meaning

01

Illegal function

The function code is not valid.

02

Illegal data address

The specified register is not valid.

03

Illegal data value

The value is not allowed.

06

Device busy

The frequency inverter is busy due to internal data transfer.

Wiring recommendations

Modbus TCP/IP

In case Modbus TCP/IP is required or preferred over Modbus RTU, a Modbus RTU <-> TCP/IP converter can be used. Gateways are available on the market which translate the Modbus communication 1:1 without requiring to configure the individual protocols/registers in the gateway itself. One product that underwent successful testing at BITZER is the "RS485 TO POE ETH (B)" by Waveshare. In comparison to the standard version "RS485 TO ETH (B)", the POE version provides additional galvanic isolation of the signals and power supply. After configuring the devices as a Modbus RTU <-> TCP/IP converter, multiple IQ products can be made available on Modbus TCP/IP.

In detail, the following settings must be applied by the "VirCom" tool:

Ethernet with Modbus TCP/IP and RS485 with Modbus RTU for VARIPACK FM .. FS
Ethernet with Modbus TCP/IP and RS485 with Modbus RTU for VARIPACK FM .. FS