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.UserConfigurationV1
an.Beispiel: Variable
config
im ProgrammPLC_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
UserConfigurationV1
mit 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
EndpointUrl
muss 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.