TIA OPC UA - Bereinigen

MFreiberger

Level-3
Beiträge
3.299
Reaktionspunkte
931
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Zusammen,

nach der SIEMENS-Anleitung kann ein OPC UA - Client wie unten beschrieben programmiert werden.

Dazu habe ich eine Frage:
Wenn eine Verbindung hergestellt wurde, erhalte ich ja einen ConnectionHdl. Diesen muss ich logischerweise beim Disconnect mit angeben.
Aber wie kann ich eine Verbindung im Server "löschen", wenn ich die ConnectionHdl durch irgendwelche Aktionen (CPU neu laden, Bausteine reinitialisieren, ...) nicht mehr habe?
Muss dass der Server einmal durchgestartet werden oder wie handelt ihr das?

VG
MFreiberger

Unbenannt.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine OPC UA Session aufzubauen ist "teuer". Man muss das Namespace-Array lesen, evtl. RegisterNodes machen, dann Subscriptions einrichten usw. Damit dies nicht bei jedem Schluckauf in der Kommunikation erneut gemacht werden muss, behält der Server über einen Kommunikationsabbruch hinaus die Session noch eine Weile. Falls der Client wieder kommt , kann er die Session wieder fortsetzen ohne sie erneut aufbauen zu müssen. Und er bekommt auch noch mitgeteilt, was er während seiner Abwesenheit verpasst hat.
Damit der Server nun nicht mit alten Sessions zuläuft, gibt es den Session Timeout. Das ist eine reine Server-Eigenschaft; da hat der Client keinen Einfluss darauf. Bei einer SIMATIC-PLC z.B. wird das für den OPC UA Server in Hardware Config eingestellt:

SessionTimeout.png
 
Zurück
Oben