Das Konzept von OPC UA
Der grundlegendste Unterschied zum ursprünglichen OPC-Standard besteht darin, dass der OPC-Server nicht mehr auf der Client-Seite, sozusagen als zusätzlicher Treiber, installiert werden muss. Stattdessen arbeitet in jedem OPC-UA-fähigen Endgerät der zugehörige OPC-Server.
OPC UA ist:
-
plattformunabhängig:
keine Bindung mehr an Microsoft Betriebssysteme
-
skalierbar:
Systemerweiterungen sind ohne Installation zusätzlicher OPC-Server möglich.
-
internetfähig:
Durch TCP/IP als Basisprotokoll ist OPC UA netzwerkübergreifend einsetzbar.
-
sicher:
OPC UA kann bei Bedarf über eigene Sicherheitsmechanismen oder SSL/TLS abgesichert werden
OPC UA - Übertragung auf Netzwerkebene
OPC UA arbeitet nach dem Client/Server-Prinzip. Um den OPC-Server ins Endgerät auszulagern, wird auf dem Übertragungsweg zwischen OPC-Client und -Server standardisierte Kommunikation benötigt.
Um das zu gewährleisten, wurde als Basisprotokoll TCP/IP und als physikalischer Standard Ethernet gewählt.
Dabei unterscheidet OPC UA zwischen drei Übertragungsvarianten:
-
HTTP
Über HTTP-Requests werden Daten versendet bzw. angefordert. Informationen werden SOAP- bzw. XML-formatiert übertragen.
TCP-Server-Port ist 80.
-
HTTPS
Für HTTPS gilt das gleiche wie für HTTP, allerdings arbeitet HTTPS SSL/TLS-verschlüsselt.
TCP-Server-Port ist 443.
-
UA TCP Binary
Die Binary-Variante verzichtet auf den Overhead, der durch die zusätzlichen XML-Tags entsteht. Stattdessen gibt es ein sehr schlankes Protokoll, das den Datenaustausch regelt. Dadurch ist der Datenaustausch deutlich schneller.
TCP-Server-Port ist 4840.
Bereits auf Netzwerkebene bietet OPC UA damit sehr flexible Zugriffsmöglichkeiten.
Protokoll- und Anwendungsebene
Neu ist auch, dass OPC UA neben dem Zugriff auf einzelne Items auch
komplexe Datenstrukturen zulässt. Außerdem können über OPC UA auf dem
Endgerät selbst Programme und Funktionen aufgerufen werden.
Die ursprünglichen Standards OPC DA, EA, HDA und DX sind in OPC UA
als mögliche Anwendungsoptionen integriert worden.
Der OPC-UA-Server
Hauptmerkmal von OPC UA ist wie bereits erklärt, dass der OPC-Server Bestandteil des anzusprechenden Endgerätes ist. Auch wenn OPC UA eine große Vielfalt an Möglichkeiten bietet, muss nicht jeder OPC-Server die gesamte Bandbreite unterstützen. Es reicht, wenn der Server die für die Anwendung benötigte Teilmenge beherrscht.
In Form einer standardisierten Typeninformation fasst der OPC-Server zusammen, welche Möglichkeiten und Protokollvarianten er unterstützt.
Der OPC-UA-Client
Im Gegensatz zum OPC-UA-Server sollte der OPC-UA-Client möglichst viele der verschiedenen Varianten unterstützen. Nur so kann ein hohes Maß an Kompatibilität mit möglichst vielen Endgeräten geschaffen werden.
Der OPC-UA-Client kann aus dem OPC-UA-Server die Typsysteminformation abrufen, in der festgehalten ist, welche Übertragungsverfahren, Items, Variablen, Objekte, Funktionen usw. zur Verfügung stehen. Das vereinfacht die Integration neuer Endgeräte und den damit verbundenen Konfigurationsaufwand erheblich.
Viele Clients unterstützen neben OPC UA auch noch den ursprünglichen OPC-Standard, so dass auch ein gemischter Betrieb möglich ist. Außerdem gibt es einige Anbieter von OPC-UA-Gateways, die Endgeräte, die von Hause aus kein OPC UA unterstützen, in OPC-UA-Anwendungen integrieren.
OPC UA Pub/Sub
2018 veröffentlichte die OPC-Foundation ein neues Release des OPC-UA-Standards. OPC-UA-Pub/Sub erhält vollständig die Kompatibilität zu OPC UA, unterstützt aber neben der klassischen Client/Server-Kommunikation das Publish/Subscriber - Modell. Dazu nutzt OPC-UA-Pub/Sub die Mechanismen von MQTT.
In Endgeräten, die das Publish/Subscriber-Verfahren von OPC UA nutzen, ist der OPC-Server um einen MQTT-Client-Dienst erweitert. Auch wenn es sprachlich etwas irreführend ist, bleibt die Bezeichnung OPC-Server erhalten.
OPC-Client und OPC-Server können sowohl Daten per Publish an einen Broker senden als auch Daten per Subscribe abonnieren.
So können Prozessdaten mit geringem Aufwand an eine Vielzahl von Endpunkten weitergegeben werden.
Ebenfalls neu bei dem OPC-UA-Pub/Sub Release ist, dass auch UDP als Basisprotokoll erlaubt ist. Da UDP durch einen geringeren Overhead und die verbindungslose Kommunikation über Datagramme schneller ist als TCP, ist die Nutzung von UDP vor allem für Anwendungen vorteilhaft, die auf kurze Reaktionszeiten angewiesen sind.
Mögliche Anwendungsfälle
Bei den ursprünglichen OPC-Anwendungen war es meist so, dass ein OPC-Client als zentrales Leitsystem die beteiligten Endgeräte überwacht und ggf. auch angesteuert hat. Das Leitsystem selbst hatte aber fast immer über Bildschirm und Tastatur eine Zugriffsmöglichkeit für den Anwender.
Neben dieser klassischen Variante unterstützt OPC UA noch folgende Kommunikationsmodelle (ohne Beteiligung eines Leitsystems):
- Endgerät zu Endgerät
- Endgerät zu Datenbank
- Endgerät zu Cloud
Damit ist OPC UA deutlich flexibler als das klassische OPC.
Grundlagen zu gängigen Industrieprotokollen
-
Web-IO - Automatisierung mit Standardprotokollen
IO-Signale mit Modbus-TCP, OPC UA/DA, Rest oder MQTT integrieren
-
Datenformate und Protokolle
Vom klassischer Datenaustausch bis IoT
-
Modbus-TCP
Offener Standard für industrielle Kommunikation
-
REST - REpresentational State Transfer
Industrielle Kommunikation auf Basis von standardisierten HTTP-Requests
-
MQTT - Message Queue Telemetry Protocol
Datenaustausch ohne direkte Verbindung
-
OPC DA -
OPC Data AccessDer Prozessdaten-Dolmetscher