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
- Remote-Variablen von OPC UA Server(n) lesen und importieren
- Datenaustausch zwischen OPC UA-Client und Server
- Variablen in PLCnext Engineer mappen
- Konfiguration der OPC UA Client-Verbindungen importieren/exportieren
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:
Eigenschaft | Beschreibung | ||||||
---|---|---|---|---|---|---|---|
Name | Identifiziert 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). | ||||||
URL | Endpunkt-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.
|
||||||
Status | Zeigt 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:
|
||||||
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-Modus | Security-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:
|
||||||
Security-Policy-URL | Security-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).
|
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):
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:
- Der Namensraum (Namespace), der den URI (Uniform Resource Identifier) enthält, dem der Knoten angehört. Der Namensraum stellt sicher, dass Kennungen auch über verschiedene Naming Authorities hinweg eindeutig bleiben (die Naming Authority definiert die Kennungen für NodeIDs).
- Typ - Format und Typ der NodeID Der Typ kann eines der folgenden Zeichen sein:
Typ Beschreibung I Numerisch Wert (ganzzahlig)Beispiel: I=10 s ZeichenketteBeispiel: s=test g GUID (Global Unique IDentifier)-WertBeispiel: g=1D73013A-5FAF-45D5-8F2E-DE97C4869873 b Base64-codierter WertBeispiel: b=dGhvbWFz - Wert - Wert der Kennung für den Knoten im Adressraum des OPC UA-Servers.
Variablen in PLCnext Engineer mappen
Das Mapping der OPC UA-Client-Variablen auf die OPC UA-Server-Variablen beinhaltet die folgenden Schritte:
- Variablengruppen hinzufügen und ein Aktualisierungsintervall definierenMit Hilfe von Variablengruppen werden die Zuordnungen (Mappings) organisiert. 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. Für jede Variablengruppe müssen der Gruppentyp ('Subscriben' oder 'Schreiben') und die Zykluszeit (Aktualisierungsintervall in ms, in dem zyklisch subscribt oder geschrieben wird).
- Client-Variablen in eine Variablengruppe einfügen und auf Server-Variablen mappen
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-Server | IEC 61131 |
---|---|
Boolesch | BOOL |
SByte | SINT |
Byte | USINT, BYTE |
Int16 | INT |
UInt16 | UINT, WORD |
Int32 | DINT |
UInt32 | UDINT, DWORD |
Int64 | LINT |
UInt64 | ULINT, LWORD |
Float | REAL |
Double | LREAL |
Zeichenfolge (STRING) | STRING, WSTRING |
DateTime | LDATE, LDATE_AND_TIME, LTIME_OF_DAY |
Zeitdauer (Duration) | TIME, LTIME |
So gehen Sie vor:
- 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. Um eine Gruppe aus der 'Variablengruppen'-Tabelle zu löschen, linksklicken Sie in der betreffenden Zeile in die erste Spalte und drücken <Entf>.
- 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).
- Konfigurieren Sie in der Tabelle 'Variablen-Zuordnungen' die folgende Eigenschaften für jedes Mapping:
Eigenschaft Beschreibung '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/
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.