Skip to main content

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.

Prozedur. IEC-Code erweitern

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

  1. Deklarieren Sie in Ihrem Projekt im statischen Speicher eine Variable des Typs DatasourceOpcUaServer.UserConfigurationV1 an. Dies ist beispielsweise in einer GVL oder in einem Programm möglich.

    Variable config in POU 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
  2. Öffnen Sie den Editor der Datenquelle und wählen Sie die Registerkarte Kommunikation.

  3. Referenzieren Sie die Variable PLC_PRG.config im Eingabefeld der Option Verbindungseinstellungen aus IEC-Variable lesen.

    Screenshot der Registerkarte

    _comm_use_lib_DatasourceOpcUAServer.png
  4. Füllen Sie nun die Struktur mit Einstellungswerten. Folgendes gilt es zu beachten: Sie können zu einen beliebigen Zeitpunkt die Felder der Struktur UserConfigurationV1 mit Werten füllen. Beispielsweise kann das beim Start der Steuerung, aus einer Konfigurationsdatei oder aus einem Visualisierungsdialog heraus erfolgen.

    Die Einstellung EndpointUrl muss 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.

  5. Wenn alle Verbindungseinstellungen vorgenommen sind, können Sie den Parameter xValid der UserkonfigurationV1 auf TRUE setzen.

    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 xValid auf FALSE gesetzt 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.