Die Verbingung stehen zu lassen ist nach meinem aktuellen Wissenstand aktuell leider nicht möglich.
Mit jedem Poll wird eine neue Portverbindung geöffnet. Dies entspricht wohl auch der ´Norm´:
http://www.simplymodbus.ca/TCP.htmFür mich sieht es eher so aus als würde IP_Control die Portverbindung nicht sauber schliessen und eine Zombie-Session zurücklassen.
Irgendwann greift dann der Session-Timeout (vom Betriebssystem) und killt den Port.
Möglicherweise stimmt bei meinen Einstellungen noch etwas nicht. Taskintervall von der SPS und einstellbare Werte in OpenHAB passen nicht zusammen. Wobei ich hier aber schon mit ettlichen unterschielichen Konfigurationen getestet habe. Leider ohne Erfolg.
Zu deinen vorgeschlagenen Lösungswegen:
#1 Müsste ich prüfen. Ist mir aber zu unsicher. Ein zusätlicher wäre nötig um die Verbindung zu überwachen um dann ggf. neu aufzubauen.
#2 Leider sind aktuell nur TCP/IP Verbindungen möglich.
#3 Die Werte sollen zeitnah übertragen werden (< 1s) daher ist dies momentan keine Option.
Ich noch den ganzen Aufbau mit dem TS6250 | TwinCAT Modbus TCP Server getestet.
Hierbei sind Pollzeiten von < 100 ms ohne Probleme realisierbar. Ich habe noch einen WireShark Mitschnitt hiervon angehängt.
Es scheint wohl, dass ich auf das Supplement Produkt von Bekchoff von zurückgeifen muss um meine Anforderungen umzusetzen.
Vielen Dank für deine Hilfe.
Viele Grüsse