Fakultät für Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik Middleware in Automatisierungssystemen VL Prozessleittechnik I (SS 2013) Professur für Prozessleittechnik
Agenda Middleware Begriff Motivation Aufgaben und Funktion Anforderungen OPC UA Einführung Architektur Transport Datenmodell Dienste Informationsmodell Folie 2
Fakultät für Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik Middleware Der industrielle Software-Klebstoff
Begriffsbestimmung Middleware Begriff aus der Informatik [ ]: Schicht zwischen Anwendungen und verteilten Plattformen, die in einem gewissen Maß die Verteilung von Daten, die Verarbeitung und die Koordination von verteilten Prozessen vor den Anwendungen verbirgt. Middleware für Automatisierungstechnik [VDI/VDE 2657-1]: Softwareschicht zur Verbindung von Komponenten einer automatisierungstechnischen Anwendung, beispielsweise Anlagen, Maschinen, Steuerungen, Leitsysteme oder Algorithmen. Folie 4
Umgebung von Middleware Schnittstelle zwischen Softwaresystemen Keine direkte Nutzerinteraktion Skalierbarkeit der Hardware www.embedded-systems.portal.com Folie 5
Ausgangssituation Vielzahl an Komponenten und Applikationen in Automatisierungssystemen Höherer Vernetzung auf Grund von Steigender Komplexität Zunehmende Leistungsfähigkeit einzelner Systemelemente Starke Verbreitung des Internets Aufbruch der Hierarchie der Automatisierungspyramide Folie 6
Aufgaben und Funktionen Applikationssicht: Teilnehmerübergreifende, einfache und übersichtliche Anwendungslogik Programmierung ausschließlich über Middleware => Unabhängigkeit von konkreter Implementierung Hardwaresicht: Einfache Interfaces (enden an Middleware-Schnittstelle) Unabhängigkeit von Applikation Folie 7
Vorteile Abstraktion Einheitliche Abbildung gleichartiger Funktionen Eindeutige Schnittstellen Befördern arbeitsteilige Prozesse Getrennte Entwicklung und Wiederverwertung von Anwendungen und Schnittstellen Vereinfachung und Reduktion der zu entwickelnden Schnittstellen Geringer anwendungsspezifischer Anteil Übersichtlichkeit Flexibilität Erweiterbarkeit Wartbarkeit Zuverlässigkeit Folie 8
Anforderungen an eine Middleware GMA FA 5.16 Abstraktion der Kommunikation Abbildung des Daten- und Informationsraums Selbstbeschreibung und Abfragen Geschäftslogik/Verhalten Interoperabilität Flexibilität Wartbarkeit Zuverlässigkeit Leistung Zertifizierbarkeit Folie 9
Abbildung des Daten- und Informationsraums Definition der auszutauschenden Daten Syntax (transparent für Nutzer) Semantik Fest definierte Modelle Einfacher Einstieg der Anwendungsentwicklung Semantische Erosion ( Missbrauch von Feldern) Generische Modelle Erweiterbarkeit des Informationsmodells Abstraktion Modellierung durch Betreiber Folie 10
IEC 62424 (CAEX) CAEX als Metamodell Beliebige Anlagenmodelle mit beliebigen Eigenschaften Oberklassen Basiselement Schnittstelle Komponente Rollen- und Bibliothekenkonzept IEC 62424 Informationsaustausch zwischen Verfahrens- und Automatisierungstechnik PlanthierarchyItem PCE-Request SignalLine SignalInterface ProcessConnectionInterface Folie 11
ISO 15926 (Lifecycle Information Exchange) Ontologie Wurzelelement thing Zeitlich, räumliche und funktionale Aspekte Lebenszyklus einer verfahrenstechnischen Anlage Stark ausgeprägte Hierarchie Abstrakte Basisentitäten Klasse Beziehung Spezialisierung Multidimensionalität Folie 12
IEC/DIN EN 61131-3 (SPS) Progammiermodell für Speicherprogrammierbare Steuerungen (SPS) Informationsmodell für aktuellen Zustand einer SPS Konfiguration Ressourcen Globale Variablen Tasks Programme Variablen Funktionblöcke Variablen Mechanismen Typisierung Beziehungen Hierarchie Folie 13
IEC 61512 (ISA-88) Terminologie und Modelle verfahrenstechnische Anlage Instrumentierung Prozeduren, Rezepte Relationales Datenmodell Entitäten Attributen Relationen Erweiterung Attributausprägungen Folie 14
IEC 62264 (ISA-95) Modellierung von Produktionsprozessen Modelle Hierarchiemodelle Automatisierungspyramide Datenflussmodelle Produktionsrelevante Funktionen Objektmodelle Teilprozesse Methoden UML-Klassendiagramm Aggregation Assoziation Ausgestalten von Properties zur Erweiterung Folie 15
Literatur VDI/VDE 2657-1: Middleware in der Automatisierungstechnik - Grundlagen, 2011. DIN 62541-1: OPC Unified Architecture - Teil 1: Übersicht und Konzepte, 2011. Mahnke, W., Gössling, A., Graube, M., Urbas, L., 2011. Information modeling for middleware in automation, in: Proceedings of IEEE 16th Conference on Emerging Technologies & Factory Automation (ETFA 2011). IEEE, pp. 1 7. Mahnke, W., Gössling, A., Urbas, L., 2011. Informationsmodellierung für Middleware in der Automatisierung. Presented at the Automation 2011, Baden-Baden. Katasonov, A., Kaykova, O., Khriyenko, O., Nikitin, S., Terziyan, V., 2008. Smart semantic middleware for the internet of things, in: Proceedings of the 5-th International Conference on Informatics in Control, Automation and Robotics. pp. 11 15. Folie 16
Fakultät für Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik OPC-UA Beispiel für eine industrielle Middleware Eine service-orientierte Architektur für industrielle Anwendungen
00 Agenda 01 Einführung 02 Architektur 03 Transport 04 OPC UA Datenmodell 05 - OPC UA Base Services 06 - Base Information Model 07 - Ausblick Folie 18
01 Einführung Geschichte 1/2 1987 Windows 2.0, Einführung von Dynamic Data Exchange (DDE) 1990 Windows 3.0, Einführung von OLE 1.0 und COM als Nachfolger von DDE 1993 OLE 2.0, Erweiterung von COM zu DCOM 1996 OPC Specification 1.0, Gründung OPC Foundation bis 2001 Spezifikationen DA 2.0, A&E, HDA, Batch, Security Folie 19
01 Einführung Classic OPC 1/2 OPC Data Access (DA) Zugriff auf aktuelle Prozesswerte Auswahl von OPC-Items aus OPC-Groups Zyklisches Auslesen Nur Übertragung neuer Informationen Wert Zeitstempel Qualität (accurate, not available, unknown) Weit verbreitet (99% aller OPC-Installationen) Unterbau für weitere OPC-Interfaces Folie 20
01 Einführung Classic OPC 2/2 OPC Alarms & Events (A&E) Übermittlung von Ereignis- und Alarmmeldungen Verschiedene Quellen Subscriptions Clientseitige Filterung OPC History Data Access (HDA) Archiv historischer Daten Browser Auswahl bestimmter OPC-Items Aggregationsfuntkionen Modifikationsmöglichkeiten Weitere Interfaces OPC Security, OPC Batch, OPC Complex Data, OPC Data exchange Folie 21
01 Einführung Geschichte 2/2 2002 Microsoft stoppt DCOM-Entwicklung und stellt.net vor, OPC.NET API 2003 OPC XML-DA 1.0, erste SOAP-Schnittstelle, plattformübergreifend Gründung der Unified Architecture Workgroup 2005 OPC-UA Specification RC1 bis 2009 Step-by-Step-Release der OPC UA Specification Parts Folie 22
01 Einführung Urheber OPC-Foundation Derzeit über 350 Mitglieder, darunter ABB, Siemens, Hitachi, Honeywell, Microsoft, Yokogawa The OPC-Foundation is dedicated to ensuring interoperability in automation by creating and maintaining open specifications that standardize the communication of acquired process data, alarm and event records, historical data, and batch data to multi-vendor enterprise systems and between production devices. Production devices include sensors, instruments, PLCs, RTUs, DCSs, HMIs, historians, trending subsystems, alarm subsystems, and more as used in the process industry, manufacturing, and in acquiring and transporting oil, gas, and minerals. [http://www.opcfoundation.org/default.aspx/01_about/01_history.asp?mid=aboutopc] Enge Kooperation mit anderen Organisationen, deren Informationsmodelle über OPC-UA transportiert werden sollen Folie 23
01 Einführung Kooperationspartner Batch Control - ISA S88 - IEC 61512 MES - ISA S95 - IEC 62264 Substations - IEC TC57 - IEC 61850 ECT / EDD - ISA -IEC 61804 FDT - ISA -IEC 62453 FDI Field Device Integration Open O&M - exchange of Operations & Maintenance (O&M) data Folie 24
01 Einführung Einordnung in Automatisierungspyramide OPC OPC UA Polke, Prozessleittechnik, Oldenburg 1994 Folie 25
01 Einführung Anwendungsdomäne Corporate Enterprise OPC UA Manufacturing, Production and Maintenance OPC UA Adv. Control HMI Human Machine Interface MES Manufactoring Execution System SCADA Supervisory Control and Data Acquisition Batch OPC UA Control PLC DCS Industrial Networks Data Acquisition... Folie 26
01 Einführung Eigenschaften Vereinheitlichung aller Spezifikationen spezifikationsübergreifendes Datenmodell einheitlicher Namensraum hoch performantes Binärprotokoll echte Security erweiterbare Basis-Services schlanke ANSI-C Implementierung für Embedded-Systeme Folie 27
01 Einführung Spezifikation IEC 62541 Folie 28
02 Architektur OPC-UA Architektur Folie 29
02 Architektur OPC-UA Server-Architektur Folie 30
02 Architektur OPC-UA Client-Architektur Folie 31
C/C++.NET Java C/C++.NET Java 02 Architektur Eigenschaften Integration komplexer Daten Erweiterter Adress- und Datenraum Leistungsfähige, erweiterbare Services Robuste Kommunikation Skalierbarkeit von Embedded bis ERP Zuverlässigkeit und Redundanz Sichere Kommunikation Generische Simulation und Diagnose Generisches Aggregating Server-Konzept UA Client OPC UA Client SDK OPC UA Stack Network OPC UA Stack OPC UA Server SDK UA Server Folie 32
03 Transport Technology Mapping XML Web Services SOAP/HTTP with UA Binary Native Binary UA XML WS Secure Conversation SOAP 1.2 UA Binary UA Secure Conversation UA TCP Encoding / Decoding Security HTTP(S) Transportation TCP/IP Folie 33
03 Transport Eigenschaften XML Web Services Kompatibilität durch Verwendung der W3C-Standards Verbindung über HTTP(S) Port 80(443) Relativ großer Overhead, geringe Performance Native Binary Genau spezifiziert, daher hohe Interoperabilität mit Geräten, die das Protokoll beherrschen Hohe Performance, geringer Ressourcenverbrauch Verbindung über TCP Port 4840 bzw. über Tunnel SOAP/HTTP with UA Binary Kompromisslösungen zwischen Kompatibilität und Performance Folie 34
03 Transport Sicherheitsarchitektur Folie 35
03 Transport Sicherheitseigenschaften UA Security WS Secure Conversation oder UA Secure Conversation als binäres Aquivalent Authentifizierung, Autorisierung, Vertraulichkeit, Datenintegrität, Prüfbarkeit und Verfügbarkeit auf Basis der Web Service Security Spezifikationen Security auf Transport Level (Verschlüsselung), Application Level (Zertifikate) und User Level (Benutzerauthentifizierung) Robustheit Verbindungsüberwachung in beide Richtungen (Heartbeat, Acknowledgement) Datenpufferung und Redundanz Folie 36
04 OPC UA Datenmodell Objektmodell Sämtliche Elemente im OPC UA Adressraum sind Objekte Objekte werden definiert durch Variablen, Methoden und Events Objekte und deren Komponenten werden als ein Satz von Knoten repräsentiert Folie 37
04 OPC UA Datenmodell Knotenmodell Elemente des Objektmodells sind im Adressraum als Knoten dargestellt Jeder Knoten gehört einer Knotenklasse an, die jeweils ein bestimmtes Element des Objektmodells darstellt Knoten werden durch Attribute beschrieben und durch Referenzen verknüpft Folie 38
04 OPC UA Datenmodell Knotenklassen Folie 39
04 OPC UA Datenmodell Adressraum Sämtliche Objekte werden durch Knoten im Adressraum dargestellt Der Server kann Teile des Adressraumes als eine View definieren und bestimmten Clients verschiedene Views anbieten Der Adressraum ermöglicht einen einheitlichen Zugriff auf Daten (DA), Historische Daten (HA), Alarme und Zustände (AC) sowie auf Funktionen (Prog) OPC UA ermöglicht es, Knoten innerhalb des Adressraumes sowie innerhalb eines anderen Adressraumes zu referenzieren Folie 40
05 OPC UA Base Services Eigenschaften OPC UA Service Definitionen sind abstrakte Beschreibungen, keine Implementierungsspezifikationen Ein Service wird definiert durch seine Request- und Response-Messages 34 definierte Services sind in 10 Service Sets organisiert Sämtliche verfügbaren Services eines Servers sind im Server-Profil definiert Folie 41
05 OPC UA Base Services Service Sets Discovery Service Set Dienste zum Feststellen der vorhandenen Server und Endpunkte SecureChannel Service Set Dienste zum Öffnen und Schließen sicherer Kommunikationskanäle Session Service Set Dienste für den Client zum Erzeugen und Verwalten einer Session NodeManagement Service Set Dienste zum Erzeugen und Löschen von Knoten und Referenzen Folie 42
05 OPC UA Base Services Service Sets View Service Set Dienste für den Client zum Navigieren im Adressraum oder im View Query Service Set Dienste für Suchanfragen im Adressraum Attribute Service Set Dienste für den Zugriff auf Attribute von Knoten Method Service Set Dienst für den Aufruf einer Methode eines Objektes Folie 43
05 OPC UA Base Services Service Sets MonitoredItem Service Set Dienste für den Client zum Erzeugen und Verwalten von Monitored Items Monitored Items dienen zur Anmeldung für Daten- und Ereignisbenachrichtigungen Subscription Service Set Dienste für den Client zum Erzeugen und Verwalten von Subscriptions Subscriptions steuern die Art und Weise der Daten- und Ereignisbenachrichtigung Folie 44
06 OPC UA Base Information Model Eigenschaften UPC UA ermöglicht Typdefinitionen mit Eigenschaften und Semantik OPC UA definiert die Standard-Informationsmodelle DA, HA, AC und Prog und ermöglicht die Definition eigener Informationsmodelle basierend auf UML UA companion standards definieren Abläufe zur Definition eigener Informationsmodelle Folie 45
06 OPC UA Base Information Model Data Type Hierarchie Folie 46
06 OPC UA Base Information Model Reference Type Hierarchie Folie 47
06 OPC UA Base Information Model Event Type Hierarchie Folie 48
07 Ausblick OPC UA Middleware entwickelt sich zum De-Facto Standard in der Automatisierung. Comes next: Adaption von Informationsmodellen an OPC UA Erste Ansätze zur Integration von ISA95 EDDL Integration durch FDI Folie 49
07 Literatur Mahnke, W., Leitner, S.-H., Damm, M., 2009, OPC Unified Architecture, Springer Verlag. DIN 62541-1: OPC Unified Architecture - Teil 1: Übersicht und Konzepte, 2011. Folie 50
Folie 51