|
<< Click to Display Table of Contents >> Navigation: Komponenten > Treiber > Modbus Master > Modbus – Einstellungen |

Timeout [ms] |
2000, 1 … 5000 |
Wartezeit auf die Antwort eines Geräts. Kommt innerhalb dieser Zeit keine Antwort, gilt die Anfrage als fehlgeschlagen (Antwort-Timeout). |
Auto Disconnect |
Aus |
Der Treiber baut die Verbindung nach jedem Kommunikationszyklus ab und zum nächsten Zyklus wieder auf. Sinnvoll für Geräte, die offene Verbindungen nicht dauerhaft halten oder nur kurzzeitig belegt werden sollen. Mit Auto Disconnect wird immer eine exklusive Verbindung verwendet; die **IP Gruppe** wird ignoriert. |
IP Gruppe |
−1 … 15 |
Legt fest, ob der Treiber eine eigene TCP-Verbindung aufbaut oder sich eine Verbindung mit anderen Modbus-Komponenten teilt. - −1: Der Treiber verwendet eine eigene, exklusive Verbindung. - 0 … 15: Alle Komponenten mit gleicher IP-Adresse, gleichem Port, gleichem Modus und gleicher Gruppe teilen sich eine Verbindung. Das ist nötig, wenn ein Gerät oder Gateway nur eine bzw. wenige gleichzeitige Verbindungen annimmt. Die Anfragen der beteiligten Komponenten werden dann nacheinander über diese eine Verbindung abgewickelt.
Bei serieller Verbindung (RTU/ASCII) hat die Einstellung keine Bedeutung – eine COM-Schnittstelle wird immer gemeinsam genutzt. |
Zyklisches Lesen |
Ein |
Pause [s] |
1 … 5000 |
Der Treiber liest alle lesbaren Register fortlaufend. Die Pause ist die Wartezeit zwischen dem Ende eines Lesedurchlaufs und dem Beginn des nächsten. Ist zyklisches Lesen aus, werden Werte nur auf Anforderung über den entsprechenden Datenpunkt der Komponente gelesen. |
Zyklisches Schreiben |
Aus |
Pause [s] |
1 … 5000 |
Der Treiber schreibt in diesem Abstand alle beschreibbaren Register, für die ein Wert bekannt ist, erneut ins Gerät – unabhängig davon, ob sich der Wert geändert hat. Nützlich für Geräte, die Werte nach einem Neustart verlieren oder eine regelmäßige Vorgabe erwarten (Watchdog). |
Block-Lesen |
Ein |
Aufeinanderfolgende Register eines Geräts mit derselben Funktion werden in einer gemeinsamen Anfrage gelesen statt einzeln. Das verringert die Anzahl der Anfragen deutlich. Ein Block wird nur über lückenlos aufeinanderfolgende Adressen gebildet; eine Adresslücke beginnt einen neuen Block. |
Block-Schreiben |
Ein |
Beim Schreiben mehrerer Werte (zyklisches Schreiben bzw. gesammeltes Schreiben, siehe *Direkt Schreiben*) werden aufeinanderfolgende Register in einer gemeinsamen Anfrage geschrieben. |
Blockgröße |
120, 1 … 250 |
Höchstzahl der Register (bzw. Coils) pro Block. Manche Geräte oder Gateways erlauben nur kleinere Blöcke – liefert ein Gerät bei Blockzugriff Fehler, die Blockgröße verringern. Das Modbus-Protokoll selbst erlaubt beim Lesen höchstens 125 Register pro Anfrage. |
Nur verbundene Objekte lesen |
Ein |
Es werden nur Register gelesen, deren Datenpunkt mit einem Netz verbunden ist. Nicht verwendete Register verursachen so keinen Datenverkehr. Ist eine Treiberkopplung (z. B. MQTT, BACnet-Server, Dateilogger) mit der Komponente verbunden, werden alle Register gelesen, da die Werte dort benötigt werden. |
Direkt Schreiben |
Ein |
Ändert sich ein Wert, wird er sofort einzeln ins Gerät geschrieben. Ist die Option aus, wird der Wert mit dem nächsten zyklischen Schreiben übertragen. Ist auch das zyklische Schreiben aus, wartet der Treiber nach einer Änderung kurz (ca. 0,1 s) und schreibt dann alle bekannten Schreibwerte gemeinsam (mit Block-Schreiben als Blöcke). So gehen kurz hintereinander eintreffende Änderungen in einem Schreibvorgang ins Gerät. |
Lesewiederholung |
Aus |
Schlägt das Lesen eines Blocks fehl, wird es einmal wiederholt, bevor der Fehler gewertet wird. Für Geräte, die bereits als gestört gelten, und beim ersten Lesen nach dem Verbindungsaufbau wird nicht wiederholt. |
Zyklus stoppen bei Gerätefehler |
Ein |
Meldet ein Gerät einen Fehler (keine Antwort, Gerätestörung, Gateway findet das Gerät nicht, Verbindung geschlossen), liest der Treiber in diesem Durchlauf keine weiteren Blöcke dieses Geräts, sondern macht mit dem nächsten Gerät weiter. Zusätzlich wird ein gestörtes Gerät zunehmend seltener abgefragt (nach 10 s, 30 s, 1, 2, 5, 10 und dann alle 30 Minuten), damit ein ausgefallenes Gerät die Abfrage der übrigen Geräte nicht ausbremst. Antwortet es wieder, wird es sofort wieder im normalen Zyklus gelesen. Ist die Option aus, werden alle Blöcke des Geräts in jedem Durchlauf versucht. |
Lesefehler für Gerätefehler |
1 … 10 |
Anzahl aufeinanderfolgender Lesedurchläufe, in denen von einem Gerät kein Register gelesen werden konnte, bevor das Gerät als gestört gemeldet wird (Gerätestatus *false*). Schon beim ersten fehlgeschlagenen Durchlauf wird die Warnung des Geräts gesetzt. Ein höherer Wert verhindert Störungsmeldungen bei vereinzelten Aussetzern. Beim ersten Lesen nach dem Start bzw. nach einem Verbindungsaufbau wird unabhängig von dieser Einstellung sofort gemeldet. |
Alte Lib verwenden: Verwendet die frühere Modbus-Bibliothek statt der aktuellen. Nur als Ausweichlösung für Geräte gedacht, die mit der aktuellen Bibliothek nicht zusammenarbeiten.
Verbindungsüberwachung (Verhalten, keine Einstellung)
- Bricht die Verbindung ab, versucht der Treiber selbstständig, sie wieder aufzubauen – zunächst nach 10, 20, 30 und 60 Sekunden, danach alle 5 Minuten. Jeder Versuch steht im Diagnose-Protokoll der Komponente mit dem Zeitpunkt des nächsten Versuchs.
- Sobald die Verbindung wieder steht, werden alle Geräte sofort abgefragt, auch wenn für ein Gerät noch eine Wartezeit lief.
- Antwortet über eine TCP-Verbindung in drei Lesedurchläufen hintereinander kein einziges Gerät, wird die Verbindung verworfen und neu aufgebaut. Antwortet hinter einem Gateway noch mindestens ein Gerät, bleibt die Verbindung bestehen; ausgefallene Geräte werden dann nur als Gerätefehler gemeldet.
- Die Verbindung wird zusätzlich mit TCP-Keepalive überwacht, sodass eine unterbrochene Leitung auch in Lesepausen erkannt wird.