Das OPC ABC    OPC-Spezifikationen    OPC-Tools    Kurse / Workshop   
Suchen
OPC UA
OPC DA (Data Access)
OPC HDA (Historical Data Access)
OPC A/E /Alarms and Events)
OPC XML DA
OPC DX (Data eXchange)


OPC UA

Einleitung

OPC Unified Architecture, kurz OPC UA, ist die neuste aller OPC-Spezifikationen der OPC Foundation und unterscheidet sich erheblich von ihren Vorgängern. Nach über drei Jahren Spezifikationsarbeit und einem Jahr Prototypimplementierung wurde die erste Version der Unified Architecture im Herbst 2006 verabschiedet. Im Februar 2009 wurde eine überarbeitete Version der Teile 1-5 und 8 sowie die erste Version der Teile 6 und 7 veröffentlicht. Die ursprüngliche Bindung an COM/DCOM hat zwar einen großen Beitrag zur Verbreitung von OPC geleistet, hatte jedoch auch entscheidende Nachteile: 

  • Häufige Konfigurationsprobleme von DCOM
  • Keine konfigurierbaren Timeouts
  • Bindung an das Windows-Betriebssystem
  • Keine "echte" Security
  • Keine Kontrolle, was passiert (COM/DCOM ist eine Blackbox, Entwickler haben keinen Quellcode und sind Fehlern ausgeliefert)

Aus diesen und weiteren Gründen hat man sich dazu entschieden, einen eigenen Kommunikationsstack für OPC UA zu entwickeln, welcher COM/DCOM ersetzt. Die wichtigsten Merkmale dieses Kommunikationsstacks sind:

  • Portable ANSI-C-Implementierung
  • Skalierbarkeit von Embedded-Controllern bis zu Mainframes
  • Der Stack kann sowohl für Multithreaded-Betrieb als auch für den Singlethreaded/Singletask-Betrieb kompiliert werden, was wichtig für die Portierung auf Embedded-Geräte ist.
  • Eine eigene Security-Implementierung, basierend auf den neuesten Standards, sorgt für "echte" Security.
  • Konfigurierbare Timeouts für jeden Service
  • Chunking von großen Datenpaketen

Dieser Kommunikationsstack stellt aber nur den Anfang vieler Neuerungen dar. Die OPC-UA-Architektur ist eine Service-orientierte Architektur (SOA) und ist aufgeteilt in mehrere logische Ebenen.

OPC-UA-Architektur

Alle von OPC definierten Base-Services sind abstrakte Methodenbeschreibungen, sind protokollunabhängig und bilden die Basis für die gesamte OPC-UA-Funktionalität.

Die Transportschicht setzt diese Methoden in ein Protokoll um, d. h. es serialisert/deserialisiert die Daten und sendet dieses über das Netz. Momentan sind zwei Protokolle dafür vorgesehen: ein binäres, hoch optimiertes und performantes TCP-Protokoll und ein auf Webservice basierendes Protokoll. Weitere Protokolle sind möglich und können bei Bedarf ergänzt werden.

Das OPC-Informationsmodell ist nicht mehr nur eine Hierarchie aus Ordnern, Items und Propertys. Es ist ein sogenanntes Full-Mesh-Network aus Nodes, mit dem nun auch alle Arten von Metainformationen und Diagnoseinformationen übertragen werden können. Ein Node lässt sich am ehesten mit einem Objekt in der objektorientierten Programmierung vergleichen. Ein Node kann Attribute besitzen, die gelesen werden können (Data Access (DA), Historical Data Access (HDA)), Methoden, die aufgerufen werden können (Commands), und Events, die geschickt werden können (AE, DA DataChange). Diese Nodes werden sowohl für die Nutzdaten als auch alle anderen Arten von Metadaten verwendet. Der damit modellierte OPC-Adressraum beinhaltet nun auch ein Typmodell, mit dem sämtliche Datentypen beschrieben werden.

Darauf aufsetzend spezifizieren verschiedene andere Organisationen wie z. B. EDDL eigene Informationsmodelle. Clients haben die Möglichkeit, zu überprüfen, welche sogenannten "Profile" ein Server unterstützt. Damit kann überprüft werden, ob ein Server nur DA-Funktionalität unterstützt oder aber auch AE, HDA etc. Es kann aber auch gelesen werden, ob ein Server z. B. das EDDL-Profil unterstützt, und somit weiß ein Client, dass auch EDDL-spezifische Gerätebeschreibungen verfügbar sind. Weitere neue und wichtige Feature von OPC UA sind: 

  • Redundanz Unterstützung
  • Heartbeat zur Verbindungsüberwachung in beide Richtungen, d. h. sowohl Server als auch Client bemerken Unterbrechungen.
  • Buffering von Daten und Acknowlegements von übertragenen Daten. Verbindungsunterbrechungen führen nicht mehr zu Datenverlust. Verlorene Daten können erneut angefordert werden.
Kontakt  |  Impressum  |  Sitemap