Dynamische Verbindung zu einem OPC UA Server verwenden
Die Einstellungen für die Kommunikation einer Datenquelle OPC UA Client zu einem OPC UA Server können dynamisch aus dem IEC-Code heraus vorgenommen und auch zur Laufzeit geändert werden. Dazu steht eine Struktur in der Bibliothek DatasourceOpcUAServer zur Verfügung.
Bei Verwenden einer solchen "dynamischen Verbindung" kann beispielsweise zur Laufzeit die Server-URL nochmals geändert werden, falls das Gerät sich in einem anderen Netzwerk befindet als zum Zeitpunkt der Konfiguration. Auch können damit detaillierte Einstellungen an der OPC UA-Verbindung vorgenommen werden.
- Sie haben im CODESYS-Projekt eine OPC UA Client Datenquelle angelegt. Sehen Sie dazu: Verbindung einer Datenquelle OPC UA Client zu einem OPC UA Server herstellen 
- Aktivieren Sie nun auf der Registerkarte Kommunikation der Datenquelle die Option Verbindungseinstellungen aus IEC-Variable lesen 
- Legen Sie im statischen Speicher, also beispielsweise in einer GVL oder in einem Programm in Ihrem Projekt, eine Variable des Typs - DatasourceOpcUaServer.UserConfigurationV1an.- Beispiel: Variable - configim Programm- PLC_PRG- PROGRAM PLC_PRG VAR config : DatasourceOpcUaServer.UserConfigurationV1 := ( SessionName := 'MyCustomSession', EndpointUrl := 'opc.tcp://DevXY:4840', SecurityPolicyUri := DatasourceOpcUaServer.CmpOpcUaStack_Interfaces.OpcUa_SecurityPolicy_None); value : INT; END_VAR
- Referenzieren sie die in Schritt 2 angelegte Variable im Eingabefeld unterhalb der Option Verbindungseinstellungen aus IEC-Variable lesen: - Beispiel: - PLC_PRG.config- Sie können jetzt zu einen beliebigen Zeitpunkt die Felder dieser Struktur - UserConfigurationV1mit Werten füllen. Beispielsweise kann das beim Start der Steuerung, aus einer Konfigurationsdatei oder aus einem Visualisierungsdialog heraus erfolgen.- Beim Füllen der Struktur mit Einstellungswerten gilt Folgendes: - Die Einstellung - EndpointUrlmuss immer definiert werden.
- Alle anderen Einstellungen können beliebig belegt werden. Sie ermöglichen es beispielsweise, eine andere Security-Betriebsart als im gewöhnlichen Editor zu verwenden. Auch können einige Einstellungen an der OPC-UA-Verbindung vorgenommen werden, die im Editor nicht zur Verfügung stehen. 
 
Wenn alle Verbindungseinstellungen vorgenommen sind, können Sie den Parameter xValid der UserkonfigurationV1 auf TRUE setzen.
Beispiel: Im Implementierungsteil von PLC_PRG:
config.SubscriptionPublishingInterval := config.SamplingInterval := TIME#2S; config.xValid := TRUE;
Die Datenquelle beginnt dann im nächsten Zyklus den Verbindungsaufbau.
Änderungen an den Einstellungen während eine Verbindung besteht, haben keinen Effekt und werden erst beim nächsten neuen Verbindungsaufbau übernommen.
Wird die Einstellung xValid auf FALSE gesetzt, trennt sich die Datenquelle automatisch vom Server und die Einstellungen können wieder verändert werden.
Eine Übersicht über die aktuell verfügbaren Einstellungsparameter der Struktur und ihre Standardwerte sehen Sie im Bibliotheksverwalter in der Dokumentationsansicht der Bibliothek DatasourceOpcUAServer. Neue Versionen der Datenquellen bringen eventuell neue Optionen mit.