-

OPC UA-Client-Verbindungen konfigurieren

Die Verbindungskonfiguration für den OPC UA-Client umfasst das Konfigurieren der OPC UA-Server-Verbindungen sowie das Mapping der im PLCnext Engineer-Projekt deklarierten Variablen (Prozessdaten-Elemente) zu den OPC UA-Server-Variablen. Die Konfiguration wird in einer XML-Datei in der PLCnext Technology-Steuerung gespeichert. Die Datei basiert auf dem Standard UA-Schema für Datentypen.

Weitere Infos
Eine Dokumentation dieses Schemas finden Sie im PLCnext Info Center.

Die Konfiguration der Server-Verbindungen und deren Eigenschaften sowie das Mapping der Variablen führen Sie im Editor 'Client-Verbindungen' durch. Zum Öffnen des Editors doppelklicken Sie in der ANLAGE auf den 'OPC UA'-Knoten und wählen dann den Editor in der Editorengruppe aus.

Dieses Thema enthält die folgenden Abschnitte:

OPC UA-Server-Verbindungen konfigurieren

Der OPC UA-Client nutzt die Server-Verbindungen, um mit den OPC UA-Servern zu kommunizieren und Zugriff auf die Remote-Variablen der Server zu erhalten (siehe Abschnitt "Variablen-Mapping in PLCnext Engineer" unten). PLCnext Technology-Geräte bauen die Verbindung automatisch auf, sobald der Server verfügbar ist. Für jeden Server, der mit dem Client kommunizieren soll, muss eine entsprechende Verbindung konfiguriert sein. Um sich mit dem Server verbinden und kommunizieren zu können, benötigt der Client Informationen über diesen Server, beispielsweise die Server-URL, den Security-Modus und die Security-Richtlinien (Policy).

In der 'Server'-Tabelle (siehe Beispiel) steht jede Zeile für eine Server-Verbindung. Für jede Server-Verbindung können folgende Eigenschaften konfiguriert werden:

EigenschaftBeschreibung
NameIdentifiziert die Server-Verbindung, die für den Datenaustausch genutzt wird. Die Verbindung muss für jede Variablengruppe, die Sie mappen, angegeben werden (siehe Abschnitt "Variablen-Mapping in PLCnext Engineer" unten).
URLEndpunkt-URL des zu verbindenden OPC UA-Servers. Der Client verwendet diese URL, um den OPC UA-Server zu finden und sich zu verbinden. Das Format ist wie folgt (siehe Beispiel im Bild oben):

opc.tcp://IpAdresse:Port

oder

opc.tcp:// Hostname:Port

Die Angabe des Ports ist optional. Wird keine Angabe gemacht, so wird der Standard OPC UA Discovery Port 4840 verwendet.

Hinweis
Aktuell wird nur der Endpunkttyp opc.tcp unterstützt.

StatusZeigt den Status des Durchsuchens, Lesens oder Imports von Remote-Variablen von dem/den ausgewählten OPC-UA-Server(n) an. Folgende Symbole können angezeigt werden:

Unbekannt. Die Daten wurden nicht vom OPC UA-Server gelesen oder importiert.
Der Lese-/Importvorgang vom OPC UA-Server ist im Gange.
Die Daten wurden erfolgreich gelesen oder importiert.

Die Schaltflächen in der Symbolleiste oberhalb der Server-Tabelle dienen zum Durchsuchen und Lesen von Remote-Variablen von ausgewählten OPC-UA-Servern oder zum Importieren von Variablen aus einer csv-Datei für einen OPC-UA-Server (eine Beschreibung finden Sie im folgenden Abschnitt). Nachdem die Variablen erfolgreich gelesen/importiert wurden, stehen sie in der Spalte 'Remote-Variablen-Bezeichner' (Tabelle 'Variablengruppen' im 'Client-Verbindungen'-Editor) über die Rollenauswahl zur Auswahl.
Anwendername(Optionaler) Benutzername für die Authentifizierung beim OPC UA-Server. Ist kein Benutzername angegeben, wird die anonyme Authentifizierung beim Server verwendet.
Kennwort(Optionales) Kennwort für die Authentifizierung beim OPC UA-Server. Wird nur benötigt, falls ein Benutzername verwendet wird.
Security-ModusSecurity-Modus, der für die Verbindung zum OPC UA-Server verwendet wird. Der Security-Modus definiert die Sicherheitsebene für den Datenaustausch während der Client-Server-Kommunikation. Sie können zwischen folgenden Modi wählen:

  • 'Keine' - Es wird keine Security-Richtlinie angewendet. Daten werden ungesichert ausgetauscht.
  • 'Signieren' - Daten werden signiert, aber nicht verschlüsselt.
  • 'Signieren und Verschlüsseln' - Daten werden signiert und verschlüsselt.
Security-Policy-URLSecurity-Policy-URL, die für die Verbindung zum OPC UA-Server verwendet wird. Diese Security-Richtlinien beschreiben die verschiedenen Algorithmen und Schlüssellängen, die beim Herstellen einer gesicherten Verbindung zwischen Server und Client verwendet werden. Gemäß der OPC UA-Spezifikation können Sie eine der folgenden Security-Richtlinien wählen (Verschlüsselungs- und Signaturstärke nehmen in der Liste von oben nach unten zu).

  • 'Keine' - Es wird keine Security-Richtlinie angewendet.
  • 'Basic 128 RSA15'
  • 'Basic 256'
  • 'Basic 256 SHA256'
  • 'AES 128 SHA256 RSA OAEP'
  • 'AES 256 SHA256 RSA PSS'
  • 'Beste verfügbare' - wählt die höchste Sicherheit, die der OPC UA-Server anbietet.

Weitere Infos
Lesen Sie hierzu auch die Beschreibungen der 'Security-Richtlinien' im Thema "OPC UA-Security-Einstellungen".

In der 'Variablengruppen'-Tabelle spezifizieren Sie den Gruppentyp ('Subscriben' oder 'Schreiben') und die Zykluszeit (Aktualisierungsintervall in ms, in dem zyklisch subscribt oder geschrieben wird). Mit Hilfe von Variablengruppen werden die Zuordnungen (Mappings) organisiert (siehe Abschnitte "Variablen in PLCnext Engineer mappen"). Ein Variablen-Mapping besteht aus einer lokalen Variablen und einer Beschreibung, wo die vom OPC UA-Server bereitgestellte Remote-Variable zu finden ist. Eine Variablengruppe kann ein oder mehrere Mappings enthalten.

Nachdem Sie eine Variablengruppe in der 'Variablengruppen'-Tabelle hinzugefügt haben, erscheint die entsprechende Gruppe unter der Kategorie 'Konfiguration' auf der linken Seite des Editors (wie im Beispiel oben gezeigt). Der Name der Gruppe enthält den konfigurierten Gruppentyp und die Zykluszeit.

Um eine Verbindung aus der 'Server'-Tabelle zu löschen, linksklicken Sie in der betreffenden Zeile in die erste Spalte und drücken <Entf>.

Remote-Variablen von OPC UA Server(n) lesen und importieren

Sie können die Schaltflächen in der Symbolleiste oberhalb der Server-Tabelle oder die Befehle im Kontextmenü einer Server-Verbindung verwenden, um einen OPC UA-Server zu durchsuchen und seine Remote-Variablen zu lesen oder um Remote-Variablen aus einer CSV-Datei für einen OPC UA Server zu importieren.

Die folgenden Schaltflächen sind verfügbar (auch im Kontextmenü einer Server-Verbindung):

SchaltflächeBeschreibung
Durchsucht die in der 'Server'-Tabelle ausgewählten OPC UA-Server (Mehrfachauswahl ist möglich) und liest die Remote-Variablen von den Servern. Um die Verbindung zu einem OPC UA-Server herzustellen, werden die Einstellungen verwendet, die für die Server-Verbindung konfiguriert wurden ('Security-Modus', 'Anwendername', 'Kennwort' etc.).

Die Spalte 'Status' (siehe obigen Abschnitt) zeigt den Status des Such- und Lesevorgangs an. Der Fortschritt des Vorgangs wird im 'Import/Export-Protokoll' des MELDUNGEN-Fensters angezeigt. Wenn ein Fehler auftritt, wird eine Fehlermeldung angezeigt (im 'Import-Export-Protokoll' und als Desktop-Benachrichtigung) und der Vorgang wird abgebrochen.
Bricht das Durchsuchen und Lesen von Remote-Variablen von dem/den in der 'Server'-Tabelle markierten OPC UA-Server(n) ab.
Importiert Remote-Variablen aus einer CSV-Datei für einen ausgewählten OPC UA-Server. Wenn Sie auf die Schaltfläche klicken, erscheint das Dialogfeld zum Öffnen der Datei, in dem Sie die CSV-Datei suchen und auswählen können. Der Fortschritt des Vorgangs wird im 'Import/Export-Protokoll' des MELDUNGEN-Fensters angezeigt. Für jede fehlerhafte Zeile wird eine Fehlermeldung angezeigt. Fehlerhafte Zeilen werden weggelassen. Der Importvorgang wird nicht abgebrochen, wenn die CSV-Datei fehlerhafte Zeilen enthält.

Die CSV-Datei muss folgendes Format haben:

Namespace;Bezeichner;Datentyp;Kurzname

NamespaceObligatorischer Namensraum (Namespace), der den URI (Uniform Resource Identifier) enthält, dem der Knoten angehört (siehe auch folgenden Abschnitt). Muss wie folgt angegeben werden:

nsu=<Namespace-Name>

Beispiel: nsu=http://phoenixcontact.com/OpcUA/PLCnext/GlobalDataSpace/
BezeichnerObligatorischer Typ des Bezeichners der Node ID (Knoten-ID) im Format <Bezeichner>=<Wert> (siehe auch folgenden Abschnitt).

Beispiele:
I=1
s=Arp.Plc.Eclr/_Remote_BOOLVar
DatentypDatentyp der Remote-Variablen. Optional, wenn kein Kurzname angegeben ist. Obligatorisch, wenn ein Kurzname angegeben ist. Wenn kein Datentyp angegeben wird, kann die Remote-Variable auf jede lokale Variable abgebildet werden.
KurznameOptionaler Kurzname (Klarname) der Remote-Variablen. Wenn der Kurzname angegeben wird, ist der Datentyp obligatorisch.

CSV-Beispiel:

Nachdem die Variablen erfolgreich gelesen/importiert wurden, stehen sie in der Spalte 'Remote-Variablen-Bezeichner' (Tabelle 'Variablen-Zuordnungen' im 'Client-Verbindungen'-Editor) über die Rollenauswahl zur Auswahl. Es werden nur Remote-Variablen zur Auswahl angeboten, deren Datentyp dem Datentyp der entsprechenden lokalen Variablen entspricht.

Datenaustausch zwischen OPC UA-Client und Server

Der Datenaustausch zwischen dem OPC UA-Client und dem OPC UA-Server findet mittels Variablen (Prozessdaten-Elemente) statt. Indem Sie lokale Variablen (definiert im PLCnext Engineer-Projekt) auf Remote-Variablen des Servers mappen, können Daten zwischen Client und Server ausgetauscht werden (der Abschnitt unten beschreibt, wie Sie Variablen zuordnen). Entweder subscribt (d.h. liest) der OPC UA-Client Variablen des OPC UA-Servers oder er schreibt die veränderten Werte lokaler Variablen auf die entsprechenden Remote-Variablen des Servers.

Nachdem der OPC UA-Client die Verbindung zum Server hergestellt hat, scannt er dessen Adressraum, um die für ihn verfügbaren Variablen zu finden. Der Adressraum enthält Informationen, die der Server seinen Clients bereitstellt. Im Adressraum ist jede Server-Variable durch einen Knoten repräsentiert. Jeder Knoten wird durch eine eindeutige NodeID (Kennung) identifiziert. Eine NodeID besteht aus drei Elementen:

Variablen in PLCnext Engineer mappen

Das Mapping der OPC UA-Client-Variablen auf die OPC UA-Server-Variablen beinhaltet die folgenden Schritte:

OPC UA-Server/Client unterstützt UDTs

Arrays, Strukturen und UDTs mit gemischten Datentyp-Elementen auf dem OPC UA-Server werden unterstützt. Für die Zuordnung (das Mapping) zu lokalen Variablen werden nur Remote-Variablen mit passenden Datentypen angeboten. Die Datentypen müssen bis auf die elementare Ebene übereinstimmen. Nach dem Mapping der Variablen werden die Datentypen nicht überwacht, d.h. sie können eventuell geändert werden (serverseitig oder clientseitig).

Arrays werden in jeder Dimension und Dimensionstiefe verglichen. Die Anzahl der Dimensionen und ihre Tiefe müssen übereinstimmen, sonst werden die Array-Elemente nicht gelesen/importiert.

Hinweis
Arrays können eine undefinierte Dimensionstiefe haben (Tiefe des Arrays ist unbekannt). In diesem Fall führt der Vergleich zu einer Ungleichheit und die Variablen können nicht zugeordnet werden. Sie können die Prüfung von Arrays mit unbekannter Tiefe beim Durchsuchen des OPC UA Servers deaktivieren, indem Sie im Dialog 'Extras > Optionen' unter der Kategorie 'OPC UA | OPC UA-Client-Einstellungen' die Option 'Prüfung von Feldgrößen mit unbestimmter Größe deaktivieren' auf 'Ja' setzen (Standardeinstellung ist 'Nein').

Die vom OPC UA-Server bereitgestellten elementaren Datentypen werden wie folgt auf die IEC-Variablen abgebildet:

Datentyp OPC UA-ServerIEC 61131
BooleschBOOL
SByteSINT
ByteUSINT, BYTE
Int16INT
UInt16UINT, WORD
Int32DINT
UInt32UDINT, DWORD
Int64LINT
UInt64ULINT, LWORD
FloatREAL
DoubleLREAL
Zeichenfolge (STRING)STRING, WSTRING
DateTimeLDATE, LDATE_AND_TIME, LTIME_OF_DAY
Zeitdauer (Duration)TIME, LTIME

So gehen Sie vor:

  1. Klicken Sie in der Tabelle 'Variablengruppen' des Editors 'Client-Verbindungen' in eine leere Zelle in der Spalte 'Zykluszeit' und geben Sie einen Zeitwert größer oder gleich 1 ein. Wählen Sie in der Spalte 'Typ' den Gruppentyp aus: 'Subscribe' oder 'Schreiben'.

    Sobald Sie den Wert für die Zykluszeit bestätigt haben, erscheint die neue Gruppe unter der Kategorie 'Konfiguration' auf der linken Seite des Editors (siehe auch folgendes Beispiel). Der Name der Gruppe enthält den konfigurierten Gruppentyp und die Zykluszeit.

    Beispiel

    Um eine Gruppe aus der 'Variablengruppen'-Tabelle zu löschen, linksklicken Sie in der betreffenden Zeile in die erste Spalte und drücken <Entf>.
  2. Um das Mapping der Variablen durchzuführen, selektieren Sie die Gruppe unter der Kategorie 'Konfiguration'. Die Konfigurations-/Variablengruppen-Seite mit der 'Variablen-Zuordnungen'-Tabelle wird im Editorbereich angezeigt (siehe das Beispiel unten).
  3. Konfigurieren Sie in der Tabelle 'Variablen-Zuordnungen' die folgende Eigenschaften für jedes Mapping:

    EigenschaftBeschreibung
    'Lokale Variable'Lokale Variable, die auf eine OPC UA-Server-Variable gemappt werden soll.

    Klicken Sie in eine leere Zelle und wählen Sie die gewünschte Variable aus der Liste aus. Die Auswahlliste enthält alle lokalen und globalen Variablen, einschließlich der Strukturen und Arrays sowie der in Ihrem PLCnext Engineer-Projekt deklarierten Ports. (Solange noch kein 'Remote-Variablen-Bezeichner' ausgewählt ist, ist das Mapping ungültig.)
    'Datentyp'Datentyp der lokalen Variablen (kann nicht geändert werden).
    'Server'OPC-Server-Verbindung, über die Daten ausgetauscht werden.

    Wählen Sie einen Eintrag aus der Verbindungsliste aus. Die Liste bietet alle in Ihrem Projekt definierten Server-Verbindungen zur Auswahl an (siehe "OPC UA- Server-Verbindungen konfigurieren").
    'Remote-Variablen-Bezeichner'Typ der Kennung des NodeID (siehe Beschreibung unter "Datenaustausch zwischen OPC UA-Client und Server").

    Beispiele:

    I =10
    g=09087e75-8e5e-499b-954f-f2a9603db28a
    s=Arp.Plc.Eclr/_Remote_BOOLVar
    'Browse-Pfad'Nur-Lese-Information darüber, wo sich die Variable auf dem OPC UA-Server befindet. Die Information wird vom Server bereitgestellt.
    'Remote-Variablen-Namespace'Namensraum, zu dem der Knoten, der die OPC UA-Server-Variable darstellt, gehört.

    Beispiel: http://phoenixcontact.com/OpcUA/PLCnext/GlobalDataSpace/

    Beispiel

Konfiguration der OPC UA Client-Verbindungen importieren/exportieren

Sie können die Konfiguration der OPC UA-Client-Verbindungen mit dem Befehl 'Datei > Exportieren > OPC UA Client-Verbindung(en) exportieren' in eine *.opcua-Datei exportieren. Die *.opcua-Datei enthält alle Daten (Verbindungen, Variablen-Zuordnungen usw.), wie sie im Editor 'Client-Verbindungen' konfiguriert wurden. Mit dem Befehl 'Datei > Importieren > OPC UA-Client-Verbindung(en) importieren' können Sie eine *.opcua-Datei in das Projekt importieren. Für jede lokale Variable, die in der Importdatei enthalten, aber nicht im aktuellen Projekt deklariert ist, wird eine Fehlermeldung ausgegeben.