Die Einstellungen für die Kommunikation einer OPC UA Client Datenquelle zu einem OPC
UA Server können dynamisch aus dem IEC Code konfiguriert und auch zur Laufzeit geändert
werden. Zu diesem Zweck ist in der Bibliothek DatasourceOpcUAServer
eine Struktur verfügbar.
Bei dieser Art der "dynamischen Verbindung" kann zur Laufzeit z.B. die Server-URL wieder geändert werden, wenn sich das Gerät in einem anderen Netz befindet als zum Zeitpunkt der Konfiguration. Es kann auch verwendet werden, um detaillierte Einstellungen für die OPC UA Verbindung zu konfigurieren.
Anforderung
-
Sie haben im Projekt CODESYS eine OPC UA Client Datenquelle erstellt. Für weitere Informationen siehe: ⮫ „Aufbau der Verbindung eines Datenquellen-OPC-UA-Clients mit einem OPC-UA-Server “
-
Auf der ⮫ Kommunikation der Datenquelle die Option „Verbindungseinstellungen aus IEC-Variable lesen“ aus.
-
Erstellen Sie im statischen Speicher (z.B. in einer GVL oder in einem Programm in Ihrem Projekt) eine Variable vom Typ
DatasourceOpcUaServer.UserConfigurationV1
.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
-
Verweisen Sie im Eingabefeld unterhalb der Option „Verbindungseinstellungen aus IEC-Variable lesen“ auf die in Schritt 2 erstellte Variable:
Beispiel:
PLC_PRG.config
Nun können Sie jederzeit die Felder dieser
UserConfigurationV1
Struktur mit Werten füllen. Dies kann z.B. beim Starten des Controllers, aus einer Konfigurationsdatei oder aus einem Visualisierungsdialog heraus geschehen.Beim Füllen der Struktur mit Einstellungswerten gilt folgendes:
-
Die Einstellung
EndpointUrl
muss immer definiert werden. -
Alle anderen Einstellungen können nach Belieben zugewiesen werden. Sie ermöglichen zum Beispiel die Verwendung eines anderen Sicherheitsmodus als im üblichen Editor. Einige Einstellungen, die nicht im Editor verfügbar sind, können auch über die OPC-UA Verbindung konfiguriert werden.
-
Wenn alle Verbindungseinstellungen konfiguriert 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;
Dann beginnt die Datenquelle im nächsten Zyklus mit dem Verbindungsaufbau.
Änderungen an den Einstellungen, während eine Verbindung besteht, haben keine Auswirkungen und werden erst beim nächsten Verbindungsaufbau übernommen.
Wenn die Einstellung xValid
auf FALSE
gesetzt wird, trennt die Datenquelle automatisch die Verbindung zum Server und die
Einstellungen können erneut geändert werden.
In der Dokumentationsansicht der Bibliothek DatasourceOpcUAServer
sehen Sie eine Übersicht über die aktuell verfügbaren Einstellparameter der Struktur
und deren Standardwerte im Bibliotheksmanager. Neue Versionen der Datenquellen könnten
neue Optionen bieten.