opc.tcp
- oder http
-Protokoll verwendenAuch 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.
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.
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.
Settings
Eigenschaft aus. (z.B. „Application/ServerAddress“)
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. |
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.
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.
ns=<Number>
z.B. ns=2
;
s=<ParentNode1>/<ParentNode2>/…/<ParentNodeX>/<NodeName>
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. |
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.
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
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.
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.
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.
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. |
Typ | Pfad | Zweck / Verwendung |
---|---|---|
Assembly | [AssemblyFolder]/Codabix.OpcUaClientDevicePlugin.dll | Die Plugin Assembly Datei. |
Logging | [LoggingFolder]/OPC UA Client Device.<ChannelName>.log | Die Log Datei. |
Datum | 2021-01-25 |
---|---|
Version | 1.3 |
Name | OPC UA Client Device Plugin |
---|---|
Node | /System/Devices/OPC UA Client Device |
Version | 1.10.0 |
Name | Codabix.OpcUaClientDevicePlugin.dll |
---|---|
Datum | 2021-01-25 |
Version | 1.10.0.0 |