OPC UA Client Device Plugin

Das OPC UA Client Device Plugin bietet eine Verbindung zwischen Codabix und einem OPC UA Server.
Das OPC UA Client Device Plugin baut Verbindungen zu einem oder mehreren OPC Servers auf und hält diese aufrecht. Jeder OPC UA Client kann über einen separaten Kanal verbunden werden.
  • Browsen von OPC UA Servern/OPC Classic Servern, um automatisch verfügbare Variablen in Codabix zu erstellen
  • Lesen und Schreiben von OPC UA/OPC Classic Data Variables
  • Abonnieren von OPC UA Data Variablen/OPC Classic Variablen, wenn die entsprechenden Nodes in Codabix abonniert werden
  • OPC UA Server, die das opc.tcp- oder http-Protokoll verwenden
  • OPC Classic (COM) Server (spezifiziert durch die ProgID und ClassID) (nur unter Windows x86 und x64)
Die verbundenen OPC UA Server können durch die Benutzung von Codabix einfach gesteuert werden. Indem die Nodes des OPC UA Servers mit den in Codabix definierten Nodes verbunden werden, kann der OPC Node direct mit vielen anderen Nodes, Geräten, Services etc. interagieren, die in Codabix gewartet werden.

Auch andere Codabix-Teilnehmer können mit dem durch das OPC UA Device Plugin verbundenen OPC UA Server interagieren.

Dieses Plugin ist Bestandteil des Codabix Setups. Bitte konsultieren Sie Codabix Setup und erster Start für weitere Informationen darüber, wie dieses Plugin installiert und deinstalliert werden kann.

Dieses Plugin ist Bestandteil des Codabix Setups. Bitte konsultieren Sie Codabix Setup und erster Start für weitere Informationen darüber, wie dieses Plugin installiert und deinstalliert werden kann.

Anforderungen

  • Standardanforderungen von Codabix
  • Aktivierte ausgehende Verbindung via TCP/IP über den spezifizierten Port

Überblick

Die gesamte OPC UA Client Device Pluginkonfiguration finden Sie unter dem Nodepfad /System/Devices/OPC UA Client Device. Diese Wurzelnode des Device Plugins ermöglicht die vollständige Konfigutarion des OPC UA Client Device Plugins.

Benutzung

Der Nodebaum im oberen Bild zeigt den Standardnodebaum des OPC UA Client Device Plugin. Um einen oder mehrere OPC UA Client Device Kanäle zu einzurichten, fügen Sie einen Folder Node unter dem Node OPC UA Client Device/Channels hinzu (linkes Bild). Danach erscheint der Standardnodebaumfür einen Kanal (rechts Bild).

Nun können die Einstellungen für den spezifizierten Kanal verändert werden. Auch können neue Variablen unter dem Order OPC UA Client Device/Channels/<Channel>/Variables erstellt werden. Die Verbindung zum OPC Node wird durch das Benutzen der Path Eigenschaft des neuen Variablennodes genehmigt.

Die Path Eigenschaft muss eine gültig formatierte OPC NodeId sein, zum Beispiel 2:Main-PLC/Office 1 - Lights/Front.

Jede Änderung im Settings Ordner wird angewandt, sobald der Kanal neu gestartet wird.

Jede Änderung im Variables Ordner führt automatisch eine Rekonfiguration des OPC Clients im spezifizierten Kanal durch.

Einstellungen

Einstellungen ändern

  • Wählen Sie die zu ändernde Settings Eigenschaft aus. (z.B. „Application/ServerAddress“)
  • Klicken Sie auf „Write a new Value“. (siehe Beispiel im unteren Screenshot)
  • Geben Sie den neuen Wert ins Eingabefeld ein und speichern Sie die Änderungen.

Übersicht

Name Typ Standardwert Beschreibung
Application
Application Name String Codabix Mit diesem Namen stellt sich der OPC UA Client dem OPC UA Server vor.
Server Address String opc.tcp://localhost:12345 Die URL zum OPC UA Server.
Mögliche Protokolle sind: opc.tcp://, http://, https://, opc.com://.

Um unter Windows auf OPC Classic (COM)-Server zuzugreifen, können Sie das Format opc.com://<hostname>(:<port>)/<progId>/<classId> verwenden. Die optionale Portnummer wird von dem intern erstellten Wrapperserver verwendet. Falls die Portnummer nicht angegeben ist, wird sie in einem Bereich zwischen 48000 und 48999 aus dem <classId>-Wert generiert.
Beispiel für OPC Classic: opc.com://localhost:4711/OPCManager.DA.XML-DA.Server.DA/{E4EBF7FA-CCAC-4125-A611-EAC4981C00EA}

Bitte beachten Sie: Um eine Verbindung zu OPC Classic Servern herzustellen, darf die „OPC UA Gateway“-Komponente im Codabix Setup nicht deinstalliert worden sein, und die Option „Allow context-sensitive credentials“ in den Codabix Access Security Einstellungen muss aktiviert sein. Außerdem muss die aktuelle Version der OPC Core Components Redistributable (x86) installiert sein.
Login Type Enum None Definiert, welche Authentifizierungsart verwendet wird.
:?:
Gültige Werte: Anonymous, Certificate, UserPassword
Login Certificate Blob Das Zertifikat des OPC UA Servers, das für die Authentifizierung benutzt wird.
Kann als Zertifikatsdatei hochgeladen werden. (Muss den Zertifikatsschlüssel enthalten.)
Login Name String Der Benutzer des OPC UA Servers, der für die Authentifizierung benutzt wird.
Login Password String Das Passwort des Benutzers des OPC UA Servers.
Session
Disconnect Timeout Int32 10000 t.b.a.
Reconnect Timeout Int32 10000 t.b.a.
Session Timeout Int32 60000 t.b.a.
Use Break Detection Boolean True Stellt automatisch fest, wenn die Verbindung zum OPC UA Server unterbrochen wird.
Dies wird für die automatische Wiederverbindung benutzt, falls die Verbindung zum Server abgebrochen ist..
Gültige Werte: True, False
Security
Policy Algorithm String Auto :?:
Gültige Werte: Auto, Basic128Rsa15, Basic256, Basic256Sha256, Custom, Https, None
Policy Level Int32 0 t.b.a.
Policy Mode String None :?:
Gültige Werte: None, Sign, SignAndEncrypt
Use Domain Checks Boolean False Zeigt an, ob der OPC UA Client den OPC UA Server auf ein vertrauenswürdiges Zertifikat prüft oder nicht.
Dies ist eine Sicherheitsfunktion, um z.b. Man-in-the-middle Attacken zu verhindern.
Gültige Werte: True, False

Achtung Ist diese Option auf true eingestellt und der OPC UA Server hat kein vertrauenswürdiges X.509-Zertifikat (z.B. ein selbstsigniertes Zertifikat), wird die Verbindung abgelehnt.
Use Secure Endpoint Boolean True Zeigt an, ob der OPC UA Client die Sicherheit des Endpunkts überprüfen soll oder nicht.
Manche OPC UA Server könnten diese Option nicht unterstützen.
Gültige Werte: True, False
Certificate Blob <Blob> Das Client-Zertifikat.
Mit diesem Zertifikat stellt sich der OPC UA Client dem OPC UA Server vor.
Standardmäßig wird ein neues Zertifikat erstellt.
Transport
Channel Lifetime Int32 600000 t.b.a.
Max Array Length Int32 65535 t.b.a.
Max Buffer Size Int32 65535 t.b.a.
Max Byte String Length Int32 65535 t.b.a.
Max Message Size Int32 1048576 t.b.a.
Max String Length Int32 65535 t.b.a.
Operation Timeout Int32 60000 t.b.a.
Security Token Lifetime Int32 3600000 t.b.a.

Variablen

Jeder Node unter System/Devices/OPC UA Client Device/Channels/My Channel 1/Variables kann vom OPC Server des spezifizierten Kanals über die Path Eigenschaft mit einem OPC Node verbunden werden.

Um einen Codabix-Node mit einem OPC UA Node zu verbinden, muss die Path Eigenschaft als eine OPC UA NodeID formatiert sein.

OPC NodeId

  • Beispiel NodeId: ns=2;s=Machine_1/IsActive

Die spezifizierte NodeId ist in zwei Bestandteile unterteilt: Der Index des Namensraums und der Identifier der OPC UA Node. Das Schema eines String-Identifiers hängt vom benutzten OPC UA Server ab.

  • Namespace Index: ns=<Number> z.B. ns=2
  • Trennzeichen: ;
  • Identifier (String): s=<ParentNode1>/<ParentNode2>/…/<ParentNodeX>/<NodeName>

Das OPC UA Client Device Plugin stellt je nach zu untersuchender Schicht verschiedene Statusinformationen bereit. Generell wird die kanalbasierte Diagnoseinformation vom Verbindungsstatus des Kanals zum OPC UA Server produziert. Die variablenbasierte Diagnoseinformation wird während des Lese- / Schreibzugriffs der verschiedenen Variablen oder direkt vom OPC UA Server produziert.

Channel

Um den Status von verschiedenen Gerätekanälen zu überwachen und zu diagnostizieren, werfen Sie einen Blick auf folgendes Bild::

Das obige Bild zeigt den Status Node des Kanals, der alle statusrelevanten Informationen abbildet. Die folgenden Datenpunktnodes werden benutzt, um den Kommunikationsstatus zwischen Codabix und dem OPC UA Server zu erhalten.

Node Beschreibung
Category Unterteilt den Status in Information, Warning und Error und zeigt somit die generelle Art der Statusinformation an.
Code Definiert den numerischen Ausdruck / Identifier des Status.
Severity Stuft die Statusinfrmation ein in Low, Moderate, High und Critical und zeigt somit die Dringlichkeit eines Einschreitens an.
Text Beschreibt die durch die Code Eigenschaft identifizierte Statusinformation.

Variablen

Um den Status der verschiedenen OPC UA Client Variablen zu überwachen und zu diagnostizieren, werfen Sie einen Blick auf die Status-Eigenschaft der in Codabix angezeigten Variable.
Falls die Status-Spalte den Wert Bad anzeigt, ist in den meisten Fällen der adressierte Datenbereich nicht erreichbar.

Logdatei

Alle Device Channel-relevanten Statusinformationen werden auch in die kanalspezifische Logdatei protokolliert, die sich im [LoggingFolder] befindet. Jede Logdatei wird nach dem folgenden Namensschema benannt: OPC UA Client Device.<ChannelName>.log. Der Inhalt einer solchen Logdatei kann wie folgt aussehen:

...
[15:31:46 05.09.2016] - Information (Severity=Moderate): Code=[10012], Text=[Creating Client | opc.tcp://192.168.0.116:12345/]
...

In Verwendung des Beispielkanals wäre der Name der Logdatei: OPC UA Client Device.Channel 1.log

Status Codes

Die folgende Tabelle zeigt die verschiendenen möglichen Statusinformationen:

Code Kategori Informationsart
-22000 to -22999 Error Fehler mit Ausnahme
-21000 to -21999 Error Interner Fehler
-12000 to -12999 Warning Warnung mit Ausnahme
-11000 to -11999 Warning Interne Warnung
10000 to 10999 Information Information
20000 to 20999 Information Debug

Wie jedes Device Plugin erweitert das OPC UA Client Device Plugin das grundlegende Codabix Device Modell.

Wie jedes Device Plugin erweitert das OPC UA Client Device Plugin das grundlegende Codabix Device Modell.

Device

Der Devicetyp OpcClientDevice des Plugins definiert auch den OpcClientDeviceChannel und erweitert somit die grundlegenden CodabixDevice und CodabixDeviceChannel Entities. Während das OpcClientDevice nur eine Konkretisierung des CodabixDevice repräsentiert, erweiter der OpcClientDeviceChannel den CodabixDeviceChannel mit den OPC UA Client Variable Entities.

Channel

Jeder Kanal wird von einem Channel Worker behandelt, der eine physische Verbindung zum OPC UA Server herstellt.

Standardmäßig liest der Worker keine Werte. Wenn ein Client oder Plugin ein synchrones Lesen der Variablen des Kanals in Codabix anfordert (z.B. durch das Benutzen der Funktion „Read actual value“ der Codabix Webkonfiguration), liest der Channel Worker diese aus dem zugrundeliegenden OPC UA Server und schreibt sie dann in die entsprechenden Codabix Nodes.

Ähnlich schreibt der Channel Worker die Werte in den zugrundeliegenden OPC UA Server, wenn ein Client oder Plugin Werte in die Variablen des Kanals schreibt.

Um eine OPC UA Client Variable regelmäig gelesen zu bekommen, können Sie den Node in der Webkonfiguration bearbeiten und „History Options“ auf Yes setzen (was intern eine Subscription erstellt). In diesem Fall abboniert der Channel Worker die Variablen vom OPC UA Server (der OPC Client bekommt bei einer Wertänderung den neuen Wert automatisch fom OPC Server) und wenn eine dr Variablen sich verändert hat, schreibt er den neuen Wert in den entsprechenden Codabix Node.

Ordner

Name Pfad Zweck / Verwendung
AssemblyFolder <CodabixInstallDir>/plugins/OpcUaClientDevicePlugin/ Beinhaltet die Plugin Assembly Datei.
ConfigFolder <CodabixDataDir>/plugins/OpcUaClientDevicePlugin/ Beinhaltet die Plugin Konfigurationsdatei.
LoggingFolder <CodabixDataDir>/log/ Beinhaltet die Plugin Log Dateien.

Dateien

Typ Pfad Zweck / Verwendung
Assembly [AssemblyFolder]/Codabix.OpcUaClientDevicePlugin.dll Die Plugin Assembly Datei.
Logging [LoggingFolder]/OPC UA Client Device.<ChannelName>.log Die Log Datei.

Dieses Dokument

Datum 2021-01-25
Version 1.3

Plugin

Name OPC UA Client Device Plugin
Node /System/Devices/OPC UA Client Device
Version 1.10.0

Assembly

Name Codabix.OpcUaClientDevicePlugin.dll
Datum 2021-01-25
Version 1.10.0.0