Modbus Einführung

Die CSV hat eine eingebaute Modbus-RTU-Schnittstelle (X07), die die Überwachung und Steuerung der CSV ermöglicht.

Klemmen der Modbus-Schnittstelle der CSV

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 neuen Kommunikationseinstellungen können

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)

Anmerkungen

Read holding registers (H)

03

03

Read input register (I)

04

04

Write single register (H)

06

06

Diagnostics

08

08

Unterfunktionen (nicht alle geben einen Wert zurück)
0, 10 .. 18 & 20 (dezimal)
0, 0A .. 12, 14 (hexadezimal)

Get comm event counter

0B

11

Write multiple registers (H)

10

16

Read/write multiple registers (H)

17

23

Alle Eingaberegister können auch als Halteregister 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.

Fehlersuche

Die CSV selbst hat zusätzlich mehrere Modbus-Kommunikationsdiagnoseparameter, die bei der Fehlersuche bei Kommunikationsproblemen hilfreich sein können. Diese finden sich in BEST unter Überwachung --> Modbus.

Empfehlungen zur Kabelführung

Siehe folgendes Beispiel zur Kabelführung:

Empfohlene Kabelführung für die CSV
Empfohlene Kabelführung für die CSV

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 (für CSV)
Ethernet mit Modbus TCP/IP und RS485 mit Modbus RTU (für CSV)