Modbus Einführung

Das CM-RC-01 und das CM-SW-01 haben eine eingebaute Modbus-RTU-Schnittstelle (CN14), die die Überwachung und Steuerung des Verdichters ermöglicht. Die Schnittstelle wird gemeinsam genutzt für den Anschluss des Feldbus (Modbus) oder des BEST Schnittstellenkonverters. Wenn der Feldbus angeschlossen ist, können die Betriebsparameter weiterhin mit der BEST SOFTWARE per Bluetooth überwacht werden.

Klemmen der Modbus-Schnittstelle von CM-RC-01 und CM-SW-01

Konfiguration der Modbus Kommunikationsparameter

Die Konfiguration und Voreinstellungen finden sich in BEST unter "Konfiguration" in der Parametergruppe "Modbus".

Die Parametrierung kann über BEST oder per Modbus erfolgen. Wenn Modbus verwendet wird, um Modbus-Kommunikationsparameter wie Adresse, Baudrate oder Parität zu ändern, ändert dies nicht sofort die Kommunikation: Die neue Konfiguration wird erst nach dem Aus- und Wiedereinschalten des Moduls aktiv.

Verwendete Datentypen und Skalierung

Datentypen:

Skalierung der Werte:

32-Bit-Werte lesen und schreiben

32-Bit-Werte müssen als zwei aufeinander folgende Modbus-Register gelesen und geschrieben werden (Anzahl Register = 2).
Während Modbus.org spezifiziert hat, dass 16-Bit-Werte mit dem höchstwertigen Byte zuerst übertragen werden ("most significant byte first" oder "big endian byte order"), gibt es keinen Standard zur Anordnung der "Word", die bei 32-Bit-Werten oder Zeichenfolgen mit 2 oder mehr Registern ins Spiel kommen.

Dieses Gerät überträgt 32-Bit-Werte mit dem niederwertigsten "Word" zuerst ("least significant word first" oder "little endian word order").

In der folgenden Tabelle ist dies beispielhaft für die Zahl 123456789 dargestellt, der die Hexadezimalzahl 75BCD15 entspricht.

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

Binär

11001101

00010101

00000111

01011011

Hexadezimal

CD

15

07

5B

Zeichenfolgen per Modbus lesen

Mittels eines Byte lässt sich ASCII codiert ein Zeichen übertragen. Ein "Word" bzw. Register ermöglicht somit, zwei Zeichen zu übertragen.
Um längere Zeichenketten übermitteln zu können, werden daher meist mehrere Register für den string-Datentyp genutzt.
Die Zahl der zu lesenden Register ist in "Anzahl Register" aufgeführt.

Die Zeichenfolgen werden von links nach rechts übertragen und immer mit dem höchstwertigsten "Word" ("most significant word first" oder "big endian word order") und dem niederwertigsten Byte ("least significant byte first" oder "little endian byte order") zuerst.

In der folgenden Tabelle ist dies für beispielhaft für die Zeichenfolge ABCD dargestellt, die in einem String mit 3 Registern zur Verfügung gestellt wird.

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

Binär

01000010

01000001

01000100

01000011

00000000

00000000

Hexadezimal

42

41

44

43

0

0

ASCII

B

A

D

C

Modbus-Funktionscodes

Die folgenden Funktionscodes wurden aus dem Standard-Modbus-Protokoll implementiert:

Funktion

Code (hexadezimal)

Code (dezimal)

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

Alle Input-Register (I) können auch als Holding-Register (H) gelesen werden.

Modbus-Ausnahmecodes

Die folgenden Ausnahmecodes wurden aus dem Standard-Modbus-Protokoll implementiert:

Code

Name

Bedeutung

01

Illegal function

Der Funktionscode ist nicht gültig.

02

Illegal data address

Das angegebene Register ist nicht gültig.

03

Illegal data value

Der Wert ist nicht zulässig.

04

Server device failure

Unbehebbarer Fehler im Server-Gerät.

Empfehlungen zur Kabelführung

Siehe folgende Beispiele zur Kabelführung:

Geräte mit gleichem Massepotenzial
Geräte mit gleichem Massepotenzial
Client-Gerät mit abweichendem Massepotenzial oder isolierter Schnittstelle
Client-Gerät mit abweichendem Massepotenzial oder isolierter Schnittstelle
Geräte mit unterschiedlichen Massepotenzialen, die durch einen isolierten RS485-Repeater getrennt sind
Geräte mit unterschiedlichen Massepotenzialen, die durch einen isolierten RS485-Repeater getrennt sind

Modbus TCP/IP

Falls Modbus TCP/IP erforderlich ist oder gegenüber Modbus RTU bevorzugt wird, kann ein Modbus RTU <-> TCP/IP Konverter verwendet werden. Es gibt Gateways auf dem Markt, die die Modbus Kommunikation 1:1 übersetzen, ohne dass die einzelnen Protokolle / Register im Gateway selbst konfiguriert werden müssen. Ein Produkt, das BITZER erfolgreich getestet hat, ist "RS485 TO POE ETH (B)" von Waveshare. Im Vergleich zur Standardversion "RS485 TO ETH (B)" bietet die POE Version eine zusätzliche galvanische Isolierung der Signale und der Netzversorgung. Nachdem die Geräte als Modbus RTU <-> TCP/IP Konverter konfiguriert sind, können mehrere IQ Produkte am Modbus TCP/IP verfügbar gemacht werden.

Im Einzelnen müssen die folgenden Einstellungen im "VirCom" vorgenommen werden:

Ethernet mit Modbus TCP/IP und RS485 mit Modbus RTU
Ethernet mit Modbus TCP/IP und RS485 mit Modbus RTU