PLCcom Opc Ua Client + Server Sdk
Downloads und Ressourcen
Hier finden Sie die aktuellen Versionen des PLCcom OPC UA SDK für .NET und Java sowie die wichtigsten Ressourcen rund um Download, Dokumentation, Changelog, Datenblatt und CRA-Unterlagen.
Wenn Sie das SDK testen möchten, benötigen Sie eine Testlizenz. Diese können Sie direkt auf dieser Seite anfordern.
.Net
PLCcom OPC UU Client + Server SDK Version 10.03.04
Upload-Datum: 07.05.2026
Variante 1 – .NET CLI
Zustimmung Endbenutzerlizenzvertrag (EULA)
Vielen Dank für Ihr Interesse an unseren Produkten. Gerne stellen wir Ihnen den gewünschten Download zur Verfügung.
Vor dem Herunterladen der Software bestätigen Sie bitte, dass Sie den Endbenutzerlizenzvertrag gelesen haben und in allen Punkten akzeptieren…
Bleiben Sie immer auf dem Laufenden mit den neuesten Informationen, Angeboten und exklusiven Updates direkt in Ihrem Postfach. Wir versprechen Ihnen, nur relevante Neuigkeiten zu senden – keine unnötigen E-Mails oder Spam.
Ihre Daten sind bei uns sicher:
Wir geben Ihre persönlichen Informationen niemals an Dritte weiter. Ihre Privatsphäre liegt uns am Herzen.
Jetzt anmelden und nichts mehr verpassen!
Variante 2 – Direkt in der Projektdatei (.csproj)
Java
PLCcom OPC UA Client + Server SDK Version 10.03.02
Upload-Datum: 02.05.2026
Zustimmung Endbenutzerlizenzvertrag (EULA)
Vielen Dank für Ihr Interesse an unseren Produkten. Gerne stellen wir Ihnen den gewünschten Download zur Verfügung.
Vor dem Herunterladen der Software bestätigen Sie bitte, dass Sie den Endbenutzerlizenzvertrag gelesen haben und in allen Punkten akzeptieren…
Bleiben Sie immer auf dem Laufenden mit den neuesten Informationen, Angeboten und exklusiven Updates direkt in Ihrem Postfach. Wir versprechen Ihnen, nur relevante Neuigkeiten zu senden – keine unnötigen E-Mails oder Spam.
Ihre Daten sind bei uns sicher:
Wir geben Ihre persönlichen Informationen niemals an Dritte weiter. Ihre Privatsphäre liegt uns am Herzen.
Jetzt anmelden und nichts mehr verpassen!
SDK – Informationen
Dokumentation PLCcom.Opc.Ua.Client.Sdks
Changelog PLCcom.Opc.Ua.Sdk
Version 10.3.4 (nur .net Version)
- Bugfix: In WinForms-Anwendungen konnte der Aufruf von SDK-Methoden wie AddSubscription() direkt aus dem UI-Thread zu einem Einfrieren der Anwendung führen. Das Thema wurde bereits im Update zur Version 10.3.3 behandelt, mit diesem Update wurde noch eine Nachbesserung hinzugefügt.
Version 10.3.3 (nur .net Version)
- Bugfix: Deadlock in Subscription-Methoden behoben, der in WinForms-Anwendungen auftreten konnte, wenn AddSubscription(), RemoveSubscription(), ApplyChanges(), SetPublishingMode(), Modify() und weitere Subscription-Operationen direkt aus dem UI-Thread aufgerufen wurden.
Version 10.3.2
- Bugfix: Deadlock in AddSubscription(), RemoveSubscription() sowie in der Reconnect- und KeepAlive-Logik behoben, der auftreten konnte, wenn diese Methoden aus einem WinForms-UI-Thread heraus aufgerufen wurden
- Update (.net-Version): Folgende Abhängigkeiten wurden auf Version 10.0.7 aktualisiert: Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.Text.Json und System.Collections.Immutable
Version 10.3.1
- Neu: PLCcom Opc Ua Sdk ist CRA (Regulation (EU) 2024/2847, Cyber Resilience Act) zertifiziert
- Neu: IHistoryStore – pluggbares Interface für den OPC UA History-Datenspeicher. Ermöglicht die Anbindung beliebiger Speicher-Backends (SQL-Datenbanken, Zeitreihendatenbanken, Dateisysteme, Cloud-Dienste u.v.m.) anstelle des integrierten In-Memory-Speichers
- Neu: IEventHistoryStore – pluggbares Interface für den OPC UA Event-History-Speicher, analog zu IHistoryStore für Ereignisdaten
- Neu: InMemoryHistoryStore und InMemoryEventHistoryStore als Standard-Implementierungen der neuen Interfaces (bisheriges Verhalten bleibt unverändert)
- Neu: server.HistoryStore und server.EventHistoryStore – Properties zur globalen Registrierung eines eigenen Speichers; alternativ kann ein Store direkt per EnableHistory() bzw. EnableHistoryEvents() pro Variable oder Quellknoten zugewiesen werden
- Sicherheit: AutoAcceptUntrustedCertificates ist nun standardmäßig false (vorher true) – entspricht den Anforderungen des Cyber Resilience Act (CRA). Anwendungen, die sich auf den bisherigen Standard verlassen haben, müssen AutoAcceptUntrustedCertificates explizit auf true setzen
- Neu: UaClient.GetEndpoints() und GetAllEndpoints() validieren das Server-TLS-Zertifikat bei opc.https nun korrekt über den OPC UA CertificateValidator. Bisher wurde das TLS-Zertifikat während der Discovery stillschweigend akzeptiert
- Neu: UaClient.FindServers() validiert das Server-TLS-Zertifikat bei opc.https nun korrekt über den OPC UA CertificateValidator. Bisher wurde das TLS-Zertifikat während der Discovery stillschweigend akzeptiert
- Neu: UaClient.GetEndpoints(), GetAllEndpoints() und FindServers() akzeptieren einen optionalen certificateValidator-Parameter (CertificateValidationEventHandler) für eigene Validierungslogik sowie einen optionalen autoAcceptUntrustedCertificates-Parameter
- Neu: UaClient.GetEndpoints() und FindServers() werfen bei TLS-Zertifikatsfehlern nun eine Exception statt stillschweigend eine leere Liste zurückzugeben
- Fix: Discovery-URLs mit doppeltem Schrägstrich (z. B. opc.https://host//discovery) werden im Client-SDK automatisch normalisiert. FindServers() bereinigt außerdem die DiscoveryUrls in der zurückgegebenen ApplicationDescriptionCollection
- Neu: UaServer.CreateLimitAlarm() – erstellt einen ExclusiveLimitAlarmType-Knoten mit Unterstützung für Low / High / HighHigh Alarmstufen
- Neu: UaServer.CreateDiscreteAlarm() – erstellt einen DiscreteAlarmType-Knoten für boolesche Zustandsalarme
- Neu: UaServer.CreateDialog() – erstellt einen DialogConditionType-Knoten, bei dem der Operator eine von mehreren Antwortoptionen auswählen muss
- Fix: EnableEvents() baut nun korrekt eine HasNotifier-Referenzkette bis zum Server-Knoten auf und registriert den Quellknoten als Root-Notifier. Ohne diesen Fix wurden Alarm-Events nicht an abonnierte Clients weitergeleitet
- Fix: CreateAlarm(), CreateLimitAlarm() und CreateDiscreteAlarm() setzen den EnabledState nun korrekt auf true. Ohne diesen Fix schlug Acknowledge mit BadConditionDisabled fehl
- Fix: Activate() setzt ConfirmedState nun korrekt auf false, sodass der vollständige OPC UA Alarm-Lifecycle (Active → Acknowledge → Confirm) korrekt durchlaufen wird
- Fix: Deactivate() setzt Retain nun korrekt auf true statt false – der Alarm bleibt gemäß OPC UA Part 9 §5.5.2 in der Alarmliste sichtbar bis er vom Operator quittiert wurde
- Fix: DiscreteAlarmType wurde in KnownEventTypes und ConstructEvent() ergänzt. Ohne diesen Fix wurde ein DiscreteAlarm als BaseEventState deserialisiert, was zu NullReferenceException bei Acknowledge führte
- Fix: AlarmEvent.Acknowledge(), Confirm() und AddComment() prüfen EventId nun auf null und werfen eine aussagekräftige InvalidOperationException statt einer NullReferenceException
- Breaking Change: AlarmEvent.Respond() – Parameter geändert von bool OnlineState zu int selectedResponse (Zero-basierter Index in ResponseOptionSet). Das bisherige bool-Interface war semantisch falsch
- Neu: UaServerConfiguration – 12 OperationLimits-Eigenschaften mit sinnvollen Standardwerten (MaxNodesPerRead/Write/Browse/RegisterNodes/TranslateBrowsePathsToNodeIds/NodeManagement/MonitoredItems=1000, MaxNodesPerHistoryRead/HistoryUpdate=100, MaxNodesPerMethodCall=200)
- Neu: UaServerConfiguration – 3 VendorServerInfo-Eigenschaften (VendorName, VendorProductName, VendorProductVersion) werden automatisch in den OPC UA Adressraum unter Objects/Server/VendorServerInfo eingetragen
- Neu: UaServer.PopulateServerNodes() – befüllt nach dem Serverstart automatisch VendorServerInfo, den Namespaces-Eintrag (NamespaceMetadataType) und OperationLimits im OPC UA Adressraum gemäß OPC UA Part 5
- Neu: UaServer.AddNamespace() trägt den registrierten Namespace automatisch als NamespaceMetadataType-Knoten unter Server/Namespaces ein – Clients können alle Namespaces des Servers direkt im Adressraum entdecken
- Fix: NamespaceMetadataType-Knoten unter Server/Namespaces erhalten nun die NodeId des jeweils repräsentierten Namespace-Index (ns=2 für den primären Namespace, ns=3/4/… für zusätzliche Namespaces) statt immer ns=2
- Fix: GetNodeIdByPath() findet nun auch Method-Nodes
- Neu: UaRolePermissions – Fluent-Builder für OPC UA RolePermissions mit AllowRead(), AllowReadWrite(), AllowAll() und Allow()
- Neu: SetRolePermissions() auf UaVariable, UaFolder, UaObject, UaStructVariable, UaStructArrayVariable und UaServer – aktiviert rollenbasierte Zugriffskontrolle für Browse, Read, Write, HistoryRead, HistoryUpdate, Subscribe und Call
- Breaking Change: CreateVariable, CreateFolder, CreateObject und CreateMethod erfordern nun einen Pflicht-Parameter permissions (UaRolePermissions) – null ist nicht erlaubt
- Neu: UaRolePermissions.WITHOUT_RESTRICTIONS und UaRolePermissions.ALL_RESTRICTIONS als vordefinierte Konstanten
- Neu: Die Konfigurationsoption EndpointHostMode steuert, wie Hostnamen in Endpoint-URLs gegenüber Clients dargestellt werden (GetEndpoints, FindServers, ReverseHello). Optionen: AsConfigured (Standard), NormalizeToHostname, None.
- Neu: UaLogLevel.None wurde hinzugefügt, um alle SDK-Logmeldungen zu deaktivieren.
- Fix: Reverse Connect funktioniert jetzt mit UaExpert und anderen Clients, die voraussetzen, dass die Endpoint-URL im ReverseHello der konfigurierten BaseAddress entspricht.
- Fix: Der Reverse-Connect-Client gibt den Listening-Port direkt nach dem Session-Aufbau frei. Dadurch können sich mehrere Clients nacheinander über denselben Port verbinden.
- Fix: Der Reverse-Connect-Server verbindet sich innerhalb von 1 Sekunde nach dem Schließen eines Channels erneut. Dies verbessert die Kompatibilität mit Clients, die mehrere Verbindungen benötigen (z. B. GetEndpoints + CreateSession).
- Fix: ImportNodeSet erhält absolute Namespace-Indizes aus der NodeSet-XML-Datei. Die in der Datei deklarierten Namespace-URIs werden den korrekten Server-Indizes zugeordnet.
- Fix: IEventHistoryStore (CsvEventHistoryStore) speichert EventIds jetzt korrekt und stellt sie korrekt wieder her. Dadurch sind Löschoperationen für historische Events möglich.
- Umfangreiche interne Überarbeitungen und Verbesserungen
Version 10.2.1
- Neu: Single Assembly Architektur – das gesamte SDK wird nun als eine einzige Assembly (PLCcom.Opc.Ua.Sdk) ausgeliefert.
- Neu: OPC UA HTTPS Transport Support – Client und Server unterstützen nun neben opc.tcp auch opc.https Endpoints
- Neu: GetAllEndpoints() Methode im UaClient – liefert alle verfügbaren Endpoints unabhängig vom Transport-Protokoll. GetEndpoints() filtert weiterhin nach dem verwendeten Transport
- Neu: HttpsMutualTls Property in der UaServerConfiguration zur Steuerung der gegenseitigen TLS-Authentifizierung bei HTTPS-Verbindungen (Standard: deaktiviert)
- Neu: Server erzeugt automatisch HTTPS-Endpoints für alle konfigurierten Security Policies (analog zum bisherigen Verhalten bei opc.tcp)
- Bugfix: ApplicationUri wird nun transportprotokoll-unabhängig erzeugt (urn:hostname:processname), wodurch Zertifikatsprobleme beim Wechsel zwischen opc.tcp und opc.https Verbindungen behoben wurden
- Umfangreiche interne Überarbeitungen und Verbesserungen
Version 10.1.6
- Major-Update Version 10
- Neu: .net 10.0 Support
- Neu: Zusätzlich zum Client Sdk ist nun auch ein umfangreiches Server Sdk zur komfortablen Erstellung von Opc Ua Server-Anwendungen enthalten
- Neu: Diverse Anpassungen an die aktuelle Opc Ua Spezifikation der Opc Foundation
- Umfangreiche interne Überarbeitungen und Verbesserungen
Version 9.2.4.1 (nur .net Version)
- Neu: Es wurde auf Kundenwunsch die Möglichkeit eingeführt, serverseitige Zertifikate zu akzeptieren, welche Fehler enthalten die eigentlich nach Opc-Spezifikation nicht unterdrückbar sind. Hierzu wurde das Object CertificateValidationEventArgs um das Flag AcceptAll erweitert
Version 9.2.1 (nur Java Version)
- Bugfix: Discovery Endpoints bricht mit einer NullPointerException ab, wenn ein Endpoint nicht korrekt vom Opc Ua Server übertragen wurde
- interne Verbesserungen
Version 9.1.5 (nur Java Version)
- Bugfix: Eventuell auftretender java.lang.NoSuchMethodError bei Benutzung der Java-Version 8
Version 9.2.3.1 (nur .net Version)
- Bugfix: Beim Schreiben von UIn16- und UInt32- Werten konnte es zu Problemen bei der Werteübergabe kommen, wenn ein Casting des Wertes zum Datentyp Variant fehlte
Version 9.2.2.1 (nur .net Version)
- Beseitigung von bekannten Schwachstellen Drittanbieter-Libraries
- Einführung eines Flags (TolerateFaultyServerState) womit ein automatischer Reconnect verhindert werden kann, wenn der Status eines verbundenen Opc Ua Servers nicht „Running“ ist
- mehrere kleinere interne Überarbeitungen und Verbesserungen
Version 9.1.2
- Beseitigung interner Schwachstellen, sowie bekannter Schwachstellen der benutzten Drittanbieter-Libraries
- Unterstützung des .Net 8.0 Frameworks (nur .Net Version)
- diverse interne Überarbeitungen und Verbesserungen
Version 8.1.1
- weitere Anpassungen der Sdk an die aktuelle Opc Ua Spezifikation
- Beseitigung interner Schwachstellen, sowie bekannter Schwachstellen der benutzten Drittanbieter-Lizenzen
- Anpassung Package-Benennung, siehe Firststeps-Dokument im Download-Paket (nur Java-Version)
- Unterstützung des .Net 7.0 Frameworks (nur .Net Version)
- diverse interne Überarbeitungen und Verbesserungen
Version 7.4.1 (nur Java-Version)
- Sicherheitsupdate aufgrund von Schwachstellen in den Abhängigkeiten von Bouncy Castle V1.54 und guava V21.0
Version 7.3.2
- Überarbeitung der Reconnect-Funktionen
- interne Anpassungen zur Verbesserung der Verarbeitungsgeschwindigkeit
Version 7.2.2 (nur Java Version)
- Unterstützung Java / OpenJRE bis Version 19
- Anpassung Methoden zum Laden von Zertifikaten
- Bugfix: eventuell auftretendes Problem bei Endpoint discovery mit Exception Bad_InvalidTimestamp behoben
- Überarbeitung Beispielcode im Downloadpaket
Version 7.1.3
- neue Funktion browseFull, es werden alle notwendigen browse und browseNext-Operationen zu einem gemeinsamen Funktionsaufruf zusammen gefasst
- Bugfix: Lizenz wird eventuell nicht akzeptiert, obwohl sie gültig ist
- Bugfix: Funktion browseNext übergibt eventuell falschen continuationPoint
Version 7.1.1
- Unterstützung des .Net 6.0 Frameworks (nur .Net Version)
- Unterstützung Java / OpenJRE bis Version 17 (nur Java Version)
- neue Funktion GetNodeIdByPath
- diverse Interne Verbesserungen und Überarbeitungen
Version 6.1.1
- Unterstützung des .Net 5.0 Frameworks
- Fix Problem bei Wiederaufbau von Subscriptions und MonitoredItems nach Verbindungsabbruch
- Fix Problem, hohe CPU / RAM-Auslastung nach Restart des OPC-Servers
- interne Verbesserungen und Überarbeitungen
Version 5.1.8 (nur Java Version)
- Probleme bei der Benutzung unter Java 1.8 behoben (wrong class version of MonitoredItemNotificationListener)
Version 5.1.4 (nur Java Version)
- Bugfix: Ausstellung eines “self signed Certificate” schlägt aufgrund länderspezifischer Vorgaben fehl
Version 5.1.3
- vollständige Überarbeitung der Routinen nach Vorgabe der OPC Foundation
- Bereitstellung auch für .Net Standard / .Net Core (.Net Version)
- Bereitstellung auch für openJRE/openJDK (Java Version)
- interne Geschwindigkeits- und Stabilitätsverbesserungen
Version 4.3.1
- Bugfix: Bei fehlerhaftem Hostnamen in der Endpoint URL
- interne Geschwindigkeits- und Stabilitätsverbesserungen
Version 4.1.0
- Unterstützung von registriertem Lesen und Schreiben
- diverse Anpassung an die aktuellen OPC UA Spezifikationen
- diverse Bugfixes
- interne Geschwindigkeits- und Stabilitätsverbesserungen
Version 3.6.4
- Es werden nun auch Server-Endpoints mit IP 0.0.0.0 in der URL toleriert
Version 3.6.3
- Detailliertere Fehlermeldung bei Zertifikatsvalidierung
Version 3.6.2
- Bugfix: Browsen von Nodes
Version 3.6.1
- neue verbesserte Funktionen um Call-Methoden-Aufrufe durchzuführen
- Erweiterung der „read“- und „write“- Funktionalitäten
- Anpassung und Erweiterung der Online-Dokumentation
- Anpassung und Erweiterung der „Erste-Schritte“-Anleitung
- Auslieferung des Produktes nicht mehr als Setup, sondern innerhalb einer zip-Datei
Version 3.5.0
- Bugfix: Bei Übergabe eines Identitytoken-Objektes (Username + Password)
- Erweiterung der Discovery-Funktionalität, es ist nun auch die Übergabe einer Discovery-Uri möglich
Version 3.4.0
- Fehlerbereinigung beim Starten einer ASP-Applikation
Version 3.3.0
- Bugfix: Browsedescription angepasst
Version 3.2.8
- Bugfix: Verarbeitung Zertifikatsprüfung
Version 3.2.6
- Verbessertes Sortierverhalten beim Abfragen von Endpoints
- Setup ist signiert
Version 3.2.5 (nur Java Version)
- Bugfix: Beim senden verschlüsselter Passwörter
Version 3.2.4
- Bugfix: Funktion GetFilteredEndpoints hat auch bei übergebener Portdefinition den Discovery-Port 4840, ab der neuen Version wird der übergebene Port benutzt
Version 3.2.3
- Bugfix: Optimierung Cache-Funktionalität beim Laden
- Überarbeitung des Constructors der Session-configuration
- neue statische Methode Build () zum einfachen Erstellen von Session-configurations
- Anpassung der Online Dokumentation
- Anpassung der Browse-Methoden, wenn der UA-Server das Inverse Browsen nach Spezifikation nicht unterstützt
- neue Filtermethoden
Version 3.2.0 (nur Java Version)
- Bugfix: Beim Befüllen des internen NodeCache wurden nicht alle Typen von Nodes berücksichtigt
Version 3.1.0
- interne Geschwindigkeitsverbesserungen
- Bugfix: Interner Cache wird durchgängig benutzt
Cyber Resilience Act (CRA) – EU-Konformitätsdokumente (EU 2024/2847)
Sicherheitskontakt: [email protected]
PLCcom Opc Ua Sdk .NET
PLCcom Opc Ua Sdk Java

