OPC Unified Architecture

Abkürzung: OPC UA

OPC UA ist der Standard, über den Maschinen, Steuerungen und übergeordnete Systeme in der Industrie Daten austauschen. Er ist in IEC 62541 genormt und wird von der OPC Foundation gepflegt.

Sein Anspruch geht über den eines Feldbusprotokolls hinaus. Modbus überträgt eine Zahl, MQTT überträgt eine Folge von Bytes — in beiden Fällen muss der Empfänger aus einer Dokumentation wissen, was er vor sich hat. OPC UA überträgt den Wert zusammen mit seiner Beschreibung: Name, Datentyp, Einheit, Zugehörigkeit, Zugriffsrechte.

Vom OPC der Neunziger zu UA

Der Vorläufer, heute OPC Classic genannt, entstand 1996 als OLE for Process Control. Er beruhte auf Microsofts COM und DCOM und funktionierte entsprechend: nur unter Windows, und über Netzgrenzen hinweg kaum zu betreiben, weil DCOM dynamische Portbereiche nutzt, die sich durch keine vernünftig gesetzte Firewall führen lassen.

OPC UA (2008) bricht damit vollständig. Es ist plattformunabhängig, läuft auf Steuerungen, Industrie-PCs, Linux-Servern und eingebetteten Geräten, nutzt einen festen Port und hat mit COM nichts mehr zu tun. Die Buchstaben OPC stehen heute für Open Platform Communications.

Das Informationsmodell

Hier liegt der eigentliche Unterschied zu allem, was vorher da war.

Ein OPC-UA-Server stellt keinen Registersatz bereit, sondern einen Adressraum aus Knoten: Objekte, Variablen, Methoden, Datentypen — und Verweise zwischen ihnen. Ein Client kann diesen Raum durchwandern, ohne ihn vorher zu kennen.

Eine Pumpe erscheint damit nicht als „Register 40021", sondern als Objekt „Pumpe 3" vom Typ Pumpe, mit den Variablen Drehzahl (in min⁻¹), Betriebsstunden und Störung, der Methode „Quittieren" und einem Verweis auf die Anlage, zu der sie gehört.

Darauf setzen Companion Specifications auf: branchenweise Festlegungen, wie Geräte einer bestimmten Art zu beschreiben sind — für Werkzeugmaschinen, Robotik, Spritzgießmaschinen, Waagen, Schweißtechnik. Erst sie machen aus der Möglichkeit herstellerübergreifender Verständigung eine Tatsache; ohne sie modelliert jeder Hersteller seine Maschine anders und die Austauschbarkeit bleibt theoretisch.

Zwei Betriebsarten

Client/Server ist die ursprüngliche Form. Ein Client verbindet sich mit einem Server, durchsucht dessen Adressraum, liest und schreibt Werte, ruft Methoden auf und abonniert Änderungen. Die Verbindung ist zustandsbehaftet und bleibt bestehen.

Üblich ist die binäre Übertragung über TCP unter dem Schema opc.tcp:// auf Port 4840. Daneben besteht eine Variante über HTTPS und WebSockets, die vor allem dort gewählt wird, wo nur Webverkehr durch eine Firewall darf.

PubSub kam mit Version 1.04 hinzu und arbeitet ohne feste Verbindung: Ein Server veröffentlicht Datensätze, beliebig viele Empfänger hören mit. Als Transport dienen UDP-Multicast im lokalen Netz — oder MQTT und AMQP, wenn die Daten das Werk verlassen sollen.

Dieser zweite Weg ist die praktisch wichtigste Entwicklung der letzten Jahre: Er verbindet das Informationsmodell von OPC UA mit der Reichweite und Sparsamkeit von MQTT. Die beiden Standards stehen damit nicht im Wettbewerb, sondern werden zusammen eingesetzt.

Sicherheit ist eingebaut

Anders als Modbus, CAN, klassisches BACnet und KNX bringt OPC UA Sicherheit von Anfang an mit:

  • Authentisierung der Gegenstelle über X.509-Zertifikate, auf beiden Seiten.
  • Signierung und Verschlüsselung der Nachrichten, in abgestuften Sicherheitsrichtlinien.
  • Benutzeranmeldung über Kennwort, Zertifikat oder Token, mit Rechten je Knoten.
  • Auditierung, also nachvollziehbare Protokollierung von Zugriffen.

In der Praxis ist genau das die häufigste Hürde bei der Inbetriebnahme. Client und Server tauschen beim ersten Verbindungsversuch ihre Zertifikate aus, und beide landen zunächst im Ablehnungsordner der Gegenstelle. Erst wenn das Zertifikat auf beiden Seiten in die Vertrauensliste verschoben wurde, kommt eine Verbindung zustande. Wer eine OPC-UA-Verbindung ohne erkennbaren Fehler scheitern sieht, sollte dort zuerst nachsehen.

Die Versuchung, stattdessen die Richtlinie None zu wählen und ohne Verschlüsselung zu arbeiten, ist groß — und macht den wesentlichen Vorteil des Standards zunichte.

Einordnung

In der Automatisierungspyramide war OPC UA zunächst der Weg von der Steuerungs- zur Leitebene und weiter zu MES und ERP. Inzwischen reicht es in beide Richtungen weiter: Steuerungen bringen eigene Server mit, und in Verbindung mit TSN (Time-Sensitive Networking) zielt der Standard auch auf die Feldebene mit garantierten Zeiten.

Damit ist OPC UA einer der Begriffe, an denen sich die Erosion des Ebenenmodells am deutlichsten zeigt: dasselbe Protokoll vom Sensor bis zur Auswertung.

Abgrenzung

Modbus ist einfacher und in nahezu jedem Gerät vorhanden, beschreibt sich aber nicht selbst und kennt keine Sicherheit. Gateways, die Modbus-Register in ein OPC-UA-Modell überführen, sind ein verbreitetes Bauteil.

MQTT transportiert sparsam, legt aber keine Bedeutung fest. Beide ergänzen einander über OPC UA PubSub.

PROFINET und EtherCAT lösen eine andere Aufgabe: zyklischer Prozessdatenaustausch mit garantierten Zeiten im Mikrosekundenbereich. OPC UA tritt nicht an ihre Stelle, sondern setzt darüber auf.

BACnet verfolgt in der Gebäudeautomation ein ähnliches Ziel — selbstbeschreibende Datenpunkte —, ist aber auf diese Branche zugeschnitten.

Quellen

  • IEC 62541 – OPC Unified Architecture, mehrteilig
  • IEC 62541-2 – Sicherheitsmodell
  • IEC 62541-3 – Adressraummodell
  • IEC 62541-14 – PubSub

Weblinks

Erstellt: