Dynamische Verbindung zu einem OPC UA Server verwenden
Die Einstellungen für die Kommunikation zwischen einer Datenquelle (OPC UA Client) und 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 die Server-URL zur Laufzeit erneut geändert werden. Dies kann beispielsweise erforderlich sein, wenn sich das Gerät zum Zeitpunkt der Konfiguration in einem anderen Netzwerk befand. Darüber hinaus sind detaillierte Einstellungen an der OPC UA-Verbindung möglich.
Voraussetzung: 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
Deklarieren Sie in Ihrem Projekt im statischen Speicher eine Variable des Typs
DatasourceOpcUaServer.UserConfigurationV1an. Dies ist beispielsweise in einer GVL oder in einem Programm möglich.Variable
configin POUPLC_PRGPROGRAM PLC_PRG VAR config : DatasourceOpcUaServer.UserConfigurationV1 := ( SessionName := 'MyCustomSession', EndpointUrl := 'opc.tcp://DevXY:4840', SecurityPolicyUri := DatasourceOpcUaServer.CmpOpcUaStack_Interfaces.OpcUa_SecurityPolicy_None); value : INT; END_VARÖffnen Sie den Editor der Datenquelle und wählen Sie die Registerkarte Kommunikation.
Referenzieren Sie die Variable
PLC_PRG.configim Eingabefeld der Option Verbindungseinstellungen aus IEC-Variable lesen.Screenshot der Registerkarte

Füllen Sie nun die Struktur mit Einstellungswerten. Folgendes gilt es zu beachten: Sie können zu einen beliebigen Zeitpunkt die Felder der Struktur
UserConfigurationV1mit Werten füllen. Beispielsweise kann das beim Start der Steuerung, aus einer Konfigurationsdatei oder aus einem Visualisierungsdialog heraus erfolgen.Die Einstellung
EndpointUrlmuss allerdings immer definiert werden.Alle anderen Einstellungen können frei belegt werden. So ist es beispielsweise möglich, eine andere Security-Betriebsart als im gewöhnlichen Editor zu verwenden. Darüber hinaus 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
xValidderUserkonfigurationV1aufTRUEsetzen.Im Implementierungsteil von
PLC_PRG:config.SubscriptionPublishingInterval := config.SamplingInterval := TIME#2S; config.xValid := TRUE;
Im nächsten Zyklus wird der Verbindungsaufbau von der Datenquelle initiiert. Solange eine Verbindung besteht, haben Änderungen an den Einstellungen keinen Effekt. Sie werden erst beim nächsten neuen Verbindungsaufbau übernommen.
Wenn die Einstellung
xValidaufFALSEgesetzt wird, 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.