Modbus introduction

The CM-RC-01 and CM-SW-01 have a built-in Modbus RTU interface (CN14), which allows to monitor and control the compressor. The interface is shared for connecting the fieldbus (Modbus) or the BEST converter. When the fieldbus is connected, the operating parameters can still be monitored with the BEST Software by using Bluetooth.

Terminals of the Modbus interface of the CM-RC-01 and CM-SW-01

Configuration of the Modbus communication parameters

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

Parameters can be set via BEST or Modbus. If Modbus is used for changing the Modbus communication parameters like address, baud rate or parity, it will not result in an immediate change of the communication: The new configuration will be made active by cycling power to the module.

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

Write multiple registers (H)

10

16

Read/write multiple registers (H)

17

23

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.

04

Server device failure

Unrecoverable error in server device.

Wiring recommendations

See wiring examples below.

Devices sharing the same ground potential
Devices sharing the same ground potential
Client device with different ground potential or isolated interface
Client device with different ground potential or isolated interface
Devices with different ground potentials separated by an isolated RS485 repeater
Devices with different ground potentials separated by an isolated RS485 repeater

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
Ethernet with Modbus TCP/IP and RS485 with Modbus RTU