Wir verwenden Cookies, um Ihnen die bestmögliche Erfahrung auf unserer Website zu bieten.

Sie erfahren in unserer Datenschutzerklärung mehr darüber, welche Cookies wir verwenden.

+49 961-48 23 00

OPC UA Client / Server SDK for .NET

OPC UA Client / Server in  C#/VB.NET
schnell und einfach.

Verwendung

Mit dem OPC UA SDK .NET schnell und einfach zur eigenen OPC UA Client- oder Server-Anwendung.
Der an den Richtlinien für das Framework Design von Microsoft angelehnte Aufbau erlaubt es selbst OPC Neulingen einen Einstieg von null auf hundert in die Entwicklung. Die üblicherweise aufwändige Konfiguration entfällt nahezu vollständig.
Hierbei erweitert das Framework den Foundation Stack um diverse Features. So werden serverseitig ACLs (Access Control List) für die Benutzer und Zertifikat basierte Authentifizierung bereitgestellt. Über deren ACEs (Access Control Entry) lassen sich dann die Zugriffsrechte individuell festlegen. Ebenso einfach ist das Node Management, sodass komplexe gar dutzende Zeilen an Konfigurationscode entfallen.
Auch clientseitig wird einiges geboten. Das Lesen mittels ReadNode und Schreiben mittels WriteNode ist ebenso einfach wie das Browsen der Nodes.

Das SKD ist für .NET Framework, .NET Standard und .NET Core verwendbar. Es unterstützt jede Plattform, für die .NET Core verfügbar ist.

Auf der OPC UA SDK .NET Web-Seite mehr zu:

  • Features
  • Lizenzmodelle
  • Plattformen
  • Downloads OPC UA SDK .NET Evalationpaket
  • Preise

Features

  • Security Policies: None • Sign • SignAndEncrypt
  • Security Algorythm: Auto • Custom • None • Basic128Ras15 • Basic256 • Basic256Sha256 • Https
  • Configuration: In Code • XML-File • dynamic
  • Nodemanager: Browse • Read • Write • Add • Delete
  • Easy Node Access: Access Node by Browse Name • NodeId
  • Data Access: DA • HDA • Alarm • Conditions • Events • Methods • Subscription • Custom Datatype • File
  • Structured / Complex Data Types: Name-Value Paare • .NET dynamic • .NET • Typen
  • OPC DA (Classic) Client

Zielframeworks

  • .NET Standard 2.0
  • .NET Framework
  • .NET Core
  • Mono
  • Xamarin
  • Universal Windows Platform
  • Unity

Plattformen

  • Windows
  • Linux
  • iOS
  • macOS
  • Android

OPC Watch - professioneller kostenfreier OPC-UA-Client

OPC-Watch, ein Profi-Tool für die OPC UA Welt. Entwickelt mit dem OPC UA SDK .NET.

OPC Watch bietet:

  • Diagnose von OPC-UA-Servern
  • Analyse der Verbindungsmöglichkeiten
  • Node-Browser
  • Anzeige Istwerte der Nodes per Subscription
  • Codegenerator für OPC UA Complex Data Types
  • Werte der Nodes ändern
  • speichern der Verbindungsdaten / Projekteinstellun
  • unbegrenzt lauffähig

 

 

 opc watch

Example - Server

using Opc.UaFx;
using Opc.UaFx.Server;
 internal class SampleNodeManager : OpcNodeManager
{ private OpcDataVariableNode<bool> isStarted;   public SampleNodeManager() : base("http://sampleserver/machines") { }   protected override IEnumerable<IOpcNode> CreateNodes(OpcNodeReferenceCollection references) { OpcFolderNode machineOne = new OpcFolderNode(new OpcName("Machine_1", this.DefaultNamespaceIndex)); references.Add(machineOne, OpcObjectTypes.ObjectsFolder);   new OpcMethodNode(machineOne, "StartMachine", new Action<OpcMethodContext>(StartMachine)); new OpcMethodNode(machineOne, "StopMachine", new Action<OpcMethodContext>(StopMachine));   this.isStarted = new OpcDataVariableNode<bool>(machineOne, "IsStarted", false); return new IOpcNode[] { machineOne }; }   private void StartMachine(OpcMethodContext context) { // The code to start the machine. this.isStarted.Value = true; this.isStarted.ApplyChanges(context); }   private void StopMachine(OpcMethodContext context) { // The code to stop the machine. this.isStarted.Value = false; this.isStarted.ApplyChanges(context); }
}
public class Program
{
new OpcServerApplication ("opc.tcp://localhost:12345/SampleServer", new SampleNodeManager()).Run();
Console.ReadKey();
}

  

Example - Client

OpcClient client = new OpcClient("opc.tcp://localhost:4711/MyServer");
client.UserIdentity = new UserIdentity("username", "password");
client.Connect(); // Connect to Server

Read Nodes

To read nodes use one of the ReadNode overloads of the OpcNodeInfo class.

OpcValue value = client.ReadNode("2:Machine_1/IsStarted");

To read a different OpcAttribute as the value attribute specify the attribute to read as follows:

OpcValue description = client.ReadNode("2:Machine_1/IsStarted", OpcAttribute.Description);

Write Nodes

To write nodes use one of the WriteNode overloads of the OpcNodeInfo class.

client.WriteNode("2:Machine_1/IsStarted", true);

To write a different OpcAttribute as the value attribute specify the attribute to write as follows:

client.WriteNode("2:Machine_1/IsStarted", OpcAttribute.Description, "Indicates the started state");
 client.WriteNode("2:Machine_1/IsStarted", true);
client.Disconnect();

Lizenzierung

Site / Branch / Standort License

  • unbegrenzte Anzahl von Entwicklern an diesem Standort dürfen das SDK verwenden
  • alle mit dem SDK entwickelten Produkte / Applikation dürfen in unbegrenzter Zahl an Ihre Anwender/ Kunden ausgeliefert, und von diesen genutzt werden (Royalty Free)
  • die Laufzeit der Lizenz ist unbegrenzt
  • ideal für Serienprodukte
  • gilt für einen Entwicklerstandort  (= eine postalische Adresse an dem entwickelt wird)

Single Developer License

  • ein registrierter Entwicklern darf das SDK verwenden
  • alle mit dem SDK entwickelten Produkte / Applikation dürfen in unbegrenzter Zahl an Ihre Anwender/ Kunden ausgeliefert, und von diesen genutzt werden (Royalty Free)
  • die Laufzeit der Lizenz ist unbegrenzt
  • ideal für Serienprodukte
  • gilt für einen einzelnen registrierten Entwickler