OPC DA und OPC UA Standards: Es ist einfach und unkompliziert

04 Juni 2021 Wissenswertes
7194c125f6c6d17681b1bf8138199ddb.png

OPC (Open Platform Communications, früher OLE for Process Control) ist ein Satz von Softwaretechnologien, die eine einheitliche Schnittstelle zur Steuerung verschiedener Geräte und zum Datenaustausch bieten. Die OPC-Spezifikationen wurden von der internationalen gemeinnützigen Organisation OPC Foundation entwickelt, die 1994 von führenden Herstellern von Industrieautomatisierungsprodukten gegründet wurde. Das Ziel der OPC-Erstellung war es, Ingenieuren eine universelle Schnittstelle zur Steuerung verschiedener Geräte bereitzustellen.

Durch die Implementierung der Unterstützung für den OPC-Client konnten Entwickler von SCADA-Systemen die Notwendigkeit beseitigen, Hunderte von Treibern für verschiedene Geräte zu unterstützen. Gerätehersteller gewannen durch das Hinzufügen eines OPC-Servers die Sicherheit, dass ihr Produkt von Nutzern jedes SCADA-Systems verwendet werden kann.

OPC-Technologie umfasst mehrere Standards, die einen Satz von Funktionen für einen bestimmten Zweck beschreiben. Aktuelle Standards:

  • OPC DA (Data Access) ist der am häufigsten verwendete Standard, der einen Satz von Funktionen für den Echtzeit-Datenaustausch mit PLC, DCS, HMI, CNC und anderen Geräten beschreibt.
  • OPC HDA (Historical Data Access) bietet Zugriff auf bereits gespeicherte Daten und Historie.
  • OPC AE (Alarms & Events) bietet bedarfsgesteuerte Benachrichtigungsfunktionen für verschiedene Ereignisse: Notfälle, Bedieneraktionen, Informationsmeldungen und andere.
  • OPC Batch bietet die Funktionen der Schritt- und Rezeptsteuerung des technologischen Prozesses.
  • OPC DX (Data eXchange) bietet Funktionen zur Organisation des Datenaustauschs zwischen OPC-Servern über ein Ethernet-Netzwerk. Der Hauptzweck dieses Standards besteht darin, Gateways für den Datenaustausch zwischen Geräten und Programmen verschiedener Hersteller zu schaffen.
  • OPC Security definiert die Funktionen zur Organisation der Zugriffsrechte von Clients auf OPC-Server-Daten.
  • OPC XML-DA (XML-Data Access) bietet ein flexibles, regelgesteuertes Format für den Datenaustausch über XML, SOAP und HTTP.
  • OPC Complex Data ist ein Satz zusätzlicher Spezifikationen für OPC DA und XML-DA, die es Servern ermöglichen, mit komplexen Datentypen wie binären Strukturen und XML-Dokumenten zu arbeiten.
  • OPC Commands ist ein Satz von Programmierschnittstellen, die es OPC-Clients und -Servern ermöglichen, Befehle zu identifizieren, zu senden und zu steuern, die in einem Controller oder I/O-Modul ausgeführt werden.
  • OPC UA (Unified Architecture) ist die neueste Spezifikation, die nicht auf der Microsoft COM-Technologie basiert und plattformübergreifende Kompatibilität bietet.

Der am weitesten verbreitete Standard ist OPC DA, hat jedoch einen erheblichen Nachteil. Zum Zeitpunkt seiner Entwicklung basierte es auf damals modernen Windows-Technologien: OLE, ActiveX, COM/DCOM. Seitdem hat sich die Industrie jedoch verändert, und andere Betriebssysteme und Technologien sind populär geworden. Daher wurde die OPC-Technologie plattformunabhängig gemacht und der OPC UA (Unified Architecture) Standard auf offenen, plattformübergreifenden Technologien entwickelt.

Wo OPC verwendet wird

Üblicherweise wird die OPC-Technologie verwendet, um Daten zwischen Controllern und einem SCADA-System auszutauschen, aber es ist auch möglich, komplexe Systeme auf verschiedenen Ebenen des Prozessleitsystems zu organisieren.

OPC besteht aus zwei Teilen: OPC-Client und OPC-Server. Die OPC-Server-Software pollt verschiedene Geräte über Gerätetreiber über Feldbusse. Die OPC-Client-Software ist normalerweise in das SCADA-System integriert und dafür konzipiert, Daten vom OPC-Server zu empfangen.

Hier können wir mehrere Ebenen von ACS in einem Unternehmen visualisieren:

  • Die unterste Ebene wären Feldbusse und einzelne Controller
  • Die mittlere Ebene sind Werknetzwerke
  • Die APCS-Ebene ist die Ebene des Betriebs von SCADA-ähnlichen Systemen
  • MICS-Ebene ist die Ebene von Enterprise-Resource-Management-Anwendungen, ERP, MES

Jede dieser Ebenen kann von einem OPC-Server bedient werden, der Daten an einen OPC-Client auf einer höheren Ebene oder an ein benachbartes Gerät liefert.

53cb933355d2ad6a19479ba995560d2d.png

Wie ein OPC DA-Server funktioniert

Der OPC DA-Server ermöglicht den Datenaustausch (Schreiben und Lesen) zwischen dem Client-Programm (normalerweise ein SCADA-System) und den Endgeräten. Daten in OPC sind Tag-Variablen mit einigen Eigenschaften. Eine Variable kann vom in OLE erlaubten Typ sein: verschiedene Ganzzahlen- und Realtypen, Boolean, String, Datum, Array usw. Eigenschaften können erforderlich, empfohlen oder benutzerdefiniert sein.

Erforderliche Variableneigenschaften:

  • Der aktuelle Wert der Variable, ihr Typ und Zugriffsrechte (Lesen und/oder Schreiben).
  • Die Qualität einer Variable hängt davon ab, ob der gemessene Wert außerhalb des dynamischen Bereichs liegt, Daten fehlen, ein Kommunikationsfehler auftritt und andere Parameter. Üblicherweise nimmt sie die Werte gut/schlecht/unbestimmt und zusätzliche Informationen an.
  • Der Timestamp meldet die Zeit, zu der die Variable den gegebenen Wert erhalten hat.
  • Die Polling-Frequenz der Variable durch den OPC-Server legt die Zeit fest, zu der der Wert der Variable aktualisiert wird.
  • Variablenbeschreibung, die Informationen für den Benutzer darüber enthält, was diese Variable ist.

Zusätzlich können optionale Eigenschaften angegeben werden, wie z.B.: Bereich der Wertänderung, Messeinheit und andere benutzerdefinierte Parameter.

Verschiedene Modi können verwendet werden, um Daten vom OPC-Server zu lesen:

  • Synchroner Modus: Der Client sendet eine Anfrage an den Server und wartet auf eine Antwort.
  • Asynchroner Modus: Der Client sendet eine Anfrage und fährt sofort mit anderen Aufgaben fort. Nach der Verarbeitung der Anfrage sendet der Server eine Benachrichtigung an den Client, und dieser nimmt die bereitgestellten Daten entgegen.
  • Abonnement-Modus: Der Server sendet nur die Tags an den Client, die sich geändert haben. Um zu verhindern, dass die Datenrauschen als Änderung verwechselt wird, wird das Konzept einer "Dead Zone" eingeführt, die die maximal mögliche Amplitude der Störung leicht überschreitet.
  • Datenaktualisierungsmodus: Der Client ruft das gleichzeitige Lesen aller aktiven Tags auf. Alle Tags sind aktiv, außer denen, die als "passiv" gekennzeichnet sind. Diese Aufteilung der Tags reduziert die Belastung des Prozessors, indem die Daten, die vom physischen Gerät empfangen werden, aktualisiert werden.

Der Client erhält Daten vom OPC-Server entweder aus dem Puffer oder direkt vom Endgerät. Das Lesen aus dem Puffer ist schneller, aber die Daten darin können veraltet sein, wenn sie gelesen werden. Der OPC-Server aktualisiert die Daten regelmäßig, indem er Informationen von Endgeräten anfordert.

Daten werden im synchronen oder asynchronen Modus ohne Zwischenpufferung an das Endgerät geschrieben. Im synchronen Modus schreibt der Client Daten und wartet, bis er eine Bestätigung der Befehlsausführung vom Endgerät erhält. Dieser Prozess kann lange dauern, währenddessen wartet der Client. Der asynchrone Modus ermöglicht es dem Client, eine Anfrage an den Server zu senden und andere Aufgaben zu erledigen. Nach Abschluss der Aufzeichnung sendet der Server eine Benachrichtigung an den Client.

OPC UA-Standard

OPC UA (Unified Architecture) ist ein moderner Standard für die Datenübertragung in industriellen Netzwerken. Er bietet sichere und zuverlässige Kommunikation zwischen Geräten, während er hardware- und plattformunabhängig ist, was die Kommunikation zwischen Geräten mit unterschiedlichen Betriebssystemen ermöglicht.

Die Stärken von OPC UA sind das objektorientierte Informationsmodell, das es ermöglicht, Daten "anzusehen" (im Stil eines Webbrowsers), und die dienstorientierte Architektur (SOA). Früher musste man mehrere OPC-Server verwenden: OPC DA für Echtzeitdaten, OPC HDA für Historie und OPC AE für Ereignisse. Jetzt ist all dies und noch viel mehr im einen OPC UA-Standard verfügbar. Anstelle eines Tag-Baums wird nun das Konzept von Knoten oder Objekten eingeführt. Jeder Knoten umfasst Variablen, Methoden und andere Datenstrukturen eines realen Objekts.

1aaa020a1f5cd8269c2878dc73dd28f9.png
22d427731e3ac1b2ae1b61c4ae41bee1.png

Der Datenaustausch erfolgt nun über binäre Strukturen und XML-Dokumente. Neben dem Client/Server-Modell wird ein Publisher/Subscriber-Modell verfügbar. Der Standard definiert auch einen Mechanismus zur Unterstützung von Redundanz (wenn ein Client nicht verfügbar wird, übernimmt ein anderer seinen Platz) und zur schnellen Wiederherstellung der Kommunikation im Falle eines Ausfalls. Der Datentransfer erfolgt über die Transportschicht TCP, HTTP/SOAP oder HTTPS. Anstelle von Windows-Zugriffssteuerungsmechanismen unterstützt OPC UA digitale Zertifikate und die Möglichkeit, übertragene Daten zu verschlüsseln.

Die implementierte Rückwärtskompatibilität mit OPC DA erfolgt durch ein spezielles Wrapper- und Proxy-Modul. Um Daten über Router und Firewalls zu übertragen, erforderte OPC DA die Verwendung von Middleware, während OPC UA ohne dieses Medium funktioniert. Die OPC UA-Spezifikation umfasst mehrere Teile, die die Logik des Betriebs von Servern und Clients beschreiben. Eine detaillierte Version der Spezifikation ist im IEC 62541-Standard verfügbar.

Beispiel für einen OPC UA-Server

Ein Beispiel für einen OPC UA-Server ist die MX-AOPC UA Suite von MOXA. MX-AOPC UA Suite umfasst 3 Programme:

  • Server ist ein Programm zum Empfangen von Daten von Modbus-Geräten
  • Viewer ist ein Programm zum Anzeigen von Tags und Serverstatus (Viewer ist im Server integriert)
  • Logger dient zur Protokollierung der Historie von Datenänderungen sowie zur Integration mit Datenbanken und Cloud-Lösungen

Zunächst konzentriert sich der MX-AOPC UA Server auf MOXA I/O-Module aufgrund der Active Tag-Funktion, unterstützt aber auch Drittgeräte über die Modbus RTU- und Modbus TCP-Protokolle. Die Active Tag-Funktion ermöglicht es, den Status von Kanälen sofort nach deren Änderung zu aktualisieren, ohne auf einen Befehl vom Server warten zu müssen.

Der MX-AOPC UA Logger ermöglicht es, Daten an die Microsoft Azure Cloud sowie an Microsoft SQL Server, MySQL, Oracle, Microsoft Office 2003 Access oder Excel-Datenbanken über ODBC zu senden.

MX-AOPC UA implementiert den Datenschutz durch Verschlüsselung mit dem Basic128Rsa15-Schlüssel und Bestätigung mit dem X509-Zertifikat.

Nachteile der Verwendung von OPC

Häufige Fehler bei der Verwendung von OPC umfassen:

  • Zu starkes Vertrauen auf OPC-Technologien
  • Unnötige Verwendung von WEB-Technologien in APCS
  • Verwendung von Echtzeitprotokollen bei telemechanischen Aufgaben

Nehmen wir an, Sie haben von der guten OPC-Technologie erfahren und streben danach, alle unteren Ebenenprotokolle nur mit OPC zu ersetzen. Aber die Umwandlung von Modbus, Profibus und anderen industriellen Protokollen in ein PC-Format wird zusätzliche Zeit in Anspruch nehmen und Rechenleistung verschwenden. Tests haben gezeigt, dass das SCADA-System direkt mit industriellen Protokollen doppelt so schnell arbeitet wie über einen zwischengeschalteten OPC-Server. Natürlich gibt es Systeme, bei denen der Prozess nicht in Echtzeit überwacht werden muss, aber dies muss bei der Planung eines automatisierten Prozessleitsystems berücksichtigt werden.

Zu den Nachteilen gehört auch die Komplexität der Einrichtung des OPC-Servers und die Notwendigkeit, Tausende von Tags manuell einzugeben. Darüber hinaus wird ein OPC-Server nicht immer kostenlos bereitgestellt, und meistens müssen Sie eine separate Lizenz für jeden PC erwerben.

Wenn das System Daten über das Internet in die Cloud sendet, kann ein schwaches Verschlüsselungsschema zu einer potenziellen Schwachstelle und einem Ziel für Hackerangriffe werden, was Zweifel an der Sicherheit des gesamten ICS aufkommen lässt.

OPC UA für Echtzeitbetrieb

OPC UA over TSN ist darauf ausgelegt, den Echtzeitbetrieb zu unterstützen. Diese OPC UA-Technologie kann ein Publisher/Subscriber-Modell (anstelle eines Client/Server-Modells) in Kombination mit TSN (Time-Sensitive Networking)-Technologie verwenden.

Das Client/Server-Modell funktioniert gut bei einer Punkt-zu-Punkt-Verbindung, aber wenn viele Geräte vorhanden sind, gibt es Verzögerungen bei der Datenaktualisierung. Das Publisher/Subscriber-Modell bietet eine Eins-zu-Viele- und Viele-zu-Viele-Beziehung. Der Server sendet seine Daten an das Netzwerk (Publikation) und jeder Client kann diese Daten empfangen (Abonnement).

8e334c913760a5eea946fcf8ce9635ec.png

Ethernet mit TSN-Technologie ergänzt bestehende Ethernet-Einrichtungen hinsichtlich Quality of Service (QoS), einschließlich Bandbreitenzuweisung, Timing, niedrige Latenzgarantie und Redundanz. Die Daten werden von verschiedenen Geräten über ein Ethernet-Netzwerk in Strömen übertragen. Ethernet-Switches mit TSN ermöglichen die Zuweisung einer eigenen Bandbreite für jeden Strom und gewährleisten dessen Echtzeitübertragung. Mehrere Ströme können kombiniert (Netzwerkkonvergenz genannt) und gleichzeitig über dasselbe Netzwerk in Echtzeit gesendet werden. Es stellt sich heraus, dass ohne TSN-Technologie nur ein Echtzeitprotokoll über ein Ethernet-Netzwerk übertragen werden kann, und mit TSN mehrere.

Die Kombination von OPC UA over TSN-Technologien ermöglicht die Organisation der Kommunikation zwischen Geräten verschiedener Hersteller und die Gewährleistung eines kontinuierlichen Echtzeit-Datenerhalts.

Die OPC Foundation plant, OPC UA nicht nur zur Übertragung von Daten zwischen Controllern und dem SCADA-System zu verwenden, sondern auch auf Feldebene von Sensoren und IoT-Geräten zu Controllern sowie von lokalen Systemen in der Cloud. Dafür planen sie, den OPC UA-Standard in 4 Teile zu unterteilen, abhängig von der Leistungsfähigkeit des Geräts und den benötigten Fähigkeiten.

  • Nano Embedded Device Server: geeignet für die kleinsten Sensoren
  • Micro Embedded Device Server: geeignet für kostengünstige PLCs
  • Embedded UA Server: geeignet für leistungsfähigere PLCs und Grenzgateways
  • Standard UA Server: vollwertige Implementierung mit Unterstützung aller Funktionen
e8cb451c7fa6db68642bfbcd2aa29fe9.png

OPC UA-Perspektiven

Es ist sicher zu sagen, dass obwohl der OPC DA-Standard immer noch weit verbreitet ist, er den modernen Automatisierungsanforderungen nicht mehr gerecht wird. Er basiert auf Legacy-Technologie, ist schwierig zu konfigurieren und erfüllt nicht die modernen Sicherheitsstandards. Er wurde durch den modernen OPC UA-Standard ersetzt, der die Möglichkeit bietet, Daten zu verschlüsseln und einheitliche Datentransportsysteme von Sensoren bis in die Cloud aufzubauen. Die gemeinsame Nutzung von OPC UA mit TSN erweitert die Fähigkeiten der Technologie für die Echtzeit-Datenübertragung erheblich. Natürlich sollten Sie OPC DA nicht sofort abschaffen, sondern bestehende Systeme schrittweise aufrüsten und durch spezielle Wrapper- und Proxy-Module auf OPC UA umstellen.


Für weitere technische Informationen, Anfragen zu Angeboten oder die Bestellung von Produkten kontaktieren Sie bitte unser Vertriebsteam unter sales@ipc2u.com