Modbus Einführung

Der VARIPACK hat eine eingebaute Modbus-RTU-Schnittstelle, welche die Überwachung und Steuerung des Verdichters ermöglicht.

Die Modbus-Schnittstelle befindet sich, wie die dedizierte Kommunikationsschnittstelle für die BEST Software, an der RJ45-Buchse des Frequenzumrichters (Pin 3, 7 und 8). Während die VARIPACK mit Schutzart IP66 (F.Y) zwei RJ45-Buchsen haben, an denen der BEST Schnittstellenkonverter und Modbus gleichzeitig angeschlossen werden können, haben die VARIPACK mit Schutzart IP55 (F.W) und IP20 (F.U) nur eine RJ45-Buchse. Daher ist bei diesen Typen ein Adapterkabel nötig, um den BEST Schnittstellenkonverter und Modbus parallel anschließen zu können. Bei den F.Y-Frequenzumrichtern sind die beiden RJ45-Buchsen intern gebrückt, sodass beide Buchsen in gleicher Weise und für beide Schnittstellen genutzt werden können.

Klemmen der Modbus-Schnittstellenbuchse des VARIPACK.
Klemmen der Modbus-Schnittstellenbuchse des VARIPACK.

Konfiguration der Modbus Kommunikationsparameter

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

Die Parametrierung kann über BEST, über das Keypad oder Modbus erfolgen. Geänderte Kommunikationsparameter ändern sofort die Kommunikation. Da die Modbus-Adresse auch als Adresse für die Kommunikation der BEST Software verwendet wird, wird die Verbindung von BEST unterbrochen, wenn BEST verbunden ist.

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

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.

06

Device busy

Der Frequenzumrichter ist aufgrund der internen Datenübertragung beschäftigt.

Empfehlungen zur Kabelführung

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 VARIPACK FM .. FS
Ethernet mit Modbus TCP/IP und RS485 mit Modbus RTU für VARIPACK FM .. FS