Post on 25-Sep-2019
Middleware in Automatisierungssystemen
Fakultät für Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 2
Middleware
„Der industrielle Software-Klebstoff“
Fakultät für Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik
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.“
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 4
Umgebung von Middleware
Schnittstelle zwischen Softwaresystemen
Keine direkte Nutzerinteraktion
Skalierbarkeit der Hardware
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 13
IEC 61512 (ISA-88)
Terminologie und Modelle
• verfahrenstechnische Anlage
• Instrumentierung
• Prozeduren, Rezepte
Relationales Datenmodell • Entitäten
• Attributen
• Relationen
Erweiterung • Attributausprägungen
Urbas (c) 2008-2013 VL PLT-1:: Middleware in
Automatisiserungssystemen 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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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.
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 16
OPC-UA
Beispiel für eine industrielle Middleware Eine service-orientierte Architektur für industrielle Anwendungen
Fakultät für Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik
00 Agenda
01 – Einführung
02 – Architektur
03 – Transport
04 – OPC UA Datenmodell
05 - OPC UA Base Services
06 - Base Information Model
07 - Ausblick
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 18
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
01 Einführung
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
Geschichte 1/2
Folie 19
01 Einführung
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 20
Classic OPC 1/2
01 Einführung
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
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 21
Classic OPC 2/2
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
01 Einführung
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
Geschichte 2/2
Folie 22
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
01 Einführung
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
Urheber
Folie 23
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
01 Einführung
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
Kooperationspartner
Folie 24
01 Einführung
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 25
Einordnung in Automatisierungspyramide
Polke, Prozessleittechnik, Oldenburg 1994
OP
C
OP
C U
A
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
01 Einführung Anwendungsdomäne
Adv. ControlHMI
Human Machine Interface
MESManufactoring Execution
System
SCADASupervisory Control
and Data Acquisition
Batch
Manufacturing, Production and Maintenance
Corporate Enterprise
OPC UA
OPC UA
OPC UA Control
PLCDCS
IndustrialNetworks
DataAcquisition
...
Folie 26
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
01 Einführung
• 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
Eigenschaften
Folie 27
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
01 Einführung Spezifikation – IEC 62541
Folie 28
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
02 Architektur OPC-UA Architektur
Folie 29
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
02 Architektur OPC-UA Server-Architektur
Folie 30
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
02 Architektur OPC-UA Client-Architektur
Folie 31
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
02 Architektur
• 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
Eigenschaften
UA Client
OPC UA Client SDK
OPC UA Stack
OPC UA Stack
OPC UA Server SDK
UA Server
Network
C/C
++
.NE
TJava
C/C
++
.NE
TJava
Folie 32
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
03 Transport Technology Mapping
XML Web Services
TCP/IP
HTTP(S)
SOAP 1.2
WS Secure Conversation
UA XML UA Binary
UA Secure Conversation
UA TCP
SOAP/HTTP with UA Binary
Native Binary
Encoding / Decoding
Security
Transportation
Folie 33
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
03 Transport
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
Eigenschaften
Folie 34
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
03 Transport Sicherheitsarchitektur
Folie 35
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
03 Transport
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
Sicherheitseigenschaften
Folie 36
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
04 OPC UA Datenmodell
• 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
Objektmodell
Folie 37
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
04 OPC UA Datenmodell
• 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
Knotenmodell
Folie 38
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
04 OPC UA Datenmodell Knotenklassen
Folie 39
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
04 OPC UA Datenmodell
• 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
Adressraum
Folie 40
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
05 OPC UA Base Services
• 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
Eigenschaften
Folie 41
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
05 OPC UA Base Services
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
Service Sets
Folie 42
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
05 OPC UA Base Services
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
Service Sets
Folie 43
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
05 OPC UA Base Services
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
Service Sets
Folie 44
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
06 OPC UA Base Information Model
• 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
Eigenschaften
Folie 45
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
06 OPC UA Base Information Model Data Type Hierarchie
Folie 46
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
06 OPC UA Base Information Model Reference Type Hierarchie
Folie 47
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
06 OPC UA Base Information Model Event Type Hierarchie
Folie 48
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
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.
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 50
Urbas (c) 2008-2013 VL PLT-1:: Middleware in Automatisiserungssystemen
Folie 51