Modbus Einführung
Der ECOLITE Regler hat eine eingebaute Modbus-RTU-Schnittstelle (11), die im Allgemeinen für BEST gedacht ist. Es ist aber auch möglich, diese Schnittstelle für Feldbus-Zwecke zu nutzen. Sie ermöglicht die Überwachung des Verflüssigungssatzes sowie Parameteränderungen über eine übergeordnete Steuerung oder ein Gebäudemanagementsystem. Da der ECOLITE Regler jedoch nicht erkennen kann, ob der BEST Schnittstellenkonverter oder ein anderes Gerät angeschlossen ist, ist die Kommunikation mit BEST nicht mehr möglich, wenn die Modbus-Kommunikationsparameter gegenüber den Standardeinstellungen geändert wurden.
Ein Kabel mit MOLEX-Stecker kann unter der Teilenr. 344 117 10 bestellt werden.
Konfiguration der Modbus Kommunikationsparameter
Standardeinstellungen:
- Modbus-Adresse: 1
- Baudrate: 19200
- Parität: gerade
- Stoppbits: 1 (nicht konfigurierbar)
Die Modbus-Kommunikationsparameter können über das Tastenfeld des Reglers geändert werden:
- Menü Modbus-Kommunikationsparameter (CF) aufrufen
- F1 + F3 drücken --> FREE
- F2 + F4 drücken --> Par (am rechten unteren Ende ist "ABC" gezeigt)
- F4 drücken --> CF
- F4 drücken --> CF30
- Kommunikationseinstellungen ändern
(F1/F3 drücken, um sich zwischen den Parametern auf- und abwärts zu bewegen; F4 drücken, um den Parameter zu betreten/verlassen) - CF30 = Adresse: 1 .. 255
- CF31 = Baudrate:
3 = 9600
4 = 19200 - CF32 = Parität
1 = gerade
2 = keine
3 = ungerade - Regler aus- und einschalten, um die neuen Kommunikationseinstellungen zu aktivieren.
Wenn die Kommunikationsparameter gegenüber dem Standard geändert werden, ist die Kommunikation mit der BEST Software nicht mehr möglich!
Verwendete Datentypen und Skalierung
Datentypen:
- uint8: 8-Bit-Ganzzahl ohne Vorzeichen
- int16: 16-Bit-Ganzzahl mit Vorzeichen
- uint16: 16-Bit-Ganzzahl ohne Vorzeichen
- uint32: 32-Bit-Ganzzahl ohne Vorzeichen
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
- Skala 1000:
- Um einen Wert zu übertragen, muss er mit 1000 multipliziert werden, d.h. 1,23 --> 1230
- Ein empfangener Wert muss durch 1000 geteilt werden, d.h. 1230 --> 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 |
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.
Defekt des Reglers!
Kontinuierliches Schreiben von Parametern kann zu einem Verschleiß des EEPROMs führen, da viele Parameter direkt in das EEPROM geschrieben werden, auch wenn sie ihren Wert nicht ändern. Zyklisches Schreiben von Parametern vermeiden.
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
- 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.
- Dieses IQ Produkt hat keine galvanische Isolierung an der RS485 Schnittstelle. Daher müssen Module, die direkt über den RS485-Bus verbunden sind, das gleiche PE-Massepotential haben.
- IQ Produkte, die sich auf unterschiedliche Massepotenziale beziehen, müssen über einen geeigneten galvanisch getrennten Repeater an den RS485 angeschlossen werden, oder nur an Geräte mit isolierter RS485-Schnittstelle. Unterschiedliche Potenziale auf der Bus-Leitung können zu Fehlfunktionen oder Beschädigungen der Elektronik führen.
- Nur Data+ und Data- sollten angeschlossen werden. Die GND-Leitung sollte nicht zwischen den Modulen angeschlossen werden, da dies einen unerwünschten Erdstrom in der Kommunikationsleitung verursachen kann. Der GND-Pin kann jedoch für den unsymmetrischen Anschluss der Abschirmung verwendet werden, wenn keine bessere Möglichkeit für den Anschluss der Abschirmung verfügbar ist.
- 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.


