Modbus Einführung

Der VARIPACK hat eine eingebaute Modbus-RTU-Schnittstelle (XC3), welche die Überwachung des Frequenzumrichters ermöglicht. Die Schnittstelle kann für den Anschluss des Feldbusses (Modbus) oder des BEST Schnittstellenkonverters genutzt werden. Wenn der Feldbus angeschlossen ist, können die Betriebsparameter mit der BEST Software über Ethernet überwacht werden.

Klemmen der Modbus-Schnittstellenbuchse des VARIPACK.

Konfiguration der Modbus Kommunikationsparameter

Die Konfiguration und Voreinstellungen finden sich in BEST unter "Konfiguration" in der Parametergruppe "Kommunikation". Die Parametrierung kann über BEST mit dem BEST Schnittstellenkonverter oder Ethernet erfolgen.

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.

Standardmäßig überträgt der VARIPACK FDU .. FKU 32-Bit-Werte mit dem niederwertigsten "Word" zuerst ("least significant word first" oder "little endian word order").
Mittels Parameter kann jedoch auch die Übertragung mit dem höchstwertigen "Word" zuerst aktiviert werden ("most significant word first" oder "big endian word oder").

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

Niederwertigstes "Word" zuerst:

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

Höchstwertigstes "Word" zuerst:

Register X

Register X+1

Word 1

Word 0

Byte 3

Byte 2

Byte 1

Byte 0

Bit 32 .. 25

Bit 24 .. 17

Bit 16 .. 9

Bit 8 .. 0

Binär

00000111

01011011

11001101

00010101

Hexadezimal

07

5B

CD

15

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

Sonderfall:
Beim VARIPACK der 1. Generation werden bei Zeichenfolgen die ersten 4 Zeichen doppelt übertragen. Um dies zu umgehen, sollten die ersten beiden Register ignoriert werden.
Dazu sollte gegenüber der Dokumentation die Register-Adresse um 2 erhöht und die Anzahl der Register um 2 reduziert werden.

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 folgendes Beispiel zur Kabelführung:

Empfohlene Kabelführung für VARIPACK FDU .. FKU
Empfohlene Kabelführung für VARIPACK FDU .. FKU