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.

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:
- int8: 8-Bit-Ganzzahl mit Vorzeichen
- uint8: 8-Bit-Ganzzahl ohne Vorzeichen
- int16: 16-Bit-Ganzzahl mit Vorzeichen
- uint16: 16-Bit-Ganzzahl ohne Vorzeichen
- uint32: 32-Bit-Ganzzahl ohne Vorzeichen
- string: Zeichenfolge
Skalierung der Werte:
- Skala 1: Der Wert ist der exakte Wert.
- Skala 10:
- Um einen Wert zu übertragen, muss er mit 10 multipliziert werden, d.h. 12,3 --> 123
- Ein empfangener Wert muss durch 10 geteilt werden, d.h. 123 --> 12,3
- Skala 100:
- Um einen Wert zu übertragen, muss er mit 100 multipliziert werden, d.h. 1,23 --> 123
- Ein empfangener Wert muss durch 100 geteilt werden, d.h. 123 --> 1,23
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
- Es muss ein abgeschirmtes Kabel mit paarweise miteinander verdrillten Adern verwendet werden, das für die RS485-Kommunikation geeignet ist und eine nominelle Impedanz von 100 .. 130 Ω aufweist. Die beiden Signaldrähte müssen sich im gleichen Adernpaar befinden.
- Die Verdrahtungstopologie muss als "Daisy Chain" (Reihenschaltung) mit 120 Ω Abschlusswiderständen an jedem Ende der Busleitung erfolgen. Da dieses IQ Produkt keinen integrierten Abschlusswiderstand hat, muss dieser extern hinzugefügt werden.
- Die maximale Kabellänge des Modbus-Kabels ist abhängig von der verwendeten Baudrate und der Anzahl der Geräte.
- Das Modbus-Kabel sollte so verlegt werden, dass der Einfluss der Leistungskabel minimiert wird. Bei Kreuzung von Leistungskabeln sollte ein 90°-Winkel erreicht werden. Parallel verlaufende Modbus- und Leistungskabel sollten durch einen möglichst großen angemessenen Abstand getrennt werden, ca. 20 .. 25 cm. Alternativ kann ein geerdetes Schirmblech oder ein geerdetes Metallrohr verwendet werden.
- An einem Modbus-Strang sollten max. 10 IQ Produkte angeschlossen sein. Sind andere Geräte an denselben Modbus-Strang angeschlossen, muss die maximale Stromaufnahme dieser anderen Geräte beachtet werden.
- Die RS485-Schnittstelle des VARIPACK ist von der Strom- bzw. Netzversorgung getrennt, teilt sich aber das 0-V-Potenzial mit der Steuerkarte (Ein- und Ausgänge). Data+, Data- und 0 V sollten zwischen den Geräten verbunden werden. 0 V darf jedoch an keiner Stelle mit Masse verbunden sein.
- Die Abschirmung darf nur an einem Ende des Busses angeschlossen werden, um unerwünschte Erdströme in der Abschirmung zu vermeiden. Die Abschirmung muss jedoch über die gesamte Bus-Länge ununterbrochen sein, außer bei galvanisch getrennten Repeatern.
- Im Falle eines isolierten Client-Geräts und eines nicht isolierten Server-Geräts oder umgekehrt wird empfohlen, die Abschirmung am Ende ohne Isolierung anzuschließen.
- Wenn keines der Geräte isoliert ist, sollte die Abschirmung an das Client-Gerät angeschlossen werden. Wenn alle Geräte isoliert sind, spielt es keine Rolle, an welchem Ende die Abschirmung angeschlossen ist - sie sollte jedoch nicht an den GND-Pin der RS485-Schnittstelle angeschlossen werden.
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:
- Network
- IP Mode: DHCP (alternativ kann eine feste IP Adresse gegeben werden)
- Work Mode: TCP Server
- Serial
- Baudrate, Datenbits, Parität, Stopbits: Müssen identisch sein zu den Kommunikationseinstellungen der angeschlossenen IQ Produkte.
- Advanced Settings
- Transfer Protocol: Modbus_TCP Protocol
- Weitere fortgeschrittene Einstellungen: Bei der Konfiguration des Geräts über das „VirCom“-Tool werden die Speicherfunktion (Modbus Gateway Type = Auto Query Storage Type) und die Multi-Host-Unterstützung (Enable RS485 Multi-Host) automatisch aktiviert. Die Speicherfunktion verbessert die Leistung für Modbus TCP/IP-Abfragen, und die Multi-Host-Funktion ermöglicht den Anschluss von mehr als einem Modbus TCP/IP-Client-Gerät.
