Hallo,
Thematisch knüpfe ich etwas an diesem Thread an, allerdings mit neuen Detailthemen:
viewtopic.php?f=54&t=5601&p=18250&hilit=modbus#p18250
Wir haben in Vergangenheit immer wieder Probleme mit verschiedener Modbus-Hardware gehabt. Die jeweiligen Hersteller (Zuletzt die Firma Julabo) haben dabei immer dasselbe Problem identifiziert:
Der Modbus-Client baut für jede Abfrage eine Verbindung auf und beendet diese dann wieder. Dabei wird irgendeine ID hochgezählt und überschreitet einen gültigen Bereich. Laut deren Aussage wäre das nicht Standard, normalerweise würden die Verbindungen aufrechterhalten.
Manchmal mach Profilab dann Ärger, aber meistens Stürzen die Geräte ab.
Gibt es einen Grund warum die Verbindungen jedes Mal geöffnet und geschlossen werden oder ließe sich das umgehen?
An zwei alten Anlagen haben wir noch die „alten“ Modbus Bausteine aktiv die anscheinend wesentlich stabiler laufen, wurde hier noch die Verbindung aufrecht erhalten?
Auffällig ist auch, dass die maximale Geschwindigkeit bei den alten Bausteinen deutlich höher war. Hier laufen 10 Hz stabil wobei der Modbus-Client bei 1 Hz an der Grenze ist. Leider fehlen in den alten Bausteinen einige Funktionen wie die 32 bit „Doppelregister“.
Vielen Dank und freundliche Grüße
Modbus Client: Verbindungsaufbau
Re: Modbus Client: Verbindungsaufbau
Der Wunsch ist verständlich, aber leider schwer realisierbar. Der komfortablere, neuere Client arbeitet so wie Sie es beschreiben. Die "schlankeren", älteren Funktionen bieten in der Tat einen besseren Datendurchsatz und wären in Ihrem Fall dann wohl das Mittel der Wahl.
ABACOM support
Re: Modbus Client: Verbindungsaufbau
Wir haben die Option "keep alive" für TCP-Request mit dem heutigen Update eingeführt. Die Option ist GLOBAL, d.h. die Einstellung wirkt sich unmittelbar auf ALLE Modbus-Client-Komponenten im Projekt und alle darin verwendeten Requests aus. Das kann dann ggf. vielleicht helfen.
ABACOM support
Re: Modbus Client: Verbindungsaufbau
Vielen Dank, hört sich gut an.
Wir testen in den nächsten Wochen.
Wir testen in den nächsten Wochen.
Re: Modbus Client: Verbindungsaufbau
Ich werde das auch mal aktivieren, vielen Dank für den guten Support Abacomabacom hat geschrieben: ↑Donnerstag 5. Juni 2025, 12:04Wir haben die Option "keep alive" für TCP-Request mit dem heutigen Update eingeführt. Die Option ist GLOBAL, d.h. die Einstellung wirkt sich unmittelbar auf ALLE Modbus-Client-Komponenten im Projekt und alle darin verwendeten Requests aus. Das kann dann ggf. vielleicht helfen.
stachlige Grüße, Kaktus
Re: Modbus Client: Verbindungsaufbau
Wir haben noch keine Langzeigerfahrung bezüglich Abstürzen aber hier schon mal Feedback nach unseren Vortests.
Getestet mit einer Siemens S7-1200 Als Server. Ein Array von 10 Floats wird geschrieben/gelesen.
- In der "alten" Variante ohne "Keep Alive" kommen wir auf etwa 1Hz sonst wird es instabil.
- In der "neuen" Variante mit "Keep Alive" bricht leider sie simulationsfrequenz auf 0 ein
Wenn wir das ganze auf einen Request beschränken (z.b. Nur schreiben)
- Ohne "Keep Alive" 10 Hz max.
- Mit "Keep Alive" 50 Hz stabil.
-> Wenn man nur mit einem einzigen Modbus-Gerät kommuniziert und nur einen Request hat bringt die Funktion einen deutlichen Geschwindigkeitsboost. Ab zwei Requests (lesen + schreiben) scheint aber noch ein Wurm drin zu sein.
Ein Programm läuft ab jetzt mit keep Alive und einem single Request (Relaisbox schreiben), bisher stabil.
Getestet mit einer Siemens S7-1200 Als Server. Ein Array von 10 Floats wird geschrieben/gelesen.
- In der "alten" Variante ohne "Keep Alive" kommen wir auf etwa 1Hz sonst wird es instabil.
- In der "neuen" Variante mit "Keep Alive" bricht leider sie simulationsfrequenz auf 0 ein
Wenn wir das ganze auf einen Request beschränken (z.b. Nur schreiben)
- Ohne "Keep Alive" 10 Hz max.
- Mit "Keep Alive" 50 Hz stabil.
-> Wenn man nur mit einem einzigen Modbus-Gerät kommuniziert und nur einen Request hat bringt die Funktion einen deutlichen Geschwindigkeitsboost. Ab zwei Requests (lesen + schreiben) scheint aber noch ein Wurm drin zu sein.
Ein Programm läuft ab jetzt mit keep Alive und einem single Request (Relaisbox schreiben), bisher stabil.