189 56 7MB
German Pages 160 [168] Year 2018
Birgit Vogel-Heuser (Hrsg.) Softwareagenten in der Industrie 4.0
Weitere empfehlenswerte Titel Automatisierungstechnik, 4. Auflage J. Lunze, 2016 ISBN 978-3-11-046557-0, e-ISBN (PDF) 978-3-11-046562-4, e-ISBN (EPUB) 978-3-11-046566-2
Computational Intelligence, 2. Auflage A. Kroll, 2016 ISBN 978-3-11-040066-3, e-ISBN (PDF) 978-3-11-040177-6, e-ISBN (EPUB) 978-3-11-040215-5
Handbuch der Künstlichen Intelligenz, 5. Auflage G. Görz, J. Schneeberger, U. Schmid (Hrsg.), 2013 ISBN 978-3-486-71307-7
at- Automatisierungstechnik G. Bretthauer, 12 Hefte/Jahr ISSN 0178-2312, e-ISSN 2196-677X
Softwareagenten in der Industrie 4.0 | Herausgegeben von Birgit Vogel-Heuser
Herausgeberin Prof. Dr.-Ing. Birgit Vogel-Heuser Technische Universität München Lehrstuhl Automatisierung und Informationssysteme Fakultät für Maschinenwesen Boltzmannstraße 15 85748 Garching bei München [email protected]
ISBN 978-3-11-052445-1 e-ISBN (PDF) 978-3-11-052705-6 e-ISBN (EPUB) 978-3-11-052458-1 Library of Congress Cataloging-in-Publication Data Names: Vogel-Heuser, Birgit, editor. Title: Softwareagenten in der industrie 4.0 / Birgit Vogel-Heuser, editor. Description: First edition. | Berlin/Boston : Walter de Gruyter GmbH, [2018] | Includes bibliographical references and index. Identifiers: LCCN 2018010937 (print) | LCCN 2018013733 (ebook) | ISBN 9783110527056 (pdf) | ISBN 9783110524451 (softcover : alk. paper) | ISBN 9783110524581 (epub) Subjects: LCSH: Operations research–Data processing. | Support services (Management)–Data processing. | Internet of things. | Artificial intelligence. | Raspberry Pi (Computer) Classification: LCC T57.6 (ebook) | LCC T57.6 .S626 2018 (print) | DDC 658.4/034–dc23 LC record available at https://lccn.loc.gov/2018010937 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.dnb.de abrufbar. © 2018 Walter de Gruyter GmbH, Berlin/Boston Umschlaggestaltung: PhonlamaiPhoto/iStock/Getty Images Satz: le-tex publishing services GmbH, Leipzig Druck und Bindung: CPI books GmbH, Leck www.degruyter.com
Einleitung In Zeiten globaler Märkte und dem damit verbundenen weltweiten Wettbewerb, so wie immer kürzer werdenden Produktlebenszyklen bei gleichzeitig steigenden An forderungen an Produkte, stehen Produzenten vor wachsenden Herausforderungen. Zudem fordert auch die dezentrale Steuerung des zukünftigen Energiemanagements immer agilere und leichter anpassbare Automatisierungssysteme, um die geforderte Flexibilität zu erreichen. Dies bedeutet gerade für die Entwickler klassischer Produk tions- und Fertigungsanlagen große Herausforderungen. Doch auch gänzlich ande re Domänen sind von diesem Wandel betroffen: So soll beispielsweise Strom gleich mäßiger in Netzen verteilt und eingespeist werden und in der Gebäudeautomation sollen sich Häuser möglichst energieeffizient selbst regulieren können. Einen oft ge nannten Lösungsvorschlag derartiger Problemstellungen stellen „Agentensysteme“ dar. Ein Agentensystem besteht aus einer Menge von Agenten – einer abgrenzbare Hardware und/oder Software mit definierten Zielen – die interagieren, um gemein sam eine oder mehrere Aufgaben zu erfüllen. Mögliche Realisierungen eines Agen tensystems wurden in der Vergangenheit bereits von vielen Forschungseinrichtungen sowie Unternehmen demonstriert. Mit Hilfe eines Agentensystems können Produkti onssysteme flexibel an die sich wandelnden Anforderungen des Produkts, Prozesses oder der Ressource angepasst werden. Ähnlich, wie die Erfindung der Dampfmaschi ne das industrielle Zeitalter einläutete und die erste Montagelinie bei Ford den Weg zur Massenproduktion ebnete, soll in der Industrie 4.0 eine neue Ära der industri ellen Produktion anbrechen. Fabriken sollen miteinander verknüpft sein, aber auch einzelne Produktionsbereiche, sowie Maschinen und Anlagen sollen miteinander in Kontakt stehen. Unter anderem mit Hilfe von Softwareagenten ist diese Vision keine reine Utopie mehr, sondern rückt in den Rahmen des Machbaren. Der Schwerpunkt des VDI/VDE-GMA Fachausschusses 5.15 „Agentensysteme“ ist die Entwicklung agentenbasierter Applikationen in der Automatisierungstechnik. Im Fachausschuss beteiligen sich Mitglieder aus Universitäten und Forschungsinstituten sowie Hersteller und Anwender von Automatisierungssystemen an der Entwicklung neuartiger Ansätze, Anwendungen und Methoden von Agentensystemen in der Au tomatisierungstechnik. Als Ergebnis der Arbeiten liegen bereits drei Richtlinienblät ter vor: VDI/VDE 2653 Blatt 1–3: Agentensysteme in der Automatisierungstechnik – Grundlagen, -Entwicklung und -Anwendung [1–3], die als Entscheidungshilfe bei der Erarbeitung und Anwendung von Agentensystemen in der Automatisierungstechnik dienen.
https://doi.org/10.1515/9783110527056-201
VI | Einleitung
Im Rahmen des gemeinschaftlichen deutschlandweiten universitären Industrie 4.0-Demonstrators „myJoghurt¹“ konnten erste Agentensysteme bereits erfolgreich in Betrieb genommen werden. Für die Quantifizierung der gewonnenen Flexibilität so wie Verfügbarkeit für ein Unternehmen durch die Einführung eines Agentensystems forscht der GMA FA 5.15 aktuell an Messmöglichkeiten, sogenannten Metriken. Durch die Anwendung verschiedener Metriken können Unternehmen bereits erste Berech nungen vornehmen, bei welcher Domäne sowie Produktionsanlage sich der Einsatz eines Agentensystems für das Unternehmen lohnt. Unabhängig von der jeweiligen An wendungsdomäne konnten Muster (engl. Patterns) für das Agentensystem und Agen ten an sich identifiziert werden. Diese Muster werden basierend auf bereits etablierten Mustern für verteilte Systeme (vgl. [4]) mit Hilfe von 14 Kriterien klassifiziert (siehe Ta belle 1). Neben der Klassifikation der Muster eines Agentensystems sind Muster für die Tei le des Systems, also die einzelnen Agenten, festzulegen. Dazu wird derzeit jedes der zwanzig vorliegenden Agentensysteme hinsichtlich der eingebundenen Agentenmus ter verglichen und eine einheitliche Terminologie entwickelt. Die Ergebnisse sollen in das Richtlinienblatt 4 einfließen. Eine erste Untersuchung von zehn Agentensystemen, die von Mitgliedern des GMA FA 5.15 durchgeführt wurde, weist als Hauptmotivation für die Einführung eines Agentensystems eine verbesserte Flexibilität (Flexibility) des Systems (acht von zehn Ansätze) auf gefolgt von der Verbesserung der Rekonfigurierbarkeit (Reconfigurabili ty), Zuverlässigkeit (Reliability und Dependability) sowie Anpassbarkeit (Adaptability) (siehe Abbildung 1). Die hierbei angewandten Methoden und Techniken zur Errei chung dieser Anforderungen lassen sich in zehn Kategorien einteilen. Durch die De zentralisierung der Steuerung, welche mit der Einführung eines Agentensystems ein hergeht, gewinnen insbesondere Methoden zur Kommunikation, Verhandlung und Organisation innerhalb eines Agentensystems zunehmend an Bedeutung. Unerläss lich für die industrielle Einführung eines Agentensystems ist zudem die Entwicklung einer Schnittstelle zwischen dem Agentensystem und den Benutzern. Die Entwick lung einer solchen Schnittstelle wurde in allen untersuchten Ansätzen fokussiert. Die Untersuchung verdeutlicht die hohen Analogien der Zielstellungen sowie die dafür angewandten Methoden und Techniken eines Agentensystems und bekräftigt die Er stellung eines Musterkatalogs, mit welchem Softwareagenten aus wiederkehrenden Mustern für die jeweilige spezifische Anwendungsdomäne entwickelt werden können.
1 Plattform Industrie 4.0 – Agentenbasierte Vernetzung von Cyber-Physischen Produktions systemen (CPPS): http://www.plattform-i40.de/I40/Redaktion/DE/Anwendungsbeispiele/265agentenbasierte-vernetzung-von-cyber-physischen-produktionssystemen-tu-muenchen/ agentenbasierte-vernetzung-von-cyber-physischen-produktionssystemen.html
Einleitung
|
VII
Tab. 1: Klassifizierungskriterien für Muster von Multiagentensystemen (Kriterien mit * basieren auf Eckert et al. [4]). Klassifizierungs kriterium
Beschreibung
Beispiel
Musterkategorie*
Vorteilhafte Funktionsmuster: Systemeigenschaften die durch Einsatz eines MAS erreicht werden können, wie bspw. Verbesserung der Flexibilität bzw. Anpassungsfähigkeit
Flexibilitätsmuster, Anpassungsfähigkeitsmuster, Zuverlässigkeitsmuster, Rekonfigurierbarkeitsmuster, Kommunikationsmuster
Muster-Typ*
Bezeichnung des Muster-Typen: Technologieunabhängige Aufgabe des MAS (klassifiziert)
Fehlertolerante Sensorik
Muster-Name*
Name des MAS Musters
Softsensor
Musterbeschreibung
Beschreibung der logischen Struktur (Welche Komponenten/Agenten beinhaltet das Muster?)
MAS mit 4 Elementen, die die Identifikation fehlerhafter Sensorik und deren automatische modellbasierte Ersetzung durch Softsensoren mit Zuverlässigkeit x % erlauben
Kontext*/ Anwendungs bereich
Anwendungskontext des Entwurfsmusters
Verschiedene Domänen, z. B. Logistik, Verfahrenstechnik
MAS-Architektur*
Ansatz für Zustandekommen des Agentenverhaltens
Reaktiv / kognitiv / hybrid
Lösung
Graphische Darstellung der MAS-Architektur
Darstellung der Komponenten des MAS (Notation Klassendiagramm)
Wissensbasis und -verarbeitung
Wie ist das Wissen hinterlegt? Modelle, Regeln
Modell aus Engineering, Ontologie, Metamodell-Datenstruktur
Wie erfolgt die Wissensverarbeitung? Mit welchen Methoden?
Inferenzmechanismen für Ontologien
Lernen/Wissens akquisition
Methoden und Techniken zum Lernen der Fähigkeiten, der Wissensbasis
Maschinelles Lernen, neuronale Netze
Implementierung
Technologiespezifische Darstellung des MAS (Plattform, Sprachen)
Modell: SysML, Implementierungssprache IEC 61131-3
Echtzeiteigenschaften Erfüllung der Anforderungen an Rechtzeitigkeit und Gleichzeitigkeit
Verwendung Ersatzsensor < 2 SPS-Zyklen < 40 ms
Verlässlichkeit
Anforderungen an Zuverlässigkeit, Wartbarkeit, Verfügbarkeit, Security und Safety
Softsensor kann Sensor mit Zuverlässigkeit von 85 % ersetzen
Autonomie
Eigenständigkeit/Unabhängigkeit bei Entscheidungen
Sensorersetzung nicht autonom, weil Anzahl der ersetzbaren Sensoren begrenzt
Andere
Weitere Kommentare
VIII | Einleitung
Abb. 1: Gegenüberstellung verschiedener Agentenansätze.
Mit dem vorliegenden Sammelwerk sollen unsere Erfahrungen bei der Entwicklung sowie dem Einsatz von Agenten zur Umsetzung des Paradigmas „Industrie 4.0“ aufge zeigt und zusammengefasst werden. Die Beiträge stammen von Mitgliedern des Fach ausschusses 5.15 „Agentensysteme“ und bieten Einblicke in ein breites Spektrum aus Automatisierungstechnik und Energiemanagement. Ob in der Anlagen- oder Gebäudeautomatisierung, im Energiemanagement oder in der Intralogistik – die Einsatzgebiete von Softwareagenten sind mannigfach. Die hier vorgestellten Beiträge stellen lediglich einen kleinen Ausschnitt dieser Mög lichkeiten dar, bieten aber einen repräsentativen Überblick über Chancen und Her ausforderungen von Agenten. Die in den letzten Jahrzehnten erfolgreich realisierten Agentensysteme werden somit systematisch zugänglich gemacht und bieten eine hervorragende technologische Basis für Industrie 4.0 bzw. Cyber-Physische Produkti onssysteme. Garching, Januar 2018 Birgit Vogel-Heuser, Sprecherin FA 5.15 Agentensysteme
Einleitung
| IX
Literatur [1] [2] [3] [4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12] [13] [14]
VDI/VDE 2653 Blatt 1 (2010-06) Agentensysteme in der Automatisierungstechnik – Grundla gen. VDI/VDE 2653 Blatt 2 (2012-01) Agentensysteme in der Automatisierungstechnik – Entwick lung. VDI/VDE 2653 Blatt 3 (2012-03) Agentensysteme in der Automatisierungstechnik – Anwen dung. K. Eckert, T. Hadlich, T. Frank, A. Fay, C. Diedrich and B. Vogel-Heuser, „Design Patterns for Distributed Automation Systems with Consideration of Non-Functional Requirements,“ Inter national Conference on Emerging Technologies and Factory Automation, 2012, pp. 1–7. A. Wannagat, „Entwicklung und Evaluation agentenorientierter Automatisierungssysteme zur Erhöhung der Flexibilität und Zuverlässigkeit von Produktionsanlagen“, Dissertation, Lehrstuhl AIS, Fakultät Maschinenwesen, Technische Universität München, Sierke Verlag, 2010. D. Schütz, M. Schraufstetter, J. Folmer, B. Vogel-Heuser, T. Gmeiner and K. Shea, „Highly reconfigurable production systems controlled by real-time agents, International Conference on Emerging Technologies and Factory Automation, Toulouse, 2011, pp. 1–8. S. Ulewicz, D. Schütz and B. Vogel-Heuser, „Design, implementation and evaluation of a hybrid approach for software agents in automation“, International Conference on Emerging Technologies and Factory Automation, Krakow, 2012, pp. 1–4. C. Legat, B. Vogel-Heuser, „A Multi-Agent Architecture for Compensating Unforeseen Failures on Field Control Level“. In: T. Borangiu, D. Trentesaux, A. Thomas (eds.), „Service Orientation in Holonic and Multi-Agent Manufacturing and Robotics. Studies in Computational Intelli gence“, Vol. 544. Springer, Cham., 2014. S. Rehberger, L. Spreiter, B. Vogel-Heuser, „An agent-based approach for dependable plan ning of production sequences in automated production systems“, Automatisierungstechnik (at), Vol. 66, Dezember, Oldenbourg Verlag, München, 2017. J. Fischer, „Agent-based Automation Systems for Material Flow Systems That Enable an Easy Re-configuration of Material Handling Modules“, Master’s thesis, Lehrstuhl AIS, Fakultät Maschinenwesen, Technische Universität München, 2017. M. Hoffmann, „Adaptive and Scalable Information Modeling to Enable Autonomous Decision Making for Real-Time Interoperable Factories,“ Dissertation, Fäkultat für Maschinenwesen, RWTH Aachen, 2017. S. Pech, „Agentenbasierte Informationsgewinnung für automatisierte Systeme“, Dissertation, Fakultät Elektrotechnik, Universität Stuttgart, 2014. D. Ryashentseva, „Agents and SCT based self* control architecture for production systems“, Dissertation, Institut IAF, Universität Magdeburg, 2016. A. Lüder, A. Calá, J. Zawisza, R. Rosendahl, „Design pattern for agent based production sys tem control – a survey“, IEEE Conference on Automation Science and Engineering, Xi’an, Chi na, 2017.
Inhalt Einleitung | V Autorenverzeichnis | XV Thomas Aicher, Daniel Regulin und Birgit Vogel-Heuser 1 Dynamische Anbindung und automatische Konfiguration modularer Intralogistiksysteme mittels Agenten | 1 1.1 Einleitung | 1 1.2 Anforderungen des modellbasierten Ansatzes | 3 1.3 Stand der Technik | 5 1.4 Modellbasierte Entwicklung von Modulen | 8 1.5 Evaluation der Rekonfigurationsdauer | 12 1.6 Zusammenfassung und Ausblick | 17 Literatur | 18 Theresa Beyer, Ramin Yousefifar, Karl-Heinz Wehking und Peter Göhner 2 Agentenbasierte Planung von Intralogistiksystemen | 21 2.1 Einleitung | 21 2.2 Stand der Technik in der Planung von Intralogistiksystemen | 23 2.3 Struktur von Intralogistiksystemen | 25 2.4 Assistenzsystem zur Planung von Intralogistiksystemen | 26 2.5 Wissensmodellierung | 30 2.6 Umsetzung mithilfe von Softwareagenten | 31 2.7 Realisierung des Prototyps | 35 2.8 Vereinfachtes Anwendungsbeispiel | 35 2.9 Fazit und Ausblick | 40 2.10 Danksagung | 41 Literatur | 41 Max Hoffmann, Tobias Meisen und Sabina Jeschke 3 Agent OPC UA | 43 3.1 Einleitung und Motivation | 43 3.2 Von der vertikalen Integration zu einer intelligenten Vernetzung | 47 3.3 Agent OPC UA – Ein skalierbarer Ansatz zur Integration von Multiagentensystemen in reale Produktionsanlagen | 55 3.4 Systemübergreifende Nutzung von Agenten zur intelligenten Produktionssteuerung | 59 3.5 Zusammenfassung und Ausblick | 64 Literatur | 65
XII | Inhalt
Thorsten Schöler, Sebastian Pröll, Lucas Kögel und Thomas Hanka 4 Software-Agenten zur Integration von Prozessen in der Fertigungs- und Gebäudeautomatisierung | 67 4.1 Einleitung | 67 4.2 Anwendungsfälle | 68 4.3 Systemarchitektur zur Sensordatenfusion | 74 4.4 Datenmodell | 76 4.5 Beispielhafte Prozesse | 79 4.6 Datenauswertung | 83 4.7 Zusammenfassung und Ausblick | 87 Literatur | 87 Alexander Faul, Theresa Beyer, Matthias Klein, Desirée Vögeli, Rene Körner und Michael Weyrich 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses | 89 5.1 Einleitung | 89 5.2 Aufbau der Modellanlage | 90 5.3 Agentenkonzept zur Steuerung | 93 5.4 Realisierung | 100 5.5 Anwendungsbeispiel | 102 5.6 Erweiterungen der Produktionsanlage | 105 5.7 Fazit | 106 Literatur | 107 Robert Brehm, Mareike Redder, Dmitry Kazakov und Cecil Bruce-Boye 6 Agentenbasierte Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem | 109 6.1 Zukünftige Energienetze | 109 6.2 Koordinierte Planung verteilter Speicherkapazitäten | 114 6.3 Implementierung der verteilten Steuerung durch eine verteilte Middleware | 119 6.4 Schlussbetrachtung | 123 Literatur | 124 Marco Schaarschmidt, Clemens Westerkamp und Hans Knöchel 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme | 125 7.1 Einleitung | 125 7.2 Anwendungsfälle und Anforderungen | 126 7.3 Anforderungen an die Architektur | 129 7.4 Stand der Technik | 131
Inhalt |
7.5 Architekturkonzept für ein intelligentes Sensor-Aktor-Netz | 134 7.6 Ergebnisse | 141 7.7 Fazit und Ausblick | 146 Literatur | 147 Stichwortverzeichnis | 149
XIII
Autorenverzeichnis Dipl.-Ing. Theresa Beyer Institut für Automatisierungstechnik und Softwaresysteme Pfaffenwaldring 47 70550 Stuttgart [email protected]
M. Sc. Rene Körner Institut für Automatisierungstechnik und Softwaresysteme Pfaffenwaldring 47 70550 Stuttgart
Professor Dr.-Ing. Dr. h. c. Karl-Heinz Wehking Institut für Fördertechnik und Logistik Holzgartenstr. 15b 70174 Stuttgart [email protected]
Professor Dr.-Ing. Michael Weyrich Institut für Automatisierungstechnik und Softwaresysteme Pfaffenwaldring 47 70550 Stuttgart [email protected]
M. Sc. Ramin Yousefifar Institut für Fördertechnik und Logistik Holzgartenstr. 15b 70174 Stuttgart [email protected] Professor Dr.-Ing. Dr. h. c. Peter Göhner Institut für Automatisierungstechnik und Softwaresysteme Pfaffenwaldring 47 70550 Stuttgart [email protected] Dipl.-Ing. Alexander Faul Institut für Automatisierungstechnik und Softwaresysteme Pfaffenwaldring 47 70550 Stuttgart [email protected] M. Sc. Matthias Klein Institut für Automatisierungstechnik und Softwaresysteme Pfaffenwaldring 47 70550 Stuttgart [email protected] M. Sc. Desirée Vögeli Institut für Automatisierungstechnik und Softwaresysteme Pfaffenwaldring 47 70550 Stuttgart [email protected]
Dr. Robert Brehm SDU Mechatronics Mads-Clausen-Institutet Alsion 2 6400 Sønderborg Denmark [email protected]
M. Sc. Mareike Redder Fachhochschule Lübeck Kompetenz- und Wissenschaftszentrum für intelligente Energienutzung Mönkhofer Weg 239 23562 Lübeck [email protected]
Dr. Dmitry Kazakov cbb Software GmbH Isaac-Newton-Straße 8 23562 Lübeck
Professor Dr.-Ing. Cecil Bruce-Boye Fachhochschule Lübeck Kompetenz- und Wissenschaftszentrum für intelligente Energienutzung Mönkhofer Weg 239 23562 Lübeck [email protected]
XVI | Autorenverzeichnis
M. Sc. Marco Schaarschmidt Hochschule Osnabrück Laborbereich Technische Informatik [email protected]
Professor Dr.-Ing. Clemens Westerkamp Hochschule Osnabrück Laborbereich Technische Informatik [email protected]
B. Sc. Hans Knöchel Hochschule Osnabrück Laborbereich Technische Informatik [email protected]
Professor Dr.-Ing. Hon. Dr. of ONPU Thorsten Schöler Hochschule Augsburg Distributed Systems Group An der Hochschule 1 86161 Augsburg [email protected]
M. Sc. Sebastian Pröll Hochschule Augsburg Distributed Systems Group An der Hochschule 1 86161 Augsburg [email protected]
M. Sc. Lucas Kögel Hochschule Augsburg Distributed Systems Group An der Hochschule 1 86161 Augsburg
M. Sc. Thomas Hanka Hochschule Augsburg Distributed Systems Group An der Hochschule 1 86161 Augsburg
Dipl.-Ing. MBA Max Hoffmann RWTH Aachen Informationsmanagement im Maschinenbau Technologiezentrum am Europaplatz Dennewartstraße 27 52068 Aachen [email protected] Prof. Dr.-Ing. Tobias Meisen RWTH Aachen Informationsmanagement im Maschinenbau Technologiezentrum am Europaplatz Dennewartstraße 27 52068 Aachen [email protected] Professor Dr. rer. nat. Sabina Jeschke RWTH Aachen Cybernetics Lab IMA/ZLW & IfU Technologiezentrum am Europaplatz Dennewartstraße 27 52068 Aachen [email protected] Dr.-Ing. Thomas Aicher TU München Automatisierung und Informationssysteme Boltzmannstr.15 85748 Garching [email protected] M. Sc. Daniel Regulin TU München Automatisierung und Informationssysteme Boltzmannstr.15 85748 Garching [email protected] Professor Dr.-Ing. Birgit Vogel-Heuser TU München Automatisierung und Informationssysteme Boltzmannstr.15 85748 Garching [email protected]
Thomas Aicher, Daniel Regulin und Birgit Vogel-Heuser
1 Dynamische Anbindung und automatische Konfiguration modularer Intralogistiksysteme mittels Agenten Zusammenfassung: Automatisierte intralogistische Anlagen werden für jeden Ein satzfall individuell projektiert, um die spezifischen Kundenanforderungen optimal umzusetzen. Aus diesem Grund wird eine erhöhte Flexibilisierung von intralogis tischen Anlagen benötigt. Ein wichtiger Bestandteil zur Realisierung der damit ein hergehenden Herausforderungen ist die Verbesserung der Wiederverwendbarkeit von Steuerungssoftware sowie die Beherrschung der steigenden Komplexität, welche u. a. bei der Entwicklung des Materialflusssystems in den Domänen Elektrik/Elektronik, Mechanik und insbesondere Softwareentwicklung, auftritt. Dieser Beitrag stellt einen modellbasierten Engineering-Ansatz basierend auf einem geeigneten Metamodell vor, um die Architektur und Schnittstellen solcher Module zu definieren. Dadurch ist eine Reduzierung des Engineering-Aufwands für die Entwicklung eines flexiblen Materi alflusssystems möglich. Die dafür notwendigen Wissensbasen der Agenten in einem Multi-Agenten-System können automatisch aus dem Modell abgeleitet werden. Da die flexible Zusammenstellung der Module ohne (Re-)Programmierung durchgeführt werden soll, wird ein intelligentes Agenten-basiertes Steuerungskonzept eingeführt. Abhängig vom Wissen der Agenten kann eine Online-Systemkonfiguration durch geführt werden. Für die Online-Definition von Schnittstellen besitzen die Agenten zudem Kenntnis über Ihre geometrische Position. Weiterhin wird ein Kommunikati onskonzept vorgestellt, das die Synchronisation von Modulschnittstellen in Echtzeit durchführt. Der Ablauf der Rekonfiguration wird an zwei Beispielen für das Hinzufü gen oder Entfernen eines Moduls aufgezeigt. Die Dauer für die Rekonfiguration und die dadurch einhergehende Performanz des „Plug & Play“-Verfahrens wird ebenfalls vorgestellt.
1.1 Einleitung Das steigende Bedürfnis nach kundenspezifischen Produkten erfordert ein neues Maß an Flexibilität in der Produktion, weshalb die Produktionsschritte zum Zusammen bau oder zur maschinellen Fertigung von Produkten an die Produktanforderungen an passbar zu gestalten sind. Aufgrund dieses Trends wird ein flexibles Logistikkonzept für den Materialfluss zwischen Maschinen und Montagestationen benötigt. Industri elle Materialflusssysteme (MFS), wie beispielweise Intralogistiksysteme, können sehr komplex werden und bedürfen ständiger Anpassung, wenn sie alle Transportrouten abdecken sollen, die je nach Produktkonfiguration und Produktfortschritt variieren. https://doi.org/10.1515/9783110527056-001
2 | 1 Anbindung und Konfiguration modularer Intralogistiksysteme mittels Agenten
Insbesondere kleine und große Unternehmen benötigen einfache MFS, die an die gegenwärtigen Bestellungen angepasst werden können. Mit einfachen MFS sind in diesem Sinne Module für MFS gemeint, die mit geringem Programmierungs- und Per sonalaufwand an ein MFS angeschlossen werden können, um die Anpassung des Sys tems an ändernde Bedingungen zu ermöglichen. Eine solche Flexibilität wird durch MFS-Module wie bspw. T-Kreuzungen und Förderer erreicht, die aus einer eigenen Steuereinheit einschließlich Hard- und Software bestehen und sogar ohne zusätzli che Anlagenteile betrieben werden können. Derartige gekapselte Einheiten, die Sen soren, Aktoren und eine Steuereinheit umfassen, werden als Module definiert. Zusätz lich sollte das einfache Verbinden mehrerer Module entsprechend des Transportbe darfs des Produktionsprozesses ermöglicht werden. Allerdings sind variantenreiche, automatisierte Systeme noch immer anspruchsvoll und bedürfen einer Werkzeugun terstützung, die Systemänderungen ermöglicht [1]. Als eine Möglichkeit zur Handha bung der Komplexität des Engineerings und zur Verringerung der Fehleranfälligkeit des Engineerings kann ein modellbasierter Ansatz gesehen werden. Da die Online-Rekonfiguration eines MFS, ausgelöst durch das Hinzufügen oder Entfernen von Modulen, mit minimalem Entwicklungsaufwand durchgeführt werden sollte, wird eine Steigerung der a-priori Intelligenz der modulbasierten Steuereinheit für eine automatisch rekonfigurierbare Lösung gefordert. Das Konzept von MultiAgenten-Systemen (MAS) ermöglicht die Verbindung, Kommunikation und Interakti on zwischen lose gekoppelten Systemeinheiten und erfüllt damit die Anforderungen hinsichtlich Flexibilität für die vorgeschlagene Implementierung der MFS-Architek tur [2]. Ein entsprechender modellbasierter Entwicklungsansatz für die automatisier ten Materialflussmodule, der die Software und Wissensbasis der Module sowie die Architektur und Funktionen innerhalb eines MAS beschreibt, wird in diesem Beitrag vorgestellt. Die zunehmende Flexibilität hinsichtlich der Konfiguration und Anbindung eines MFS soll in diesem Konzept durch ein MAS gehandhabt werden. Innerhalb des MAS wird jedes MFS-Modul durch einen Agenten repräsentiert, der durch eine Wissens basis und einen Handlungsspielraum charakterisiert ist. Obwohl ein MAS ein dezen trales System darstellt, existiert in dem Konzept – ähnlich wie in anderen Agenten plattformen, wie bspw. JADE – das Agent-Management-System (AMS). Hierbei han delt es sich um eine zentrale Instanz – den sogenannten Koordinator-Agenten – die verbundene MFS-Module registriert und die verfügbaren Systemfunktionen verwal tet. Zusätzlich enthält jedes Modul in seiner Wissensbasis geometrische Informatio nen über die Position, an dem sich dieses befindet. Ein Ansatz zur Nutzung dieser Informationen zur Bestimmung der Schnittstellen, insbesondere der Verknüpfungs punkte zwischen Modulen, sowie globaler Ein- und Ausgänge des MFS wird in diesem Kapitel dargestellt. Zusätzlich zu der geometrischen Informationsgewinnung wird die Gruppierung bestimmter Funktionen von MFS-Modulen zu globalen Systemfunktio nen durchgeführt. Letztendlich stellen diese Informationen die Wissensbasis im Ko ordinator-Agenten dar.
1.2 Anforderungen des modellbasierten Ansatzes | 3
Typischerweise werden MFS durch Speicherprogrammierbare Steuerungen (SPS) gesteuert, die zyklisch IEC 61131-3 konformen Code ausführen [3]. Da der hier vor gestellte Ansatz in industriellen Systemen Anwendung finden soll, müssen die Re striktionen hinsichtlich eingeschränkter Konfigurationsmöglichkeiten, sowie herstel lerspezifischen Plattformen und vordefinierter Hardware berücksichtigt werden. Die Lücke zwischen dem Modell eines MFS-Moduls und dessen Implementierung soll wei terhin durch Codegenerierung geschlossen werden. Analog zur Codespezifikation sind die Kommunikationsmöglichkeiten ebenso durch Vorgaben der herstellerspezifischen Plattform limitiert. Nichtsdestotrotz basiert das MAS-Konzept auf einem flexiblen Kommunikationsnetzwerk, das den Austausch von Informationen sowohl zwischen Modulen als auch mit dem Koordinator-Agen ten ermöglicht. Eine weitere Herausforderung tritt bei der Kommunikation zwischen Modulen auf, die Transporteinheiten (TE), wie bspw. Paletten oder Behälter, aus tauschen, da eine synchronisierte Transportgeschwindigkeit erforderlich ist. Diese Schnittstellen erfordern eine Echtzeitkommunikation, die nach wie vor für viele MASAnsätze ein Problem darstellt [2]. In diesem Beitrag wird gezeigt wie das „EtherCAT Automation Protocol“ (EAP) für Echtzeit- und Nicht-Echtzeit-Kommunikationsaufga ben in MAS genutzt werden kann. Hierfür wird folgender Anwendungsfall betrachtet: Nach dem Zusammenschluss der Mechanik zweier MFS-Module und dem Verbinden der Steuereinheiten mittels industriellem Kommunikationsbus soll das MFS ohne jeg liche Programmieraufwände in Betrieb genommen werden können; nur eine kurze Rekonfigurationsphase soll benötigt werden. Den Hauptbeitrag dieses Kapitels stellt die Herleitung und Verarbeitung der Wissensbasis der Agenten aus einer modellba sierten Beschreibung dar, um die automatische Rekonfiguration eines MFS-Moduls zu ermöglichen. Dieses Kapitel ist wie folgt strukturiert: Im nächsten Abschnitt 1.2 werden die An forderungen durch den MAS-basierten Ansatz zur automatischen Rekonfiguration von MFS-Modulen spezifiziert. Anschließend werden in Abschnitt 1.3 Technologien und Ansätze nach dem Stand der Technik anhand dieser Anforderungen evaluiert. Basie rend auf dieser Analyse wird in Abschnitt 1.4 eine Lösung für die modellbasierte Ent wicklung und eine entsprechende Architektur für MFS-Module sowie die Interaktion dieser beiden Teile dargestellt. Wie der Ansatz umgesetzt werden kann und eine erste Evaluation hinsichtlich Performanz wird in Abschnitt 1.5 gezeigt. Die Veröffentlichung schließt mit einer Zusammenfassung und einer Diskussion der Ergebnisse sowie zu künftiger Tätigkeiten in Abschnitt 1.6 ab.
1.2 Anforderungen des modellbasierten Ansatzes Zur Steigerung der Flexibilität und Ermöglichung der automatischen Rekonfigurati on müssen einige grundlegende Anforderungen hinsichtlich System- und Software architektur für das Design des modellbasierten Entwicklungsansatzes berücksichtigt werden.
4 | 1 Anbindung und Konfiguration modularer Intralogistiksysteme mittels Agenten
1.2.1 Agentenbasierte Modularchitektur (A1) Um den Herausforderungen eines flexiblen Materialflusssystems zu begegnen, wer den die Module des Systems lose gekoppelt. Industrielle Agenten werden durch ei ne modulspezifische Wissensbasis sowie einen vordefinierten Handlungsspielraum charakterisiert. Da industrielle Agenten autonom handelnde Entitäten darstellen, die kommunizieren, um die geforderten Aufgaben zu erledigen [4], sollte ein agentenba sierter Ansatz für die Steuerung der automatisch rekonfigurierbaren Logistikmodule angewendet werden. Zusätzlich existieren agentenbasierte Ansätze in anderen Domä nen wie bspw. automatisierten Produktionssystemen, die im Abschnitt zum Stand der Technik behandelt werden.
1.2.2 Modellbasiertes Design der Materialflussmodule (A2) Das modellbasierte Design der Steuerungssoftware wird vor allem zunehmend bei me chatronischen Anlagen und Produkten eingesetzt, um die Fehleranfälligkeit zu redu zieren und die Komplexität zu bewältigen. Zur Sicherung der Kompatibilität zwischen verschiedenen Modulen wird ein Metamodell, das sowohl Modulfunktionen als auch agentenbasierte Charakteristika berücksichtigt benötigt. Zusätzlich ist die Logistik funktionalität im Metamodell zu berücksichtigen. Nach der Standardspezifikation (1990) des VDI können Materialflusssysteme aus verschiedenen Standardfunktionen bestehen, die sich zur Erreichung komplexerer Charakteristika kombinieren lassen. Diese Standardfunktionen sind auf generische Art und Weise in einer Modellvorlage vorzudefinieren und sollten zur Adaption an bestimmte Modulcharakteristika und -fähigkeiten erweiterbar sein. Zusätzlich sind die geometrischen Informationen in einer entsprechenden Modulbeschreibung ein zuschließen.
1.2.3 Generierung von Modul- und Koordinator-Agenten (A3) Die modellbasierte Entwicklung kann den Designprozess einzelner Module vereinfa chen. Daher besitzt jeder einzelne Modul-Agent seine eigene Wissensbasis. Um die Fä higkeiten des Systems zu erhalten, wird der Inhalt jeder einzelnen Wissensbasis, z. B. zur Verfügung stehende Funktionen, automatisch gesammelt, verarbeitet und in der Wissensbasis des zentralisierten Koordinator-Agenten gespeichert. Neben den Fähig keiten von Agenten benötigt das Materialflusssystem die geometrischen Informatio nen über jedes Modul. Daher sollten alle angeschlossenen Module eines Systems ein schließlich ihrer Lokalisierungsparameter und Fähigkeiten vom Koordinator-Agenten erfasst werden. Infolgedessen ist der funktionale und geometrische Handlungsspiel raum des gesamten Materialflusssystems in der Wissensbasis des Koordinator-Agen
1.3 Stand der Technik |
5
ten zu definieren. Der Algorithmus zur Gewinnung bzw. Sammlung dieser Informa tionen von den einzelnen Agenten sollte ebenfalls auf modellbasierte Art und Weise definiert werden.
1.2.4 Generierung von IEC 61131-3 konformem Code (A4) Um den angestrebten Modellierungsansatz der Modulfähigkeiten (A2) und die auto matische Generierung der System-Wissensbasen (A3) applizieren zu können, sollte das modellbasierte Design nicht nur die technischen Aspekte abbilden, sondern auch Spezifikationen für die Laufzeit zur Ausführung der Modelle liefern. Die Bereitstel lung von Modellinformationen an die Steuerung sollte durch eine Codegenerierung, basierend auf dem Standard der Meta Object Facility (MOF) [5] und der darin enthal tenen Model-to-text Transformation (MOFM2T) [6] geschehen. Da zur Ausführung von Software der MFS-Module hauptsächlich SPSen genutzt werden, muss der generierte Code dem internationalen Standard IEC61131-3 entsprechen.
1.2.5 Automatische Rekonfiguration während des Betriebs (A5) Zusätzlich zu den technischen Anforderungen ist die Rekonfiguration der Module während des Betriebs eine der wesentlichen Anforderungen. Rekonfiguration wird in diesem Fall definiert durch die Interaktion und automatische Konfiguration der Mo dule im gleichen Netzwerk. Infolgedessen teilen sich die Module übliche Funktionen und können als ein MFS handeln.
1.3 Stand der Technik In diesem Abschnitt werden modellgetriebene Entwicklungsansätze und Vorgehen zur Entwicklung automatisierter und vor allem agentenbasierter Systeme vorgestellt. Zusätzlich werden Architekturen, die die Möglichkeit hinsichtlich automatischer Re konfiguration automatisierter Produktionssysteme bieten, behandelt. Wie komplex objektorientierte Modelle mechatronischer Systeme mit der Unified Modeling Language (UML) erstellt werden können, zeigt Secchi et al. [7, 8]. Das Mo dell berücksichtigt die Systemkomponenten sowie die zugehörige Steuerungssoftware und die Interaktion durch den Austausch von Informationen. Daher ermöglicht der Ansatz die Systembeschreibung hinsichtlich Struktur und Architektur, berücksichtigt jedoch nicht die Rekonfiguration während des Betriebs (A5), weshalb Erweiterungen notwendig sind. Zusätzlich zeigen Priego et al. [9] einen modellgetriebenen Entwick lungsansatz zur Entwicklung von mechatronischen Modulen. Ein Werkzeug hilft bei der Erweiterung der Elemente in Automatisierungsprojekten, um die Rekonfiguration
6 | 1 Anbindung und Konfiguration modularer Intralogistiksysteme mittels Agenten
während des Betriebs zu ermöglichen. Nichtsdestotrotz erfüllt eine zentrale Architek tur ohne die Vorteile von Agenten nicht die Anforderungen hinsichtlich Flexibilität, Modularität und verteilten Steuerungen (A1, A5). Schleipen et al. [10] zeigen derzeit andauernde Forschungsprojekte im Umfeld der Industrie 4.0 und „plug&produce“ basierend auf OPC-UA und AutomationML. Damit wird die Beschreibung von Anlagenmodulen durch ein konsistentes Austausch-For mat und die Online-Untersuchung der Gerätebeschreibung ermöglicht. Dennoch ist ein gewisser Aufwand zur Verbindung von Modulen mit dem Automatisierungssystem notwendig und eine Metamodell-Beschreibung für Logistikmodule wird nicht vorge stellt. Das Ziel des Ansatzes, der von Beyer et al. [11] vorgestellt wird, ist die Entwicklung einer dezentralisierten Methodik für das Design von Transportanlagen. In diesem An satz werden Transportanlagen als komplexe, adaptive Systeme modelliert. Ein ähnli cher Ansatz von Ferreira et al. [12] führt ein MAS zur Planung und Optimierung in ei nem Enterprise Service Bus Ecosystem ein. Dennoch werden weder Codegenerierung noch Anwendungen in Laufzeitsystemen aufgezeigt (A3, A4, A5). Peixoto et al. [13] zeigen eine Analyse hinsichtlich Steuerung von automatisier ten Systemen. Im Vergleich zwischen MAS und SPSen zeigt das MAS Vorteile bezüg lich Flexibilität und reduziertem Rekonfigurationsaufwand. Dabei wird die Zykluszeit der SPS im Gegensatz zu PC-basierten Ansätzen nicht durch das Hinzufügen von Mo dulen beeinflusst, was ein signifikantes Evaluationsergebnis darstellt. Daher werden bei dem in dieser Veröffentlichung gewählten Ansatz die Vorteile von SPS-gesteuerten Modulen und die Organisation in einem MAS kombiniert. Dennoch berücksichtigt der Ansatz von Peixoto et al. [13] nicht die Codegenerierung oder ein Modell für Logistik module (A4, A2). Vallée et al. [14] zeigen einen Ansatz zur Rekonfiguration von Mate rialflusssystemen mittels Agenten. Unter Nutzung eines auf Ontologien basierenden „global world model“ können Agenten interagieren und Rekonfigurationen vorneh men, z. B. die Umleitung im Falle eines Ausfalls oder einer Fehlerdiagnose auf Basis von Konzepten, die vergleichbar mit virtuellen Sensoren sind [15]. Im Gegensatz zu dem von uns gewählten Ansatz berücksichtigt der Beitrag nicht die modellbasierte Beschreibung von Materialflussmodulen und deren Komposition durch automatische Rekonfiguration während des Betriebs (A2, A3). Burmester et al. [16] zeigen einen Ansatz zur Integration von Software und Me chatronik, welcher auf einer semantisch reichhaltigen Schnittstelle zwischen Kompo nenten basiert. Die Rekonfiguration des Systems erfordert dabei allerdings die VorabDefinition möglicher Konfigurationen. Zusätzlich zeigen Dai et al. [17] wie Serviceorientierte Architekturen auf IEC 61499 Funktionsblöcke abgebildet werden können. Darüber hinaus wird der Rekonfigurationsprozess zum Hinzufügen von Funktionali täten spezifiziert. Nichtsdestotrotz wird die Generierung der Wissensbasis vom Koor dinator-Agenten und die Ausführung auf industriellen, IEC 61131-3 konformen Steue rungen nicht behandelt (A3, A4). Schmitt et al. [18] und Kipouridis et al. [19] schlagen
1.3 Stand der Technik |
7
eine Methodik für die Koordinierung von (mobilen) Agenten mittels unterschiedlicher Technologien vor, z. B. durch eine Cloud. Analog zu unserem Systemansatz übernimmt jeder Agent lokale Aufgaben und kommuniziert mit benachbarten Agenten zur Aufgabenkoordinierung. Allerdings werden weder die Echtzeitfähigkeit der Agenten noch ein Metamodell, das die Code generierung ermöglicht, angesprochen (A2, A4). Sorouri et al. [20] schlagen eine Softwarearchitektur für verteilte, modulare Me chatronikobjekte auf Basis eines flexiblen Robotermanipulators vor. Ähnliche Ansät ze nutzen für verteilte Systeme MAS zur Prozessplanung [21] und zur Steigerung der Flexibilität von Produktionsprozessen, z. B. einer Produktionslinie für Waschmaschi nen [22]. Dieser Ansatz liefert jedoch kein Metamodell für eine Logistikmodul-Archi tektur, das zur Beschreibung von mehreren unterschiedlichen Modulen im Gebiet von MFS genutzt werden kann (A3). Orozco et al. [23] präsentieren ein Steuerungsmodell für Fertigungssysteme, das die Rekonfiguration von Systemen ermöglicht, die aus mechatronischen Modulen be stehen. Dafür wird die Steuerung des Systems nach Koordination und Logik aufge teilt. Die Kommunikation erfolgt über eine publisher/subscriber Architektur und ge meinsam genutzten Speicher. Den Ergebnissen des Beitrags zufolge empfiehlt sich das Prinzip der Kommunikation für die Echtzeitkommunikation zwischen Modulen auch für den hier gewählten Ansatz. Nichtsdestotrotz erfüllt der Ansatz nach Orozco et al. [23] nicht die Anforderungen hinsichtlich einer metamodellbasierten Beschrei bung für Logistikmodule (A2). Neben den MAS-basierten Ansätzen stellen Dürkop et al. [26] ein Schema zur Eva luation des Ausmaßes der Selbstkonfiguration in Kommunikationssystemen vor. Als ein Ergebnis geht das EtherCAT-Protokoll als potenziell einsetzbare Technologie für die automatische Rekonfiguration im Bereich der Echtzeit-Kommunikationssysteme hervor. Ähnliche Ergebnisse wurden in vorangegangenen Forschungstätigkeiten un Tab. 1.1: Gegenüberstellung aktueller Ansätze im Bereich der Intralogistik.
Burmester et al. [16] Orozco et al. [24] Sorouri et al. [20] Vallée et al. [14] Priego et al. [9] Guo et al. [25] Beyer et al. [11], Feireira et al. [12] Schleipen et al. [10] Schmitt et al. [18] Kipouridis et al. [19] Dai et al. [17]
A1
A2
A3
A4
A5
+ + + + − + + − + + +
− − − + + − + − − − −
+ − − − − + + − − − −
− + − − + − − + o − −
+ + + + − + − + + + +
8 | 1 Anbindung und Konfiguration modularer Intralogistiksysteme mittels Agenten
serer Arbeitsgruppe erzielt. Es lässt sich zusammenfassen, dass viel Forschung im Bereich der rekonfigurierbaren MAS betrieben wird, die sich größtenteils allerdings nicht auf MFS beziehen und die Generierung von Wissensbasen für Agenten nach ei ner Metamodellbeschreibung nicht zulassen. (Tabelle 1.1). Daher sollte der von uns gewählte Ansatz eine modellbasierte Entwicklung zur Generierung von Wissensba sen für Agenten und die Anbindung von Systemmodulen während des Betriebs durch automatische Rekonfiguration ermöglichen.
1.4 Modellbasierte Entwicklung von Modulen Dieser Abschnitt beschreibt wie die Wissensbasen der Agenten entsprechend der ein zelnen Komponenten und Fähigkeiten eines Moduls – repräsentiert durch einen Mo dulagenten – modelliert und zur Wissensbasis des Koordinator-Agenten, der letztend lich das MFS repräsentiert, zusammengesetzt werden. Um die Modulstruktur zu be schreiben, wird das Metamodell AutoMFM genutzt (Abbildung 1.1). Der modellbasierte Entwicklungsansatz führt zu Vorteilen sowohl hinsichtlich Entwicklungs- und Inbetriebnahmezeit als auch bezüglich Fehleranfälligkeit, was in vorangegangen Forschungsarbeiten gezeigt wurde [27]. Darüber hinaus lässt sich der Aufwand für die Softwareentwicklung von Logistikmodulen und modularen Lo gistiksystemen reduzieren. Ein Ansatz zur Erweiterung dieses Metamodells für die Modellierung von Agenten, die ein Modul des MFS repräsentieren, wird im folgenden Abschnitt vorgestellt. Zusätzlich werden Ansätze für Kommunikation und Codegene rierung diskutiert. Die Systems Modeling Language (SysML) begünstigt das modellbasierte Design für agentenbasierte Steuerungsalgorithmen von Modulen und die Definition von be stimmten Profilen auf Basis von Metamodellen [28]. Außerdem werden Systeme durch die Möglichkeit zur automatischen Rekonfiguration komplexer und die „Intelligenz“ der einzelnen Komponenten steigt. Dabei ermöglicht eine agentenbasierte Architektur die Kapselung von Modulen und ihrer entsprechenden Funktionen (Anforderung A1). Diese modulspezifischen Funktionen stellen den Kern der Wissensbasis eines Agenten dar. Um die Methode einzuführen, werden die Basisfunktionen der VDI (1990) für Lo gistik, d. h. transportieren, lagern und handhaben, wie in Anforderung A2 vorgeschla gen angewendet. Die Metaklasse jeder Logistikfunktion definiert Schnittstellen, un terstützte Methoden und Koordinaten für die Eingangs- und Ausgangs-Transportein heiten (TE) (Abbildung 1.1). Neben den Metainformationen wird jede Funktion durch ein Zustandsdiagramm repräsentiert, das ein Muster (Template) für die Hauptcharak teristika wie bspw. „halten“ oder „freigeben“ enthält. Da nur die Schnittstellen definiert sind, kann jede Instanz einer Modulfunktion durch die Erweiterung des verknüpften Zustandsdiagramms entsprechend der durch das Modul zur Verfügung gestellten Fähigkeiten angepasst werden. Alternativ können die Funktionen aus einer Produktbeschreibung und einer semantischen Wissensbasis
1.4 Modellbasierte Entwicklung von Modulen | 9
MFS Name ID setValue() getInfo()
DirectoryFacilitator MessageTrasportSystem Name: string AgentManagementSystem providedFuncons[] Name: string Coordinator ProtocolMapping Name: string ConnectedID[] Name: string Input[]: coordinates Output[]: coordinates Timer: int setFuncon(In,Out) getInfo() calculateMFS()
Module_Agent Name: string
requestFuncon(funcon) setFuncon(funcon) calculateCosts() calculateDuraon()
Module
Module_Interface
AutoMFM
Status Control
Funcon
Genaral Logical
Mechanical
… …
,
Conveying
Name: string Interface[]: InterfaceVector
Name: string Input[]: coordinates Output[]: coordinates setFuncon(In,Out) getInfo()
Operaon
Buffering Name: string Input[]: coordinates Output[]: coordinates TimerBuffer: int setFuncon(In,Out,Time ) getInfo()
Separang Separang Handling Name: string Input[]: coordinates Output[]: coordinates setFuncon(In,Out) getInfo()
Abb. 1.1: Metamodell für agentenbasierte Intralogistiksysteme.
abgeleitet werden, wie es von Otto et al. [29] gezeigt wird. Da die automatische Rekon figuration der Module in einem MFS während des Betriebs und ohne Entwicklungs aufwand oder Um-/Neuprogrammierung geschehen soll, sind die modulspezifischen Daten in der Steuerung des Moduls zu speichern. Daher werden sowohl FunktionsID als auch geometrische Ein- und Ausgangsdaten aller Funktionen, die mit einem Modul verknüpft sind, von einem Modulagenten verwaltet. Dadurch enthält die Wis sensbasis eines Modulagenten alle verfügbaren Funktionen, die geometrischen Da
10 | 1 Anbindung und Konfiguration modularer Intralogistiksysteme mittels Agenten
ten der Module, die Verknüpfung der Ein-/Ausgangsschnittstellen zu Funktionen und die Ausführungszeit für jede Funktion. Auf Basis dieser Daten ist der Modulagent in der Lage, sowohl eine Anschlusspunkt-Eingangsmatrix (engl. Connection point in put (CPI)) als auch eine Anschlusspunkt-Ausgangsmatrix (engl. Connection point out put (CPO)) zu berechnen. Diese Matrizen enthalten die Schnittstellen eines Moduls, die als eingangs- oder ausgangsseitige Anschlusspunkte definiert sind. Solche (An schluss-)Punkte werden als Vektoren dargestellt, die die Informationen über die Geo metrie von Ein- und Ausgängen sowie die entsprechenden Modul-ID M k und Funk tions-ID Fi , Fo für Ein- und Ausgänge enthalten. Diese Funktionen werden den An schlusspunkten zum Empfangen und Senden von Transporteinheiten an benachbarte Module zugewiesen. Modul-ID {Fi | Fi ∈ {Fi1 . . . Fin } M k,F = { F | F ∈ {Fo1 . . . Fon } { o o Connection point Input (CPI):
CPIM k
Mk F i1 = ( x1 y1 z1
... ... ... ... ...
Mk F in xn ) xn xn
;
k = {k | k ∈ ℕ}
Connection point output (CPO):
CPOM k
Mk Fo1 = ( x1 y1 z1
... ... ... ... ...
Mk F on xn ) xn xn
Obwohl ein MAS ein dezentralisiertes System aus autonomen Agenten darstellt, wird eine zentrale Instanz, das Agenten Management-System (AMS) benötigt, welches eine Zusammenstellung aller verfügbaren Agenten (DF) beinhaltet und dafür sorgt, dass die Agenten sich gegenseitig finden und auf strukturierte Art und Weise kom munizieren. In diesem Zusammenhang stellt beim gewählten Ansatz der KoordinatorAgent die zentrale Instanz dar. Wie in A3 vorgestellt enthält die Wissensbasis dieses Agenten die geometrischen Daten aller angeschlossenen Module sowie die unterstütz ten bzw. verfügbaren Funktionen. Da die entsprechenden Ein- und Ausgangsmatrizen jedes Moduls durch den Modulagenten verfügbar sind, ist der Koordinator-Agent in der Lage die globalen System-Ein- (CPIMFS ) und Ausgangsmatrizen (CPOMFS ) zu be rechnen. CPIMFS = (CPIM,Func1 CPIM,Func2 . . . CPIM,Funcn ) Durch die Verbindung aller Materialflussausgänge erhält man die CPO-Matrix: CPOMFS = (CPOM,Func1 CPOM,Func2 . . . CPOM,Funcn ) Da der Koordinator die zentrale Instanz im System darstellt, müssen die DatenVektoren als Repräsentation der Ein- und Ausgänge von den Modulagenten an diesen übermittelt werden. Die Übermittlungsprozedur kann innerhalb eines Rekonfigurati ons-Zyklus ausgeführt werden, der durch Änderungen im MFS, z. B. durch Hinzufügen
1.4 Modellbasierte Entwicklung von Modulen |
11
oder Entfernen von Modulen ausgelöst wurde. Nachdem die Verbindung von einem Modul zum Netzwerk des Materialflusssystems aufgebaut oder getrennt wurde, wer den die CPI- und CPO-Matrizen der Module über einen asynchronen Kanal des „Ether CAT Automation Protocol“ (EAP) an den Koordinator-Agenten übermittelt. Daraufhin wird der Berechnungsvorgang durch den Koordinator-Agenten ausgeführt. Während dieser Zeitspanne ist das System so lange bis der Einfluss der Änderung berechnet wurde in einen Warte-Zustand zu versetzen. Bei der Anordnung der Module ist für ein MFS darauf zu achten, dass ein Modul ausgang mit dem Eingang des benachbarten Moduls verbunden ist. Daher wird die Verknüpfung von Modulen als Paar von gleichen CPO und CPI identifiziert. Dadurch können alle Verbindungspunkte (engl. Connection point connector (CPC)) in einer Ma trix angegeben werden.
CPCMFS
M k1 Fo1 (M k2 ( = {x | x ∈ CPOMFS ∧ x ∈ CPIMFS } ( ( F i1 (x 1 y1 ( z1
... ... ... ... ... ... ...
M k1 F on M k2 ) ) F in ) ) xn ) xn xn )
Ungenauigkeiten, die zwischen den Anschlusspunkten auftreten können, werden durch entsprechende Toleranzen kompensiert. Basierend auf den Informationen über die Modulanschlüsse ist es möglich die globalen Ein- und Ausgänge des MFS zu be rechnen. Daraus folgt die Definition der globalen Eingänge (engl. global inputs (PI)) als Differenz zwischen Eingangsmatrix und Anschlussmatrix. PIMFS = {x | x ∈ CPIMFS ∧ x ∉ CPCMFS } Analog können die Ausgangs-Schnittstellen (engl. global outputs (PO)) als Diffe renz aus Ausgang und Anschlussmatrix berechnet werden: POMFS = {x | x ∈ CPOMFS ∧ x ∉ CPCMFS } Basierend auf den berechneten Informationen hinsichtlich der aktuellen System konfiguration, d. h. Anschlusspunkte, zur Verfügung stehende Funktionalitäten, Aus führungsdauer und globale Ein-/Ausgänge, wird die Wissensbasis des Koordinators – wie in A3 angeregt – automatisch aktualisiert. Daraufhin ist der Koordinator-Agent in der Lage, Modulfunktionen anzufordern, um einen bestimmten Transportauftrag zu erledigen. Neben der asynchronen Kommunikation während des RekonfigurationsZyklus über EAP kommunizieren die Modulagenten über vorkonfigurierte Netzwerk variablen, die in Echtzeit ausgetauscht werden können. Dazu gibt jede Modulschnitt stelle (I M,n ) Informationen über Förderrichtung, Geschwindigkeit, Freigabe-Bit und TE-ID bekannt: Basierend auf diesen Informationen ist der Austausch von TE zwi schen zwei Modulen auf synchrone Art und Weise durchzuführen. Hingegen werden
12 | 1 Anbindung und Konfiguration modularer Intralogistiksysteme mittels Agenten
die Anfragen und Aufträge für Transporteinheiten durch den Koordinator-Agenten ge plant und über den asynchronen Kanal des EAP übermittelt.
I M,n
⃗ y, z) v(x, ⃗ v(x, y, z) =( ) r TU
Auch die Codegenerierung wird durch ein MOF-kompatibles Metamodell er möglicht; eine Toolkette, die in vorangegangenen Projekten des Instituts evaluiert wurde, z. B. von Vogel-Heuser et al. [28]. Die Klassen werden basierend auf der MOFM2T-Spezifikation, die Informationen über Struktur, Parameter und Verbindun gen zwischen Modulklassen im Modell enthält, in eine eXtensible Markup Language (XML) Datei übersetzt. Um die Steuerungsinformationen in eine industrielle Entwick lungsumgebung wie bspw. TwinCAT3 importieren und anschließend kompilieren sowie auf der SPS ausführen zu können, wird der XML-Code in PLCopenXML-Code transformiert [21]. Zusätzliche Informationen bezüglich des Verhaltens können durch andere Model lierungswerkzeuge, wie bspw. Simulink mit Codegenerierung für Zustandsdiagram me, hinzugefügt werden. Innerhalb von Simulink stehen Vorlagen (Templates) für die Funktionen nach VDI 2860 [30] zur Verfügung.
1.5 Evaluation der Rekonfigurationsdauer Der folgende Abschnitt behandelt die Evaluation des modellbasierten Design-Ansat zes für agentenbasierte, automatisch rekonfigurierbare Module. Es wird zunächst ein Beispielsystem zur Evaluation eingeführt, wobei zusätzlich die Rekonfiguration zwi schen zwei Modulsteuerungen ausgeführt und hinsichtlich Dauer untersucht wird.
1.5.1 Anwendungsbeispiel von Wissensbasen für Agenten Das zu evaluierende System für diese Veröffentlichung besteht aus zwei Modulen, die – wie in Anforderung A1 vorgeschlagen – von zwei getrennten Steuereinheiten innerhalb des MAS gesteuert werden. Das Modul „logistische T-Verzweigung“ wird eingesetzt um Transporteinheiten zu transportieren und TE-spezifische Änderungen an der Transportroute vorzunehmen (Abbildung 1.2 – links). Dazu besteht das Mo dul aus einem Haupt-Transportgurt, welcher die Förderung der TE in zwei Richtun gen (vorwärts und rückwärts) ermöglicht, und einer zweiten Fördereinheit, die nur zum Abführen von auf dem Hauptgurt befindlichen TE genutzt werden kann. Dadurch besitzt der Förderer zwei Anschlüsse am Hauptgurt, die entweder als Ein- oder Aus gang verwendet werden können, sowie einen dritten Anschluss, der sich ausschließ
1.5 Evaluation der Rekonfigurationsdauer | 13
lich als Ausgang verwenden lässt. Zusätzlich erfasst eine Lichtschranke an jedem Ein gang und Ausgang ankommende sowie abfahrende Transporteinheiten. Um TE vom Hauptgurt zum Ausgang des zweiten Gurtförderers zu leiten, wird eine Art Weiche ver wendet. Basierend auf der Architektur stellt das Modul drei Funktionen (F) zur Ver fügung, die entsprechend der durch das Metamodell (Abbildung 1.1) bereitgestellten Definition von „Fördern“ als Zustandsdiagramme (Abbildung 1.2 – links) modelliert wurden. Dadurch konnten die in A2 genannten Vorteile der modellbasierten Entwick lung, z. B. konsistente Module und Schnittstellendefinitionen, erreicht werden. Nach folgend sind die modulspezifischen Funktionen aufgelistet: F1,1 : Transportieren einer TE von Ein-/Ausgangspunkt 1 (IOP 1) (Koordinaten: (0, 0, 0)) zum Ein-/Ausgangspunkt 2 (IOP 2) (Koordinaten: (1.5, 0, 0)) F1,2 : Transportieren einer TE von IOP 1 (Koordinaten: (0, 0, 0)) zum Ausgangspunkt 3 (IOP 3) (Koordinaten: (0.9, 1.2, 0)) F1,3 : Transportieren einer TE von IOP 2 (Koordinaten: (1.5, 0, 0)) zum IOP 1 (Koordi naten: (0, 0, 0)) Darüber hinaus kann eine Funktion nur ausgeführt werden, wenn eine TE im Einzugs feld des entsprechenden Eingangssensors erfasst wurde. Die entsprechende matrizen basierte Beschreibung wird dargestellt durch: M1 F i1 CPI1 = ( x1 y1 z1
M1 F i2 x2 y2 z2
1 M1 1 F i3 x3 ) = (0 0 y3 0 z3
M1 Fo1 CPO1 = ( x1 y1 z1
M1 Fo2 x2 y2 z2
1 M1 1 Fo3 x3 ) = (1.5 0 y3 0 z3
1 2 0 0 0
1 3 1.5) ; 0 0 1 2 0.9 1.2 0
1 3 0) 0 0
Das zweite Modul in diesem Beispiel ist ein einfacher Gurtförderer, der in zwei Richtungen (vorwärts und rückwärts) fördern kann (Abbildung 1.2 – rechts). Daher kann jeder Anschluss ein Eingang oder Ausgang sein. Zusätzlich enthält das Modul einen Pneumatikzylinder, der Transporteinheiten aufhalten kann während der Aktor (A.2) den Fördergurt antreibt, wodurch eine Pufferung mehrerer TE ermöglicht wird. Darüber hinaus sind zur Erfassung von TE zwei Sensoren an den Modulanschlüssen sowie zwei weitere Sensoren an den Pufferpositionen vorhanden. Analog zum zuerst vorgestellten Modul ist die Ausführung von Funktionen nur möglich, wenn eine TE im Einzugsfeld des entsprechenden Eingangssensors erfasst wurde. Außerdem wurde anstelle der Funktion „Fördern“ die Funktion „Puffern“ (Abbildung 1.1) zur Modellie rung des Verhaltens genutzt. Daraus lassen sich die folgenden Funktionen ableiten:
14 | 1 Anbindung und Konfiguration modularer Intralogistiksysteme mittels Agenten
F2,1 : Fördern und puffern von TE vom IOP 1 (Koordinaten: (1.5, 0, 0)) zum IOP 2 (Ko ordinaten: (3, 0, 0)) F2,2 : Fördern und puffern von TE vom IOP 2 (Koordinaten: (3, 0, 0)) zum IOP 1 (Koor dinaten: (1.5, 0, 0)) Die entsprechende Matrix-Schreibweise wird repräsentiert durch: 2 1 CPI2 = (1.5 0 0
2 2 3) ; 0 0
2 1 CPO2 = (3 0 0
2 2 1.5) 0 0
Anschließend werden die Wissensbasen der Modulagenten durch das Verhalten definiert, z. B. Zustandsdiagramme und geometrische Parameter. Eine mögliche Kom position der Module ist die Verknüpfung von IOP 2 des ersten Moduls mit IOP 1 des zweiten Moduls (Abbildung 1.2). Der gemeinsame Anschlusspunkt und die verknüpf ten Funktionen der Module im System wird durch Vektoren dargestellt:
CPCMFS
M k1 Fo1 (M k2 ( =( ( F i1 (x 1 y1 ( z1
1 M k1 1 Fo2 M k2 ) ( 2 ) ( ( F i2 ) )=( 1 ) (1.5 x 2
y2 z2 )
0 ( 0
1 3 2 ) ) 2 ) ) 1.5) 0 0 )
Das MFS besteht folglich aus zwei globalen Eingängen, an denen TE in das Sys tem eintreten und drei potenziellen Ausgängen, an denen TE das System verlassen können. Daher ist das System in der Lage, TE in Vorwärts- und Rückwärtsrichtung zwischen Anschluss Eins des ersten Moduls und Anschluss Zwei des zweiten Moduls zu fördern und zu puffern. Zusätzlich können durch das MFS TE vom Eingangspunkt Eins zum IOP 3 des ersten Moduls geleitet werden. Die globalen Ein- und Ausgangsmatrizen zeigen die verknüpften Anschlüsse so wie die zugehörigen Module und Funktionen:
PIMFS
1 1 = (0 0 0
2 2 1.5) ; 0 0
POMFS
1 2 = (0.9 1.2 0
1 3 0 0 0
2 1 3) 0 0
Demzufolge erlauben die Vorteile einer modellbasierten Beschreibung die konsis tente Beschreibung von automatisierten Materialflussmodulen. Diese kann zur Ablei tung der Wissensbasen der Agenten genutzt und zur Verarbeitung der Wissensbasis
1.5 Evaluation der Rekonfigurationsdauer | 15
des Koordinator-Agenten eingesetzt werden, woraus sich die System-Funktionalitäten ableiten lassen wie es in A3 vorgeschlagen wurde. Basierend auf der Wissensbasis ist der Koordinator-Agent in der Lage die verknüpften Funktionen einer TE für bestimm te Transportaufträge anzufordern bzw. aufzurufen. Darüber hinaus wird die Planung mehrerer Transportaufträge für ein System durch die zur Verfügung stehenden Be rechnungsfunktionen hinsichtlich Kosten und Dauer eines jeden Agenten begünstigt. Die Berechnung berücksichtigt die Anzahl der derzeitigen TE des betrachteten Moduls und deren Ziel. Schlussendlich verfügt der Koordinator-Agent durch die Statusinfor mationen über die Möglichkeit, Transportaufträge für das System anzunehmen oder abzulehnen.
1.5.2 Evaluation hinsichtlich Rekonfigurationsdauer Der Einfluss von Änderungen am MFS in Form von Hinzufügen oder Entfernen eines Moduls hängt hauptsächlich von der Rekonfigurationsdauer ab. Dieser Wert wird defi niert als die zeitliche Dauer zwischen dem Moment der Herstellung einer elektrischen Verbindung zu einem Modul bis zu dem Zeitpunkt, an dem alle Prozessschritte des Ko ordinator-Agenten abgeschlossen sind. Das zu untersuchende System (Abbildung 1.2) besteht aus zwei SPSen, wovon eine mit der T-Verzweigung verbunden ist und die andere zur Steuerung des Puffermoduls verwendet wird. Nach dem Kommunikations konzept für die Rekonfiguration wurden die Modul-SPSen auf Basis des azyklischen EAP-Protokolls verbunden. Als Fertigstellungs-Indikatoren für den Evaluationsstatus
state machine 2_buffer_bwd [2_buffer_bwd ] [B2.4==TRUE&& Output==1] moving do/A2.1(-1) [B2.3==TRUE&&Output ==1&&TimerBuffer>0] buffering do/A2.2(1) do/timer(TimerBuffer) [mer==0]
Module_1: T-Juncon
Y [m]
AMS DF MTS Coordinator
[B2.1==TRUE&& TimerBuffer=3, AUFRUNDEN (KMHför)/(1,6),1)
Gesamtlänge aller Gassen (kalkuliert)
x
ABE/(2 ⋅ KMEB) ⋅ 0.95
Kommissionier ebene (KMEB) WENN(KMHför>=3, AUFRUNDEN (KMHför)/(1,6),1)
Schmal gangregal
x
3
ABE/(2 ⋅ KMEB) ⋅ 0.95
Anzahl Plätze zur Bereitstellung (ABE)
x
Pakete Paletten regal
AUFRUNDEN (Anzahlartikel ⋅ 1,15)
Spezifische Spezifische Dimensionierungsformeln Schnittstellen Parameter
AUFRUNDEN (Anzahlartikel ⋅ 1,15)
Verbindung zum Flussobjekt
Paletten
Lagern
x
2
Tab. 2.3: Ressourcenkatalog des Prozesses Fördern. Fördern
Verbindung zum Flussobjekt Pakete Paletten
Spezifische Parameter Kommissio nierhöhe (KMHför)
Spezifische Dimen sionierungsformeln Positions Hubzeit rüstzeit
Schnittstellen Fläche vertikal
Gangbreite
Vertikalkom missionierer
x
12
Positions rüstzeitmtm
KMEB ⋅ 8,26
x
3
Schmalgang stapler
x
15
Positions rüstzeitmtm
KMEB ⋅ 8,26
x
2
Die dem Assistenzsystem zur Verfügung stehenden Ressourcenkataloge sind in Ta belle 2.2 und 2.3 dargestellt. Für den Prozess Lagern existieren zwei Lagerressourcen: das Paletten- und das Schmalgangregal. Zusätzlich existieren zwei Förderressourcen: der Vertikalkommissionierer und der Schmalgangstapler. Die jeweilige Zeile der Res source stellt das lokale Wissen des diese Ressource vertretenen Ressourcenagenten dar.
2.8 Vereinfachtes Anwendungsbeispiel | 37
Tab. 2.4: Lokales Wissen des Bereichsagenten „Kommissionierung“. Prozessreihenfolge
Stufigkeit
Vorgelagerter FB
Input
Kommissionier-IT
Fördern, Lagern, Erfassen
1-stufig
Beschickung
Palette
Mobiles Datengerät
Als lokales Wissen, das dem Bereichsagent „Kommissionierung“ hinterlegt ist, ist in Tabelle 2.4 dargestellt. Des Weiteren existiert ein Bereichsagent „Beschickung“, des sen Output Paletten sind. Die Kundenanforderungen in dem Beispiel sind: – Art der zu lagernden Einheiten = Paletten – Art der zu versendenden Einheiten = Paletten – Absolute Anzahl der Artikel = 275 Stück Die Bereichsagenten beginnen abhängig von diesen Kundenanforderungen die Kom position ihrer Funktionsbereiche. Dies soll am Beispiel der Kommissionierung gezeigt werden. Weil bei der hinterlegten Organisationsform des Bereichsagenten Paletten kommissioniert werden können, bestimmt er die benötigte Prozessreihenfolge. Da so wohl der Input als auch der Output Paletten sein soll, kann die Prozessreihenfolge ohne eine Anpassung verwendet werden. Deshalb initialisiert der Bereichsagent ent sprechend die benötigten Ressourcenagenten für jeden Prozess. Dies sind je zwei Res sourcenagenten für Fördern und Lagern. Nach der Initialisierung bestimmt der Be reichsagent seine möglichen benachbarten Funktionsbereiche. Aufgrund des benö tigten vorgelagerten Funktionsbereichs (FB) „Beschickung“ (siehe Tabelle 2.4) sendet er eine Anfrage an alle Bereichsagenten, die einen Funktionsbereich „Beschickung“ koordinieren. Die benötigten Agenten ermittelt er mithilfe der Gelben Seiten, eine Art Telefonbuch, des Agentensystems. Da der Output der Beschickung identisch zum In put der Kommissionierung sein muss, werden diese Eigenschaften verglichen. Hier für übermittelt der Bereichsagent „Kommissionierung“ seinen benötigten Output an den Bereichsagenten „Beschickung“. Der die Nachricht empfangende Bereichsagent prüft die Kompatibilität und antwortet mit einer Zusage, da die Bereiche kompatibel sind. Da die Komposition der Ressourcenagenten in 6.3 schon ausführlich beschrie ben ist, wird hier nur kurz darauf eingegangen. Da alle Ressourcen Paletten handha ben können, sind diese zu den Kundenanforderungen kompatibel. Das Resultat der Schnittstellenprüfung ist, dass das Palettenregal mit dem Vertikalkommissionierer und dem Schmalgangstapler kompatibel ist. Aufgrund der maximalen Gangbreite ist das Schmalgangregal nur mit dem Schmalgangstapler kompatibel. Sobald ein Ressourcenagent einen kompatiblen Nachbarn gefunden hat, startet er in Abhängigkeit von diesem die Konfiguration. Hierfür werden die Dimensionie rungsformeln schrittweise berechnet. Der Ressourcenagent „Schmalgangstapler“ be
38 | 2 Agentenbasierte Planung von Intralogistiksystemen
rechnet folglich die Positionsrüstzeit und die Hubzeit, indem er die benötigten Para meter aus seinen Formeln extrahiert. Dies sind: – Positionsrüstzeitmtm – KMEB Die beiden identifizierten Parameter werden mithilfe des Suffixes „mtm“ nach MTMParametern durchsucht, sodass sich zwei Mengen ergeben: – Positionsrüstzeit wird bei MTM-Agent angefragt – KMEB wird beim Nachbar-Ressourcenagent angefragt Da die Parameter von der jeweiligen Nachbarressource abhängen, müssen die Pa rameter für jede Kombination ermittelt werden. Hierfür wird an jeden kompatiblen Nachbar eine Anfrage mit den benötigten Parametern geschickt. Bei Anfragen beim MTM-Agenten wird dementsprechend die Nachbarressource übermittelt. Zusätzlich werden weitere Informationen des Systemtyps wie die Organisationsform, die Stufig keit und die Kommissionier-IT benötigt (siehe Tabelle 2.4). Beim Eingang einer Para meteranfrage ermittelt der MTM-Agent diese mithilfe einer hinterlegten Tabelle und schickt die Werte der Parameter zurück: – Positionsrüstzeit (Palettenregal) = 6,66 s – Positionsrüstzeit (Schmalgangregal) = 6,66 s Die Ressourcenagenten, in diesem Beispiel „Palettenregal“ und „Schmalgangregal“, überprüfen beim Eingang einer Parameteranfrage, ob bei ihnen im intralogistischen Modell der Ressource der Wert der Parameter hinterlegt ist. Dies ist der Fall, wenn es sich um einen spezifischen Parameter handelt oder die Formel zur Berechnung des Wertes bekannt ist. In diesem Fall können diese den angefragten Parameter KMEB mithilfe der hinterlegten Formel bestimmen. Sobald die Werte der angefragten Pa rameter bestimmt sind, antwortet der entsprechende Ressourcenagent mit den ent sprechenden Werten. Sollten allerdings dem Ressourcenagenten die Parameter unbe kannt sein, informiert er den anfragenden Ressourcenagenten. Der Ressourcenagent „Schmalgangstapler“ wartet nach dem Versenden seiner Anfragen auf mögliche Ant worten oder Anfragen von anderen Ressourcenagenten. Mit dem Erhalt der Antwort vom MTM-Agent kann er die Positionsrüstzeit in Abhängigkeit von seinen Nachbarn bestimmen. Anschließend wartet er auf weitere Nachrichten. Die anderen Ressourcenagenten, „Palettenregal“ und „Schmalgangregal“, die die Komposition abgeschlossen haben, bestimmen parallel zum Ressourcenagen ten „Schmalgangstapler“ die benötigten Parameter. Dies sind in ihren hinterlegten Formeln die Parameter: – Anzahlartikel – KMHför – ABE – KMEB
2.8 Vereinfachtes Anwendungsbeispiel |
39
Der Parameter Anzahlartikel ist den Ressourcenagenten durch die Kundenanforde rungen bekannt. Folglich kann die Anzahl Plätze zur Bereitstellung direkt berechnet werden. ABE = AUFRUNDEN(Anzahlartikel ⋅ 1,15) = 317 Da KMHför weder bekannt ist noch das Suffix „mtm“ hat, wird eine Parame teranfrage an die Nachbarressourcenagenten, „Schmalgangstapler“ und „Vertikal kommissionierer“ geschickt. ABE ist bereits berechnet worden und für KMEB ist die Formel zur Berechnung in der Wissensbasis enthalten. Um die Berechnung fortzu setzten, wird auf die Antwort der angefragten Ressourcenagenten oder eine Anfrage von diesen gewartet. Die Beantwortung der Anfrage durch den Ressourcenagenten „Schmalgangstapler“ und „Vertikalkommissionierer“ erfolgt analog zu dem oben be schriebenen Vorgehen. Da dieser Parameter ein spezifischer Parameter ist, können beide Förderressourcen im Fall des anfragenden Ressourcenagenten „Palettenregal“ direkt mit dem Wert (12 m bzw. 15 m) antworten. Sobald der Ressourcenagent „Palet tenregal“ eine Antwort erhält, setzt er seine Dimensionierung durch Berechnung der Parameter fort. KMEB = WENN KMHför ≥ 3 DANN AUFRUNDEN (
KMHför ) SONST 1 1,6
KMEB (Vertiaklkommissionierer) = 8 KMEB (Schmalgangstapler) = 10 ABE ⋅ 0.95 2 ⋅ KMEB Gesamtlänge aller Gassen (Vertikalkommissionierer) = 18,82 Gesamtlänge aller Gassen =
Gesamtlänge aller Gassen (Schmalgangstapler) = 15,06 Da der Wert von KMEB nun bekannt ist, wird die entsprechende Anfrage des Res sourcenagenten „Schmalgangstapler“ mit dem Wert 10 beantwortet und der Ressour cenagent „Schmalgangstapler“ kann die Hubzeit berechnen. Hubzeit = KMEB ⋅ 8,26 Hubzeit (Palettenregal) = 82,6 Die anderen Ressourcenagenten berechnen analog zu diesem Vorgehen ihre Pa rameter. Sobald eine Ressource ihre Dimensionierung abgeschlossen hat, übermittelt diese ihre Ergebnisse an den zuständigen Bereichsagenten („Kommissionierung“). Der gesamte Ablauf der zuvor beschriebenen Kommunikation ist in Abbildung 2.8 dargestellt. Aus Gründen der Übersichtlichkeit werden lediglich zwei Ressourcen agenten dargestellt. Die Kommunikation der hier nicht dargestellten Ressourcen agenten erfolgt ihren Aufgaben entsprechend identisch.
40 | 2 Agentenbasierte Planung von Intralogistiksystemen
Abb. 2.8: Kommunikation der Agenten im Anwendungsbeispiel.
2.9 Fazit und Ausblick Die Planung von Intralogistiksystemen ist ein intransparenter, zeitintensiver und erfahrungsbasierter Prozess, der nicht mehr den sich aufgrund des steigenden Wett bewerbs wandelnden Anforderungen gerecht wird. Aus diesem Grund wird in diesem Beitrag ein neues Konzept vorgestellt, mit dem auf Basis von intelligenten Planungs objekten und einem regelbasierten Vorgehen ein Überblick über mögliche Planungs alternativen gegeben werden soll. Aufgrund der regelbasierten Planung steigt die Transparenz der Planung. Mithilfe der eingesetzten Agenten können die intelligenten Planungsobjekte modelliert und umgesetzt werden. Diese können flexibel mögliche Alternativen generieren.
Literatur
| 41
Durch die Flexibilität des Agentensystems kann das konzipierte Assistenzsystem in der Hinsicht erweitert werden, dass dieses eine Umplanung der bereits bestehenden Anlagen vornehmen kann. Dies gewinnt aufgrund von dynamischen Märkten zuneh mend an Bedeutung. Des Weiteren wäre ein dynamischerer Planungsablauf mit we niger übergeordneten Agenten möglich, wenn entsprechend eine Wissensbasis kon zipiert und angelegt wird.
2.10 Danksagung Die Autoren bedanken sich bei der Deutschen Forschungsgemeinschaft (DFG) für die Finanzierung des hier vorgestellten Forschungsprojekts DEPIAS (WE 2187/27-1, GO 810/32-1).
Literatur [1] [2] [3]
[4]
[5] [6] [7]
[8] [9] [10] [11] [12]
[13] [14]
Arnold D. (Hrsg.) 2006. Intralogistik: Potentiale, Perspektiven, Prognosen. VDI-Springer Verlag, Berlin. Baker P. and Canessa M. 2009. Warehouse Design – A structured approach. In: European Jour nal of Operational Research, 2: 425–436. Jobi B. S. 2013. Entwicklung einer rechnergestützten Systematik zur funktionsbereichsüber greifenden Planung von Distributionszentren durch Einsatz der Graphentheorie. Dissertation, Universität Stuttgart, Stuttgart. Wehking K.-H. 2012. PlnLog II: Entwicklung einer Planungsplattform für intralogistische Syste me – Phase II vom MWK Baden-Württemberg in Kooperation mit dem Intralogistiknetzwerk in Baden-Württemberg e. V. geförderten Vorhaben 32-729.85/ 282, Stuttgart. Wunderle A., and Sommer T. 2014. Erfahrung und Augenmaß zählen: Planung von Intralogistik systemen. In: Hebezeuge Fördermittel, 54: 428–430. Gabbert P. and Brown D. 1998. Knowledge-Based Computer-Aided Design of Materials Hand ling Systems. In: IEEE Transactions on Systems, Man and Cybernetics, 19:188–196 Marrenbach D. and Wehking K.-H. 2011. Autopoetic material handling systems. In: Proceedings of the 16th Annual International Conference on Industrial Engineering Theory, Applications and Practice. Apple J. M. 1977. Material Handling Systems Design. John Wiley & Sons, New York. Jünemann R. 1989. Materialfluß und Logistik. Springer, Berlin. Gudehus T. 2010. Logistik. Springer, Heidelberg. Ellinger M. 2015. Beitrag zur agentenbasierten Konzeptplanung von Kommissioniersystemen. Dissertation, Technische Universität Dortmund, Dortmund. Kugler W. and Gehlich D. 2013. Einsatz von Agentensystemen in der Intralogistik. In: (Göhner P. Hrsg.) Agentensysteme in der Automatisierungstechnik. Berlin, Heidelberg: Springer Berlin Heidelberg: 113–128. Aldewereld H., Dignum F. and Hiel M. 2012. Decentralised Warehouse Control through Agent Organisations. In Automation in Warehouse Development, Springer London, London: 33–44. DIN EN 14943 2006. Transportdienstleistungen – Logistik – Glossar. Beuth, Berlin.
42 | 2 Agentenbasierte Planung von Intralogistiksystemen
[15] DIN SPEC 1001 2010. Lager- und Transportlogistik – Standardisierte Leistungsdefinition und -bewertung in der Angebotsphase. Beuth, Berlin. [16] Schulte C. 2008. Logistik – Wege zur Optimierung der Supply Chain. 5. Auflage. Vahlen, Mün chen. [17] ten Hompel M., Sadowsky V. and Beck M. 2011. Kommissionierung: Materialflusssysteme 2 – Planung und Berechnung der Kommissionierung in der Logistik. Springer, Heidelberg. [18] Weiß G. and Jakob R. 2005. Agentenorientierte Softwareentwicklung. Springer, Heidelberg. [19] Bellifemine F., Caire G.and Greenwood D. 2007. developing multi-agent systems with JADE. Wiley, Chichester.
Max Hoffmann, Tobias Meisen und Sabina Jeschke
3 Agent OPC UA Ein skalierbarer Ansatz zur semantischen Integration von Multiagentensystemen in den IT-Verbund automatisierungstechnischer Anlagen Zusammenfassung: Dieses Kapitel umfasst die Beschreibung eines TechnologieStacks, der zum Ziel hat, intelligente Entitäten einer Produktion in Form von Res sourcen und Produkten mit fortgeschrittenen, semantischen Schnittstellenstandards in Einklang zu bringen. Die Realisation dieses Vorhabens geschieht durch eine Mo dellierung und informationstechnische Verknüpfung von Multiagentensystemen auf Basis des nach IEC 62541 genormten OPC Unified Architecture Standards. Durch Ver knüpfung dieser beiden Technologien gelingt die Etablierung moderner, flexibler und interoperabler Ansätze der Produktionssteuerung bei gleichzeitiger Einhaltung semantischer Integrität sowie essentieller Sicherheitsstandards. Durch die vorgestell te Modellrepräsentation intelligenter Softwareagenten im produktiven Umfeld wird es möglich, Cyber-Physische Systeme mit Produkten und Produktionssystemen inner halb gewachsener Kommunikations- und Informationsinfrastrukturen zu integrieren.
3.1 Einleitung und Motivation Im Zuge der Bestrebungen nach einer Industrie 4.0 stehen insbesondere Forderungen zur intelligenten Nutzung von verfügbaren Ressourcen im Fokus der Betrachtung. Im Rahmen der industriellen Produktion sind diese Ressourcen durch verfügbare Ferti gungsentitäten wie Maschinen und Anlagen, sowie ebenfalls menschliche Arbeitsleis tung, charakterisiert. Die maschinelle Komponente ist im Rahmen heutiger Produkti onsanlagen durch einen hohen Automatisierungsgrad gekennzeichnet, während dem menschlichen Part nahezu die alleinige Entscheidungsgewalt in Bezug auf kognitive Prozesse sowie Anpassungen der laufenden Produktion zukommt. Eine Vernetzung sämtlicher am Produktionsprozess beteiligter Akteure maschineller wie menschlicher Natur zu einem Netzwerk soll daher das Zusammenspiel zwischen den Akteuren in einer Fabrik nachhaltig verbessern und hat letzten Endes das Ziel, eine Omnipräsenz von Produktionsdaten sowie weiterführenden Informationen zu ermöglichen. Diese ständige Verfügbarkeit von Informationen aus der Produktion legt eine Nut zung der darunterliegenden Daten im Sinne einer ständigen Optimierung nahe. Mögli che Optimierungsstrategien stützen sich hierbei in der gängigen Praxis hauptsächlich auf zwei Szenarien: 1. Zum Einen besteht ein vorrangiges Ziel in der optimalen Bereitstellung von Infor mationen aus dem produktiven Umfeld für menschliche Entscheider. Hierzu ist https://doi.org/10.1515/9783110527056-003
44 | 3 Agent OPC UA
2.
es notwendig, die Rohdaten aus der Produktion zielgerichtet aufzubereiten sowie im Sinne einer zugänglichen Interpretierbarkeit geeignet darzustellen und zu vi sualisieren. Ein weiteres Szenario stellt die unmittelbare Nutzung von Produktionsinformatio nen zur Optimierung auf Basis computergestützter Werkzeuge dar. Im Augenmerk liegen hierbei insbesondere Methoden der Künstlichen Intelligenz sowie im All gemeinen diejenigen Verfahren, die über eine bloße Algorithmik unter Nutzung feststehender Berechnungsverfahren hinausgehen, wie sie heute innerhalb vieler automatisierungstechnischer Steuerungen und Systeme anzutreffen sind.
Jedwede dieser Optimierungen – seien sie initiiert durch den Menschen oder auf Basis autonomer Intelligenzmechanismen – stützen sich hierbei auf aktuelle Daten, die z. B. mittels Sensorik oder auf Basis anderweitiger Instrumente zur Datenakquisition in der Produktion erfasst werden. Die Sammlung, Aggregation, Zusammenführung und In terpretation dieser Daten im Sinne einer einheitlichen Repräsentation stellt heutige Produktionsumgebungen mitsamt ihrer informationstechnologischen Ausgestaltung jedoch vor große Herausforderungen. Dieser Umstand liegt vor allem in einigen cha rakteristischen Eigenschaften von automatisierungstechnischen Anlagen moderner Produktionssysteme begründet: – Produktionsdaten sind aufgrund ihrer mannigfacher Ausprägung naturgemäß durch eine starke Heterogenität gekennzeichnet. Sie unterscheiden sich hierbei nicht nur aufgrund einer starken syntaktischen Varianz, sondern sind insbeson dere auch durch die Verwendung unterschiedlicher semantischer Konzepte bei der Repräsentation von Informationen charakterisiert. – Moderne Produktionsanlagen bestehen in der Regel aus einer großen Anzahl hochkomplexer Subsysteme, die einem hierarchischen Organisationskonzept folgen. Eine vertikale Vernetzung dieser Systeme gelingt daher aufgrund ver schiedener Kommunikationsstandards zumeist nicht. – Einheitliche Schnittstellen zwischen diesen Subsystemen bestehen mithin nur sehr eingeschränkt und sind im Allgemeinen lediglich durch hoch aggregierte In formationsflüsse geprägt. Echtzeitinformationen liegen für gewöhnlich nicht in ausreichender Granularität vor, sondern – wenn überhaupt – in Form stark kon densierter Kennzahlen. Diese Eigenschaften führen dazu, dass eine erfolgreiche vertikale Integration der Komponenten moderner Produktionssysteme in der Regel nicht in dem erforderlichen Grad realisierbar ist. Eine durchgehende Kommunikation findet also hauptsächlich zwischen gleichartigen Akteuren und folglich innerhalb einzelner Kommunikations ebenen der Automatisierungspyramide statt (siehe Abbildung 3.1). Die Vorgänge innerhalb der einzelnen Ebenen sind durch die bestehenden ITInfrastrukturen sowie Kommunikationssysteme bereits in ausreichendem Maße berücksichtigt. So findet eine weitreichende Vernetzung zwischen Systemen der Res
3.1 Einleitung und Motivation
Services, OLAP Opmierung, KPI
|
45
ERP-Level Enterprise Resource Planning
Ethernet
Kommunikaonsschicht
MES-Level Miels Funkonen
Manufacturing Execuon System Überwachung & Produkonsplanung
OPC UA, MQTT, DDS, ZeroMQ
Kommunikaonsschicht
Steuerungen (PLC, PAC, RC, CNC, Process Controllers)
Control Level Machine Controllers
Datenfluss Profinet, EtherCAT, Sercos III
Kommunikaonsschicht
Device Level Sensor-ActorMachine
Signalfluss Arbeiter
Maschinen & Ressourcen
Logisk
Montage
Abb. 3.1: Kommunikationssysteme innerhalb der Automatisierungspyramide, nach [1].
sourcenplanung bereits innerhalb vieler Unternehmen standort- oder sogar werks übergreifend statt, da die hierbei eingesetzten Datenbanksysteme durch eine ähnli che Syntaktik geprägt sind. Dezidierte Datenbanken lassen sich auf diese Weise mit komplexen Data Warehousing-Lösungen zur ständigen Bereitstellung wichtiger Key Performance-Indikatoren (KPI) verbinden und ermöglichen so einen kontinuierlichen Informationsaustausch. Ähnlich gestaltet sich das Bild auf der untersten Ebene der Automatisierungspy ramide – auf dem Shop Floor. Trotz der ausgeprägten Heterogenität eingesetzter Kom munikationslösungen, z. B. aufgrund der Verwendung verschiedener Feldbussyste me, sind die meisten über einen großen Zeitraum gewachsenen informationstechni schen Ökosysteme vieler Unternehmen dazu in der Lage, anfallende Informationen geeignet auszutauschen. Auch gibt es bereits weitreichende Ansätze, Intelligenzme chanismen auf dieser untersten Ebene erfolgreich einzuführen. Die in diesem Kontext angestrebten Optimierungsstrategien beschränken sich jedoch in der Regel auf lokale Gegebenheiten, bewirken also lediglich die optimale Funktionsweise eines oder eini ger weniger dezidierter Prozesse. Ein optimales Zusammenspiel aller Akteure eines produktionstechnischen Sys tems erfordert jedoch gerade den vertikalen Informationsaustausch zwischen den Ebenen der Automatisierungspyramide. Dieser Austausch ist notwendig, um beide angesprochenen Optimierungsstrategien – auf Basis menschlicher Entscheidungen
46 | 3 Agent OPC UA
und maschineller Intelligenz – zur Geltung bringen zu können. Gelingt diese Vernet zung, so lassen sich im Verbund Probleme auf der untersten Ebene durch produkti onsnahe Lösungsansätze in Angriff nehmen sowie die hierbei gewonnenen Erkennt nisse mit dem Streben nach optimaler Ressourcenplanung (ERP-Level) in Einklang bringen. Ein ständiger Austausch zwischen diesen Ebenen unter Berücksichtigung aktueller Informationen aus der realen Produktion eröffnet neuartige Szenarien der Optimierung und lässt das Potential eines allumfassenden Internet of Things (IoT) in der Produktion erahnen. Das in dieser Arbeit vorgestellte Konzept versucht die angestrebten Ziele durch ei nen kombinierten Ansatz zu verfolgen. Das Konzept beinhaltet die Einführung intel ligenter Entitäten auf dem Shop Floor in Form von Agenten. Die Kommunikation so wie das Zusammenwirken dieser Agenten in Form eines Multiagentensystems erfolgt jedoch nicht auf Basis eines (weiteren) proprietären Protokolls oder auf Basis ähn licher Kommunikationslösungen, sondern wird durch die Verwendung eines generi schen Schnittstellenstandards realisiert. Dieser Standard soll in diesem Kontext nicht nur eine Kommunikation zwischen den einzelnen intelligenten Softwareagenten ge währleisten, sondern insbesondere auch einen Informationsaustausch zwischen pro duktionsnahen und produktionsfernen informationstechnologischen Infrastrukturen ermöglichen. Im Einzelnen werden im Rahmen des dargelegten Frameworks folgende Heraus forderungen behandelt sowie mit geeigneten Lösungsansätzen adressiert: – Einheitliche Gestaltung der Kommunikation auf dem Shop Floor durch Verwen dung eines generischen Schnittstellenstandards. – Harmonisierung vertikaler Kommunikationsflüsse durch die Skalierbarkeit des vorgestellten Schnittstellenkonzepts in Verbindung mit einer semantischen, kon textuellen Anreicherung von Produktionsdaten. – Repräsentation intelligenter Softwareagenten auf Basis eines einheitlichen se mantischen Informationsmodells. – Weiterentwicklung des generischen Schnittstellenstandards für den Austausch von Informationen zwischen Agenten und Drittsystemen. – Durchgängiges Mapping sowohl der Repräsentation wie auch der Kommunikati on zwischen Softwareagenten auf das vorgestellte Schnittstellenkonzept zur verti kalen Vernetzung der Automatisierungspyramide unter Einbeziehung sämtlicher horizontaler und vertikaler Kommunikationsvorgänge zwischen den Agenten so wie weiteren Anlagen und Systemen der Produktion. Der Aufbau des vorliegenden Kapitels gliedert sich daher in folgende Schritte. Zu nächst geschieht im folgenden Abschnitt eine generelle Beschreibung vorhandener Ansätze zur intelligenten Produktionssteuerung auf dem Shop Floor mittels intelli genter Softwareagenten (Abschnitt 3.2.1). Daran anschließend findet in Abschnitt 3.2.2 eine Auseinandersetzung mit vorhandenen vielversprechenden Schnittstellenstan dards entlang der einzelnen Ebenen der Automatisierungspyramide statt. In Ab
3.2 Von der vertikalen Integration zu einer intelligenten Vernetzung | 47
schnitt 3.3 erfolgt dann eine detaillierte technische Beschreibung des TechnologieStacks zur Realisation des dargestellten Vorhabens. Eine Evaluation sowie Validie rung des vorgeschlagenen Ansatzes erfolgt schließlich in Abschnitt 3.4, in dem zwei integrierbare Konzepte zur Nutzung intelligenter Softwareagenten zur Ressourcen planung aufgezeigt werden. Abschnitt 3.5 fasst die Erkenntnisse des vorliegenden Kapitels zusammen und beinhaltet eine Diskussion weiterführender Konzepte zur Nutzung evolvierender Intelligenzsysteme – auf Basis von Machine Learning sowie verwandter Lernstrategien.
3.2 Von der vertikalen Integration zu einer intelligenten Vernetzung Dieser Abschnitt behandelt zwei entscheidende Technologietreiber der vierten indus triellen Revolution. Einerseits werden zukünftige Entwicklungen durch eine immer stärkere Autonomie geprägt, durch die intelligente Subsysteme selbständig Entschei dungen treffen. Andererseits steigt hierdurch die Notwendigkeit, einer kontextuellen Entkopplung dieser Subsysteme entgegenzuwirken. Neben der Einführung von Intelli genzmechanismen ist demnach ebenfalls die Schaffung interoperabler, semantischer Schnittstellenstandards von herausragender Bedeutung für die Tragweite zukünftiger Entwicklungen im Rahmen der Industrie 4.0. Der Abschnitt konzentriert sich daher auf die grundsätzlichen Ausprägungen beider Technologiezweige, um diese in einem nächsten Schritt in Einklang zu bringen.
3.2.1 Softwareagenten zur intelligenten Produktionssteuerung auf dem Shop Floor Die Komplexität automatisierungstechnischer Systeme innerhalb der industriellen Produktion hat in den letzten Jahren und Jahrzehnten stark zugenommen. Diese Komplexität, hervorgerufen durch einen rasanten Anstieg der Zahl technischer Syste me führt mehr und mehr zu einem Umdenken, da zentrale Instanzen immer weniger dazu in der Lage sind, diese Systeme umfassend zu managen und optimal zu steu ern. Rufe nach einer Ablösung dieser traditionellen, zentralistischen Ansätze durch dezentrale Modelle und Methoden, die eine selbständige, autonome Optimierung der laufenden Vorgänge ermöglichen, werden daher immer lauter. Ein Schlüsselkonzept, das in der wissenschaftlichen Diskussion in den letzten Jahren immer stärker in den Vordergrund getreten ist, wird unter dem Begriff der cyber-physischen Systeme (CPS) zusammengefasst. Dem CPS-Begriff liegt eine intrinsische Integrierbarkeit physikalischer Vorgänge mit digitalen Prozessen zugrunde. Nach der Modellvorstellung cyber-physischer Pro duktionssysteme bilden die einzelnen CPS-Entitäten eine virtuelle Schnittstelle zwi schen realen Objekten der physischen Welt und ihrem digitalen Zwilling. Ausprägun
48 | 3 Agent OPC UA
gen von CPS sind beispielsweise Softwareagenten, die in unmittelbarem Kontakt zu den physikalischen Vorgängen stehen, indem sie zum Beispiel auf Basis von Sensorik dazu befähigt werden, ihre Umgebung wahrzunehmen. Diese Wahrnehmung befähigt Agenten in der Folge dazu, sämtliche eingehende Informationen in einer intelligenten Weise zu verarbeiten und sich so durch Interakti on mit ihrer Umwelt zu selbständig und intelligent agierenden Entitäten weiterzuent wickeln. Denkbar sind in diesem Zusammenhang beispielsweise Szenarien der prä diktiven Wartung (englisch: predictive maintenance) von Produktionsressourcen oder aber Verhandlungsmechanismen zwischen den einzelnen Agenten, welche die jewei ligen physikalischen Systemzustände von Maschinen und Anlagen berücksichtigen. Die Realisierung dieser Szenarien ist in vielen Fällen durchführbar, beschränkt sich jedoch in ihrer praktischen Anwendung in der Regel auf einige konkrete Anwen dungsfälle, die im Vorhinein fest implementiert wurden. Eine generische Befähigung von cyber-physischen Produktionssystemen zur autonomen Entscheidungsfindung in verschiedensten Szenarien – selbst unter Unsicherheit oder im Rahmen unbekannter Use-Cases – erfordert ein weitreichendes Konzept zur Integration in das Produktivsys tem. Dies beinhaltet: – Die Befähigung von Softwareagenten, Informationen über aktuell ablaufende Fer tigungsprozesse zu sammeln sowie in eine kontextübergreifende Repräsentati onsform zu überführen, – die Integration und gemeinsame Betrachtung dieser Informationen zur Durch führung dezidierter Analysen unter Berücksichtigung aggregierter Daten von ver schiedenen Systemen und Ebenen aus der Produktion, – und schließlich die Interpretation der hieraus hervorgehenden Ergebnisse und deren Weiterverarbeitung zu einem Verständnis, das in Form konsolidierten Pro zesswissens für eine ganzheitliche Optimierung genutzt werden kann. Eine Möglichkeit der Kommunikation zwischen intelligenten Softwareagenten, die diese Form des Informationsaustauschs ermöglicht, liegt in der Schaffung serviceorientierter Strukturen. Service-orientierte Architekturansätze (SOA) erlauben es hierbei, die Funktionen des Gesamtsystems als remotely callable services oder in Form von remote procedure calls anzubieten [2]. In der Praxis geschieht die Einfüh rung service-orientierter Strukturen auf Basis von Service-Orchestrierung bzw. durch die Verwendung von Service-Choreographien [3]. Sowohl der zentralistisch gesteuer te Ansatz der Orchestrierung wie auch die durch dezentrale Entitäten organisierten Choreographien greifen hierbei auf einen Satz vordefinierter Service-Beschreibungen zurück. Das Verhalten der Agenten innerhalb dieser service-orientierten Strukturen geschieht also nach einem im Vorhinein festgelegten Muster. Eine wirkliche semantische Kommunikation zwischen den Agenten einer derar tigen service-orientierten Architektur findet somit nur eingeschränkt statt, da mit samt den festgelegten Service-Beschreibungen der Kommunikationsaustausch eben falls im Vorhinein auf ein notwendiges Maß beschränkt wird. Die Schaffung generi
3.2 Von der vertikalen Integration zu einer intelligenten Vernetzung |
49
scher Ansätze zur Kommunikation zwischen den Agenten scheitert jedoch momentan noch in Ermangelung an Standards, welche das breite Anwendungsspektrum agen tenbasierter Strukturen abzudecken vermögen.
3.2.2 Schnittstellenstandards zur vertikalen Integration bis auf die Maschinenebene Eine mögliche Lösung dieser Problematik kann in der zielgerichteten Nutzung geeig neter skalierbarer Standards liegen, die es dem jeweiligen Anwendungsfall überlas sen, die Kommunikation der intelligenten Softwareagenten auf die Bedürfnisse der vorliegenden Gegebenheiten anzupassen. Da der Anwendungsbereich von Agenten im Rahmen automatisierungstechni scher Anwendungen jedoch in der Regel innerhalb der Feldebene verortet ist, sind insbesondere Schnittstellenstandards anzustreben, die eine entsprechende Integra tion in den Shop Floor ermöglichen. In diesem Sinne fällt der erste Gedanke auf eine Nutzung etablierter Feldbussysteme, wie sie zum Beispiel durch die traditionellen Ver treter Profibus oder Modbus gegeben sind. Diese herkömmlichen Feldbus-Protokolle arbeiten nach dem Master-Slave-Prinzip und konzentrieren sich auf die Vernetzung von Maschinen, Anlagen und Steuerungen auf der Feldebene. Herausragende Kom ponenten stellen hierbei Speicherprogrammierbare Steuerungen (SPS) sowie Systeme der zentralen Anlagenüberwachung (z. B. SCADA) dar. Während die SPS in diesem Zusammenhang die zentrale Steuerung und Organisation automatisierter Prozesse übernehmen, kommt den Systemen zur Überwachung die alleinige Vorherrschaft über Produktionsdaten zuteil. Ein horizontaler Austausch zwischen Überwachung und Steuerung findet zwar statt, beschränkt sich im Allgemeinen jedoch auf prozess kritische Größen und/oder Störsignale, ein Informationsaustausch mit dem Ziel einer ganzheitlichen Optimierung auf der Feldebene ist in der Regel nicht gegeben. Ähnlich verhält es sich mit Bezug auf den vertikalen Austausch von Informatio nen. Dieser findet zwar ebenfalls statt, beschränkt sich jedoch im Allgemeinen auf hoch kondensierte Größen, die von der Anlagenüberwachung an die höheren Syste me der Produktionsüberwachung weitergegeben oder oftmals sogar manuell aggre giert werden (siehe Abbildung 3.2). Eine Nutzung der anfallenden Daten geschieht also wie bereits weiter oben erläu tert üblicherweise durch den menschlichen Entscheider, der eine dezidierte Analyse der Informationen vornimmt, um hieraus sinnvolle Maßnahmen für mittel- bzw. lang fristige Anpassungen im Rahmen der Produktions- und Ausführungsplanung vorzu nehmen. Ein Rückfluss in die Steuerungssysteme geschieht bei dieser Konstellation nur sehr verzögert, eine unmittelbare Nutzung vorhandenen Prozesswissens während der Produktionsvorgänge ist in diesem Szenario nahezu undenkbar. Weiterführende Ansätze gehen über die reine Konnektivität zwischen Feldgerä ten hinaus und versuchen, über die Einführung eines Industrial Ethernet eine durch
50 | 3 Agent OPC UA
Abb. 3.2: Hierarchischer Informationsaustausch von der Feldebene in höhere Systeme.
gehende Vernetzung bis auf die Maschinenebene voranzutreiben. Namhafte Vertre ter dieser erweiterten Feldbusprotokolle sind die industriellen Vernetzungsstandards Profinet, EtherNet/IP oder EtherCAT. Die vorgestellten Industrial Ethernet Standards verfolgend wichtige Ansätze, da sie die Einführung verteilter Automatisierungslösun gen dezentraler Feldgeräte unterstützen. Außerdem bewirkt die einheitliche Gestal tung der Kommunikation auf Basis eines Ethernet-Standards eine Homogenisierung der Netzwerk-Infrastruktur und bringt bessere Fähigkeiten zum Management der vor liegenden Topologien mit. Diese Weiterentwicklungen im Rahmen der Feldbussysteme stellen einen großen Fortschritt dar, da sie den Grad proprietärer Kommunikationsprotokolle auf dem Shop Floor in entscheidendem Maße verringern. Dies erleichtert insbesondere eine Aggre gation und Harmonisierung verschiedener Informationsquellen, stellt also einen ers ten Schritt in Richtung generischer vertikaler Interoperabilität dar. Dennoch definie ren diese Protokolle nicht viel mehr als eine Schnittstelle. Die Semantik der ausge tauschten Informationen – und noch wichtiger: ihr Kontext – können auf Basis dieser Kommunikationslösungen nicht ausgestaltet werden. Einen Schritt weiter gehen in diesem Zusammenhang Ansätze, deren Ziel daran besteht, das Internet der Dinge (en. Internet of Things – IoT) innerhalb unterschied lichster Systeme zu verwirklichen. Die Technologie, welche diesen Kommunikati onsstandards zugrunde liegt, ist der Publish-Subscribe-Mechanismus. Dieser Mecha nismus bedient sich eines datenzentrierten Ansatzes, stellt also die ausgetauschten Informationen – und nicht das Protokoll – in den Vordergrund. Unterschiedliche Datenflüsse werden hierbei unter sogenannten Topics zusammengefasst, die den Kontext beschreiben, in dem ein Datum oder eine Menge von Datenpunkten an gefallen sind. Bekannte Vertreter dieser Protokollgattung sind das Message Queue Telemetry Transport (MQTT) Protokoll, ZeroMQ oder das Advanced Message Queuing
3.2 Von der vertikalen Integration zu einer intelligenten Vernetzung |
51
Protocol (AMQP) Alle Mitglieder dieser Protokollfamilie sind durch einen minima listischen Protokoll-Stack gekennzeichnet, um Nachrichten möglichst schnell und effizient verarbeiten zu können. Ein weiterer Vertreter der Message-Queue-Protokolle mit hoher Relevanz im industriellen Umfeld stellt der Data Distribution Service (DDS) dar. Neben seiner Pub-Sub-Funktionalität bietet der DDS-Standard darüber hinaus noch eine Auto-Discovery-Funktion zur ad-hoc-Vernetzung agiler Netzwerke an und stellt sogenannte Quality-of-Service (QoS)-Stufen bereit. Durch letztere Eigenschaft ist es bei Verwendung von DDS möglich, verschiedene Übertragungsmechanismen gemäß den Anforderungen des Anwendungsfalls zu spezifizieren, beispielsweise zum Zweck einer hohen Performance oder optimierter Signalqualität (siehe z. B. [4]). Die Kommunikation über Pub-Sub-Middleware-Konfigurationen ist mittlerweile derartig performant, dass diese in absehbarer Zeit auch für Anwendungen, die deterministi sches Verhalten erfordern, einsetzbar werden könnten. Das Industrial Ethernet gemeinsam mit datenzentrierten Verfahren stellen dem nach bereits eine gute Grundlage dar, um Intelligenzmechanismen bis auf den Shop Floor zu bringen, ohne entscheidende Anforderungen wie zum Beispiel echtzeitfähi ges Verhalten außer Acht zu lassen. Alleine auf Basis von Topics – also Nachrichtenka nälen – lassen sich Produktionsdaten jedoch noch nicht hinreichend exakt beschrei ben. Möglicherweise reicht diese Form der Nomenklatur von Datenflüssen für viele Anwendungen auf dem Shop Floor aus, auch zwischen intelligenten Softwareagen ten. Jedoch gelangt der Ansatz spätestens bei der Integration von Shop-Floor-Daten in höhere Systeme an seine Grenzen, da zu diesem Zweck Informationen im Sinne ei nes skalierbaren Informationsmodells annotiert werden müssen, um beispielsweise eine Integrierbarkeit in komplexe Datenbanksysteme zu gewährleisten.
3.2.3 OPC UA – Der Meta-Standard für skalierbare Informations- und Kommunikationsinfrastrukturen An dieser Stelle setzt OPC Unified Architecture an. Der OPC UA Standard ist hierbei nicht mit einem reinen Protokoll vergleichbar, sondern geht weit über den Ansatz der traditionellen Spezifikation von Kommunikationsprotokollen hinaus. OPC UA lie fert im Gegensatz zu anderen Richtlinien keine fixe Beschreibung zu verwendender Technologie-Stacks, sondern stellt ein Vorgehensmodell zur Definition von Informati onsmodellierungen mit dem Ziel eines durchgehenden Datenaustauschs auf der Feld ebene bereit. Diesen Ansatz verfolgt OPC UA über ein Metamodell, das die formalen Randbedingungen sowie Beschreibungsdimensionen eines derartigen Informations modells festlegt, die Vorgehensweise bei der Modellierung jedoch der jeweiligen An wendung überlasst. Der Standard erfüllt somit einige grundlegende Voraussetzungen zur Schaffung flexibler Informationsmodelle, die dazu in der Lage sind, auch das Ver halten unterschiedlichst gearteter Agenten präzise abzubilden.
52 | 3 Agent OPC UA
Des Weiteren definiert OPC UA verschiedenste Übertragungsmechanismen, die es ermöglichen, den Datenaustausch auf Basis unterschiedlicher Technologien zu reali sieren. Ein Alleinstellungsmerkmal, das OPC UA in diesem Zusammenhang von vielen anderen Standardisierungen abhebt, ist die strikte Trennung der Protokolldefinitio nen und der Informationsmodellierung. Der Standard gibt also lediglich die Schnitt stellen, Austauschspezifikationen und semantische Modellierung der in Kontakt ste henden Systeme vor, die Organisation sowie der Ablauf der Kommunikation kann über die Nutzung der entsprechenden API jedoch von jeder Anwendung selbständig vorge nommen werden. Konkret geschieht der Datenaustausch bei OPC-UA-basierten Anwendungen über das TCP/IP-Protokoll oder über semantisch frei konfigurierbare Web Services und lie fert somit die Grundlage zur Schaffung von service-orientierten Strukturen in der Pro duktion. Ein attraktiver Nebeneffekt der Verwendung dieser etablierten Übertragungs mechanismen liegt neben der einfach realisierbaren Konnektivität außerdem in der Nutzbarkeit bewährter Sicherheitskonzepte. So nutzt OPC UA gängige Verschlüsse lungstechnologien wie RSA-256 bit und greift bei der Authentifizierung von Clients und Servern auf X.509-Zertifikate zurück, erfüllt also auch die notwendigen Rahmen bedingungen für den sicheren Aufbau skalierbarer Informations- und Kommunikati onsinfrastrukturen. 3.2.3.1 Semantische Informationsmodelle für gewachsene Produktionssysteme Einer der Gründe für die Wahl des OPC-UA-Standards zur modellhaften Abbildung von Multiagentensystemen in realen Produktionsanlagen ist die Fähigkeit zur Schaffung semantischer Informationsmodelle. Mittels des Metamodells von OPC UA ist es mög lich, Produktionsumgebungen sowie die hierin enthaltenen Maschinen, Sensoren, Steuerungen sowie anderen Entitäten mit Hilfe eines Informationsmodells vollstän dig gemäß einer objektorientierten Sichtweise zu beschreiben. Neben der Nutzung objektorientierter Modellbildung ermöglicht die Anwendung semantischer Konzep te weiterhin eine Modellierung auf Basis kontextueller Beschreibungsformen, indem beispielsweise Messgrößen von einem konzeptuellen Standpunkt charakterisiert wer den und somit in ähnlichen Kontexten wiederverwendbar sind. Diese Eigenschaft spielt speziell auf die Wahrnehmung intelligenter Softwareagenten in ihrer Umwelt an, die ähnlich der menschlichen Wahrnehmung durch kontextbezogenes Lernen ständig verbessert werden soll. Die OPC-UA-Standardisierungen geben in diesem Zusammenhang bereits einige Namensräume – sogenannte Address Spaces – vor, die das Grundgerüst für die weitere Modellierung bilden (siehe Abbildung 3.3). Die unterste Ebene dieses Aufbaus bildet die Basisspezifikation des Informati onsmodells. Hier werden die Typdefinitionen sowie Beschreibungen grundlegender primitiver Datentypen abgebildet. Darüber befinden sich Legacy-Spezifikationen zu OPC Data Access (oder auch OPC Classic), dem Vorgänger-Standard von OPC UA. Die
3.2 Von der vertikalen Integration zu einer intelligenten Vernetzung | 53
Abb. 3.3: Fundamentaler Aufbau des OPC-UA-Metamodells.
hier dargestellten Informationsmodelle, insbesondere Alarms & Events (OPC A&E) so wie Historical Data Access (OPC HDA) sind hauptsächlich aus Gründen der Abwärts kompatibilität noch Bestandteil des neuen Standards. In diesem Zusammenhang ist zu berücksichtigen, dass viele Automatisierungssysteme durch vergleichsweise hohe Lebenszykluszeiten charakterisiert sind. Diese in der Regel über Jahre bis Jahrzehnte gewachsenen Systeme gilt es auch bei der Einführung neuer Standards zu berücksich tigen. Die Integration etablierter OPC Classic Systeme in die OPC-UA-Modellierungs typologie ist daher notwendig, um diese gewachsenen Strukturen mit in die Entwick lungen einzubeziehen. Hierauf aufbauend befinden sich nun weitere Spezifikationen für Informations modelle, die sich zum Beispiel auf weit verbreitete technische Systeme oder ent sprechende Domänenmodelle beziehen. Diese auch als Companion Specifications bezeichneten Meta-Standardisierungen decken große Sprachräume zumeist in Form von Ontologien ab, um das OPC-UA-Metamodell mit anderen weit verbreiteten Stan dards in Einklang zu bringen. Namhafte Vertreter dieser Modellkategorien lauten zum Beispiel eCl@ss oder AutomationML, die ihrerseits Namensräume für eine Vielzahl technischer Anwendungen bereitstellen. Auf oberster Ebene schließlich befinden sich hersteller- oder branchenspezifische Erweiterungsmodule des OPC-UA-Standards. Auf diesem Level werden zumeist kon krete technische Anwendungen sowie häufig anzutreffende Systemkonfigurationen von den entsprechenden Herstellern geeignet adressiert, um ein Zusammenspiel mit den Basismodulen von OPC UA zu ermöglichen. Wichtige zu nennende Standards sind in diesem Kontext zum Beispiel die PLCOpen-Spezifikation zur Integration von Steu ergeräten (en. PLC – Programmable Logic Controller) nach IEC 61131-3 oder die ADI (Analyzer Device Integration) und FDI (Field Device Integration)-Standards zur Feldge räteintegration.
54 | 3 Agent OPC UA
Trotz der hohen Komplexität einiger der genannten Standards lässt sich durch das vorgegebene Metamodell eine nahtlose Integration der verschiedenen Spezifikation sicherstellen, sodass auch im Realbetrieb eine reibungslose Zusammenarbeit ange strebt werden kann. Ähnlich der vorgestellten Ansätze lassen sich in dieses Metamo dell auch Sprachräume für weiterführende Modellierungskonzepte wie zum Beispiel Multiagentensysteme integrieren, oder auch gemeinsame Namensräume für die Inte gration mit höheren Systemen der Produktionsplanung. 3.2.3.2 Skalierbarkeit für die vertikale Integration Aufgrund des offenen Architekturansatzes von OPC UA und der freien Konfigurier barkeit verwendeter Sprach- und Domänenmodelle ist es möglich, die Systeme auf den unterschiedlichen Ebenen eines Unternehmens flexibel miteinander zu vernet zen. Entsprechende Architekturlösungen bedienen sich hierbei des Ansatzes aggre gierender Server (siehe Abbildung 3.4). Auf der untersten Ebene der schematisch dargestellten Informationsflusshierar chie befinden sich die Datenquellen, welche hier durch OPC UA-Server repräsentiert werden. Diese Server bilden eine direkte Schnittstelle zu verfügbaren Informationen aus der Produktion wie zum Beispiel Sensordaten oder Rückkopplungen automatisie rungstechnischer Systeme. Diese Daten können von OPC UA-Clients auf der Feldebe ne abonniert und somit gelesen werden. Über weitere eingebettete OPC UA-Server auf dieser Ebene ist es nun möglich, die Produktionsdaten auf gleichem Wege nach oben weiter zu reichen. Auf diese Weise kann ein sukzessiver Informationsfluss vom Shop Floor bis hin zu höheren Systemen der Produktionsplanung realisiert werden. Auf der obersten Ebene schließlich erfolgt eine Aggregation der vorhandenen Namensräume zu einem durchgehenden Informationsmodell. Mittels dieser Methodik ist es möglich, Nutzung von Informaonen
OPC-Client (Erw. IM)
Integraon erweiterter Informaonsmodelle in den OPC UA Adressraum
OPC-Server (Erw. IM) OPC UA Client
Aggregang Server
Höhere Ebene
Feldebene / Produkonsnetz
OPC UA Client
OPC UA Server
Auereitung und Weitergabe von Informaonen
OPC UA Server
OPC UA Server OPC UA Client
Bereitstellung von Produkonsdaten
Abb. 3.4: Vertikale Integration über OPC UA Aggregating Server (nach [5]).
3.3 Agent OPC UA
|
55
auf Basis der vorhandenen Kontextinformationen hochgranulare Daten aus dem Feld auf den höchsten Ebenen der Produktionsplanung zu berücksichtigen.
3.3 Agent OPC UA – Ein skalierbarer Ansatz zur Integration von Multiagentensystemen in reale Produktionsanlagen Das beschriebene Konzept der aggregierenden Server muss jedoch nicht ausschließ lich auf höheren Ebenen erfolgen, sondern kann in jedem Stadium des Informations flusses dazu genutzt werden, kontextuelle Informationen entsprechend aufzuberei ten, zu interpretieren und somit einer Analyse zugänglich zu machen. Das in diesem Abschnitt vorgestellt Vorgehen für die modellhafte Abbildung intelligenter Software agenten mittels OPC UA macht sich diese Methodik zunutze, um eine durchgehende, semantische Interaktion von Agenten auf allen Ebenen der Automatisierungshierar chie zu ermöglichen.
3.3.1 Informationsmodellierung für CPPS Zu diesem Zweck ist es erforderlich, die oben beschriebene Methodik der objektorien tierten Informationsmodellierung auf cyber-physische Systeme wie Softwareagenten zu übertragen und anzuwenden. Die Metamodellierung dieser intelligenten Entitäten wird hierbei stark von den Ideen des Internet of Things inspiriert. Im Gegensatz zur Architektur traditioneller Internetstrukturen besteht ein CPS-basiertes Netzwerk aus einem Verbund offener, dynamischer und autonomer Instanzen, die Kommunikati on zwischen den Entitäten beruht demnach nicht auf einer übergreifenden ServerInstanz, die sämtliche Anfragen von Clients zentral organisiert. Im Kontext selbstän dig kommunizierender intelligenter Entitäten hat jede dieser Instanzen vielmehr die Fähigkeit, gleichzeitig als Client und ebenso als Server zu fungieren, um eingehende Anfragen selbständig entgegenzunehmen, zu verarbeiten und schließlich an andere Partner im Netzwerk zu kommunizieren. Neben den Vorteilen, die ein derartig dezentral organisiertes Netzwerk gleichbe rechtigter Kommunikationspartner mit sich bringt, führt die Auflösung starrer Hier archien in der Organisation von Kommunikationsvorgängen ebenfalls zu einer höhe ren Komplexität und erfordert einen fortgeschritteneren Grad an Interoperabilität. Im Gegensatz zu fixen Kommunikationsstrukturen mit klaren Hierarchien und eindeuti gen Zuordnungen einzelner Entitäten ist es bei diesen freien Strukturen notwendig, die ausgetauschten Daten in Form interpretierbarer Informationen abzubilden, und diese darüber hinaus in maschinenlesbarer Form bereitzustellen. Die Definition der IEEE [6] bezogen auf diese Form der Interoperabilität geht an dieser Stelle sogar noch einen Schritt weiter, indem sie Interoperabilität als die Fähigkeit eingebetteter Sys teme bezeichnet, spontane ad-hoc-Netzwerke zu bilden und über einen dynamischen
56 | 3 Agent OPC UA
Verbund flexibler Kommunikationseinheiten Informationen auszutauschen. Diese In formationen beinhalten neben dem reinen payload ebenfalls Meta-Daten über den Kontext der ausgetauschten Größen, zum Beispiel über den Ort und die präzisen Um stände, unter denen ein bestimmtes Datum generiert wurde. Erst diese kontextspezi fischen Meta-Informationen machen aus Rohdaten wertvolle und somit sinnvoll nutz bare, interpretierbare und autonom zu verarbeitende Informationen.
3.3.2 Semantische Integration intelligenter Softwareagenten Die Modellrepräsentation für intelligente Softwareagenten mittels OPC UA baut auf dieser Metamodell-Vorstellung auf, indem die informationstechnische Abbil dung der Agenten in einen Verbund vorhandener Spezifikationen und Namens raumerweiterungen eingebettet wird (siehe Abbildung 3.5). Auf der untersten Ebene befindet sich das zuvor beschriebenen Basismodell von OPC UA, das als Grundgerüst für weitere Modellierungen fungiert. Das Basismodell enthält zum Beispiel notwendige Spezifikationen zur Definition von Objekten oder Datentypen. Darauf aufbauend werden nun nebeneinander das AgentType sowie das MessageType Modell verortet. Die AgentType Spezifikation definiert hierbei die grund legenden Eigenschaften eines Softwareagenten, z. B. seine Fähigkeiten (Capabilities), Interaktionsmöglichkeiten mit der Umwelt (Wahrnehmung / Weltbild) sowie seine Kommunikationsfähigkeiten. Auf der gleichen semantischen Ebene wie der AgentType werden die Nachrich tenspezifikationen konkretisiert. Das MessageType Objektmodell definiert den inne ren Aufbau der Nachrichten, welche durch die Softwareagenten versendet werden. Zu diesem Zweck werden verschiedene Message Types definiert, die den Zweck der ein zelnen Nachrichten sowohl in der formalen Gestaltung wie auch im Sinne des späteren Nachrichteninhalts widerspiegeln. Das Ziel der semantischen Integration eines Multiagentensystems besteht letzt lich darin, die Fähigkeiten von intelligenten Softwareagenten auf Basis eines gene rischen Nachrichtenaustauschs zu realisieren. Zu diesen Fähigkeiten gehören neben
Produktions-Anwendungsfall OPC UA Informationsmodell
Domain-Specific Namespace Produkt-Informationsmodell
Semantische Metamodelle Für Intelligenzkonzepte
Semantics for Negotiation and Production Planning
AgentType / MessageType Specs, z.B. über XML oder NodeManager zur Laufzeit
AgentType Model
OPC UA NodeSet2.xml
MessageType Model
OPC UA Base Informatrion Model
Abb. 3.5: Übersicht des OPC UA Agent Stack.
Domänenspezifische Modelle für Use-Cases Modellierung semantischer Konzepte für Multiagentensyteme
OPC UA Basismodelle
3.3 Agent OPC UA
| 57
der Wahrnehmung ihrer Umwelt ebenfalls Verhandlungsmechanismen mit anderen Agenten bzw. mit übergeordneten Instanzen. Im Kontext einer dynamischen Produk tionssteuerung wurden für die im Rahmen dieses Frameworks zu berücksichtigenden Use-Cases folgende Fähigkeiten definiert: – Die grundlegende Fähigkeit von Agenten ist die Wahrnehmung ihrer Umwelt. Be zogen auf ein Produktionsszenario bedeutet dies, dass die Agenten dazu in der Lage sind, den Status anderer Agenten einzusehen, indem sie den über eine OPC UA-Property definierten State eines beliebigen Agenten auslesen. – Die Agenten sind weiterhin dazu in der Lage, Nachrichten von anderen Entitäten zu empfangen. Dies können gleichberechtigte Agenten sein oder andere Formen der Repräsentation intelligenter Einheiten, solange die Messages der formalen De finition des OPC UA-Agentenmodells entsprechen. – Agenten können Nachrichten über die OPC UA-Schnittstelle an jeden anderen Knoten (node) im OPC UA-Adressraum versenden, der für den Empfang entspre chender Nachrichten konfiguriert wurde. – Die Agenten sind dazu in der Lage, den Inhalt von Nachrichten logisch zu ver arbeiten. Die Struktur der einzelnen Messages, die ebenfalls über einen OPC UAObjekttyp definiert sind, stellt in diesem Zusammenhang sicher, dass die Nach richten durch die Agenten interpretierbar sind: – Zum Beispiel enthalten bestimmte Nachrichten ein Angebot für einen oder für mehrere durchzuführende Produktionsschritte. – Die Agenten dienen in diesem Zusammenhang in Form von CPPS als Schnitt stelle zur physikalischen Welt und repräsentieren so z. B. die Fähigkeiten einer Produktionsmaschine. Basierend auf dieser Repräsentation sind die Agenten folglich dazu in der Lage, einen Abgleich der angefragten Produk tionsschritte mit den jeweiligen Fähigkeiten sowie Eignungen der Produkti onsentitäten vornehmen. – Schließlich werden die Agenten hierdurch dazu befähigt, eine positive oder negative Rückmeldung zu geben, je nachdem, ob sie den angeforderten Pro duktionsvorgang realisieren können oder nicht. – Weitere Nachrichten enthalten schließlich Produktionsaufträge, die dem Agenten nach positiver Zusage durch einen Koordinator auferlegt werden. Auf Basis dieser formalen Repräsentationsform von Agenten befinden sich auf der nächsten Ebene die Meta-Modelldefinitionen für Verhandlungsmechanismen sowie Algorithmen für die Produktionsplanung (siehe Abbildung 3.5). In dieser Schicht fin det das Mapping statt zwischen den OPC-UA-konformen Nachrichten und der eigent lichen Agentenlogik, d. h. der entsprechende Nachrichteninhalt kann über den forma len Aufbau der Nachricht extrahiert und für die Datenverarbeitung unmittelbar ge nutzt werden. Im Rahmen dieser Verarbeitung ist der Intelligenzkern der Agenten in der Lage, Berechnungen jedweder Form vorzunehmen. Über ein anschließendes Map ping der Ergebnisse wiederum auf OPC-UA-konforme Nachrichtentypen können die
58 | 3 Agent OPC UA
Agenten so in ständigem Austausch stehen und bieten ihr Wissen stets in einer für alle Akteure erreichbaren Form an. Auf der obersten Ebene der dargestellten Metamodell-Hierarchie befinden sich schließlich die domänenspezifischen Aufbaumodule, die das Bindeglied zwischen einer abstrakten formalen Spezifikation der Agenten und einem konkreten Use-Case bzw. Produktionsszenario bilden. Im Rahmen dieser Modelle werden ähnlich den Companion Specifications OPC UA-Typendefinitionen festgelegt, welche die realen Gegebenheiten innerhalb bestimmter Produktionsszenarien widerspiegeln. In die sem Sinne können einerseits formale Größen festgelegt werden, zum Beispiel in einem bestimmten Kontext häufig anzutreffende Messgrößen oder Sensordaten. An dererseits ist diese Form der objektorientierten Informationsmodellierung ebenfalls dazu in der Lage, Wissensgraphen (knowledge graphs) oder ähnlich geartete Formen von Ontologien abzubilden. Die Abbildung dieser semantischen Konzepte auf einen formalisierten Schnittstellstandard befähigt die Agenten zu einer neuen Qualität der Kommunikation, indem sich der Nachrichtenaustausch nicht nur auf im Vorhinein festgelegte Inhaltsdefinitionen beschränkt, sondern durch natürlichsprachliche Ele mente angereichert werden kann. Zur Verdeutlichung des logischen Aufbaus, dem der vorgestellten Agenten-Stack unterliegt, sind in Abbildung 3.6 die konkreten Spezifikationen der einzelnen Adress räume aufgeschlüsselt und um den domänenspezifischen Namensraum eines konkre ten Anwendungsfalls ergänzt.
Abb. 3.6: OPC-UA-Spezifikation des Metamodells zur Abbildung von Multiagentensystemen.
3.4 Systemübergreifende Nutzung von Agenten zur intelligenten Produktionssteuerung |
59
Aus Gründen der Übersichtlichkeit wurde die Spezifikation der Namensräume auf ei nige Knoten beschränkt, die abgebildeten Adressräume bilden den in Abbildung 3.5 dargestellten Stack in umgedrehter Anordnung, also top-down ab. Zuoberst ist der Wurzelknoten (OPC UA root node) des Basismodells dargestellt. Darunter ist beispiel haft der MessageType abgebildet, der sich auf gleicher Ebene wie der AgentType befin det. Die verschiedenen Nachrichtentypen sowie ihr entsprechendes Mapping auf die Agentenlogik ist im MAS Namespace angedeutet, der darüber hinaus das Mapping der agentenspezifischen Informationsmodelle zu den domänenspezifischen Typdefinitio nen (Domain-Specific Namespace) abbildet. Zuunterst ist ein Namensraum dargestellt, der die Abbildung eines konkreten UseCases auf das Agenten- bzw. Nachrichtenmodell realisiert. Der abgebildete Namens raum bezieht sich auf die Produktion eines individuell zugeschnittenen Joghurts, der durch den Kunden vor der Bestellung dezidiert ausgestaltet werden kann. Die spezi fischen Eigenschaften eines hierauf gründenden Produktionsszenarios können über die dargestellte Repräsentationsform durch die Agenten unmittelbar genutzt werden, die Agenten werden also in die Lage versetzt, das Konzept des „Joghurts“ mitsamt sei ner spezifischen Eigenschaften zu „verstehen“. Über die dargestellte Form der Konzept- und Wissensrepräsentation sind die auf Basis des OPC UA Metamodells konzipierten Multiagentensysteme innerhalb vieler verschiedener Szenarien einsetzbar, da Zusatzmodule, Namensraumerweiterungen und Companion Spezifikationen in beliebigem Maße kombinierbar sind. Die sich hieraus ergebende ausgeprägte Skalierbarkeit des Agenten-Stacks ermöglicht seine Anwendung in beliebig komplexen Szenarien, da ein Mapping selbst hochkomplexer Optimierungs- und Berechnungsverfahren mittels eines einheitlichen Sprachkonzep tes so stets realisiert werden kann.
3.4 Systemübergreifende Nutzung von Agenten zur intelligenten Produktionssteuerung In diesem Abschnitt wird die Nutzung eines Multiagentensystems zur direkten Steue rung und Optimierung eines konkreten Produktionsszenarios beschrieben. Zu die sem Zweck findet in einem ersten Schritt die Spezifikation der Agentenlogik statt, die auf Basis algorithmischer Optimierungsverfahren für die Ressourcenplanung genutzt wird. In einem zweiten Schritt wird dann konkretisiert, wie das Zusammenspiel die ses Agentensystems mit höheren Systemen der Produktionsplanung und -steuerung realisiert werden kann. Im Rahmen dieses erweiterten Szenarios findet eine Auslage rung bestimmter rudimentärer Funktionen in ein ERP-System statt, die Kommunikati on mit dem System wird über einen ERP Agent realisiert, der die OPC UA-Schnittstelle zu den Systemen der Ressourcenplanung bildet. Somit ist es möglich, die inhärente Programmlogik von ERP-Systemen auch in den Verbund von Multiagentensystemen
60 | 3 Agent OPC UA
zu integrieren und so vielseitige Optimierungs- und Planungsverfahren miteinander zu kombinieren.
3.4.1 Agentenbasierte Ressourcenplanung durch eingebettete Intelligenzkonzepte Auf Basis der Verwendung einer generischen Schnittstelle ist es möglich, kontext spezifische Informationen jedweder Form zwischen den Agenten auszutauschen. Durch die Implementierung konsistenter Informationsmodelle in jede der kommu nizierenden Instanzen wird somit eine Interpretierbarkeit sowie ein inhärentes Ver ständnis der ausgetauschten Informationen gewährleistet. In der Folge ist es dann möglich, selbst komplexeste Berechnungen, welche die durch den Agenten repräsen tierte Maschine oder Produktionsentität betreffen, durchzuführen. Im Fall des oben vorgestellten „Joghurt“-Anwendungsfalls lassen sich auf Grund lage dieser Methodik aufwendige Verfahren zur Ressourcenoptimierung, zum Beispiel hinsichtlich eines potentiellen logistischen Aufwands, realisieren. Im Rahmen des vorliegenden Use-Case wurde in diesem Sinne eine Agentenlogik implementiert, die einzelne Agenten dazu befähigt, mit ihrem Umfeld – also mit anderen Agenten – um die Durchführung bestimmter Produktionsschritte zu konkurrieren. Die quantitati ve Ausprägung dieser Logik manifestiert sich in einer Preisfunktion, die verschiede ne Rahmenbedingungen und Key Performance Indikatoren (KPI) mit in den Preisbil dungsprozess einbezieht und in Form eines Preises zu einer einzigen Kenngröße kon solidiert. Die genannten Randbedingungen, die bei dieser Form der Preisbildung innerhalb realer Anwendungsfälle von Relevanz sind, beziehen sich im Rahmen des vorgestell ten Use-Case z. B. auf folgende quantifizierbare Größen: – Der (logistische) Transportaufwand gemessen an der Summe zurückgelegter Stre cken bis zur Fertigstellung eines Produktes. Zur Estimation der hiermit verbunde nen Kosten sind insbesondere die Positionen der verschiedenen Maschinen von Relevanz. – Berücksichtigung aktuell laufender Produktionsvorgänge und die hiermit verbun dene Verzögerung bis zum Beginn des angefragten Produktionsschritts. – Die Warteschlange (Queue) ausstehender Produktionsschritte und die hieraus folgende Auslastung von Maschinen oder anderer Produktionsentitäten, welche durch die jeweiligen Agenten repräsentiert werden. – Die Priorisierung einzelner Produktionsaufträge, Produkte oder Gruppen von Pro dukten zum Beispiel für einen bestimmten Kunden/Besteller. Zusätzlich können in einem realen Anwendungsfall noch weitere Größen von Bedeu tung für eine derartige Preisbildung sein, zum Beispiel Energieaufwand, Abnutzungs grad und Lebensdauer der zur Anwendung kommenden Werkzeuge, implizite Kosten für Predictive Maintenance, etc. Aufgrund der skalierbaren Logik der Agenten – Ma
3.4 Systemübergreifende Nutzung von Agenten zur intelligenten Produktionssteuerung |
61
schinen Verbünde (CPPS) sind einer weiteren Ausgestaltung dieser Form von Intelli genz keine unmittelbaren Grenzen gesetzt. Der Verhandlungsmechanismus selbst, der auf den zuvor beschriebenen Rand bedingungen beruht, profitiert von einigen weiteren Fähigkeiten der Agenten, indem bestimmten Agenten dezidierte Aufgaben zugeteilt werden: – Der sogenannte Customer Agent repräsentiert eine API zum Kunden, stellt also eine Schnittstelle bereit, über die das Produkt bestellt wird. Die Architektur des vorgestellten Frameworks sieht hierzu eine MQTT-Schnittstelle vor, die über eine Web-Applikation durch den Kunden bedient wird. – Innerhalb des Multiagentensystems erfolgt hierauf basierend eine interne Wei tergabe der abstrahierten Bestellinformationen durch einen Coordination Agent. Dieser fungiert als koordinierende Instanz, und organisiert in diesem Sinne die Weitergabe der notwendigen Informationen an andere Agenten. – Alle übrigen Agenten sind bezüglich ihrer Logik-Funktionalitäten einheitlich ge staltet, verfügen jedoch über verschiedene Aufgaben/Fähigkeiten in Bezug auf die Fertigung des Produkts, vom Transport bis zu den einzelnen Produktionsschrit ten, die zur Fertigstellung erforderlich sind. Mittels der beschriebenen Fertigkeiten der einzelnen Agenten läuft die eigentliche In itiierung des Produktionsprogramms mit anschließender Fertigung des gewünschten Produkts nach folgendem Schema ab (siehe Abbildung 3.7):
Costumer
Costumer Agent
AMS/DF
System Agent
Coordination Agent
Place Order Get Coordination Agent Return Coord. Agent Place Order Get System Agents Return System Agents Get Offers Offers Place Order Start Production Order finished Place Order
...
... Order finished Order finished Order finished
Abb. 3.7: Kommunikationsvorgänge bei der Bestellung und Fertigung eines Produkts.
62 | 3 Agent OPC UA
1.
Der Kunde spezifiziert das Produkt mittels einer Web-Applikation, die ihm ver schiedene (domänenspezifische) Gestaltungsmöglichkeiten bei der Bestellung er möglicht. Im Falle des oben beschriebenen „Joghurt“-Anwendungsfalls sind dies beispielsweise „Geschmack“, „Topping“ oder ähnliche Parameter. 2. Diese Bestellung wird nun über die MQTT-Schnittstelle in Form eines XML-Doku ments, das die spezifizierten Parameter in abstrahierter Form enthält, zum Custo mer Agent geschickt und von diesem ausgelesen. 3. Der Customer Agent führt mittels des Agent Management System (AMS) bzw. des Directory Facilitator (DF), der im Rahmen des OPC-UA-Aufbaus einem OPC UADiscovery Server entspricht, eine Suche nach verfügbaren Agenten durch, um den Coordination Agent zu identifizieren. 4. Im Anschluss decodiert der Customer Agent die in der Bestellung vorhandenen Informationen, verpackt diese in ein OPC-UA-Message-Objekt und schreibt dieses Message-Objekt in Form eines OPC-UA-Knotens in das Folder-Objekt des Coordi nation Agent, übersendet diesem also die Nachtricht. 5. Der Coordination Agent splittet die Bestellung nun in Produktionssequenzen auf und stellt diese sämtlichen übrigen Agenten zur Verfügung. 6. Gemäß der oben beschriebenen Kriterien und Fähigkeiten führen die Agenten nun jeweils die Preisbildung für alle Produktionsschritte durch. 7. Nach Abschluss der Angebotsphase werden die entsprechenden Produktionsauf träge zugeteilt und die Produktion beginnt. Die Transportvorgänge, die zwischen den Produktionsschritten durchzuführen sind, werden jeweils kurz vor Ende der einzelnen vorgelagerten Schritte angefragt und zu einem aktuellen Preis geordert und durchgeführt. Nach erfolgtem Produktionsvorgang wird schließlich eine Meldung über besagte WebSchnittstelle mittels MQTT übersandt. Der Kunde hat außerdem die Möglichkeit, den Fortschritt seines Produkts sowie sämtliche Statusveränderungen der Agenten wäh rend der Produktion über die Web-Applikation live mitzuverfolgen. Über das vorgestellte Repräsentationsmodell der Agenten mitsamt ihrer verschie denen Aufgaben und Abhängigkeiten ist es möglich, sämtliche Produktionsaufträge für verschiedene Produkte und Domänen über eine einheitliche, generische Schnitt stelle zu mappen. Das Modell sieht hierbei ebenfalls ein Multitasking vor, indem sämtliche Nachrichten einen eindeutigen, nicht wiederholbaren Identifier erhalten. So können mehrere Bestellvorgänge gleichzeitig in den Agentenverbund injiziert werden, sodass die autonom ablaufende Logik zur Planung und Durchführung der Produktion noch stärker an Bedeutung gewinnt.
3.4 Systemübergreifende Nutzung von Agenten zur intelligenten Produktionssteuerung | 63
3.4.2 Integration des Agentenansatzes in ERP-Systeme In einem nächsten Schritt erfolgt die Weiterentwicklung des vorgestellten Agentensys tems hin zu einer nahtlosen Zusammenarbeit mit höheren Systemen der Produktions planung und -steuerung. In diesem Zusammenhang sind beispielsweise ERP-Systeme dazu in der Lage, dezidierte Aufgaben der Planung, der Maschinentaktung (Job Shop Planning) sowie weitere rudimentäre Aufgaben zu übernehmen. Hierdurch ist es mög lich, eine Abkapselung derjenigen Logik-Module von den Agenten vorzunehmen, bei denen die dezentrale Auslagerung keine signifikanten Vorteile gegenüber einer zen tralisierten Organisation aufweist. Die Integration höherer Systeme in den Verbund intelligenter Softwareagenten ist in Abbildung 3.8 vereinfacht dargestellt. Die Agenten kommunizieren im Namen der jeweils repräsentierten Produktions entitäten sowohl miteinander als auch mit höheren Systemen der Produktionsaus führungsplanung wie Manufacturing Execution Systems (MES) und können so einen direkten Einfluss auf die Ablaufprogramme innerhalb von Speicherprogrammierbaren Steuerungen (SPS) Einfluss nehmen. Um die Kommunikation mit ERP-Systemen zu ermöglichen, ist es notwendig, die se Systeme zur Kommunikation mittels OPC UA zu befähigen. Insbesondere sollen durch diese Vorgehensweise auch die ERP-Systeme adressiert werden, die keine native Unterstützung des OPC-UA-Standards aufweisen. Zu diesem Zweck kommen Schnitt stellenagenten zum Einsatz, die sowohl eine direkte Kommunikation mit dem ERP wie auch mit den übrigen Agenten des MAS ermöglichen. Die interne Kommunikation mit
Manufacturing Execuon System
Kommunikaon der Sowareagenten mit höheren Systemen
ERP Ausführungsplanung
SPS Mul-Agenten System
Agenten Kommunikaon
Soware Agenten Intelligente Maschinen auf dem Shop Floor
OPC UA Nachrichten
Abb. 3.8: Informationsaustausch des MAS mit höheren Systemen.
64 | 3 Agent OPC UA
dem ERP-System findet über eine beliebig wählbare API (Application Programming Interface) statt, die in der Regel durch die Architektur des ERP-Systems vorgegeben wird. Da die Agenten aufgrund der generischen Architektur von OPC UA in nahezu jeder relevanten Hochsprache (Java, C++, .NET, C# etc.) implementiert bzw. deployed werden können, ist es möglich, diese flexibel an die Vorgaben der Drittsysteme (thirdparty systems) wie ERP- oder MES-Systemen anzupassen. Im Rahmen der Entwicklung des vorgestellten Frameworks wurde ein OpenSource ERP-System, das in der Sprache Java implementiert ist, durch einen solchen Schnittstellenagenten ergänzt und somit in den Verbund intelligenter Entitäten in tegriert. In der Folge ist es möglich, sämtliche Berechnungen, die sich mit der Res sourcenplanung und verwandten Themen befassen, erfolgreich in das ERP-System auszulagern. Hierdurch gelingt die Integration von CPPS (Agenten im Verbund mit Maschinen) vollends, eine nahtlose Integration von Low-Level-Logik mit höheren Systemen der Planung und Steuerung konnte so erfolgreich realisiert und evaluiert werden.
3.5 Zusammenfassung und Ausblick Der immense Fortschritt in digitalen Technologien und dem Internet der Dinge cha rakterisiert nicht nur unsere Gesellschaft, sondern insbesondere auch das technische Umfeld in Unternehmen. Trotz alledem steht die Industrie vor der großen Herausfor derung, diese neuartigen Technologien erfolgreich zu integrieren, insbesondere im Sinne einer nahtlosen Zusammenarbeit. Dies schließt auch die Kommunikationsvor gänge ein, die nicht im Vorhinein vollkommen deterministisch geplant werden kön nen. Die durch die Industrie 4.0 proklamierten Durchbrüche sind jedoch nur dann erfolgreich realisierbar, wenn eben diese natürlichsprachliche, frei zur Laufzeit defi nierbare Kommunikation möglich wird. Erst dann lassen sich die verschiedenartigen Technologien so miteinander in Einklang bringen, dass inhärente Effekte der Künstli chen Intelligenz durch verteilte Entitäten auch in praktischen Anwendungsfällen zur Geltung kommen. Das im Rahmen dieser Abhandlung vorgestellte Framework setzt an diesen Her ausforderungen an, in dem es mittels des vorgeschlagenen Architekturansatzes ver sucht, zwei grundlegend verschiedene Technologien – Schnittstellen-Standardisie rung und Künstliche Intelligenz – miteinander in Einklang zu bringen. Die Vereini gung von Multiagentensystemen als dem Enabler für verteilte künstliche Intelligenz mit dem de facto Standard für Interoperabilität in modernen Produktionslandschaften OPC UA birgt das Potential, die physische Welt mit ihrem digitalen Zwilling vollends zu vereinen. Durch den vorgestellten Ansatz werden intelligente Softwareagenten zu voll vernetzten cyber-physischen Produktionssystemen und können ihre verteilte künstliche Intelligenz somit nicht nur in einem maßgeschneiderten Umfeld verwen den, sondern mit sämtlichen Systemen horizontal und vertikal integrativ nach op
Literatur
| 65
timalen Lösungen für Probleme in der Produktion suchen. Der Mehrwert sowie die hiermit einhergehenden Potentiale für die industrielle Produktion lassen sich bereits bei Betrachtung des ERP-Agenten und seiner Integration in die Shop-Floor-Prozesse erahnen. Zukünftige Forschungsschwerpunkte im Rahmen der integrierten Multiagenten systeme werden sich vor allem auf die Erweiterung der angewandten Intelligenzmo delle für Softwareagenten beziehen. So befinden sich momentan Machine-LearningAlgorithmen im Aufbau, die ein lernendes Verhalten der Softwareagenten zugrunde legen, um auf Basis dieses Lernens Predictive Maintenance Szenarien zu realisieren. Die Preisbildung der Agenten in der Angebotsphase eines Produktes soll somit auch durch langfristige Kenngrößen beeinflusst werden, um die Bedingungen und Anfor derungen realer Produktionsumgebungen noch wirkungsvoller abdecken zu können. Danksagung: Ein großer Dank gilt dem VDI/VDE GMA Fachausschuss 5.15 „Agenten systeme“ für die fruchtbare Zusammenarbeit im Rahmen der Weiterentwicklung des myJoghurt-Demonstrators an der TU München. Ein ganz besonderer Dank gilt außer dem dem Exzellenzcluster „Integrative Produktionstechnik für Hochlohnländer“ an der RWTH Aachen University, unter dessen Obhut die wissenschaftliche Ausarbeitung des vorgestellten Frameworks geschehen konnte.
Literatur [1] Munz H. Requirements for Time Sensitive Networks in Manufacturing: Why right now? Because Industry 4.0 needs it!; 22.05.2015. [2] Hahn C., Fischer K. Service Composition in Holonic Multiagent Systems: Model-Driven Choreo graphy and Orchestration. In: Mařík V, Vyatkin V, Colombo AW, editors. Holonic and Multi-Agent Systems for Manufacturing. vol. 4659 of Lecture notes in computer science. Berlin, Heidelberg: Springer Berlin Heidelberg; 2007. p. 47–58. [3] Dijkman R., Dumas M. Service-oriented Design: A Multi-viewpoint Approach. International Jour nal of Cooperative Information Systems. 2004; 13(04):337–368. [4] Pardo-Castellote G., Farabaugh B., Warren R. Real-Time Innovations, editor. An Introduc tion to DDS and Data-Centric Communications. Available from: http://www.omg.org/news/ whitepapers/Intro_To_DDS.pdf. [5] Schleipen M. Fraunhofer IOSB, editor. Gemeinsame Arbeitsgruppe OPC UA und AutomationML – Hand in Hand zum gemeinsamen Ziel. Hannover. [6] IEEE. IEEE Glossary: Interoperability; 2016. Available from: http://www.ieee.org/education_ careers/education/standards/standards_glossary.html.
Thorsten Schöler, Sebastian Pröll, Lucas Kögel und Thomas Hanka
4 Software-Agenten zur Integration von Prozessen in der Fertigungs- und Gebäudeautomatisierung Zusammenfassung: Software-Agenten, als dezentrale, intelligente Softwareeinheiten, eignen sich ideal um komplexe Überwachungs- und Steuerungsanwendungen für das Internet der Dinge umzusetzen. Wir stellen zwei software-agenten-basierte Anwen dungsfälle aus dem Bereich Internet der Dinge vor: (1) Ein cyber-physisches Produk tionssystem (CPPS) für die Produktion von individualisierten Joghurtprodukten (my Joghurt) und (2) ein Überwachungs- und Steuerungssystem für intelligente Gebäude automatisierung (CyPhREE). In beiden Anwendungsfällen wird eine wissensbasier te, Big-Data-Datenfluss-Architektur verwendet. Die Konzepte der vorgestellten Anwen dungsfälle können mit Hilfe eines Raspberry-Pi-3-Einplatinencomputers und dem Pi Face-Agent-Board nachvollzogen werden.
4.1 Einleitung Die Begriffe Internet der Dinge und Big Data sind heutzutage in aller Munde, wenn es um die Erzeugung und Verarbeitung von großen, unstrukturierten Datenmengen in hoher Geschwindigkeit geht. Betrachtet man speziell den industriellen Bereich, so findet man Begriffe wie Industrie 4.0 oder Smart Buildings als Spezialisierung des In ternets der Dinge. Diese Art der Datenverarbeitung und -integration im Internet der Dinge ist nicht grundsätzlich neu. Speziell im militärischen Bereich existieren zahllose Ansätze und Systeme zur Datenfusion von Sensordaten zu komplexen Lagebewertungen [1]. Neu ist allerdings die leichte Verfügbarkeit dieser Technologien und Softwareumgebungen für jedermann. Dieser Beitrag stellt zwei Internet-der-Dinge-Anwendungsfälle vor, einen im Bereich der Industrie 4.0 sowie einen zweiten im Bereich der intelligenten Gebäu deautomatisierung. An den beiden Anwendungsfällen wird gezeigt, wie aktuelle intelligente Softwareagentensysteme eingesetzt werden können, um Überwachungsund Steuerungsprozesse umzusetzen. Obwohl die eingesetzte Software über eine gro ße Spezialisierung und Komplexität verfügt, kann diese nicht nur auf industriellen Steuerungsgeräten, sondern auch auf breit verfügbarer, regulärer Massenhardware eingesetzt werden. Nachdem die Anwendungsfälle vorgestellt wurden, werden die eingesetzten Soft warearchitekturen und -technologien vorgestellt. Anschließend werden die mit den vorgestellten Technologien und Konzepten umgesetzten Prozesse vorgestellt. Ab schließend werfen wir einen Blick auf das verwendete Datenmodell und die Ansätze
https://doi.org/10.1515/9783110527056-004
68 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
zur Datenauswertung. Vor der Zusammenfassung und dem Ausblick, beschreiben wir kurz, wie Teile der vorgestellten Software auf einem Einplatinencomputer (Raspberry Pi mit PiFace-Agents-Modul) praktisch selbst nachvollzogen werden können.
4.2 Anwendungsfälle Aus der großen Menge der Anwendungsfälle des Internets der Dinge sollen in diesem Beitrag zwei herausgegriffen werden: Ein cyber-physisches Produktionssystem (CPPS) sowie ein verteiltes, intelligentes System für Smart Buildings.
4.2.1 Cyber-physisches Produktionssystem (myJoghurt) Der myJoghurt-Demonstrator ist eine verteilte Testumgebung für cyber-physische Produktionssysteme (CPPS)¹. Im myJoghurt-Demonstrator werden personalisierte Jo ghurtprodukte mit kleinen Losgrößen produziert. Abbildung 4.1 zeigt einen Überblick über die beteiligten Projektpartner. Die über ganz Deutschland verteilten myJoghurt-Fertigungsstätten sind unterein ander durch ein Softwareagentensystem verbunden. Neue Fertigungsaufträge werden beispielsweise über eine Webseite (gehostet am Institut für Automatisierungstechnik und Softwaresysteme der Universität Stuttgart) in Auftrag gegeben. Die Untervertei lung der Fertigungsaufträge über das Internet auf die angeschlossenen Fertigungsstät ten erfolgt am Lehrstuhl für Automatisierung und Informationssysteme an der Tech nischen Universität München. Über diese Verteilung erhält beispielsweise die Ferti gungsstätte in der Forschungsgruppe Verteilte Systeme an der Hochschule Augsburg einen Fertigungsauftrag für ein spezielles, hoch individuelles Joghurtprodukt. Die Fertigungsstätte in Augsburg wird durch ein Fertigungsanlagenmodell nach gestellt (siehe Abbildung 4.2). Das Modell bildet eine typische industrielle Produkti onsumgebung nach, auf der alle benötigten Fertigungsprozesse detailgetreu nachge bildet werden können. Auf Sensor-/Aktorebene verhält sich das Modell wie eine reale industrielle Fertigungsanlage. Als universelle Werkstücke kommen Holzquader mit metallischen Markern zur Erkennung durch die magnetischen Näherungssensoren sowie einem aufgeklebten RFID-Tag zum Einsatz. Im myJoghurt-Anwendungsfall ent spricht ein solches Werkstück etwa einem zu produzierenden Gebinde Joghurt (Ein zelbehältnis oder Palette). Auf Feld- und Steuerungsebene verfügt das Modell über linux-basierte, eingebet tete Steuerungsrechner für dezentrale Sensorik, Aktorik und Identifikation (RFID). Auf der Leitebene werden Einplatinencomputer (Raspberry Pis) eingesetzt, um die 1 Mehr Informationen zum myJoghurt-Demonstrator auch unter http://i40d.ais.mw.tum.de/index/ industrie/l/de_DE (Zuletzt abgerufen am 12. September 2016)
4.2 Anwendungsfälle | 69
Abb. 4.1: Softwareagentenbasiertes, verteiltes Produktionssystem myJoghurt (Abbildungsquel le: [2]).
Fertigung zu überwachen und zu koordinieren. Die Leitrechner kommunizieren mit den Feldrechnern über industrielles Ethernet und MQTT². Auf Betriebsleit- sowie Un ternehmensebene kommen Standard-Industrie-PCs, Desktop-PCs und mobile Endge räte zum Einsatz. Wie mit dem Fertigungsauftrag in Augsburg auf Softwareseite weiter verfahren wird, zeigt die Software-Architektur in Abbildung 4.3, welche die Ansätze aus [3] er gänzt und erweitert. 4.2.1.1 Hardware/Software-Architektur für myJoghurt-CPPS Als dezentrale Gegenstelle für die Auftragsverteilung fungiert ein Softwareagent, der den myJoghurt-Auftrag (codiert in JSON³) entgegennimmt und in das interne Ferti gungssystem in Form einer MQTT-Nachricht einspeist. Über den MQTT-Broker können
2 Message Queue Telemetry Transport 3 Javascript Object Notation
70 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
Abb. 4.2: Modell einer Fertigungsanlage für Industrie-4.0-Anwendungen.
Abb. 4.3: Software-Architektur für myJoghurt-CPPS.
4.2 Anwendungsfälle | 71
alle an Fertigungsaufträgen interessierten Softwareagenten diese Fertigungsaufträge entgegennehmen. Die konkrete Umsetzung der Fertigungssteuerung im Softwareagentensystem wird später ausführlicher beschrieben (siehe Abschnitt 4.5.1). Hierbei wirken zahl reiche Softwareagenten (z. B. Contact-Agent, Order-Agent, Routing-Agent, MachineAgenten, RFID-Agenten sowie Workpiece-Agenten) zusammen und koordinieren die einzelnen Verfahrensschritte selbstständig bis zur Fertigstellung des Produktes. Alle Softwareagenten können für Ihre Arbeit auf ein semantisches Modell mit u. a. In formationen über die Fertigungsanlage und Joghurtproduktion (OWL-DL-Ontologie) zurückgreifen. Auf das Datenmodell wird ebenfalls später noch einmal genauer ein gegangen (siehe Abschnitt 4.4.1). Diese Softwareagenten kommunizieren (ebenfalls über MQTT) mit Einplatinen computern (Gnublins⁴), welche als dezentrale Steuerungen direkt mit den Sensoren und Aktoren des Fabrikanlagenmodells verbunden sind. In Abbildung 4.2 können im Vordergrund die Aktoren, realisiert durch Miniaturmotoren (inklusive Schneckenan trieb und Zahnrad), sowie die Metallannäherungssensoren (zylindrisch, montiert mit Sechskantmutter) erkannt werden. Für eine Nachverarbeitung und Integration der Fertigungsabläufe werden die Sen sorwerte und Metainformationen (beispielsweise die Laufzeit eines Joghurt-Rührge räts) bei der Produktion, auf speziellen MQTT-Topics veröffentlicht, wo sie von einem Agenten aufgesammelt und in eine Zeitseriendatenbank abgespeichert werden. Über eine dedizierte Schnittstelle kann eine Internet-der-Dinge-Dashboard-Anwendung auf diese Werte zugreifen und diese in angemessenen Diagrammdarstellungen visualisie ren. Neben dem Industrie-4.0-Anwendungsfall myJoghurt, wird die vorgestellte Soft warearchitektur ebenfalls zur Datenintegration und -auswertung in der intelligenten Gebäudeleittechnik eingesetzt. Einen Einblick in das CyPhREE-Projekt gibt der nach folgende Abschnitt.
4.2.2 Cyber-Physical [Objects for] Renewable Energies and Environment (CyPhREE) Das hochauflösende Monitoringsystem ist dabei so aufgebaut, dass verschiedene Teilprojekte modular hinzugefügt werden können. Die Basis dabei bildet ein agen tenbasiertes CPS, welches die Sensormesswerte mittels Complex Event Processing
4 Gnublins sind eingebettete Einplatinencomputer mit geringerer Leistung im Vergleich zu Raspberry-Pi-Rechnern. Sie verfügen über eine ARM9-CPU, getaktet mit 180 MHz, 32 MB SDRAM und für die Geräteklasse übliche Peripherie. Als Betriebssystem kommt Linux zum Einsatz. Mehr Details können unter http://en.gnublin.org/index.php/GNUBLIN-LANgefunden werden (Zuletzt abgerufen am 30. Juni 2017).
72 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
Abb. 4.4: Überwachung eines physischen Prozesses durch ein CPS [4].
(CEP)⁵ verarbeitet, Aktoren ansteuert und aufbereitet in einer Zeitreihendatenbank ablegt. Dabei werden beispielsweise die unterschiedlichen Aktualisierungsintervalle der verteilten Sensoren synchronisiert, um eine Auswertung und Analyse zu ermögli chen [5, 6]. Wie das cyber-physische System einen physischen Prozess überwacht, wird in Ab bildung 4.4 gezeigt. Verschiedene Sensoren (z. B. Wandtemperatursensoren) liefern den aktuellen Zu stand der physischen Welt und ermöglichen dem CPS so eine Analyse der Umgebung. Daraus kann das System ermitteln, wie auf die physischen Elemente eingewirkt wer den muss, um deren Zustand zielgerichtet zu verändern (z. B. unter Einflussnahme auf Heizungs-, Lüftungs- und Klimatechnik (englisch Heating, Ventilation and Air Con ditioning, HVAC)). Dies wird dem CPS über die Ansteuerung verschiedener Aktoren ermöglicht, welche die physische Welt beeinflussen. Dies ist das Grundprinzip einer Kopplung von Softwaresystem und physischer Welt über ein cyber-physisches System. Die in Abbildung 4.5 gezeigte Hardware/Software-Architektur bildet das gesamte CyPhREE-Projekt an der Hochschule Augsburg ab. Abbildung 4.5 zeigt ebenfalls al le Messpunkte (eine Sammlung von Sensoren durch einen intelligenten Knoten, z. B. eingebetteter Rechner) des CyPhREE-Projekts (Raspberry Pis und Rechner im Kasten „Sensors + Actors“). Ein Messpunkt erfasst dabei die Messwerte mehrerer angeschlos sener Sensoren und leitet diese weiter an den MQTT-Broker. Die einzelnen Verbindun gen dabei sind SSL-verschlüsselt und jeder Messpunkt muss sich mit einem Nutzer namen und dem zugehörigen Passwort authentifizieren. Der MQTT-Broker überprüft bei Erhalt der Nachrichten dann zunächst, ob der Nutzername für die Erfassung der gelieferten Messwerte autorisiert ist, um fehlerhafte Aufzeichnungen zu verhindern, erst dann werden diese weitergeleitet. Zudem stellt das MQTT-Protokoll bei der Über tragung sicher, dass die Nachricht zuverlässig zugestellt wird. Doch nicht nur Sensor messwerte werden übertragen, auch die Ansteuerung der Aktoren erfolgt über diesen
5 Der Begriff Complex Event Processing wurde von David Luckham geprägt. Er beschreibt die Verar beitung/Abstraktion von einfachen Events (z. B. Schaltvorgängen auf Feldebene) hin zu „komplexe ren“ Events (wie z. B. Abschluss eines Fertigungsschrittes) [7]
4.2 Anwendungsfälle | 73
Abb. 4.5: Komponenten des CyPhREE-Projekts.
Weg. Dabei senden die Softwareagenten entsprechende Nachrichten über das MQTTProtokoll an die betreffenden Aktoren. Leicht zu erkennen sind alle verteilten Rechner (Raspberry Pis sind durch Him beer-Symbole gekennzeichnet, sonstige Rechner als Rechner-Symbol), welche mitein ander interagieren und das eigentliche CPS bilden. Im Mittelpunkt steht der MQTTBroker, der die Kommunikation zwischen Sensoren und Aktoren, sowie den Software agenten ermöglicht. Im CyPhREE-Anwendungsfall sind die Softwareagenten zentral in einer virtualisierten Serverumgebung im Rechenzentrum platziert. Diese erledigen die Auswertung aller erfassten Sensormesswerte und legen verarbeitete Werte in einer Zeitreihendatenbank (InfluxDB⁶) ab. Die Visualisierung der Messwerte übernimmt ein Internet-der-Dinge-Dashboard basierend auf Grafana⁷, welches auch auf zwei in der Hochschule angebrachten Informationsbildschirmen angezeigt wird. Ein Beispiel da
6 Mehr Details über die verwendete InfluxDB-Zeitreihendatenbank können unter https://www. influxdata.com/gefunden werden (Zuletzt abgerufen am 30. Juni 2017). 7 Mehr Details zum IOT-Dashboard Grafana können unter https://grafana.com/gefunden werden (Zu letzt abgerufen am 30. Juni 2017)
74 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
Abb. 4.6: Visualisierte Sensormesswerte des CO2 -Gehalts und der Lüftung eines überwachten Hör saals [6].
für ist in Abbildung 4.6 gezeigt, welches den aufgezeichneten CO2 -Gehalt in einem Hörsaal und die Geschwindigkeit des Luftstroms in dessen Lüftungsanlage zeigt. Wie nun die einzelnen Sensordaten von den Softwareagenten integriert und auf bereitet werden, zeigt detailliert der nächste Abschnitt.
4.3 Systemarchitektur zur Sensordatenfusion Das in Abbildung 4.7 dargestellte Modell zeigt die umfangreichen Interaktionen zwi schen den einzelnen Softwareagenten des CyPhREE-Projekts. In Schritt 1 gelangen Sensormesswerte und Steuerinformationen des Smart-Grids über den MQTT-Server in Schritt 2 an den MQTT-Agenten. Dieser wiederum speist in Schritt 3 die Daten in die CEP-Engine des CEP-Agenten, welcher die Daten der ein zelnen Objekte (Sensoren und Smart Grid) mit Metadaten aus einem Building Infor mation Model (BIM) über den BIM-Agenten (Schritt A1 und A2) anreichern kann. Die se Informationen wurden zuvor im BIM von verschiedenen Disziplinen abgelegt, da dieses als zentrale Informationssammelstelle für ein Gebäude dient. Neben der Ge bäudestruktur können dort auch Informationen über das HKL⁸-System oder andere elektronische Systeme abgelegt werden. Die dort abgelegten Metainformationen zu je
8 Heizung, Lüftung, Klimatechnik
4.3 Systemarchitektur zur Sensordatenfusion | 75
Z
W
REST Server
X
Historical Data
D
BIM Agent
5
C
UI Agent
E
Y
Operator Agent
4
B
BIM
A
CEP Agent
6
MQTT Agent
7
3
2
MQTT Server
8
1
Abb. 4.7: Interaktionen zwischen den Softwareagenten im CyPhREE-Projekt.
dem Sensor können auch über einen REST⁹-Server abgegriffen werden (Schritt B1-4). Dies dient den einzelnen Sensoren zur Selbstkonfiguration, da im BIM auch Konfigu rationsparameter abgelegt sind. Die CEP-Engine dagegen kann diese Sensorinforma
9 Representational State Transfer
76 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
tionen (Objekte) verwenden, um die erhaltenen Messwerte (Daten) anzureichern und Situationen zu erkennen (siehe hierzu auch das JDL-Modell unter Abschnitt 4.6). Um auf erkannte Situationen zu reagieren gibt der CEP-Agent dem Operator-Agen ten ein Ziel in Schritt 4 vor. Dieser kann mithilfe des BIM-Agenten in Schritt 5 alle für eine Aktion relevanten Aktoren über das BIM in Erfahrung bringen. Daraufhin fertigt dieser die entsprechenden Nachrichten mit den Steuerinformationen des CEP-Agen ten und den Adressierungen des BIM-Agenten an und verschickt diese über den MQTTAgenten und den MQTT-Server an die Aktoren (Schritte 6, 7 und 8). Neben der reinen Datenfusion und der Bearbeitung dieser Daten benötigen in telligente Software-Agenten symbolische Meta-Informationen über die erfassten Da ten und die verwendeten Hardware- und Softwarekomponenten, sowohl in der Ferti gungsanlage als auch im intelligenten Gebäude (beispielsweise als erweitertes BIM). Ein solches symbolisches, wissensbasiertes Informationsmodell kann als OWL-DLOntologie beschrieben werden. Einen Einblick in das Datenmodell gibt der nächste Abschnitt.
4.4 Datenmodell Ein cyber-physisches System stellt spezielle Anforderungen an das zugrundeliegende Datenmodell. Dies resultiert zum einen aus der dezentralen Verwaltung des Systems und zum anderen aus der häufig heterogenen Komponentenstruktur und deren Kom munikation. Zu den größten Hindernissen in der Entwicklung eines Modells für diese Systeme zählt die Komplexität der Komponenten. Jede dieser Komponenten, sowohl physisch als auch digital, erzeugt und/oder verarbeitet Daten, die häufig nicht für die Koopera tion mit anderen Einheiten ausgelegt sind. Da der Austausch dieser Daten jedoch zu den elementaren Mechanismen zählt, ist eine eindeutige und übergreifende Kommu nikationsbasis notwendig. Ein semantisches Datenmodell stellt durch die formale Beschreibung relevanter Begriffe und Beziehungen sicher, dass mehrere Einheiten für einzelne Bereiche auf der gleichen Verständnisebene kommunizieren können. Dadurch ist es möglich, eine einheitliche Wissensbasis für das gesamte System bereitzustellen.
4.4.1 Semantisches Datenmodell Eine solche Beschreibung kann mithilfe von OWL-DL-Ontologien erfolgen. Wird eine solche Ontologie für ein System entworfen, ist die Eingrenzung des beschriebenen Be reichs essentiell. Alle bedeutenden Begriffe müssen logisch und schlüssig formuliert werden. Dies gilt zum Beispiel für Maschinen in der Produktionskette und die verwen
4.4 Datenmodell | 77
deten Zutaten des Produkts. Dennoch ist es sinnvoll klar zu differenzieren, ob einzelne Eigenschaften oder Beziehungen für die Ontologie benötigt werden. Eine strikte Trennung bei der Beschreibung allgemeiner und spezifischer Begrif fe bzw. Bereiche erlaubt die Erstellung von wiederverwendbaren Bausteinen, durch die eine modulare und flexible Ontologie aufgebaut werden kann. Somit können bei spielsweise redundante Informationen bei der Beschreibung einzelner Maschinenty pen vermieden werden. Besonders für autonome cyber-physische Produktionssysteme ist es wichtig, dass zu jeder Zeit eine dynamische Anpassung des Verhaltens an die aktuell vorliegenden Bedürfnisse erfolgen kann. Bereits kleinste Unstimmigkeiten zwischen zwei Produkti onsschritten können das gesamte System langfristig schädigen. Für dieses Verhalten ist allerdings ein weitreichendes Kontextbewusstsein von großer Bedeutung. Da in einer Produktion viele Teilnehmer vorhanden sind, die alle ihren eigenen Umweltein flüssen ausgesetzt sind (Wartungsintervalle, Rüstzeiten, etc.), müssen viele Produkti onsschritte, wie beispielsweise die Wegplanung, in Abhängigkeit von diesen Faktoren betrachtet werden. Somit stellt der Kontext ein Schlüsselelement dar, um eine selbst organisierte und dynamische Produktion zu erreichen und eine optimale Produkti onsauslastung sicherzustellen. Durch die Verwendung einer OWL-DL-Ontologie ist es zudem möglich die logische Komplexität einzelner Agenten zu reduzieren. In einem vollständig beschriebenen Be reich kann ein OWL-DL-Reasoner, basierend auf den in der Ontologie gegebenen In formationen entscheiden bzw. urteilen. Dies ermöglicht die Beantwortung einfacher Fragen, ob beispielsweise die Anforderungen eines Auftrags einem validen Produkt entsprechen oder welche Maschinentypen ein generischer Agent vertritt.
4.4.2 Die myJoghurt-Ontologie Für eine Ontologie der myJoghurt-Produktion (einen kleinen Ausschnitt zeigt Abbil dung 4.8) ist zunächst die Identifikation der zu beschreibenden Begrifflichkeiten und Prozesse der erste Schritt. Da in einer Fertigung das Produkt eine zentrale Rolle spielt, muss entsprechendes Wissen über die benötigten Zutaten und Arbeitsschritte an das System übergeben werden. Allein für die Auswahl eines Rohjoghurts sieht die Bestellmaske vier verschiede ne Eigenschaften mit weiteren Optionen vor. Jede Kombinationsmöglichkeit ergibt ei ne eigene Masse, die in der Regel nicht von jeder Abfüllanlage bereitgehalten werden kann. Dieses Wissen kann in den einzelnen Maschinenagenten vorgehalten werden, wodurch allerdings die Flexibilität des Systems drastisch eingeschränkt wird. Wenn hingegen das konkrete Wissen über den Joghurt von einzelnen Agenten getrennt ist, reduziert sich die Komplexität der einzelnen Softwareagenten und ein flexibler gene rischer Ansatz wird ermöglicht. Durch eine korrekte Beschreibung der Bestandteile und deren Beziehungen kann die Ontologie selbstständig alle validen Kombinations
78 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
AromaBoom
AromaTop
FillYoghurt
FillAroma
YoghurtMixture
Yoghurt Mixed
FillToppings
Yoghurngredients MixYoghurt Milk
YoghurtToppings Aroma
WhirlMix
FillWhirl
Abb. 4.8: Die myJoghurt-Ontologie.
möglichkeiten abbilden, wodurch auch eventuelle Änderungen des Angebots schnell übernommen werden können. Aber nicht nur die Beschaffenheit der Zutaten muss in der Produktion verfügbar sein. Andere Informationen wie beispielsweise die geforderte Mischung von Joghurt und Fruchtmasse sind für die Reihenfolge der Arbeitsschritte von Bedeutung. Denn nur wenn das System eine ideale Prozessfolge aus dem Auftrag ableiten kann, ist eine optimale Auslastung der Anlage möglich. Durch die Beziehung, die der Joghurt und die Fruchtmasse in Abhängigkeit von der bestellten Mischung aufweisen, kann die entsprechende Abfüllreihenfolge durch die Ontologie abgeleitet werden. Bereits beim Eingang der Bestellung kann anhand der geforderten Mischform ein Graph erstellt werden, in dem sich die Abfolge ohne Kontextbezug abbilden lässt. Die Verwendung eines Graphen bietet sich hierbei an, da der Prozess damit flexi bel aufgebaut werden kann und jeder Knoten eine eigenständige Tätigkeit repräsen tiert. Viele Arbeitsschritte müssen in keiner festen Reihenfolge erfüllt werden, wäh rend es für andere zwingend erforderlich ist. Diese Anforderungen werden durch ein zelne und parallele Knoten realisiert. Da alle benötigten Informationen über die Art der Schritte und deren Reihenfolge mit dem Graphen abgebildet werden können, kann das Werkstück ohne zusätzlich notwendige Informationen über die Anlagentopolo
4.5 Beispielhafte Prozesse
| 79
gie, durch die Anlage geschleust werden. Für die einzelnen sequenziellen und par allelen Knoten werden daraufhin die entsprechenden Angebote der Maschinen ein geholt. Bei geordneten Schritten fällt die Entscheidung anhand des besten Angebots, während bei ungeordneten Schritten die erweiterte Entscheidung zwischen den Ar beitspaketen zur Prozessoptimierung beiträgt. In Abbildung 4.8 ist ein Ausschnitt der dafür verwendeten Ontologie dargestellt. Die letzten verbleibenden Grundkomponenten sind die Maschinen und ihre Ei genschaften. Es wird ein großer Verwaltungsaufwand betrieben, um die Zutaten und Arbeitsschritte zu organisieren und abzubilden. Dennoch steckt in jeder Produktion die meiste Komplexität in den der Anlage, die die Zutaten verarbeitet und die Arbei ten durchführt. In der Realität sind die Maschinen oder Fertigungsabschnitte über wiegend hochspezialisiert und dementsprechend unflexibel, um eine maximale Pro duktivität garantieren zu können. Dadurch wird auch hier eine große Menge Wissen benötigt, um eine effektive Verwaltung und Durchführung der Produktion zu ermög lichen. Informationen über die Art und Befähigung der unterschiedlichen Maschinenty pen, beschrieben in der Ontologie, ermöglichen einem einfachen Agenten den Betrieb seiner zugeteilten Maschine. Somit erhalten allgemeine Werte wie die Rüstzeiten oder Füllstandgrenzen ihre endgültige Bedeutung in Abhängigkeit von den entsprechen den Maschinentypen. Durch ein entsprechendes Setup entfällt die Notwendigkeit von spezialisierten Agenten. Daten der Maschine können von der Ontologie analysiert und ausgewertet werden, wodurch beispielsweise die Überschreitung von Grenzwerten festgestellt werden kann. Dadurch kann das Produktionsverhalten flexibler an den aktuellen Kontext angepasst werden. Besonders durch die Schlussfolgerungen des OWL-Reasoners lassen sich auch unerwartete Situationen und eventuelle Fehlerfälle schneller erkennen und beheben. Da die einzelnen Elemente der Ontologie eine zentrale und einheitliche Wissens basis darstellen, erleichtert sich auch die Kommunikation zwischen den einzelnen Agenten. Anpassungen an den Informationen oder eine Übersetzung werden somit unnötig. Durch die Vereinfachung der Agenten, reduzieren sich die Auswirkungen von Veränderungen am logischen Modell auf ein Minimum. Aktualisierungen oder Ände rungen der Wissensbasis oder der Logik sind daher bedeutend schneller und einfacher umgesetzt. Nachdem nun die Anwendungsfälle, die Datenerfassung und das verwendete Da tenmodell vorgestellt wurde, sollen im nächsten Abschnitt exemplarische Prozesse vorgestellt werden, die auf der vorgestellten Architektur umgesetzt werden.
4.5 Beispielhafte Prozesse Wie nun auf Basis der vorgestellten Hardware-/Softwarearchitektur, der verwendeten Softwareagenten, Prozesse in den beiden Anwendungsfällen umgesetzt werden, soll
80 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
in den nachfolgenden Abschnitten ausführlicher beschrieben werden. Die Integration und Auswertung der Daten führt in den Bereich der Data Science, der im Anschluss an diesen Abschnitt vorgestellt wird.
4.5.1 Softwareagentenbasierte Fertigungsplanung und -steuerung Um die Fertigung mehrfacher Aufträge des myJoghurt-Netzwerks zu steuern, wurde, wie bereits vorgestellt, ein auf Softwareagenten basierender Ansatz gewählt. Die ein zelnen Softwareagenten und deren detaillierte Kommunikation sind in Abbildung 4.9 ausführlich dargestellt. Um die Kooperation aller Agenten zu koordinieren und zu jeder Zeit die bestmög liche Fertigung zu garantieren, wird ein Verfahren benötigt, das die bereitgestellten Ressourcen optimal verteilt. Durch das Contract-Net-Protokoll (CNP) zwischen Soft
Abb. 4.9: Agentenkommunikation zur Fertigungssteuerung.
4.5 Beispielhafte Prozesse |
81
wareagenten kann eine Plattform geschaffen werden, auf der freie Fertigungskapazi täten angeboten werden und andere Akteure auf dieses Angebot zugreifen können, um temporär und auftragsgerecht ihr eigenes Fertigungsspektrum zu erweitern. Das CNP basiert auf einem Auktionsprinzip, bei dem verschiedene Teilnehmer (Partici pants) bei einem Auktionsinitiator (Initiator) Angebote abgeben können. Dieser be wertet nach Kriterien welches Angebot er annehmen kann [8]. Betrachten wir moderne industrielle Fertigungsstandorte, werden die Prozesse so optimiert, dass benötigte Ressourcen pünktlich bei den verarbeitenden Maschinen ankommen und Umrüst-, Wartungs- und Säuberungsarbeiten zu produktionsschwa chen Zeiten durchgeführt werden. Diese Prozessstruktur verlangt gute Planung und eine enge Kommunikation aller beteiligten Akteure. Durch das CNP lassen sich diese Faktoren in auf Metriken basierte Angebote integrieren. Weitere mögliche Metriken für die CNP-unterstützte Planung sind zum Beispiel: Grad der Zuverlässigkeit, Fehlerquo te, benötigte Durchschnittsproduktionszeit für ähnliche Produkte oder Umrüstzeiten. In einem beispielhaften Durchlauft nimmt der Contact-Agent die Fertigungsauf träge aus dem myJoghurt-Netzwerk entgegen und leitet diese per MQTT an einen Order-Agenten weiter. Der Order Agent vereinzelt die einzelnen Fertigungsaufträge und instanziiert den entsprechenden Workpiece-Agenten. Die Workpiece-Agenten repräsentierten die Aufträge und sorgen für die korrekte Fertigung dieser. Jeder Work piece-Agent bezieht sein Wissen über konkrete Fertigungsschritte und -abläufe aus der OWL-DL-Ontologie (siehe Abschnitt 4.4). Um die Fertigungsschritte durchzufüh ren, wird über das Contract-Net-Protokoll eine Auktion zwischen Workpiece-Agent und Machine-Agent durchgeführt. Für jeden Fertigungsschritt wird ein Proposal der relevanten Machine-Agenten eingeholt, da die einzelnen Maschinen nicht jeden Fer tigungsschritt zu jeder Zeit durchführen können. Der Workpiece-Agent optimiert den Fertigungsablauf unter Berücksichtigung der Proposals und der durch z. B. Rüstzeiten entstehenden Leerlaufzeiten. Die optimale Kombination von Fertigungsschritten wird über das Contract-Net-Protokoll vertraglich gebunden (Acknowledge). Werkstücke werden in der Anlage über die RFID-Agenten lokalisiert und über den Routing-Agent bestmöglich durch die Anlage geleitet. Im Sinne eines semantischen Produktgedächtnisses [9] werden prozessrelevante Informationen zum Werkstück über den RFID-Agenten auf die Werkstücke zurückgeschrieben. Dies unterstützt die Nachverfolgung der Fertigungsschritte sowie die Qualitätssicherung über verschiede ne Fertigungsstätten hinweg.
4.5.2 Raumklimaoptimierung durch Softwareagenten Der Prozess der Raumklimaoptimierung sorgt für ein Wohlfühlklima und steigert so mit die Behaglichkeit in einem Raum. Hierbei überwachen die Softwareagenten mit ih ren Sensoren die Temperatur der Luft, Luftfeuchtigkeit und den CO2 -Gehalt im Raum, um bei Abweichungen diese mit Hilfe ihrer Aktoren zu korrigieren. Hierbei können
82 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
verschiedene Techniken wie z. B. ein Zweipunktregelkreis mit Hysterese oder ein PIDRegelkreis zum Einsatz kommen, aber auch neuronale Netze, die sich an das Verhalten des Raums anpassen und lernen. Ein Teilprojekt des CyPhREE-Projekts beschäftigt sich mit der aktiven Nutzung des Speicherpotenzials der Baukonstruktion eines Gebäudes, siehe auch [4]. Hierbei wird eine thermische Simulation verwendet, um in Echtzeit abschätzen zu können wie viel Wärme- bzw. Kältespeicherpotenzial in der Baukonstruktion zur Verfügung steht. Zum Beispiel kann eine Wand aufgeheizt werden, um sie später zur Beheizung des Raums zu verwenden, da sie die gespeicherte Wärme über einen Zeitraum wieder abgibt. So mit kann die Baukonstruktion aktiviert werden und zur Klimatisierung eines Raums verwendet werden. Dies wurde im CyPhREE-Projekt in Verbindung mit erneuerbaren Energien erforscht. Da diese Energien nicht immer zur Verfügung stehen, müssen sie genutzt werden, wenn sie verfügbar sind. Dabei kann beispielsweise die Wärmeka pazität der Wände eines Raums genutzt werden, welche mit erneuerbaren Energien aufgeheizt werden. Ist ein Raum zukünftig belegt, kann dieser vorzeitig aufgeheizt werden und der Wärmespeicher der Wände aktiviert werden. Wenn der Raum dann belegt ist, kann die Wärme der Wände den Raum beheizen, ohne neue Energie in den Raum einbringen zu müssen. Dies ermöglicht eine effektive Nutzung von erneuerba ren Energien. In Abbildung 4.10 wird gezeigt, wie die verschiedenen Softwareagenten eine thermische Simulation nutzen können, um eine Wand als Wärmespeicher zu ver wenden.
Abb. 4.10: Software-Agenten aus CyPhREE-Projekt.
4.6 Datenauswertung | 83
In Schritt 1 liefern die Temperatursensoren an der Außen- und Innenseite der Wand stetig aktuelle Werte über den MQTT-Server an den MQTT-Agenten. Dieser wiederum liefert dem CEP-Agenten in Schritt 3 die Sensormesswerte, welcher eine CEP-Engine zur Mittelwertbildung nutzt. Dieser Wert, wird jede Minute vom Opera tor-Agent in einer Zeitreihendatenbank abgelegt (Schritt A1) und in Schritt 5 an den MQTT-Agent übermittelt, welcher den Wert veröffentlicht. Dort wird er an die thermi sche Simulation in Schritt 7 weitergegeben, welche daraufhin ausgeführt wird und einen neuen Wert für die aktuelle Wärmekapazität der Wand simuliert. Dieser wird über Schritt 8, 2 und 3 wieder in die CEP-Engine eingespeist, welche einen Stellwert für die Heizung im Raum generiert. Der Operator-Agent erzeugt damit eine Nachricht für die HVAC-Aktoren und leitet diese über Schritt 5, 6 und 9 an die entsprechende Heizung weiter. Steht dem System nun noch ein Raumbelegungsplan und die aktuel le Leistung der erneuerbaren Energien zur Verfügung, kann es diese zur prädiktiven Beheizung des Gebäudes verwenden. Abschließend soll im nächsten Abschnitt ein Blick auf die Verarbeitung und Ver dichtung der in den Anwendungen und Prozessen erfassten Daten eingegangen wer den. Es soll gezeigt werden, wie eng die Begriffe Internet der Dinge und Data Science (Big Data) bereits heute verknüpft sind.
4.6 Datenauswertung Wenn man heute von Datenauswertung spricht, spricht man fast synonym von der wissenschaftlichen Verarbeitung großer Datenmengen (Big Data). Solche großen Da tenmengen entstehen in zahlreichen Anwendungen des Internet der Dinge. Der Begriff Big Data beschreibt diesen Umgang mit Daten in drei Dimensionen: (1) Datenvolumen, (2) Änderungsgeschwindigkeit (bei Transfer/Generierung von Daten), (3) Bandbreite der Datentypen und -quellen [10]. Das Datenvolumen (1) beschreibt die Eigenschaft, die heutzutage zumeist mit Big Data beschrieben wird: Exorbitant große Mengen von Daten, gemessen nicht nur in Megabyte sondern eher in Petabyte. Die Änderungsgeschwindigkeit (2) beschreibt die notwendige Bearbeitungsgeschwindigkeit. Bei Big Data geht es nicht mehr nur um die Stapelverarbeitung dieser Daten, sondern viel mehr um die Echtzeitfähigkeit (in diesem Zusammenhang ohne spürbare Verzögerungen – nicht im Sinne einer harten Echtzeitverarbeitung) der Datenerfassung und -verarbeitung. Letztendlich beschreibt (3) die Bandbreite der zur Verarbeitung herangezogenen Daten. Hier geht der Weg weg von stark strukturierten Daten, wie z. B. in Datentabellen einer relationalen Daten bank erfasst, hin zu unstrukturierten Datenströmen, wie z. B. Log-Dateien oder Twit ter-Feeds. In den in diesem Beitrag beschriebenen Anwendungen der Industrie 4.0 und in telligenten Gebäudeautomatisierung (Smart Building), werden aktuell eher kleine Da tenvolumina (einige Kilo-/Megabyte) mit hoher Geschwindigkeit (ereignisbasierte Da
84 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
tenströme) und mittlerer Strukturierung (semi-strukturierte Ereignisse) verarbeitet. Auf Grund der geforderten hohen Verarbeitungsgeschwindigkeit und der Diversität der Datenquellen, können die Verfahren und Konzepte dem Bereich Big Data hinzu gerechnet werden. Aus Sicht der abstrakten Datenflüsse, können beide Anwendungen wie im nächs ten Abschnitt beschrieben strukturiert werden.
4.6.1 Datenfluss-Architektur Das Joint-Directors-of-Laboratories-Modell (kurz JDL-Modell) in Abbildung 4.11 be schreibt den Datenfluss in beispielhaften Anwendungen zur Datenfusion und zum Data-Mining [11].
Abb. 4.11: Integriertes Modell zur Datenfusion und Data-Mining [11].
4.6 Datenauswertung | 85
4.6.1.1 Datenfusion Der Datenstrom zur Datenfusion beschreibt auf Level (Ebene) 0 die Erfassung von Sen sordaten und die Überführung dieser in sogenannte Objektdaten. Auf Level (Ebene) 1 werden diese Informationen weiter verarbeitet und in eine Situation übersetzt, in dem sich das System aktuell befindet. Auf Level (Ebene) 2 wird die aktuelle Situation ver arbeitet und dargestellt. Auf Level (Ebene) 3 werden abschließend die Auswirkungen der Situation, sowie Aktivitäten basierend auf der Situation abgeleitet. Diese Ablei tung kann sowohl maschinell als auch manuell erfolgen. 4.6.1.2 Data-Mining Neben dem Datenstrom zur Datenfusion beschreibt das JDL-Modell auch einen Daten strom für das Data-Mining. Die vom System generierten Daten (z. B. Sensordaten, etc.) werden in einem DataWarehouse persistent gespeichert. Nachdem die Daten, beispielsweise von Ausrei ßern, bereinigt wurden und die Daten – falls notwendig – transformiert worden sind, können diese in ein Data-Mining-Framework gespeist werden. Hier werden aus den verfügbaren Daten neue Informationen abgeleitet (induktives Schließen). Diese neu generierten Informationen und Modelle können nun in einer Wissensbasis abgelegt werden (z. B. explizit in einer OWL-DL-Ontologie, einem BIM oder als implizite Ge wichte in einem künstlichen neuronalen Netzwerk). Aus diesem abgeleiteten Modell können nun in einem weiteren Schritt (Ebene 4) neue Muster zur Objekt- bzw. Situationserkennung im Datenstrom der Datenfusion ab geleitet und eingesetzt werden (beispielsweise zur Raumklimaoptimierung über den vorgestellten CEP-Agenten).
4.6.2 Anwendung des JDL-Modells auf die Anwendungsfälle 4.6.2.1 Datenfusion Im Beispiel der myJoghurt-Fertigungsanlage generieren zahlreiche digitale Senso ren und RFID-Leser unstrukturierte Daten. Ein gutes Beispiel für die Erkennung von Objekten in der Fertigungsanlage ist das Zusammenführen der passenden digitalen, binären Sensorinformation mit korrespondierenden RFID-Tags eines Werkstücks. Hieraus kann der aktuelle Standort sowie der weitere Weg eines Werkstücks in der Anlage abgeleitet werden (Objekterkennung). Beispielsweise kann aus dem zeitlich kurz nacheinander folgenden Umschalten zweier benachbarter digitaler Metallannä herungssensoren an einem Förderband, der Transport eines vorher per RFID identi fizierten Werkstücks abgeleitet werden (Situationserkennung aus Objektinformatio nen). Sobald der aktuelle Aufenthaltsort jedes Werkstücks bekannt ist, können daraus Blockaden von Transportbändern durch aktuell darauf befindliche Werkstücke ab
86 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
geleitet werden (Auswirkungen der Situation). Diese Erkenntnisse können wiederum durch den Routing-Agenten verwendet werden, um die Werkstücke bestmöglich durch die Anlage zu leiten. Im Beispiel des cyber-physischen Produktionssystems wird diese Objekt-/Situati ons-/Auswirkungserkennung mittels Complex Event Processing (CEP) durchgeführt. CEP ermöglicht die Echtzeit-Verarbeitung hochvolumiger Ereignisströme wie bei spielsweise Sensordaten. Die Datenfusion und -auswertung erfolgt über deklarative Muster, ausgedrückt in einer Event Processing Language (EPL), vergleichbar mit dem Ansatz in [12]. Im Smart-Building-Beispiel wird die Objekt-/Situations-/Auswirkungserkennung ebenfalls mittels CEP durchgeführt. Aus Raumtemperatur- und Raumfeuchtemessun gen kann ein intelligenter CEP-Agent für ein Wohlfühlklima im überwachten Vorle sungssaal sorgen. Im Herzen des CEP-Agenten werden zur Steuerung einfache Zwei punktregler mit Hysterese als auch PID-Regelkreis-Algorithmen verwendet. 4.6.2.2 Data-Mining In den im Beitrag beschriebenen Anwendungsszenarien werden die Rohdaten der Sensoren in einer Zeitseriendatenbank abgelegt (vergleichbar mit dem Data Ware house im JDL-Modell). Die Daten können auf einfache Art und Weise aus der Daten bank in die verwendeten Data-Mining- und Machine-Learning-Frameworks einge speist werden. Diese Frameworks werden verwendet, um Situationen aus den erfass ten Sensorinformationen zu klassifizieren. Im CPPS-Anwendungsfall werden die Sensorinformationen und ein künstliches neuronales Netzwerk (Hopfield-Netzwerk) verwendet, um die Abfolge von Fertigungs aufträgen unter Berücksichtigung der notwendigen Rüstzeiten zu optimieren. Weiter hin sollen die erfassten Daten zur Vorhersage von notwendigen Wartungen herange zogen werden (Predictive Maintenance). Aus Abweichungen in den Ereignisströmen können zusätzlich verschiedene Zustände der Fertigungsanlage abgeleitet werden, beispielsweise OK, Wartung benötigt, Verklemmung, usw. Hieraus können wiederum Fehler im Fertigungsprozess vorhergesagt werden. Im Gebäudeautomatisierungsanwendungsfall wird aktuell untersucht, ob die Zeitserien der Sensorinformationen (Raumtemperatur, Raumfeuchte, etc.) dazu ver wendet werden können, Situationen wie z. B. Fenster geöffnet/geschlossen oder die aktuelle Raumnutzung (z. B. Vorlesung, Besprechung, etc.) abzuleiten. In beiden Anwendungsfällen können die gelernten Modelle und Muster in den Datenfusionszweig zurückgespeist werden, um dort die Objekt-/Situations-/Auswir kungserkennung zu verbessern. Die für die beiden Datenzweige Datenfusion und Data-Mining verwendeten Soft warepakete sind in Tabelle 4.1 zusammengefasst [13].
Literatur
|
87
Tab. 4.1: Software-Stapel für den Datenfusions- und Data-Mining-Zweig. Data Mining
Datenfusion
Jupiter Notebooks
Cross-Platform/Web-Benutzeroberfläche
Machine Learning (z. B. PyBrain, Blocks, Lasagne, Neuroph, etc.)
Artificial Neural Networks, CEP, Apache Hadoop, Apache Spark, etc.
TensorFlow, Theano, Apache Spark, Apache Hadoop, etc.
Multiagentensystem
Docker
Java/Python Runtime
Linux
Embedded Linux
4.7 Zusammenfassung und Ausblick In diesem Beitrag wurden zwei Anwendungsfälle für intelligente Multi-Agenten-Netz werke gezeigt. Es wurden beispielhafte Anwendungsprozesse vorgestellt, welche durch den Einsatz von Softwareagenten und deren dezentrale Intelligenz gewinn bringend umgesetzt werden konnten. Die Umsetzung der benötigten Funktionalitä ten mittels Softwareagenten ermöglicht einerseits wiederverwendbare Komponen ten (Softwareagenten) und andererseits einen klar strukturierten Systemaufbau mit klarer Verteilung der Aufgaben. Spezielles Augenmerk wurde auf die Datenverar beitung (Big-Data-Ansätze) hinter den Anwendungsfällen gelegt. Es konnte gezeigt werden, dass die vorgestellten Anwendungsfälle mittels Massenhardware und leicht verfügbarer Open-Source-Software umgesetzt werden können. Die Brücke zwischen dem Internet der Dinge und Big Data kann bereits auf eingebetteten Systemen, ohne Rückgriff auf leistungsfähige Cloud-Systeme, geschlagen werden. Aktuelle Forschung untersucht nicht nur echtzeitfähige Korrelationssysteme zur Datenfusion sondern insbesondere auch Deep-Learning-Ansätze zur Modell- und Mustererkennung.
Literatur [1] [2]
[3]
[4]
Hofstetter Y. Sie wissen alles: Wie intelligente Maschinen in unser Leben eindringen und war um wir für unsere Freiheit kämpfen müssen. München: C. Bertelsmann Verlag; 2014. 352 S. Vogel-Heuser B., Schütz D., Schöler T., Pröll S., Jeschke S., Ewert D., Niggemann O., Wind mann S., Berger U., and. Lehmann C., (2015), Agentenbasierte Cyber-physische Produktions systeme, atp Edition, Bd. 57, No. 9/2015, pp. 36–45. Schöler T., Ego C., Leimer J., Lieback R. Von Softwareagenten zu Cyber-Physi cal Systems: Technologien und Anwendungen. In: Göhner P., Herausgeber. Agen tensysteme in der Automatisierungstechnik [Internet]. Springer Berlin Heidel berg; 2013 [zitiert 3. März 2014]. S. 129–49. (Xpert.press). Verfügbar unter: http://link.springer.com/chapter/10.1007/978-3-642-31768-2_8 Bauer M., Schöler T., Kögel L., Schweinfest M. Agentenbasierte Steuerung von thermischer Simulation in Echtzeit. Dresden: Bausim 2016; 2016 Sep.
88 | 4 Software-Agenten zur Integration von Automatisierungsprozessen
[5] [6] [7] [8]
[9] [10] [11]
[12]
[13]
Kögel L., Concept and Design of a Cyber-Physical System for Smart Buildings, in Applied Rese arch Conference 2015, Nürnberg, book-on-demand Verlag, 2015, S. 72–75. Kögel L., Cyber-Physical Systems for Smart Buildings, in Applied Research Conference 2016, Augsburg, book-on-demand Verlag, 2016, S. 611–618. Luckham D., The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems, 1. Aufl. Boston: Addison Wesley Pub Co Inc, 2002. d’Inverno, Mark, und Michael Luck. 1996. „Formalising the Contract Net as a Goal-Directed System“. In Agents Breaking Away, herausgegeben von Walter Van de Velde und John W. Perram, 72–85. Lecture Notes in Computer Science 1038. Springer Berlin Heidelberg. http: //link.springer.com/chapter/10.1007/BFb0031847. Seitz C. und Schöler T., An Agent-based Sensor Middleware for generating and interpreting Digital Product Memories. 2009. What Is Big Data? – Gartner IT Glossary – Big Data [Internet]. Gartner IT Glossary. 2012 [zitiert 13. September 2016]. Verfügbar unter: https://www.gartner.com/it-glossary/big-data Waltz E. L., (1998), Information Understanding: Integrating data Fusion and data Mining Pro cesses, in Proceedings of the 1998 IEEE International Symposium on Circuits and Systems, ISCAS ’98, Bd. 6, Vol. 6, S. 553–556 Seel C., Schimmelpfennig J., Mayer D., Walter P. Conceptual modeling of complex events of the Internet of Things. In: eChallenges, 2010. 2010. S. 1–8. http://link.springer.com/chapter/10. 1007/978-3-642-31768-2_8 Schöler T., Pröll S. CPS/Data Science Approach For Smart Factory And Building Automation. Electrotechnic and Computer Systems, ONPU Odessa, Ukraine. 2016; (23 (99)).
Alexander Faul, Theresa Beyer, Matthias Klein, Desirée Vögeli, Rene Körner und Michael Weyrich
5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses Zusammenfassung: Im Zuge der Einführung von Industrie-4.0-Lösungen in der Pro duktion werden Selbstorganisation und Flexibilität immer wichtiger. In diesem Bei trag wird exemplarisch anhand einer verteilten agentenbasierten Steuerung gezeigt, wie eine selbständig agierende Produktion von morgen realisiert werden kann. Hier zu wird zunächst die modular aufgebaute Produktionsanlage mit ihren Hardware- und Softwarekomponenten vorgestellt. Anschließend werden mit der Gaia-Methodik (Gen eric Architecture for Information Availability) die einzelnen Agenten hergeleitet und ihre Kommunikations- und Kooperationsprotokolle entworfen. Der dezentrale Ansatz unter Verwendung von Softwareagenten ermöglicht es, einzelne Module unabhängig von anderen zu entwerfen. Dies trägt zur Beherrschbarkeit des Gesamtsystems bei, da beispielsweise zur Fehlersuche nur die relevanten Agenten mit ihren Stationen be trachtet werden müssen und neue Module einfach in das Gesamtsystem integriert wer den können. Die in diesem Beitrag vorgestellte Produktionsanlage veranschaulicht modellhaft die Vorteile einer dezentralen Steuerung und zeigt, dass die Erwartungen an Industrie 4.0 mithilfe des Einsatzes von Softwareagenten erfüllt werden können.
5.1 Einleitung Um auf die stetig steigenden Anforderungen des Kunden im Hinblick auf Produkte angemessen reagieren zu können, müssen Unternehmen flexibel und mit geringen Aufwänden auf sich verändernde Rahmenbedingungen reagieren können [1]. Verän derungen können in einer stark schwankenden Nachfrage nach bestimmten Produk ten oder aufgrund dynamischer Veränderungen von Produkten im Rahmen ihres Pro duktlebenszyklus begründet sein. Des Weiteren werden individuell an den Kunden angepasste Produkte heutzutage als Wettbewerbsvorteil betrachtet [2]. Dem Kunden werden Möglichkeiten eröffnet, um auch kurzfristig Einfluss auf Design, Konstrukti on, Produktion sowie Betrieb seines Produkts zu nehmen [3]. Diese Personalisierung spiegelt sich in einer Produktion mit stetig sinkenden Losgrößen [2] wider und führt zu gesteigerten Anforderungen an die Produktion. Ein Unternehmen kann aus Gründen der Wirtschaftlichkeit nicht für jedes ein zelne Produkt geringe Losgrößen, noch eigene Produktionsanlagen bereitstellen. Um viele, sehr unterschiedliche Produkte und Varianten mit angemessenem Aufwand produzieren zu können, ist die rekonfigurierbare Gestaltung von Produktionsanlagen https://doi.org/10.1515/9783110527056-005
90 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
notwendig, welche auf individuelle Anforderungen einzelner Produkte zeitnah reagie ren kann. Nach [4] kann nur der Wettbewerber, welcher in der Lage ist, sich schnell und effizient auf verändernde Marktbedingungen, wie wechselnde Kundenwünsche, umzustellen, erfolgreich sein. Auch lassen sich Prototypen und Kleinserien durch diese Flexibilität zu geringen Preisen realisieren. Um Reihenfolge, Anzahl und Funk tionalität der Produktionsstationen aufgrund geänderter Kundenwünsche schnell zu verändern, ist es möglich, Systeme mit einer dezentralen und modularen Architek tur einzusetzen [5]. Um diese Interoperabilität der einzelnen Module sicherzustellen und gleichzeitig den Implementierungsaufwand gering zu halten, ist es beispiels weise möglich, standardisierte Schnittstellen einzusetzen, um die Kommunikation zwischen einzelnen Modulen herstellerübergreifend zu realisieren. Beispielsweise wurden im EU Forschungsprojekt F3 Factory Module in der standardisierten Größe eines Containers entwickelt und über standardisierte Schnittstellen verknüpft [6]. Die Kommunikationsfähigkeit des einzelnen Steuerungssystems ist wichtig für de zentrale Systeme, insbesondere hinsichtlich möglichen Anforderungen an die Echt zeitfähigkeit derartiger Systeme [7]. Aufgrund der hohen Komplexität der sich hierbei ergebenden Gesamtsysteme ist der Losgröße-Eins-Materialfluss für den Menschen innerhalb derartiger Strukturen in der Regel nicht mehr überschaubar. Aus diesem Grund werden Technologien zur Überwachung, Nachverfolgbarkeit sowie Zuorden barkeit notwendig, damit die Anlage diese administrativen Aufgaben anstelle des Menschen durchführen kann. Die unter dem Begriff Industrie 4.0 zusammengefassten Technologien, wie bei spielsweise Cyber-physische Systeme (CPS), adressieren diese Anforderungen und versuchen diese umzusetzen. Ein wichtiges Merkmal dieser Vision ist, dass intel ligente Produkte ihren Produktionsplan kennen und sich selbstständig durch die Produktion steuern. Die Produktionsstationen stellen einen dezidierten Funktions umfang bereit und führen ihre Dienste nach Angaben des intelligenten Produkts aus. Im universitätsübergreifendem Projekt myJoghurt [8] wurde bereits die Vision von Industrie 4.0 aufgegriffen und exemplarisch realisiert. Im Folgenden wird ein weiterer Demonstrator vorgestellt, welcher diese Vision anhand einer Lego-Automontage veranschaulicht.
5.2 Aufbau der Modellanlage Um den Kundenwunsch nach individualisierten Produkten und somit im Idealfall „Losgröße Eins“ bei stabilen Kosten erfüllen zu können, ergeben sich Anforderungen sowohl an die Hard- als auch an die Software einer Anlage. In diesem Kapitel wird eine Modellanlage zur Produktion von Autos vorgestellt, die diesen Anforderungen gerecht wird. Aufgrund der geforderten Modularität und der, bedingt durch die verschiede nen Standard-Bauteile von Lego, freien Konfigurierbarkeit von Produkten, sind die Modellanlage und die zu produzierenden Autos aus Lego aufgebaut. Als Automati
5.2 Aufbau der Modellanlage
| 91
Abb. 5.1: Aufbau der Modellanlage mit angedeuteter Erweiterung: Transportroboter und Lager.
sierungshardware für die Steuerung der Anlage werden Raspberry Pis verwendet, da diese viele verschiedene Schnittstellen und eine gute Erweiterbarkeit aufweisen. In Abbildung 5.1 ist eine Gesamtübersicht der Anlage dargestellt. Diese setzt sich aus unterschiedlichen Stationen zusammen, welche einzelne Produktionsschritte oder den Transport der Produkte bewerkstelligen. Außerdem gibt es Stationen für das Starten des Produktionsablaufs und die Ausgabe des fertigen Produkts. Eine Trans portstation bildet die wichtigste Komponente der Anlage, an die weitere Stationen angeschlossen werden. Die Transportstation besteht aus acht Förderbändern, wobei vier davon in Rechteckform fixiert sind, während die anderen vier Förderbänder je nach Anforderung an den Transport des Produktes rotieren können, um die festmon tierten Förderbänder schließlich miteinander zu verbinden (siehe Abbildung 5.1). An
92 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
Abb. 5.2: Komponenten der Peripherie.
eine einzelne Transportstation können somit wahlweise acht weitere Stationen oder beispielsweise eine weitere Transportstation und sechs weitere Stationen an die ro tierenden Förderbänder angeschlossen werden. Diese Flexibilität kann aufgrund des modularen Aufbaus der Anlage beliebig skaliert werden. Nachfolgend wird die Produktion der Fahrzeuge im Detail beschrieben. Über die Eingabestation wird ein Werkstück in die Anlage eingebracht. Die Transportstation übernimmt den Transport zur gewünschten Produktionsstation. Im Beispiel der Au tomontage könnte dies eine Platzierstation sein, die einerseits für anstehende Ferti gungsaufträge zur Verfügung steht und andererseits die benötigten Bauteile in ihrem Magazin lagert. Über die Förderbänder wird das Werkstück im Anschluss an eine der Platzierstationen transportiert und an das Förderband dieser Platzierstation überge ben. Die Platzierstation positioniert nach der Ausrichtung des Werkstücks die Bauteile darauf, bevor es über die Transportstation zur Pressstation gefördert wird. Hier wer den die Bauteile festgepresst. Das Platzieren und Pressen wird so lange wiederholt, bis alle Arbeitsschritte abgearbeitet sind. Abschließend wird das fertige Auto zur Aus gabestation transportiert. Da alle Stationen nach der gleichen Systematik aufgebaut sind, die sich lediglich in der angeschlossenen Peripherie und deren Aufbau unterscheidet, werden nachfol gend die Komponenten einer exemplarischen Station beschrieben. Jede Station besitzt einen Raspberry Pi als Automatisierungshardware sowie einen BrickPi, der über den
5.3 Agentenkonzept zur Steuerung |
93
I2 C-Bus an den Raspberry Pi angebunden ist. Der BrickPi stellt eine Erweiterungspla tine für den Raspberry Pi dar, um Lego-Sensoren und Aktoren anschließen zu können. Die Komponenten der Peripherie sind in Abbildung 5.2 dargestellt. Die geforderte Modularität wird durch den skalierbaren Aufbau Rechnung ge tragen. Der Aufbau der Transportstation und die Möglichkeit, beliebige Produkti onsstationen anzuschließen, führen zur geforderten Flexibilität. Werden mehrere Produktionsstationen vom gleichen Typ an die Anlage angeschlossen, führt dies zu einer redundanten Auslegung der Anlage und bietet Spielraum, alternative Produkti onsabläufe zu realisieren.
5.3 Agentenkonzept zur Steuerung Zur Steuerung der gesamten Anlage wird eine Technologie benötigt, die sich für dezentrale, kooperative Systeme eignet. Da Softwareagenten diese notwendigen Ei genschaften besitzen, sollen diese zur Steuerung der Anlage eingesetzt werden. Zur Entwicklung des Agentenkonzepts wird hierbei aufgrund der überschaubaren Anzahl an Agententypen auf die Gaia-Methode (Generic Architecture for Information Availa bility) [9] zurückgegriffen. Diese bietet den Vorteil, dass sowohl die Mikroebene – also ein einzelner Agent – als auch die Makroebene – das Zusammenwirken der Agen ten – gleichermaßen betrachtet werden können. Die Einschränkung, dass mit der Gaia-Methode nur zur Laufzeit statische Organisationsstrukturen entwickelt werden können, stellt für den Anwendungsfall der Produktionsanlage kein Hindernis dar – neue Instanzen eines Agententyps können zur Laufzeit flexibel integriert werden, solange der Agententyp bei der Entwicklung berücksichtigt wurde. Dass bei dieser Methode davon ausgegangen wird, dass die beteiligten Softwareagenten ihre eigenen Ziele denen der Gemeinschaft unterordnen, ist für das geplante kooperative System ebenfalls vorteilhaft. Für die Produktionsanlage wurden nachfolgende Rollen identifiziert. Zur Be schreibung dieser wird das Rollentemplate von Gaia genutzt. Es enthält neben dem Rollennamen (Role Schema) eine kurze Beschreibung (Description), die verschie denen Protocols (Interaktionen mit anderen Rollen) und Activities (Tätigkeiten) der Rolle. Auch die Berechtigungen (Permissions), beispielsweise auf welche Hardware oder Informationen zugegriffen werden dürfen, sind aufgeführt. Unter Responsibi lities wird zudem zusammengefasst, welche Protokolle und Aktivitäten ausgeführt werden. Hierbei werden die Gaia-Operatoren x.y (x gefolgt von y) und x ω (x tritt un endlich oft auf) verwendet. Außerdem wird unter Responsibilities aufgeführt, worauf die Rolle bezüglich möglicher Sicherheitsaspekte zu achten hat, wobei true bedeutet, dass die Sicherheitsanforderungen implizit erfüllt werden und die Rolle somit ihrer Tätigkeit nachgehen kann. Da das Produktionssystem aufgrund von Kundenaufträgen mit diesem kooperie ren muss, ist eine weitere Kundenschnittstelle erforderlich.
94 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
Tab. 5.1: Gaia – Rollentemplate Kundenschnittstelle. Role Schema
Kundenschnittstelle
Description
GUI bereitstellen, Aufträge entgegennehmen und weitervermitteln
Protocols/Activities
– – – – –
Permissions
Verwendung des Touch Displays
Responsibilities Liveness (Lebensablauf)
GUI bereitstellen . (Produktdatenentgegennahme . Bauplanerstellung . Bauplanweitergabe . Auftrag-abgeschlossen-Info)ω
Safety (Sicherheitsbelegung)
True (implizite Sicherheitsanforderungen)
GUI bereitstellen Produktdatenentgegennahme Bauplanerstellung Bauplanweitergabe (Auftrag-abgeschlossen-Info)
Die Kundenschnittstelle, welche ein zu Anfang initialisiertes GUI enthält (GUI bereitstellen), hat die Aufgabe, Aufträge vom Kunden entgegenzunehmen (Pro duktdatenentgegennahme), zu verarbeiten (Bauplanerstellung) und die Informatio nen zur Bearbeitung weiterzugeben (Bauplanweitergabe). Des Weiteren muss sie die Information, sobald ein Auftrag abgeschlossen wurde, dem Kunden über das GUI mitteilen (Auftrag-abgeschlossen-Info). Zur Erzeugung eines GUI steht der Kunden schnittstelle das Touch-Display zur Verfügung. Der erzeugte Bauplan wird anschließend weiterverarbeitet. Hierzu wird die Pro dukt-Rolle eingeführt. Tab. 5.2: Gaia – Rollentemplate Produkt. Role Schema
Produkt
Description
Kennt den aktuellen und den Soll-Zustand des Produkts. Kennt alle Bearbeitungsschritte und dazugehörige Abhängigkeiten (Reihenfolge, ...). Plant die nächsten Bearbeitungsschritte, sucht nach passenden Bearbeitern und überwacht den Fortschritt.
Protocols/Activities
– – – –
Permissions
Bauplanverwaltung des Produkts
Responsibilities Liveness (Lebensablauf)
(Nächsten Produktionsschritt ermitteln . Mögliche Produktionsstationen ermitteln . Durchführung verhandeln)ω . Abmelden der Dienste, beim Agentenmanagement sowie beenden
Safety (Sicherheitsbelegung)
True (implizite Sicherheitsanforderungen)
Nächsten Produktionsschritt ermitteln Mögliche Produktionsstationen ermitteln Durchführung verhandeln (Anfrage, Reservierung) Abmelden bei AMS und DF sowie beenden
5.3 Agentenkonzept zur Steuerung |
95
Die Rolle Produkt verwaltet den Bauplan eines zu realisierenden Produkts. Hierzu muss sie als erstes den nächsten Produktionsschritt ermitteln. Anschließend werden über den Directory Faciliator (DF), welcher eine Art Gelbe Seiten für das Agentensys tem bereitstellt, Anbieter des benötigten Dienstes gesucht (Mögliche Produktionssta tionen ermitteln). Mit den gefundenen Anbietern wird dann über die Durchführung verhandelt. Sobald eine Station zur Bearbeitung ausgewählt wurde, wird der Bearbei tungsvorgang abgewartet und der Status des Produkts aktualisiert, um den nächsten Schritt zu ermitteln. Nach dem letzten Bearbeitungsschritt, der Auslieferung an der Ausgabestation, muss sich diese Rolle selbstständig beenden. Zur Bearbeitung des Produkts sind verschiedene Bearbeitungsstationen vorhan den. Diese Bearbeitungsstationen (Transportstation, Eingabestation, Ausgabestation, Platzierstation, Pressstation) werden zu einer Rolle zusammengefasst. Die unter schiedlichen Tätigkeiten können als Bearbeitung abstrahiert werden und werden daher von außen betrachtet gleich behandelt (Black-Box-Prinzip [10]). Die zur Bear beitung angebotenen Dienste wiederum unterscheiden sich je nach Stationsart und können auch von unterschiedlichen Stationen derselben Art auf unterschiedliche Weise ausgeführt werden. Tab. 5.3: Gaia – Rollentemplate Station. Role Schema
Station
Description
Überwacht und steuert Bearbeitungsstation. Verhandelt mit Produkten um Bearbeitung. Ermittelt die aktuelle Position der Station innerhalb des Verbundes
Protocols/Activities
– – – –
Permissions
Ansteuerung der Hardware der eigenen Station
Responsibilities Liveness (Lebensablauf)
Positionserkennung . Startposition und Funktionstest . (Verhandlung über nächsten Auftrag . Produktübergabe . RFID-Tag-Abgleich . Bearbeitung durchführen . Produktübergabe)ω
Safety (Sicherheitsbelegung)
True (implizite Sicherheitsanforderungen)
Positionserkennung Startposition und Funktionstest RFID-Tag-Abgleich Bearbeitung durchführen (Platzieren, Pressen, Transport, Drehen, Eingabe, Ausgeben) – Verhandlung über nächsten Auftrag – Produktübergabe
Bei Systemstart erkennt zunächst jede Station ihre Position im Gesamtsystem (Positionserkennung). Diese wird für den Transport der Produkte zu den Statio nen benötigt. Des Weiteren wird ein Systemtest durchgeführt. Im Anschluss erfol gen die Einnahme der Startposition sowie eine Registrierung der jeweiligen Dienste
96 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
(Startposition und Funktionstest). Anschließend warten die Stationen auf eine An frage. Trift diese ein, werden Verhandlungen geführt (Verhandlung über nächsten Auftrag). Wird ein Auftrag vergeben, so werden zuerst die Produktübergabe und der RFID-Tag-Abgleich zur Kontrolle durchgeführt. Anschließend erfolgt die Bearbeitung, z. B. Platzieren, Pressen, Transport, bevor das Produkt an die nächste Station überge ben wird (Produktübergabe). Jede Station muss dazu in der Lage sein, die Hardware der eigenen Station zu kontrollieren und ihre Funktionsfähigkeit zu überwachen. Jedes Agentensystem benötigt außerdem ein Management, das die Namen und Adressen der im System aktiven Agenten verwaltet. Jeder Agent muss sich beim Start beim Management anmelden und wird regelmäßig überprüft, ob er noch aktiv ist. An sonsten steht das Agentenmanagement (AMS) für Anfragen nach Agenten und Adres sen zur Verfügung, ähnlich den Weißen Seiten eines Telefonbuchs. Um die Dienste der Stationen im System anbieten zu können, wird der Directory Faciliator (DF), benötigt. Für weiterführende Informationen zu AMS und DF siehe [11]. Für die beschriebenen Rollen ergeben sich unter anderem die in den nachfolgen Tabellen beschriebenen Interaktionsmodelle. Bei den Interaktionsmodellen aus Ga ia steht in der ersten Zeile der Name des Protokolls. In der zweiten Zeile folgen von links nach rechts der Sender der Nachricht, der Empfänger der Nachricht sowie die Informationen, die der Sender übermitteln möchte. In der dritten Zeile folgen eine Beschreibung sowie die Antwort. Verhandlungen werden hierbei aufgrund einer bes seren Überschaubarkeit zu einem abstrakten Protokoll zusammengefasst, bestehen also nicht aus verschiedenen Einzelprotokollen. Allgemein gebräuchliche Protokolle, die der Koordination und dem Management des Agentensystems dienen, z. B. die Re gistrierung beim AMS oder die Registrierung von Diensten beim DF, werden hier nicht weiter betrachtet. Das erste Protokoll, das betrachtet werden soll, wird dazu verwendet, die Bau planweitergabe zu koordinieren. Tab. 5.4: Protokoll Bauplanweitergabe. Protokoll: Bauplanweitergabe Initiator (Rolle): Kundenschnittstelle
Empfänger (Rolle): Produkt
Input: Bauplan
Beschreibung: Auftrag durch Bauplanweitergabe an Produkt starten.
Output: OK
Der Bauplan eines Produkts wird hierbei von der Kundenschnittstelle an eine neue Instanz der Rolle Produkt weitergegeben. Daraufhin findet eine Bestätigung mit Be zug auf den Erhalt des Bauplans statt. Die Ermittlung der verfügbaren Produktions stationen, die den nächsten Bearbeitungsschritt ausführen können, wird durch die Interaktion von Produktionsstationen untereinander ermittelt.
5.3 Agentenkonzept zur Steuerung
| 97
Tab. 5.5: Protokoll Produktionsstationen ermitteln. Protokoll: Produktionsstationen ermitteln Initiator (Rolle): Produkt
Empfänger (Rolle): Gelbe Seiten (DF)
Beschreibung: Nachfrage beim DF bezüglich Stationen zur Erbringung des gewünschten Bearbeitungsvorgangs.
Input: gewünschter Dienst Output: Liste der Agenten
Hierbei wird der gewünschte Dienst über den DF anhand der vorgegebenen Krite rien identifiziert. Den gefundenen Stationen wird durch die Interaktion „Durchfüh rung verhandeln“ eine Anfrage mit den relevanten Bearbeitungsschrittinformationen gesendet. Diese Anfrage kann daraufhin von den Stationen angenommen oder ab gelehnt werden. Hierfür spielt neben der aktuellen Auslastung der Station auch das Vorhandensein des benötigten Materials eine Rolle. Tab. 5.6: Protokoll Durchführung verhandeln. Protokoll: Durchführung verhandeln Initiator (Rolle): Produkt
Empfänger (Rolle): Station
Beschreibung: Anfrage bei Produktionsstation nach Position der Station, möglicher Bearbeitung und gegebenenfalls Reservierung dieser.
Input: Auftrag und Reservierung Output: Annehmen/Ablehnen und akzeptieren
Zur Weitergabe des realen Produkts von einer Station an die nächste ist eine vorüber gehende Synchronisation der beteiligten Stationen erforderlich. Hierzu ist die Inter aktion Produktübergabe definiert. Tab. 5.7: Protokoll Produktübergabe. Protokoll: Produktübergabe Initiator (Rolle): Station
Empfänger (Rolle): Station
Beschreibung: Synchrone Ansteuerung der Transportbänder sowie Abschaltung nach Übergabe des Produkts von einer Station an die nächste.
Input: Übergabe startet Output: Angekommen
98 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
Zur Übergabe müssen die benachbarten Förderbänder zeitgleich mit gleicher Ge schwindigkeit laufen, um eine reibungslose Übergabe zu gewährleisten. Neben dem Start der Übergabe muss auch die Ankunft bei der neuen Station, die von den Licht schranken detektiert wird, gemeldet werden, damit die übergebende Station weiß, dass der Vorgang erfolgreich abgeschlossen wurde. Um zu gewährleisten, dass das Produkt das zur Rolle Produkt gehörende Werkstück ist, wird vor jedem Bearbeitungsschritt über die RFID-Auslesefunktion die ID ausge lesen und mit der des benötigten Produkts verglichen. Tab. 5.8: Protokoll RFID-Tag-Abgleich. Protokoll: RFID-Tag-Abgleich Initiator (Rolle): Station
Empfänger (Rolle): Produkt
Beschreibung: Abgleich, ob richtiges Produkt bei Station angekommen.
Input: ID Output: true / false
Als letzte Interaktion ist die Abmeldung zu erwähnen. Diese wird vom Produkt nach Fertigstellung und Auslieferung des Produkts aufgerufen. Hierbei meldet es sich von DF und AMS des Agentensystems ab. Tab. 5.9: Protokoll Abmelden. Protokoll: Abmelden Initiator (Rolle): Produkt
Empfänger (Rolle): Gelbe/Weiße Seiten (DF/AMS)
Beschreibung: Produkt meldet sich von DF und AMS ab bevor er sich beendet.
Input: abmelden Output: OK
Nachdem die Rollen und Protokolle definiert sind, wird in Abbildung 5.3 die Zuord nung der einzelnen Rollen auf die im System vorkommenden Agententypen vorge nommen. In diesem Fall übernimmt jeweils ein Agent eine Rolle. Manche Agenten arten kommen im System häufiger vor, wie beispielsweise der Produkt-Agent, andere sind einmalig, wie beispielsweise der Management-Agent. Da ein Stations-Agent sehr unterschiedliche Aufgaben übernehmen kann, wie bei spielsweise Platzieren, Pressen oder Transportieren, wird hier die aus der objektori entierten Programmierung bekannte Vererbung verwendet, um spezielle Agententy pen ausgehend von einer generischen Agentendefinition abzuleiten. Alle Protokolle zur Interaktion mit den anderen Klassen sind im Stations-Agenten realisiert, von dem der Platzier-Agent, der Press-Agent, der Eingabe-Agent, der Ausgabe-Agent und der
5.3 Agentenkonzept zur Steuerung | 99
Rolle (entsprechend Gaia Template):
Kundenschnistelle
Agenten:
Kunden-Agent
Produkt
Staon
*
1
+
Produkt-Agent
Staons-Agent
Anwendungsfallspezifisch Rolle (entsprechend Gaia Template):
Allgemein Agentenmanagment
1 Agenten:
Management-Agent
Gelbe Seiten
1 Faciliator-Agent
Abb. 5.3: Rollenzuordnung (schwarze Pfeile) und Bekanntschaftsmodell (hellgraue Pfeile) entspre chend der Topologie der Hard-warearchitektur.
Transport-Agent entsprechende Grundeigenschaften und Attribute erben. In diesen Agenten sind die jeweils benötigten Funktionen und Informationen, die zur Ausfüh rung der Bearbeitung notwendig sind, enthalten. Beim Platzier-Agenten, der für eine Platzierstation verantwortlich ist, wären benötigte Informationen beispielsweise die Steinart und die Position. Nachfolgend sind die Rollenzuordnung und das Bekanntschaftsmodell, welches die Kommunikationspfade zwischen den Agentenarten aufzeigt, aufgeführt (siehe Ab bildung 5.3). Die Beziehungen zwischen dem Management-Agent und dem Facilia tor-Agent werden hierbei der Übersichtlichkeit halber nicht berücksichtigt, da beide Agenten mit allen übrigen Agenten interagieren. Nachfolgenden findet eine Beschreibung der wichtigsten Agenten-Dienste statt, die das Verhalten des Agentensystems insgesamt vorgeben. Dienste wie beispielswei se das An- und Abmelden beim Management werden hierbei außer Acht gelassen. – Eingabe (Dienst der Eingabestation) Der Kunden-Agent bietet dem Kunden die Möglichkeit zur Auswahl und Konfigu ration des Produkts mithilfe seiner grafischen Nutzungsoberfläche. – Transport (Dienst der Transportstation) Um das Produkt von einer Station zur nächsten zu transportieren, wird der vom Transport-Agenten angebotene Dienst aufgerufen. Hierbei berechnet der Trans port-Agent mithilfe eines Dijkstra-Algorithmus [12] den kürzesten Weg zwischen der Start- und Endstation um anschließend den Transport umzusetzen. – Drehen (Dienst der Transportstation) Da Legosteine, wie zum Beispiel Lego-Fensterscheiben, eine Orientierung besit zen, kann es notwendig werden, das Werkstück zu drehen, um einen Stein an der
100 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
–
–
–
geforderten Position und mit der geforderten Ausrichtung zu platzieren. Dieser Dienst wird ebenfalls durch den Transport-Agenten angeboten und kann von Pro dukt-Agenten genutzt werden. Platzieren (Dienst der Platzierstation) Hierbei werden das Bauteil, dessen Ausrichtung und dessen Positionierung an ei nen Platzier-Agenten übergeben. Anhand dieser Vorgaben werden die gewünsch ten Steine an den vorgesehenen Plätzen platziert. Pressen (Dienst der Pressstation) Der Press-Agent bietet einen Dienst zur Pressung eines Steins an einer bestimmten Position an. Hierbei wird das Produkt an die notwendige Position gefahren und der Stein festgepresst. Ausgeben (Dienst der Ausgabestation) Der Ausgaben-Agent bietet einen Dienst zum Abliefern des Werkstücks bei der Ausgabestation an den Kunden an.
Die oben beschriebenen Dienste werden zur Auswahl der geeignetsten Produktions station für den als nächstes erforderlichen Produktionsschritt verwendet. Hierzu fragt der Produkt-Agent beim DF nach, welche Produktionsstationen den erforderlichen Dienst anbieten, um diese in der Folge zu kontaktieren. Nach der Verhandlung mit geeigneten Produktionsstationen findet die Auswahl einer Station statt. Nach der an schließenden Bearbeitung erfolgt eine Bestätigung, auf deren Basis der Bauplan beim Produkt-Agenten aktualisiert wird. Die Umsetzung des konzipierten Agentensystems wird nachfolgend beschrieben.
5.4 Realisierung Die Realisation des vorgestellten Agentensystems erfolgt unter Verwendung des Agen tenframeworks JADE [11] für die Programmiersprache Java. Hierbei wird für jede Sta tion eine eigene Instanz des Frameworks und somit ein eigener Container verwendet, innerhalb dessen die jeweiligen Agenten instanziiert werden. Ausgeführt werden die se Instanzen auf dem jeweiligen Raspberry Pi der Station. Dort wird die Instanz mit einem Skript in der Programmiersprache Bash automatisch beim Start ausgeführt. Dieses Skript legt zudem fest, welche Agenten innerhalb der JADE-Instanz gestartet werden und über welche IP-Port-Kombination die Agenten im lokalen Netzwerk (LAN bzw. WLAN) erreichbar sind. Innerhalb der Agenten wird deren Verhalten durch die Agenten-Behaviours des JADE-Frameworks definiert, in denen z. B. Zustandsautomaten die Handlungsweise festlegen. Hierbei lassen sich zwei unterschiedliche Arten an festgelegten Verhaltens weisen unterscheiden: Behaviours, die das interne Verhalten einer Station definieren (Aktivität-Behaviours), sowie Behaviours, die das Verhalten in Bezug auf andere Sta
5.4 Realisierung
| 101
tionen festlegen (Protokoll-Behaviours). Die Namensgebung der Aktivität-Behaviours und der Protokoll-Behaviours ist an die Rollentemplates von Gaia angelehnt. Ein bedeutender Aspekt bei der Modellierung des internen Verhaltens ist die Steuerung der Hardware. Zu diesem Zweck werden Skripte in der Programmierspra che Python verwendet, die innerhalb des Behaviours durch einen Java System-Call aufgerufen werden. Dieser ermöglicht es, auch Rückgabewerte des Skripts zu erfas sen und somit Werte von Sensoren abzufragen und darauf basierend Entscheidun gen zu treffen. Diese Skripte realisieren jeweils einen dedizierten Ablauf einer nicht unterbrechbaren Tätigkeit. Dieser Ablauf kann jedoch durch sogenannte Kommando zeilenparameter, die beim Aufruf von Skripten diesen übergeben werden, angepasst werden. Ein Beispiel für eine derartige Anpassung ist das Skript zur Platzierung eines Steins in der Platzierstation. Hierbei werden die Lagerposition und die Montagehöhe des Steins dem Skript als Parameter übergeben. Zu Beginn eines jeden Skriptes wer den die Bibliotheken für die Verwendung der GPIO-Pins und den BrickPi importiert sowie initialisiert. Für das Verhalten in Bezug auf andere Stationen ist der Algorithmus, der den Nachrichtenaustausch definiert, ein essentieller Bestandteil. Ein Beispiel für einen derartigen Algorithmus ist die Kommunikation zur Koordination des Produktionsab laufs zwischen einer Produktionsstation und dem Produkt. Diese beschreibt die mög lichen ankommenden und die dazugehörigen abgehenden Nachrichten. Der genaue Ablauf ist in Abbildung 5.4 dargestellt. Für das Gesamtverhalten eines Agenten ist es notwendig, dass die Behaviours mit einander interagieren. Zum Beispiel ist es notwendig, dass bei Eingang einer Anfrage bezüglich eines bestimmten Sensorwerts von einem anderen Agenten, dieses Proto koll-Behaviour das notwendige Aktivität-Behaviour zur Ermittlung des Sensorwerts aktiviert.
Abb. 5.4: Hierarchie der Agenten unter Einbeziehung einer angedeuteten Erweiterung (links) und eines Nachrichtenaustauschs während der Produktion (rechts).
102 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
Neben den Behaviours besitzen alle Agenten eine Liste weiterer wichtiger Konstan ten, zu denen auch die Adressen des DF und des AMS Adressen gehören. Diese Liste ist als eigene Java-Klasse realisiert, was eine einfache Wiederverwendung der Liste ermöglicht.
5.5 Anwendungsbeispiel In diesem Anwendungsbeispiel soll ein vom Kunden konfiguriertes Auto produziert werden. Die produzierende Anlage besteht aus zwei Platzierstationen (P1 und P2), ei ner Pressstation (P3), einer Transportstation (T1) sowie einer Eingabe- (E1) und einer Ausgabestation (A1) (siehe Abbildung 5.1). Sobald die Anlage hochfährt, melden die Stationsagenten, welche die realen Stationen repräsentieren, die von ihnen angebo tenen Dienste beim DF an. Die Einträge des DF sind in Tabelle 5.10 zu sehen. Hierbei leiten sich die Agentennamen von den Stationsnamen ab. Der Montagevorgang startet, sobald der Kunde sein Wunschauto über das TouchDisplay konfiguriert hat. Per Drag und Drop können anschließend Legobausteine auf einer Grundplatte angeordnet und bestellt werden. Ein Beispiel für das fertig konfi gurierte Auto ist in Abbildung 5.5 dargestellt. Die Eingaben des Kunden werden vom Kunden-Agenten entgegengenommen und an einen Produktagenten weitergegeben. Dieser erstellt daraus den Bauplan für das Auto. Der Bauplan beinhaltet die notwen digen Arbeitsschritte, deren Reihenfolge, die benötigten Bauteile und deren Farbe so wie deren Position und Ausrichtung. Die Position beschreibt hierbei die Noppenreihe, Tab. 5.10: Einträge des DF und weitere Informationen. Dienst
Agent
Agententyp
„Platzieren“ „Platzieren“ „Pressen“ „Eingabe“ „Transport“ „Drehen“ „Ausgeben“
P1 P2 P3 E1 T1 T1 A1
Platzier-Agent Platzier-Agent Press-Agent Eingabe-Agent Transport-Agent Transport-Agent Ausgabe-Agent
Abb. 5.5: (v. l. n. r.) Grundplatte mit Positionsnummerierung, konfiguriertes Auto und realisiertes Auto.
5.5 Anwendungsbeispiel |
103
Tab. 5.11: Bauplan des Fahrzeugs aus Abbildung 5.5 ohne Ausrichtung der Steine. Prozess
Bauteil-ID
Farbe
Position vgl. Abbildung 5.5
Arbeitsschritt
Platzieren Platzieren Pressen Platzieren Platzieren Pressen Platzieren Pressen
3037 3001
Rot Rot
2437 3037
Blau Rot
3031
Schwarz
1 3, 5, 7, 9 2, 3, 5, 7, 9 4 8 4, 8 5 5, 7
1 2, 3, 4, 5 6, 7, 8, 9, 10 11 12 13, 14 15 16, 17
auf die das Bauteil platziert werden soll. Der Bauplan des konfigurierten Autos ist in Tabelle 5.11 dargestellt. Der Produkt-Agent bestimmt mithilfe des Bauplans, welcher Arbeitsschritt als ers tes durchzuführen ist. Im gegebenen Fall stellt das Platzieren des Bauteils mit der ID 3037 in der Farbe Rot den ersten Schritt dar (siehe Tabelle 5.11). Folglich fragt der Pro dukt-Agent beim DF an, welche Stationen den benötigten Dienst „Platzieren“ anbie ten und erhält sämtliche Adressen der diesen Dienst anbietenden Agenten. An diese Agenten schickt er nun eine Anfrage, unter Aufführung des benötigten Dienstes sowie der erforderlichen Bauteile. Die Stationsagenten P1 sowie P2 erhalten die Anfrage und erstellen ein Angebot. In gegebenen Fall haben beide Platzierstationen die benötigten Bausteine auf Lager. Nachdem der Produktagent von allen Stationsagenten, die er an gefragt hat, eine Antwort erhalten hat bzw. einen festgelegten Zeitraum gewartet hat, wählt er eine Station aus. Da bei P1 die Transportkosten geringer sind, sendet er eine Reservierung an P1. Die beschriebene Kommunikation ist in Abbildung 5.6 dargestellt. Um zur entsprechenden Station zu gelangen, ist es im nächsten Schritt erforder lich, den Dienst „Transport“ auszuführen. Mithilfe des DF werden sämtliche Trans portagenten ermittelt und diesen sowohl der Start- als auch der Zielpunkt sowie die benötigte Ausrichtung des Werkstücks für die Zielstation übermittelt. Da in der Mo dellanlage zu diesem Zeitpunkt nur ein Transportagent existiert, erhält dieser in je dem Fall den Zuschlag. Zunächst erfolgt durch den Transportagenten ein Routing mit hilfe des Dijkstra-Algorithmus [12], der den Pfad des Werkstücks vom Start- zum Ziel punkt bestimmt. Um den Transport von der Eingabestation E1 zur Platzierstation P1 zu organisieren, sendet der Transportagent an den Eingabeagent eine Anfrage zur Über gabe des Werkstücks. Sobald der Eingabeagent eine Bestätigung sendet, startet dieser sein Förderband. Beim Eingang der Bestätigung startet auch der Transport-Agent das erforderliche Förderband. Mithilfe von Lichtschranken detektieren die Stations-Agen ten, an welchem Ort sich das Werkstück befindet. Sobald der Transport-Agent T1 bei der entsprechenden Eingangsschranke die Übergabe des Werkstücks detektiert, sen det dieser eine Quittierung an den Agenten E1, sodass dieser sein Förderband in der Folge stoppen kann.
104 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
Abb. 5.6: Kommunikation zur Planung eines Produktionsschrittes.
Nach der erfolgreichen Durchführung des Transports erhält der Produkt-Agent eine Bestätigung. Daraufhin sendet der Produkt-Agent eine Prozessschrittanfrage an P1 und übergibt den Prozessschritt, das Bauteil sowie dessen Position und Ausrichtung als Parameter an P1. Mit dem Eingang der Nachricht wird der Dienst „Platzieren“ vom Stations-Agenten P1 gestartet. Als erstes wird die Ausrichtung des Werkstücks überprüft und gegebenenfalls der Dienst „Drehen“ beim Transport-Agenten ange fragt. Bei korrekter Ausrichtung wird das Werkstück in die richtige Position gefahren und das Bauteil aus dem Lager genommen. Die richtige Position wird mithilfe der Lichtschranken und der benötigten Noppenreihe aus dem Bauplan ermittelt. Das Bauteil wird beim Erreichen der richtigen Position auf das Werkstück gesetzt und eine Bestätigung des Dienstes an den Produkt-Agenten gesendet. Der Produkt-Agent bestimmt mit Erhalt dieser Bestätigung den nächsten durchzu führenden Prozessschritt, welcher analog zu dem oben beschriebenen durchgeführt wird. Sobald alle übrigen Schritte beendet sind und das Produkt – sprich das Auto – produziert wurde, fragt der Produkt-Agent den Dienst „Ausgeben“ an. Um zu der Aus gabestation A1 zu gelangen, wird erneut der Dienst „Transport“ benötigt. Mit der er
5.6 Erweiterungen der Produktionsanlage
| 105
folgreichen Durchführung des Dienstes „Ausgeben“ ist die Produktion beendet und der Produkt-Agent wird nicht länger benötigt, sodass sich dieser folglich beendet.
5.6 Erweiterungen der Produktionsanlage Die Anordnung der einzelnen Stationen innerhalb der Produktionsanlage zur Produk tion von individuellen Fahrzeugen lassen sich flexibel gemäß den Anforderungen an die Produktion gestalten. Alle hierbei notwendigen Anpassungen werden von der Pro duktionsanlage automatisch durchgeführt. Die realisierte Anlage ist in Abbildung 5.7 dargestellt. Durch den modularen Aufbau der Anlage können beliebig viele zusätzliche Statio nen ergänzt werden. Stationen mit gleichen Funktionalitäten können die Produktions kapazität steigern bzw. sorgen für eine Redundanz bei der Auslegung der Produktion. Stationen, die andere Funktionen als die bestehenden anbieten, erhöhen die Varian tenvielfalt der Produktionsanlage. Des Weiteren kann die Demonstrationsanlage um weitere Transportstation ergänzt werden, welche z. B. durch einen autonomen Trans portroboter miteinander verbunden werden. Dieser Roboter transportiert die Werkstü cke zwischen den Produktionssystemen (Abbildung 5.8 Links). Um die Produktvielfalt zu erhöhen, wurden weitere Platzier- und Pressstationen ergänzt (Abbildung 5.8 Mit te). Somit können breitere, längere sowie höhere Fahrzeuge hergestellt werden.
Abb. 5.7: Die realisierte modulare Produktionsanlage (v. l. n. r. Eingabestation, Platzierstation und Pressstation).
Abb. 5.8: Realisierte Erweiterungen (v. l. n. r. Transportroboter, Platzierstation und Lager).
106 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
Um eine höhere Flexibilität hinsichtlich des Scheduling zu erzeugen, wurde das bis herige FIFO-Prinzip (First In First Out) zur Vergabe der Bearbeitungsaufträge durch eine verbesserte Verhandlungsstrategie ersetzt. Diese wird von den Produkt-Agenten zum Verhandeln der Reihenfolge einzelner Aufträge anhand von Prioritäten genutzt. Jeder Kunde kann beim Beauftragen seines Produkts festlegen, wieviel Geld er inves tieren möchte. Die Differenz zwischen Produktionskosten und eingesetztem Investiti onsmitteln verwendet der Produkt-Agent, welcher das Produkt und seinen Wert reprä sentiert, um sich eine höhere Priorität bei den Bearbeitungsstationen zu verschaffen und dadurch seine Fertigstellung zu beschleunigen [13]. Im Lager (Abbildung 5.8 Rechts) können Produkte, welche z. B. aufgrund ihrer niedrigen Priorität momentan nicht bearbeitet werden, aufbewahrt werden. Dieses wird von einem Stations-Agenten verwaltet, welcher den Dienst „Lagern“ anbietet.
5.7 Fazit Die in diesem Beitrag beschriebene Produktionsanlage für die Montage von LegoAutos veranschaulicht Grundprinzipien von Industrie 4.0. Hierbei stehen das intel ligente Produkt, die dezentrale Steuerung und der modulare Aufbau der Anlage im Vordergrund. Dies wurde durch die Nutzung des Paradigmas der Softwareagenten er reicht. Durch das strukturierte Vorgehen beim Entwurf, das durch die Gaia-Methode unterstützt wird, war eine Dekomposition des Gesamtsystems in kleinere Teilsysteme möglich. Für die Steuerungsentwicklung der Produktionsanlage werden z. B. Stationen und Produkt in eigene Instanzen gekapselt und durch separate Agenten repräsen tiert. Die Komplexität der Anlage wird dadurch überschaubarer und der gesamte Pro zess zeichnet sich durch eine höhere Skalierbarkeit aus, da jeweils nur ein Teilaspekt betrachtet wird. Die verminderte Komplexität bei Betrachtung des Gesamtsystems bringt auch bei der Fehlersuche Vorteile mit sich, da Fehler einfach auf einzelne Stationen einge grenzt werden können, indem Stationen gegeneinander ausgetauscht werden, bis der Fehler erfolgreich lokalisiert ist. Ein Fehler, verursacht durch eine fehlerhafte Imple mentierung eines Kommunikationsalgorithmus, ist dagegen schwieriger zu finden, da die Kommunikation der Agenten nur implizit definiert ist und es verschiedene Betei ligte gibt. Die von JADE bereitgestellten Werkzeuge ermöglichen jedoch auch hier ein strukturiertes Vorgehen, um Fehlerursachen aufzudecken. Zusätzlich wird durch die Agenten die Flexibilität erhöht und eine Skalierbarkeit des Gesamtprozesses einfach ermöglicht. In der Produktionsanlage äußert sich dies in der schnellen, flexiblen Integration beliebiger redundanter oder neuer Stationen. Mit den im vorherigen Kapitel beschriebenen Erweiterungen wird gezeigt, dass hierzu am bereits vorhandenen System keine manuellen Anpassungen notwendig sind. Ebenso können bestehende Stationen flexibel angeordnet werden.
Literatur
|
107
Ab einem bestimmten Grad an Dezentralität übersteigen der größere Organisati onsaufwand und das stark ansteigende Kommunikationsaufkommen dem Zugewinn an höherer Flexibilität. Deshalb sollte nicht jede Komponente als eigenständiges Teilsystem betrachtet werden, sondern Baugruppen von sinnvoller Größe festgelegt werden. Hierbei sollten verstärkt logisch zusammenhängende Baugruppen betrachtet werden. Zum Beispiel sollten bei der Produktionsanlage die Stationen, deren Kom ponenten zusammen einen Dienst anbieten können, über eine derartige Baugruppe miteinander verknüpft werden. Um eine dahingehende Verschaltung ähnlicher Diens te zu Baugruppen effizient organisieren zu können, wird der DF durch eine zentrale Instanz repräsentiert. Die hohe Autonomie und Selbstorganisation der Produktion auf Basis der Agenten führt in vielen Fällen zu einer erschwerten Nachvollziehbarkeit von Entscheidungen für den Menschen. Eine Visualisierung der Kommunikationsabläufe kann die Nach vollziehbarkeit steigern, diese liegt verstärkt im Fokus der weiteren Forschung in An knüpfung an die vorgestellten Arbeiten. Die Produktionsanlage wurde größtenteils unter Verwendung von Lego aufge baut. Ausschlaggebend für die Realisierung mittels dieser flexibel einsetzbaren Steine waren zum einen die sehr hohen Freiheitsgrade bei der Gestaltung der Anlage durch die Modularität, welche durch Lego geboten werden. Des Weiteren bietet der Herstel ler eine große Auswahl an Sensoren und Aktoren zu einem relativ günstigen Preis im Vergleich zu industrieller Hardware. Allerdings hat die Realisierung mit Lego auch Nachteile. Wenngleich die Realisierung derartiger Projekte unter Verwendung von Le go einfach und funktional möglich ist, so kann aufgrund der Hardwarebeschaffenheit keine hohe Zuverlässigkeit bei Bewegungsabläufen mit geringen Toleranzen erzielt werden. Die realisierte Anlage verdeutlicht, dass sich Softwareagenten für die Organisati on dezentral aufgebauter Systeme hervorragend eignen. Da im Kontext von Industrie 4.0 der Dezentralität eine immer größer werdende Bedeutung zukommt, eröffnen sich neue Anwendungsgebiete für die Nutzung von Softwareagenten.
Literatur [1]
[2]
[3]
H. Wiendahl, H. Elmaraghy, P. Nyhuis, M. Zah, N. Duffie and M. Brieke. 2007. Changeable Manufacturing – Classification, Design and Operation. In CIRP Annals – Manufacturing Tech nology, 56(2): 783–809. F. T. Piller. 2006. Mass Customization – Ein wettbewerbsstrategisches Konzept im Informati onszeitalter. 4th edn. Dt. Univ.-Verl Gabler-Edition Wissenschaft: Markt- und Unternehmens entwicklung, Wiesbaden. acatech – Deutsche Akademie der Technikwissenschaften e. V. 2013. Umsetzungsempfehlun gen für das Zukunftsprojekt Industrie 4.0 – Abschlussbericht des Arbeitskreises Industrie 4.0. Promotorengruppe Kommunikation der Forschungsunion Wirtschaft – Wissenschaft.
108 | 5 Eine agentenbasierte Produktionsanlage am Beispiel eines Montageprozesses
[4] [5]
[6] [7]
[8]
[9] [10] [11] [12] [13]
G. Schuh, J. Harre, S. Gottschalk and A. Kampker. 2004. Design for Changeability (DFC) – Das richtige Maß an Wandlungsfähigkeit finden. In: wt-online. 04: 100–100. W. A. Günthner and M. Wilke. 2002. Anforderungen an automatisierte Materialflusssysteme für wandelbare Logistikstrukturen. In: Tagungsband Wissenschaftssymposium Logistik der BVL 2002. Huss-Verlag GmbH, München, pp. 335–345. Abschlussbericht des F3 Forschungsprojekts. 2014. Accessed Oktober 19, 2016. http: //f3factory.com/scripts/pages/en/newsevents/F3_Factory_final_report_to_EC.pdf. R. Hensel. 2014. Der richtige Platz für die Steuerung. In: VDI Nachrichten. 46. Accessed Novem ber 14, 2014. http://www.vdi-nachrichten.com/Technik-Wirtschaft/Der-richtige-Platz-fuerSteuerung. M. Weyrich, P. Göhner, C. Diedrich, B. Vogel-Heuser, A. Fay, M. Wollschlaeger and S. Kowa lewski. 2014. Flexibles Management einer dezentralen Automatisierungsverbundanlage als Beispiel für Industrie 4.0. Automation 2014, Baden-Baden. G. Weiß and R. Jakob. 2005. Agentenorientierte Softwareenticklung. Springer, Heidelberg. O. Vogel, I. Arnold and A. Chughtai. 2009. Software-Architektur: Grundlagen – Konzepte – Praxis. Spektrum Akademischer Verlag, Heidelberg. F. Bellifemine, G. Caire and D. Greenwood. 2007. developing multi-agent systems with JADE. Wiley. E. W. Dijkstra. 1959. A note on two problems in connexion with graphs. In: Numerische Mathe matik. 1–1: 269–271. M. Georg. 2016. Conception and realization of a priority scheduling mechanism in a cyber physical production system. Masterarbeit. Universität Stuttgart, Stuttgart.
Robert Brehm, Mareike Redder, Dmitry Kazakov und Cecil Bruce-Boye
6 Agentenbasierte Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem Zusammenfassung: Durch den stetig wachsenden Anteil fluktuierender Energien, wird zukünftig das Balancieren zwischen Energiebedarf und -produktion eine immer größer werdende Herausforderung. Die Nutzung intelligenter Steuerungsmechanis men, dezentraler Speichertechnologien und die lokale Gruppierung von Akteuren des Energienetzes in sogenannten Mikronetzen ermöglichen eine kurzfristige Reakti on auf wetterbedingte Lastflussänderungen und eine Minimierung der Residuallast innerhalb des Netzes. Zudem kann durch eine koordinierte Speicherbewirtschaftung der Energie-Eigenverbrauchsanteil maximiert werden. Hierzu ist der Einsatz effizi enter Optimierungsalgorithmen und eines vernetzten kooperativen Agentensystems innerhalb eines leistungsstarken Kommunikationsnetzwerkes notwendig.
6.1 Zukünftige Energienetze Zunehmend sehen sich die Staaten derzeit mit der Frage konfrontiert, wie der stei gende Bedarf an Energie bei gleichzeitiger Reduktion der Treibhausgasemissionen zu bewältigen sein wird. Das hat zur Folge, dass momentan und innerhalb der nächsten Jahrzehnte ein grundlegender Wandel der Energieversorgung bei zunehmender Inte gration erneuerbarer Energien wie Wind- und Solarenergie sowie Biogasanlagen statt finden muss. Zentraler Bestandteil des strukturellen und technologischen Wandels im Zuge der Energiewende ist die vermehrte Nutzung dezentraler, teilweise nicht regel barer und schwankender erneuerbarer Energien. Und gleichzeitig wird eine kontrol lierte Abschaltung vorhandener zentraler Großkraftwerke, die bisher weitestgehend bedarfsgerecht und geographisch strategisch angelegt sind, angestrebt. Der Wandel der vorhandenen zentralen Energieversorgungsinfrastruktur in Rich tung einer Versorgungsstruktur aus dezentralen und fluktuierenden Energieversor gungsanlagen aus erneuerbaren Energien birgt große Herausforderungen im Bereich des Netzbetriebes, um Versorgungssicherheit und Flexibilität zu gewährleisten [1]. Laut aktueller Studie des Fraunhofer-Instituts für Solare Energiesysteme ISE, sind in Deutschland derzeit 1,5 Millionen Photovoltaikanlagen (PV) mit einer Gesamtleistung von ca. 40 GW im Netz integriert (Stand: 2015). 70 % dieser Anlagen sind im Nie derspannungsnetz und 90 % im Mittel- und Niederspannungsnetz eingebunden [2]. Der große Anteil an dezentralen und erneuerbaren Energieversorgungsanlagen in den Mittel- und Niederspannungsnetzen hat zur Folge, dass es zu sogenannten wet terabhängigen Lastflüssen kommt, wenn große Mengen an Energie während der https://doi.org/10.1515/9783110527056-006
110 | 6 Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem
Überproduktionsphasen in den Mittel- und Niederspannungsnetzen in die überlie genden Übertragungsnetze eingespeist wird. Daraus resultieren Überschreitungen der Grenzwerte für Spannungs- und Frequenzabweichungen [3]. Daher sieht das Er neuerbaren-Energien-Gesetze (EEG, siehe §9) seit 2012 vor, dass je nach Größe der Anlage, eine fernsteuerbare Einspeisemanagement-Vorrichtung für PV-Anlagen vor geschrieben ist. Damit können Netzbetreiber unter bestimmten Voraussetzungen die Einspeisung dieser Anlagen abregeln oder diese komplett abschalten. Eine Abrege lung bzw. Abschaltung erneuerbarer Energieressourcen, kann vor dem Hintergrund der Zielsetzung, den Anteil erneuerbarer Energien zu erhöhen, nur ein temporäres Mittel sein, bis effektivere Technologien im Bereich des Smart Grids, zur Integration erneuerbarer Energieressourcen in das vorhandene Netz zur Verfügung stehen. Das Smart Grid ist laut Europäischer Union [4] ein intelligentes Energieversor gungssystem, welches durch bidirektionale Vernetzung intelligenter Quellen, Ver braucher, Speicher, Märkte und Infrastrukturkomponenten ein qualitativ hochwerti ges und nachhaltiges sowie sicheres und stabiles Versorgungssystem bildet. Ein po puläres Szenario eines zukünftigen Smart-Grid-Systems ist die virtuelle Gruppierung einer Anzahl an dezentralen Energieproduktionseinheiten, die in einem Cluster als eigenständiges traditionelles Kraftwerk arbeiten, das sogenannte Virtuelle Kraftwerk (VPP). Ein ähnliches Konzept im Kontext mit Smart Grids sind sub-autarke Mikro netze¹. Diese Mikronetze sind idealerweise autonome Energieversorgungssysteme auf lokaler Ebene, dessen Topologie durch dezentrale Energieproduzenten, Speicher und Verbraucher geprägt wird. Die Implementierung von Mikronetzen wird motiviert durch das Ziel der Reduktion wetterabhängiger Lastflüsse und eine große Anzahl von dezentralen Erzeugungsanlagen in den Mittel- und Niederspannungsnetzen. Außer dem bietet die Topologie der Mittel- und Niederspannungsnetze eine optimale Basis, Mikronetze mit möglichst wenig Aufwand und geringen physikalischen Anpassun gen zu implementieren [5]. Das lokale Energiemanagement eines Mikronetzes kann mit oder ohne überliegende Kontrollinstanz betrieben werden [6]. Eine mögliche Steuerung und Koordinierung eines Mikronetzes zur effizienten Energieverteilung bietet eine Implementierung eines Agenten-basierten Kontrollansatzes [7]. Die lokale Entscheidungsfähigkeit anhand von kognitiven Eigenschaften befähigen Agenten, auf Veränderungen im Mikronetz zu reagieren. Konzepte möglicher Kontrollansätze dezentraler Energiemanagementsysteme werden in [8, 9] präsentiert und diskutiert. Energiemanagementsysteme gewährleisten ein Gleichgewicht zwischen Produk tion und Energiebedarf. Um die bestehende Versorgungssicherheit und damit einher gehende benötigte Flexibilisierung der Energiesysteme zu ermöglichen, ist die Kopp lung und gemeinsame Regelung der unterschiedlichen, bisher isoliert betrachteten Energienetze notwendig. Diese Zusammenführung birgt ein erhöhtes Potential der ökonomischen, betriebstechnischen und klimafreundlichen Optimierung. Die Koor
1 CBB Software GmbH (2015). Subautarkie, Marke registriert beim Deutschen Patent- und Markenamt.
6.1 Zukünftige Energienetze | 111
dination und Organisation aller Akteure ist die wesentliche Aufgabe des Energiema nagementsystems, da Entscheidungsprozesse abhängig von den jeweiligen Akteuren getroffen werden müssen. Um die zunehmende zentrale Datenaggregation zu vermei den bzw. den Informationsfluss auf wesentliche Informationen zu beschränken bieten Steuerungs- und Regelungssysteme auf der Basis von dezentralen verteilten Architek turen großes Potential. Der technologische Wandel zur ökonomischen und betriebs technische Optimierung der Netze erfordert eine flächendeckende Umgestaltung der Steuerungs- und Regelungsansätze.
6.1.1 Netzintegrierte sub-autarke Mikronetze Durch die voranschreitende Dezentralisierung und einen stetig steigenden Anteil er neuerbarer Energien gewinnen Mikronetze in dezentralen und versorgungsnetz-unab hängigen Energieversorgungssystemen zunehmend an Bedeutung [10]. In der Ver gangenheit haben sich Energieverbünde als zuverlässige Topologie erwiesen. So ist es keine Absicht der Dezentralisierung, eine vollständige Eigenversorgung (Autarkie) anzustreben, sondern ein sub-autarkes System entsteht zu lassen (sub-autarkes Mi kronetz²). Mit nur einer Kopplung zur externen Energieversorgung kann ein solches Mikronetz sub-autark betrieben werden oder bei Störungen im überlagerten System von diesem vorübergehend getrennt werden [11]. Es entnimmt oder beliefert bedarfs gerecht Energie über den angebundenen Energieverbund. Energieexport und -import sowie temporärer Nullabgleich aus dem öffentlichen Netzverbund ins sub-autarke Mi kronetz können durch ein virtuelles Bilanzkreis-Management-System organisiert wer den. Ziel ist dabei, die ausgewogene Lastverteilung und Stabilität des sub-autarken Systems sowie des gekoppelten Energieversorgungssystems zu erreichen. Die Steuerung der Energieflüsse in Mikronetzen sowie in konventionellen Netzen wird durch Leitsysteme koordiniert. Hierbei wird der wirtschaftlich optimale Einsatz eines Portfolios von Energieerzeugungsanlagen ermittelt. Dies dient der Deckung des Energiebedarfs auf Basis von Prognosen über einen bestimmten zeitlichen Zeitraum. Der resultierende Einsatzplan von Kraftwerken wird als Unit Commitment und die Fahrweise der zum Einsatz kommenden Kraftwerke als Dispatch des Kraftwerks be zeichnet. Bei der Lösung des zugrundeliegenden mathematischen Optimierungspro blems haben Nebenbedingungen wie Effizienzkurven von Kraftwerken, Wartungskos ten, sowie viele weitere technische Faktoren als auch Vermarktungsentscheidungen an Energie-Terminmärkten großen Einfluss, sodass ein komplexes mehrdimensiona les Optimierungsproblem entsteht. Optimierungsalgorithmen berechnen den optima len Betrieb auf Basis des aktuellen Betriebszustandes unter Berücksichtigung festge legter Nebenbedingungen.
2 CBB Software GmbH (2015). Subautarkie, Marke registriert beim Deutschen Patent- und Markenamt.
112 | 6 Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem
(a)
(b)
(c)
Abb. 6.1: Integration von virtuellen sub-autarken Mikronetzen in bestehende Energienetze. Hier im Radialnetz (a), Ringnetz mit einem Einspeisepunkt (b) und Ringnetz mit zwei Einspeisepunkten (c).
Die Implementierung eines netzintegrierten sub-autarken Mikronetzes (NSAM) im Niederspannungsnetz eröffnet neue Perspektiven und erhöht die Bedeutsamkeit der NSAM im Kontext der intelligenten Energienutzung. Die Installation eines NSAM im Niederspannungsnetz erfordert nur minimale infrastrukturelle Änderungen. Dieser Vorteil ergibt sich durch die bereits bestehenden Versorgungsnetztopologien der Niederspannungsebene, die als Radialnetz, Ringnetz mit einem Einspeisepunkt, Ringnetz mit zwei Einspeisepunkten oder vermaschtes Netz aufgebaut sind, siehe Abbildung 6.1. Die überliegende Kommunikationsstruktur findet durch die Energie versorgungskomponenten statt, die direkt durch steuerbare Wechselrichter, Batte rieladesysteme oder verschiebbare Lasten vorgenommen wird. Hierzu werden En ergieversorgungskomponenten in die vorhandene Informations- und Kommunikati onsinfrastruktur eingebunden oder eine unabhängige Kommunikationsebene über Drahtlosübertragung aufgebaut, bzw. bereits vorhandene Drahtlosnetzwerke verwen det. Halu et al. [5] präsentieren in einer umfassenden Studie die Machbarkeit und das Autarkiepotential in solargeprägten städtischen Mikronetzen basierend auf rea len Daten. Darüber hinaus werden Erkenntnisse über optimale Mikronetztopologien zur Minderung der Belastung der Infrastruktur vorgestellt. Die durch Halu et al. [5]
6.1 Zukünftige Energienetze | 113
vorgestellten Ergebnisse zeigen, dass die Implementierung von virtuellen Mikronet zen Leistungssteigerung für das Verteilnetz in Bezug auf Effizienz und Stabilität sowie Skalierbarkeit und Versorgungssicherheit ermöglichen. Dies hat einen erleichterten Betrieb der überlagerten Energienetze zur Folge. Der Energiefluss auf Mittel- und Hochspannungsebene wird reduziert und damit auch die dort einhergehenden Transportverluste. NSAM können dynamisch angelegt werden und bestehen aus einem heterogenen Mix aus Erzeugungseinheiten, Speicherkapazi täten und Verbrauchern. Die Nutzung von NSAM hat mehrere Vorteile: – Entlastung des Verteil- und Übertragungsnetzes – Minderung der Übertragungsverluste durch Erhöhung des Eigenverbrauchsan teils – Spitzenlastglättung zur verringerten Auslastung des übergeordneten Energienet zes und dadurch ein Kapazitätsgewinn an individuellen Knotenpunkten im Netz – Verteilung und bedarfsgerechter Einsatz von Speichereinheiten – Einfachere Anwendung von Energiemanagementkonzepten – Partielle Autarkie vom nationalen Energienetz – Vorhandene Infrastruktur wird genutzt.
6.1.2 Energiemanagement Die Tatsache, dass die erzeugte Energie aus erneuerbaren Ressourcen sowie der Han del dieser in den kommenden Jahren weiterhin stark steigen wird, erfordert eine steue rungs- und schutztechnische Weiterentwicklung, um auf dynamische Schwankungen im Netz und die Dezentralisierung der Energieerzeugungsanlagen zu reagieren [7]. Dies beinhaltet Technologien zur Integration und zum Betrieb sowie zur intelligenten Steuerung von Energiespeichersystemen, um Lastspitzen im Energienetz zu minimie ren, zum effizienten und intelligenten Zusammenschluss der Energieformen Wärme und Elektrizität sowie zur Laststeuerung. All dies bedeutet, dass für die zukünftigen Energienetze ein überlagertes Kommu nikationsnetzwerk zur bidirektionalen und intelligenten Interaktion der Systemkom ponenten untereinander vorhanden sein muss. Verteilte Ressourcen kombiniert mit lokalen Speicherkapazitäten sind weitaus effizienter als zentrale Speichereinheiten, da die Übertragungswege auf ein Minimum reduziert werden. Bei dieser Kombination können zukünftig Energienetze vermehrt aus Niederspannungsnetzen bestehen und somit übergeordnete Netze nur zur Verbindung zu großen Energieerzeugern wie bei spielsweise Wind- und Solarparks oder konventionellen Kraftwerken notwendig sein.
114 | 6 Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem
6.2 Koordinierte Planung verteilter Speicherkapazitäten 6.2.1 Konzept Zur Verdeutlichung des Konzepts der Integration von sub-autarken netzintegrierten Mikronetzen in der Niederspannungsebene (siehe Abbildung 6.1) wird im Folgenden ein Szenario zur Minimierung und Korrektur des Energieflusses in ein übergeordnetes Energienetz vorgestellt. Ziel ist es, den Eigenverbrauchsanteil im Niederspannungs netz durch die intelligente Vernetzung und den koordinierten Einsatz von verteilten Speichern zu erhöhen. Dazu wird ein intelligentes verteiltes Energiemanagementsys tem (EMS) eingesetzt. Das EMS ist ein dezentrales Kommunikationssystem, welches auf der Steuerungsebene Optimierungen durchführt. Jeder EMS-Knotenpunkt ist in der Lage, Leistungsflüsse zur Be- und Entladung lokaler Speicherkapazitäten zu steu ern. Dabei verfügt jeder EMS-Knotenpunkt über Vorhersagen (Prognosen) für lokale Bedarfs- und Erzeugungsprofile über den zu planenden Zeitraum. Diese können z. B. aus Standardlastprofilen und Vorhersagen von Photovoltaikerträgen (z. B. durch Wet tervorhersagen) bestehen. Alle EMS-Knoten sind an einem gemeinsamen Niederspannungsnetz angeschlos sen. Abbildung 6.2 stellt das Konzept für ein solches System für ein Radialnetz in einem Wohngebiet dar. Das zugrundeliegende mathematische Optimierungsproblem wird in einem Agentensystem über einen verteilten iterativen Algorithmus gelöst. Ziel der Optimierung ist es, mit Hilfe eines Speicherdispatchings den Energiefluss über ei ne Ortsnetzstation über einen bestimmten zeitlichen Horizont zu minimieren, oder ein durch den Versorger vorgegebenes Energieflussprofil über die Ortsnetzstation zu folgen. Dadurch kann zum Beispiel eine Korrektur des Energieflusses über die Orts netzstation erreicht werden (peak shaving). Beim iterativen Algorithmus zum Lösen des Optimierungsproblems werden bei jeder Iteration Informationen zwischen benachbarten Knotenpunkten (Agenten) aus getauscht. Der Austausch der Informationen kann durch unterschiedliche Kommu nikationstopologien erfolgen. So können einzelne Akteure im Mikronetz mit draht loser Kommunikationstechnik wie WLAN oder Niedrigenergieweitverkehrnetzwerke (z. B. LoRaWAN: Long Range Wide Area Network) versehen werden. Die Anzahl der benachbarten Knotenpunkte, mit denen ein individueller Knotenpunkt kommunizie ren kann, richtet sich folglich nach der Menge der Knotenpunkte, die innerhalb der individuellen Wi-Fi-Reichweiten erreichbar sind. In dem dargestellten Konzept wird ein physikalisch abgeschlossenes System betrachtet. Grundlage des Konzepts ist es, dass ein Energieversorger (Energiemarkt) Anreize setzt und Produkte entstehen, die den Verbraucher motivieren (z. B. durch monetäre Gegenleistung), dem Versorger einen gewissen Grad an Flexibilisierung zur Verfügung zu stellen. Durch den Konsensalgorithmus werden kollaborative Bedingungen an das Mikronetz erfüllt, z. B. peak shaving oder Darstellung eines bestimmten Energiefluss profils (ψ) über die gemeinsam genutzte Ortsnetzstation, wie Abbildung 6.2 verdeut
6.2 Koordinierte Planung verteilter Speicherkapazitäten |
115
Abb. 6.2: Beispiel eines verteilten Energiema nagementsystems (EMS) im Niederspannungs netz, mit Kommunikationstopologie.
licht. Diese Bedingungen können zum Beispiel vom Versorger vorgegeben sein. Das zugrundeliegende Optimierungsproblem, die Minimierung des Energieflusses oder das Bereitstellen eines bestimmten Energieflussprofils über die Ortsnetzstation, wird unter lokal vorhandenen Randbedingungen der einzelnen Knotenpunkte, wie bei spielsweise Kapazitätseinschränkungen, maximale und minimale Ladeströme oder Speicherverfügbarkeitsprofile in einem verteilten Agentensystem, gelöst. Die Einhaltung der lokalen Randbedingungen wird durch die individuellen EMSKnotenpunkte gewährleistet. Der verwendete verteilte Optimierungsalgorithmus nutzt ein Konsensverfahren [11], welches auch auf einer kollaborativen Übereinkunft zum Dispatch der einzelne Batteriespeicher zwischen den EMS-Agenten basiert. Zu sätzlich wird vorgegeben, dass Batterien synchron geladen/entladen werden. Dies hat zum Ziel, ein gegenseitiges Entladen einer Batterie durch das Laden einer anderen Batterie zu vermeiden. 6.2.1.1 Verteilte Transparenz und Skalierbarkeit Die erläuterte, dezentrale Systemarchitektur ermöglicht nicht nur eine verteilte Trans parenz, sondern auch Skalierbarkeit im Sinne eines verteilten Systems. Systemkom ponenten wie Speicher, Lasten oder Erzeuger können dynamisch hinzugefügt oder entfernt werden (Plug-and-Play-Fähigkeit), ohne die Funktionsfähigkeit und das Nut zungsempfinden des gesamten Systems zu beeinträchtigen, da das verteilte System diese automatisch adaptiert. Verteilte Skalierbarkeit ist im Besonderen im Zusammen spiel mit dem zukünftig vermehrten Einsatz von Elektromobilität vorteilhaft, denn auch hier sind Speicherkapazitäten in elektrischen Fahrzeugen mit bidirektionalem Ladesystem nur zeitlich limitiert im NSAM vorhanden und müssen temporär in das System eingebunden werden können. 6.2.1.2 Datenschutz Ein verteiltes Energiemanagement erfüllt den Bedarf des Datenschutzes in einem Smart Grid, da Lastprofile und Speicherverfügbarkeiten ausschließlich durch die lo
116 | 6 Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem
kalen EMS-Knotenpunkte genutzt werden. Auf Basis der lokal vorhanden Erzeugungsund Verbrauchsprofile sowie der Speichereigenschaften tauschen EMS Agenten ite rativ mit Nachbaragenten nur einen lokal ermittelten Lade/Entlade Fahrplan für den individuellen Speicher aus. Die EMS Agenten ermitteln im iterativen Austausch mit den jeweiligen Nachbaragenten einen Konsens für einen gemeinsamen Ladeund Entlade-Fahrplan. Dabei können die individuellen Agenten keinen Rückschluss auf die Verbrauchs- und Erzeugungsprofile der Nachbarn schließen, da die Ladeund Entlade-Fahrpläne der Nachbarn wiederum schon einen Teilkonsens mit deren Nachbarn enthalten. Im Vergleich zu zentralen Energiemanagementsystemen werden hierbei Daten nicht zentral aggregiert. Verwendete Kommunikationsinfrastrukturen ermöglichen eine dedizierte Übermittlung individueller Daten an Applikationen wie Abrechnungs- oder Verwaltungssysteme (ERP).
6.2.2 Bewertung Zur Verdeutlichung des vorgestellten Konzeptes eines EMS Agentensystems in einem Niederspannungsnetz sind hier Simulationen des Systems auf der Basis von simulier ten Lastprofilen³ dargestellt. Zum Vergleich dessen wird im Folgenden ein System oh ne kooperierende Agenten simuliert. Dargestellt ist der Fall eines Szenarios mit drei unterschiedlichen Haushalten, die jeweils mit Photovoltaiksystemen und Batteriespeicherkapazitäten ausgestattet sind. Abbildung 6.3 zeigt modellierte Verbrauchs- und Erzeugungsprofile für Haushalte mit einer Familie mit zwei Kindern, eines berufstätigen Paares und einer berufstätigen alleinerziehenden Mutter mit zwei Kindern. Wie in Abbildung 6.2 dargestellt, wird angenommen, dass alle drei Haushalte mit dem gleichen Niederspannungsnetz verbunden sind und dass die EMS Agenten durch eine überlagerte Kommunikationstopologie mit benachbarten EMS Agenten einen In formationsaustausch durchführen können. Die erzielten Simulationsergebnisse für das dargestellte Szenario sind in Abbil dung 6.4 und 6.5 dargestellt. Abbildung 6.4 zeigt den Energiefluss der individualen Batteriespeicher über einen Zeithorizont von 24 Stunden, unterteilt in 48 Zeitinterval le der Länge ∆t (30 Minuten). Weiterhin stellt Abbildung 6.4 die Summe der lokalen Prosumption (Bedarf minus Erzeugung) dar. Die Simulation demonstriert die signifikante Reduzierung der Residuallast über die Ortsnetzstation, dies hat eine Glättung der Einspeisespitzen um die Mittagzeit zur Folge. Im Gegensatz zu kooperativen Agentensystem, wie in Abbildung 6.4 dargestellt, werden bei der nicht kooperativen individuellen Optimierung die Lade- und Entla dezyklen aller Knotenpunkte nicht koordiniert. In bestimmten Fällen wird im selben
3 Simuliert mit Load Profile Generator, siehe [18, 19].
6.2 Koordinierte Planung verteilter Speicherkapazitäten | 117
Abb. 6.3: Simuliertes Lastprofil (grau) und lokal erzeugte Solarleistung (gelb) der individual lokal vorhandenen PV-Anlagen für drei unterschiedliche Haushalte.
Zeitintervall eine Batterie eines einzelnen Knotenpunktes geladen, während eine Batterie eines anderen Knotenpunktes zur gleichen Zeit entlädt, wie beispielsweise im Zeitraum zwischen 6:00 Uhr und 10:00 Uhr und weiteren, siehe Abbildung 6.5. Dementsprechend wird bei der Nutzung eines kooperativen Agentensystems das verteilte Speichersystem als ein virtueller Speicher betrieben und wechselseitiges Be-/Entladen bzw. zusätzliche Netzlast über die Ortsnetzstation vermieden. Die Lösung verteilter Optimierungsprobleme in der dargestellten Art benötigt je nach Topologie des Agentennetzwerkes eine große Anzahl von Iterationen. Diese va riieren je nach Anzahl der partizipierenden Agenten sowie weiterer Parameter. Hinzu kommt der notwendige proportionale Datenaustausch zwischen benachbarten Agen ten. Daher ist nicht nur der zugrundeliegende verteilte Optimierungsalgorithmus, son dern auch die zugrundeliegende Software-, Hardware- bzw. Kommunikationsstruktur entscheidend, um technisch effiziente Agentensysteme zu implementieren, die ver teilte Optimierungsmethoden zum verteilten Energiemanagement nutzen.
118 | 6 Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem
Abb. 6.4: Batterie Lade- und Entladeprofil erstellt durch die EMS Agenten mit Residuallast.
Abb. 6.5: Batterie Lade- und Entladeprofil für individuelle EMS Knotenpunkte ohne eine Kooperation.
6.3 Implementierung der verteilten Steuerung durch eine verteilte Middleware |
119
6.3 Implementierung der verteilten Steuerung durch eine verteilte Middleware Neben leistungsstarken, eingebetteten Systemen als individuellen Einheiten eines verteilten Systems finden in modernen Automatisierungssystemen zunehmend kol lektive verteilte Entscheidungsprozesse in dezentralen Agentensystemen Anwen dung. Entscheidungsprozesse in verteilten Systemen unter Berücksichtigung festge legter zeitlicher und inhaltlicher Nebenbedingungen bleiben eine große Herausfor derung [13] für die Automatisierungstechnik.
6.3.1 Verteilte Entscheidungsfindung Zur Implementierung von Agentensystemen sind bereits eine Vielzahl von Frame works verfügbar. Ein umfassender Überblick mit Auswertung wird in [14, 15] auf geführt. Diese Frameworks definieren Programmiermodelle und als Middleware nutzbare APIs zur Entwicklung von Agentensystemen. Ein Middleware Framework stellt eine Abstraktion der Kommunikationsebene eines Systems aber auch von Kom munikationsprotokollen wie z. B. der Agent Communication Language (ACL) für den Nutzer bereit. Nach Kravari und Bassiliades [14] sowie Shehory und Sturm [15] basie ren die meisten Agentensysteme auf Interprozesskommunikation (IPC) und nutzen zum Beispiel die Technik des Methodenfernaufrufs. Als übergeordnetes Framework einer Vielzahl von Agentensystemen wird das Java Agent DEvelopment (JADE) Framework genutzt, welches dem Standard der Founda tion for Intelligent Physical Agents (FIPA) entspricht, dass auch die ACL zur Standari sierung für Agentensysteme vorschlagen. Überwiegend finden Frameworks in Java als Programmiersprache Anwendung, aber auch vereinzelte Frameworks für C/C++, PHP und Python (vgl. [14]) sind verfügbar. Agentensysteme, die zeitliche Einschränkungen in der Entscheidungsfindung oder einen erhöhten Datenaustausch erfordern, wie im hier vorgestellten verteilten Dispatchen von Speichern, benötigen ein leistungsstarkes Framework mit niedriger Kommunikationslatenz. Für Fälle mit erhöhtem Kommunikationsbedarf haben sich Frameworks wie JADE mit Java Remote Method Invocation (Java RMI) als Kommu nikationsschicht als nicht effizient erwiesen (Alberola et al., 2010). Durch einfache Interprozesskommunikation auf der Basis von TCP-basierten P2P-Verbindungen oder UDP-basierten Multicastdiensten kann ein deutlich besseres Ergebnis in Bezug auf die Konvergenzlatenzzeit des Optimierungsalgorithmus im Agentensystem erzielt werden [16]. Zusätzlich hat die Implementierung eines Frameworks wie JADE beson dere Anforderungen an die auszuführende Hardware (Java Virtual Machine). Diese Hardware ist insbesondere bei eingebetteten Systemen, wie sie in der Steuer- und Regelungstechnik eingesetzt werden, häufig nicht gegeben.
120 | 6 Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem
Abb. 6.6: Mehrschichtige Agentenarchitektur für Entscheidungsprozesse bei niedriger Latenz.
Ein Konzept zur Minimierung der Latenzzeiten mit Hilfe eines Softwarebussystems durch ein kombiniertes Agentensystem wird in Abbildung 6.6 dargestellt. Der Aufbau ermöglicht die Abtrennung der unteren Schicht mit minimalen Latenzzeiten zur obe ren Schicht, welche eine FIPA-konforme Kommunikation zwischen Agenten gewähr leistet. Diese hybride Architektur bildet sich aus drei Ebenen, wobei der Grad der Kom plexität des Agenten abwärts abnimmt. Die oberste Schicht besteht aus funktionsfä higen FIPA-konformen Vermittleragenten. Diese Agenten handeln als Vermittler und sind in der Lage, Einfluss auf Entscheidungsprozesse auf unterster Ebene durch so genannte Gateway-Agenten zu nehmen. Dies sind beispielsweise Smart Meter. Gate way-Agenten interagieren mit den übergeordneten Vermittleragenten aber auch mit Agenten auf der untersten Schicht des Systems. Gateway-Agenten sind Teil eines Net zes von Agenten, die ein Kommunikationsnetzwerk mit kurzer Kommunikationslatenz aufspannen, in der 2. und 3. Schicht des dargestellten mehrschichtigen Agentensys tems. In diesem Netzwerk können Agenten mit kurzer Paketumlaufzeit Daten austau schen und somit zeitkritische und kommunikationsintensive verteilte Optimierungs algorithmen ausführen. Agenten der unteren Ebene sind auf limitierten eingebetteten Systemen implementiert und können nicht vollständig die Funktionen eines Vermitt leragenten übernehmen. Agenten der untersten Ebene können in verschiebbaren Las ten, Batterieladegeräten, Ladesystemen von Elektrofahrzeugen oder auch Photovolta ikwechselrichtern zum Einsatz kommen. Um in einem Agentensystem verteilte Optimierungsmethoden zu implementie ren, müssen nicht nur die Optimierungsalgorithmen effizient sein, sondern auch die
6.3 Implementierung der verteilten Steuerung durch eine verteilte Middleware |
121
zugrundeliegenden Hard- und Software- sowie Netzwerkarchitekturen eine hohe An passungsfähigkeit, Skalierbarkeit und geeignete minimale Kommunikationslatenzen besitzen. Für event-basierte verteilte Optimierungsalgorithmen sind Architekturen mit niedriger Kommunikationslatenz unumgänglich. Bei der Implementierung ei nes Agentensystems auf eingebetteten Systemen, wie sie in der Steuerungs- und Regelungstechnik eingesetzt werden, sind hardwarenahe Programmiersprachen wie C/C++ vorherrschend. Diese bieten leistungsstarke Funktionen in Bezug auf Hard warenahe Softwareentwicklung. Für den Einsatz in der 2. und 3. Schicht eines mehr schichtigen Agentensystems kann daher ein Softwarebussystem zum Einsatz kom men, das auf TCP-Unicast und UDP-Multicast-Diensten basiert und dadurch kurze Kommunikationslatenzen zwischen allen Agenten auf der 2. und 3. Schicht gewähr leistet.
6.3.2 Verteilte Middleware Die zugrundeliegende verwendete Technologie des Softwarebusses LabMap (nach VDI-Richtlinie⁴) der cbb software GmbH bietet als Middleware-Architektur eine flexi ble Infrastruktur zur Entkopplung des Socket-basierten Kommunikationsnetzwerkes. Der Softwarebus kapselt verteilte Hardwarekomponenten und das Hardwarebus system durch Hardware-Abstraktion sodass die Software auf Remotekomponenten reagieren kann. Dies ermöglicht den Anwendungen, die mit dem Softwarebus verbunden sind auf Ressourcen im verteilten System zugreifen zu können. Zusätzlich können beliebige Soft- und Hardwarekomponenten hinzugefügt werden. Die genutzte Middleware-Architektur besteht aus LabMap sowie einer Vielzahl von Netzwerk und Sensor-/Aktor-Schnittstellen. LabMap wird zur Abstraktion lokaler Ressourcen verwendet. LabMap unterstützt Peer-to-Peer-Verbindungen auf Basis von TCP/IP-Sockets und auch UDP-Datagramm-Diensten [16]. Die Auswahl zwischen die sen Varianten hängt von der Struktur des verteilten Systems ab. Peer-to-Peer-Verbin dungen bieten eine verlässliche Datenkommunikation. Daraus resultiert im Vergleich zu bestehenden Agenten-Frameworks eine effizientere Kommunikation mit niedriger Latenz. Die Implementierung durch den Softwarebus LabMap erfüllt aktuelle Anforde rungen an ein automatisiertes verteiltes System: – Skalierbarkeit – Plattformunabhängigkeit, Portierung auf moderne Prozessorarchitekturen, wie Mikroprozessoren in eingebetteten Systemen
4 VDI-Richtlinie 2013: Middleware in der Automatisierungstechnik – Grundlagen, Richtlinien Nr. 2657, Blatt 1
122 | 6 Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem
– – – – – –
–
Erweiterbarkeit, Anbindung jeglicher hersteller- und protokollunabhängiger Hardwarekomponenten Integrierbarkeit Datenintegrität Kleine Latenzzeiten, 300 μsec Round-Trip-Delay über Ethernet u. a. durch asyn chrone Kommunikation Verteiltheit, durch mögliche Kommunikation mehrerer Instanzen Externe Schnittstellen zu weiteren Bussystemen und Unterstützung einer Vielzahl von Kommunikationsprotokollen wie Modbus oder M-Bus sowie Anbindung spei cherprogrammierbarer Steuerungen Anbindung an unterschiedliche TCP/IP basierte IKT möglich
Abb. 6.7: LabMap/LabNet Middleware Framework.
Die Lösung des Optimierungsproblems des Energiespeicher-Dispatchings in einem Agentensystem auf Basis eines verteilten Optimierungsalgorithmus wie in Kapitel 2 dargestellt benötigt, je nach Dimension des Problems, eine große Anzahl an Itera tionen. Die Anzahl der benötigten Iteration hängt ab von der Zahl der partizipieren den Agenten (Knotenpunkte), der Kommunikationstopologie der Agenten, sowie der Länge des zeitlichen Horizonts, über den das Energiespeicher-Dispatchings berechnet wird, sowie der Diskretisierungsauflösung des zeitlichen Horizonts. Der Kommunika tionsaufwand zwischen den Agenten ist proportional zur Anzahl der Iterationen. Für
6.4 Schlussbetrachtung
| 123
Agentensysteme mit einer Vielzahl an Agenten und einem hohen Kommunikations aufwand, wie z. B. bei verteilten Optimierungsalgorithmen, bietet sich die Nutzung von Middleware-Architekturen mit geringer Round-Trip-Latenz, die auf Direct Messa ging Diensten basieren, an. Es ist bekannt, dass die Round-Trip-Latenz für zwei Pro zesse, die über TCP-Sockets kommunizieren, signifikant kleiner ist, als die von zwei JADE-Agenten, die miteinander kommunizieren [17]. Latenzzeiten durch bereits publi zierte Evaluierungen von LabMap zeigen, dass eine Round-Trip-Latenz von 250 μs für zwei Prozesse, die über TCP-Sockets kommunizieren, erreicht werden kann [16]. Die Paketumlaufzeiten sind dabei abhängig von dem unterlagerten Betriebssystem, der zugrundeliegenden Hardware und der Performance des Netzwerks.
6.4 Schlussbetrachtung Durch die zunehmende Herausforderung, einen Ausgleich zwischen Energieproduk tion und -bedarf in den zukünftigen Energienetzen bei vermehrter Nutzung fluktu ierender erneuerbarer Energien zu schaffen, werden intelligente Steuerungsmecha nismen unumgänglich. Eine lokale virtuelle Gruppierung von Akteuren des Energie netzes wie Erzeugern, Speichern und Verbrauchern in der bestehenden Netztopologie zu sogenannten netzintegrierten sub-autarken Mikronetzen ist eine Lösung zur best möglichen Reaktion auf wetterabhängige Lastflüsse sowie zur Reduzierung und Kor rektur der Energieflüsse in überlagerte Netze. Der Energie-Eigenverbrauchsanteil in Mikronetzen kann durch eine intelligente Nutzung von verteilten Speicherkapazitä ten maximiert werden, sofern ein intelligentes Energiemanagement eine koordinierte Speicherbewirtschaftung (Dispatching) und Einsatz aller vorhandenen Energiespei cher vornimmt. Eine solche Koordinierung kann zu einer signifikanten Reduzierung der Residuallast in einem Mikronetz führen. Für die notwendige Umstrukturierung der traditionellen Regelungs- und Entscheidungskonzepte in Leitsystemen, werden zukünftig Optimierungs-/Steuerungsalgorithmen immer komplexer. Die Umsetzung dieser Algorithmen und die dezentrale autonome Entscheidungsfähigkeit in einem verteilten System erfordert die Integration dezentraler vernetzter intelligenter Syste me in einem Agentensystem. Dies bedarf einer effizienten und leistungsstarken Kom munikation. Herkömmliche Frameworks zur Agentenentwicklung bieten ein stabiles Grundgerüst und ausreichend Dienste, haben allerdings im Vergleich zu Direct Mes saging Diensten auf der Basis von TCP- oder UDP-basierten Verbindungen eine höhere Kommunikationslatenz. Die Praxiseinführung des Konzeptes zum koordinierten Laden von Elektrofahr zeugflotten in Schleswig-Holstein, sowie der Aufbau eines verteilten Speicherdis patchings innerhalb eines sub-autarken Mikronetzes in Nordfriesland ist, auf der Basis des hier vorgestellten Konzepts in der Planung.
124 | 6 Regelung von Energieflüssen in Verteilnetzen durch ein Softwarebussystem
Literatur [1]
[2] [3] [4]
[5] [6] [7]
[8]
[9]
[10]
[11]
[12] [13] [14] [15] [16]
[17] [18] [19]
Quan H, Srinivasan D, Khosravi A: Integration of renewable generation uncertainties into sto chastic unit commitment considering reserve and risk: A comparative study. Energy. 2016; 103:735–45. Wirth H, Schneider K: Aktuelle Fakten zur Photovoltaik in Deutschland. Fraunhofer ISE. 2016. von Appen J, Braun M, Stetz T, Diwold K, Geibel D: Time in the sun: the challenge of high PV penetration in the German electric grid. IEEE power and energy magazine. 2013; 11(2):55–64. European Commission. Smart grids and Meters [Internet]. 2016 [cited 04.11.2016]. Available from: https://ec.europa.eu/energy/en/topics/markets-and-consumers/smart-grids-andmeters. Halu A, Scala A, Khiyami A, González MC. Data-driven modeling of solar-powered urban micro grids. Science advances. 2016; 2(1):e1500700. Setiawan EA. Concept and controllability of virtual power plant. Kassel University Press GmbH; 2007. Beck A, Derksen C, Lehnhoff S, Linnenberg T, Nieße A, Rohbogner G: Energiesysteme und das Paradigma des Agenten. In Agentensysteme in der Automatisierungstechnik 2013 (pp. 21–42). Springer Berlin Heidelberg. Rohjans S, Lehnhoff S, Schütte S, Scherfke S, Hussain S: mosaik-A modular platform for the evaluation of agent-based Smart Grid control. In Innovative Smart Grid Technologies Europe (ISGT EUROPE), 2013 4th IEEE/PES 2013 Oct 6 (pp. 1–5). IEEE. Derksen C, Linnenberg T, Neusel-Lange N, Stiegler M: Agent. HyGrid: A seamless Development Process for agent-based Control Solutions in hybrid Energy Infrastructures. SmartER Europe-Eworld energy & water, Essen, Germany. 2015. Horenkamp W, Hube W, Jäger J, Kleimaier M, Kühn W, Nestle D, Pickhan R, Pokojski M, Rapha el T, Scheffler J, Schulz C: VDE-Studie Dezentrale Energieversorgung 2020. Energietechnische Gesellschaft im VDE (ETG): Frankfurt, Germany. 2007. Valipour S, Volk F, Grube T, Böck L, Karg L, Mühlhäuser M: A formal Holon model for operating future energy grids during blackouts. I nSmart Cities and Green ICT Systems (SMARTGREENS), 2016 5th International Conference on 2016 Apr 23 (pp. 1–8). IEEE. Olfati-Saber R, Fax JA, Murray RM. Consensus and cooperation in networked multi-agent sys tems. Proceedings of the IEEE. 2007; 95(1):215–33. Leitão P, Mařík V, Vrba P: Past, present, and future of industrial agent applications. IEEE Tran sactions on Industrial Informatics. 2013; 9(4):2360–72. Kravari K, Bassiliades N: A survey of agent platforms. Journal of Artificial Societies and Social Simulation. 2015; 18(1):11. Shehory O, Sturm A: Agent-Oriented Software Engineering. Springer-Verlag Berlin; 2016. Bruce-Boye C, Kazakov D: Quality of Uni-and Multicast Services in a Middleware. LabMap Stu dy Case. Innovative Algorithms and Techniques in Automation, Industrial Electronics and Tele communications. 2007: 89–94. Alberola JM, Such JM, Garcia-Fornes A, Espinosa A, Botti V: A performance evaluation of three multiagent platforms. Artificial Intelligence Review. 2010; 34(2):145–76. Pflugradt N, Platzer B: Behavior based load profile generator for domestic hot water and elec tricity use. In12th International Conference on Energy Storage (Innostock), Lleida, Spain 2012. Pflugradt N, Teuscher J, Platzer B, Schufft W: Analysing low-voltage grids using a behaviour based load profile generator. In International Conference on Renewable Energies and Power Quality 2013 (Vol. 11, p. 5).
Marco Schaarschmidt, Clemens Westerkamp und Hans Knöchel
7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme Plattformübergreifende Agentenkommunikation Zusammenfassung: Zur Erfassung und Verarbeitung von Sensordaten werden an der Hochschule Osnabrück verschiedene Plattformvarianten für mehrere Produktions bereiche evaluiert. Für die Produktion im Gartenbau und einen I4.0-Demonstrator (Industrie 4.0) werden die Raspberry Pi-Plattform und verschiedene drahtgebun dene und drahtlose, z. B. mittels Bluetooth Low Energy (BLE) angebundene, Sen sor-/Aktorknoten eingesetzt. Um den mobilen Abruf von Sensordaten zu unterstützen, wird die Integration von Smartphones und Tablets untersucht. Plattformen mit reduzierten Ressourcen sind z.B. mobile Geräte und Sensorknoten deutlich unterhalb des Raspberry Pi. Auch auf ihnen soll eine begrenzte Intelligenz, z.B. zur Realisierung einer Vor-Ort-Filterung und Bewertung, ermöglicht werden. Dies erfolgte durch die Entwicklung einer C-Biblio thek zur FIPA ACL-konformen Kommunikation, die als Bibliothek auf heterogenen Systemen zum Einsatz kommt. Damit ist eine flexible Kommunikation und Entschei dungsfindung auch in kleinen Komponenten teilautonomer und entscheidungsunter stützender Systeme möglich.
7.1 Einleitung Die konventionelle Industrieautomatisierung wird häufig in Form der Automatisie rungspyramide dargestellt. Dieser Ansatz zeichnet sich durch eine streng hierarchische Struktur mit externer Koppelung, z. B. durch Auftrags- und Bestellaustausch (in Abbildung 7.1 links) in der Unternehmensebene ERP, aus. Die zunehmend flexibilisierte Fertigung u. a. aufgrund von kundenspezifischer Produktgestaltung und -fertigung erfordert eine engere Kop pelung zwischen Kunden und Auftragnehmern einerseits sowie Herstellern und de ren Zulieferern andererseits. Die Vision einer Smart Factory (in Abbildung 7.1 rechts) ist also u. a. gekennzeichnet durch vielfältige Koppelungsmöglichkeiten und Schnitt stellen auf den unterhalb der ERP-Ebene liegenden Ebenen. Dies geschieht bis hin zur Feldebene, in der einzelne Sensorwerte für Kunden bzw. Zulieferer von Bedeu tung sein können. Zur vollständigen Abbildung wurde die Referenzarchitektur Indus trie 4.0 (RAMI) entwickelt, die u. a. auf der Plattform Industrie 4.0 dargestellt wird [1]. Der in Abschnitt 7.4.1 näher beschriebene Agentenansatz stellt eine Option der Struk
https://doi.org/10.1515/9783110527056-007
126 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
Abb. 7.1: Übergang von der Automatisierungspyramide (Industrie 3.0) zur flexiblen Fertigung in In dustrie 4.0 [1].
turierung der Smart Factory (Abbildung 7.1 rechts) dar, stellt aber an die Systeme und Entwickler erweiterte Anforderungen bezogen auf die Portierung und Integration.
7.2 Anwendungsfälle und Anforderungen Das in diesem Beitrag vorgestellte Konzept soll das Zusammenwirken von Agenten systemen und Sensornetzen aufzeigen. Sensornetze sind ein sich rasch entwickelnder Bestandteil des Internets der Dinge (engl. Internet of Things – IoT). Für die Industrie sind sie z. B. in Produktionsumgebungen als Ergänzung der herkömmlichen fest in stallierten Sensorik interessant. Sie ermöglichen zusätzliche und normalerweise nicht erhobene Prozessinformationen für die folgenden Einsatzgebiete zu sammeln: – Vergleichsdaten für unterschiedliche Standorte – Betriebsdaten z. B. für Zustandsüberwachung (engl. Condition Monitoring) oder vorausschauende Wartung (engl. Predictive Maintenance) – Möglichkeiten zusätzlicher Qualitätssicherung. Die Anforderungen an eine geeignete Koppelung von Agentensystemen und Sensor netzen werden anhand der folgenden Anwendungsfälle aus unterschiedlichen Praxis feldern erläutert.
7.2 Anwendungsfälle und Anforderungen | 127
7.2.1 Anwendungsfall I4.0-Demonstrator zur Erfassung und mobiler Visualisierung von Sensorwerten An der Hochschule Osnabrück existiert ein Demonstrator aus dem BMBF-Projekt LK3 S (Leicht konfigurierbare Komponenten kollaborativer Systeme), der die kollaborative Zusammenarbeit von Maschinen untereinander und durch agentenbasierte Kommu nikation die Möglichkeiten einer flexiblen Fertigung aufzeigt [2] [3]. Auf Basis dieses Aufbaus wurde ein weiterer und speziell auf das Thema Industrie 4.0 zugeschnitte ner Demonstrator entwickelt. Die Abbildung 7.2 zeigt den überarbeiteten Aufbau des I4.0-Demonstrators bestehend aus einzelnen, unabhängigen Arbeitsstationen. Cha rakteristisch für den I4.0-Demonstrator sind zwei Mikrocontroller-Plattformen, die zum Betrieb der einzelnen Arbeitsstationen eingesetzt werden: – Linux-basierte Raspberry Pi werden eingesetzt, da sie für derartige Versuchsauf bauten ausreichend erprobt und weit verbreitet sind. Außerdem können sie auf vielfältige Art kommunizieren, z. B. mittels OPC UA. – Zur Erprobung des Einsatzes drahtloser Kommunikation, wie sie in drahtlosen Sensornetzen verbreitet ist, wurden ESP32-basierende Microcontroller-Platinen mit einem kleinen Echtzeitbetriebssystem eingesetzt. Sie kommunizieren mittels MQTT [4] über Wireless LAN (WLAN). Der I4.0-Demonstrator setzt sich aus verschiedenen Arbeitsstationen zusammen, die Fertigungsprozesse innerhalb einer Fabrik darstellen. Die Kernkomponenten des I4.0-Demonstrators bestehen aus einem Teilelager inkl. Lagerverwaltungssystem und einem Dreiarm-Lager-Roboter, mehreren Transportstationen und weiteren Dreiarm robotern zur Montage und Warenausgabe. Weitere Ausbaustufen mit einzelnen Bear beitungsstationen, wie beispielsweise Fräs- und Gravur-Maschinen, sind geplant und können aufgrund des Konzepts der Gesamtarchitektur jederzeit integriert werden. Ne ben dem Aufzeigen der Möglichkeiten durch Industrie 4.0 in der Fertigung, dient der
Abb. 7.2: I4.0-Demonstrator der Hochschule Osnabrück.
128 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
Demonstrator vor allem als Basisplattform zur Evaluation des in Abschnitt 7.5.1 vorge stellten Netzwerks für intelligente Sensoren und Aktoren. An verschiedenen Stellen des I4.0-Demonstrators macht ein isoliertes (nicht mit dem Produktions-Intranet verbundenes) Sensornetz über ein in Abschnitt 7.5.1 beschriebenes Architektur- und Gateway-Konzept wichtige Parameter zugänglich. Damit werden zusätzliche Infor mationen über die aktuelle Situation (z. B. wichtige Sensorwerte, Arbeitsfortschritt, Qualitätswerte) an den Arbeitsstationen erfasst. Diese können sowohl vor Ort von organisationsinternen Mitarbeitern z. B. auf Smartphones und Tablets als auch per Fernzugriff von externen Dienstleistern, Maschinenherstellern etc. eingesehen wer den. Die Sensordaten können durch diese Kopplung sowohl in den internen als auch in den externen Entscheidungsprozessen einfließen und für weitergehende Analysen genutzt werden.
7.2.2 Anwendungsfall Vibrationsanalyse mit Beschleunigungssensoren und Smartphones In [5] wurde ein Anwendungsfall dargestellt, der den Zustand von Landmaschinen aus der Geräuschanalyse in der Fahrerkabine ableitet. Diese Anwendung ist auf weite re Bereiche industrieller Maschinen übertragbar, da hier einfache Beschleunigungsbzw. Akustiksensoren verwendet und Ergebnisse visualisiert auf einem handelsüb lichen Smartphone oder Tablet dargestellt werden können. Das in Abschnitt 7.5.1 beschriebene Sensor-Aktor-Netz dient als Ausgangspunkt für die Planung und Inte gration dieser Art der Visualisierung auf mobilen Endgeräten und der Abbildung der daraus resultierenden Datenflüsse zwischen den involvierten Komponenten.
7.2.3 Anwendungsfall Agrarproduktion Im Gartenbau existieren eine Reihe interessanter Einsatzgebiete für Sensornetze. Das in Kapitel 7.5.1 beschriebene Architekturkonzept für intelligente Sensoren und Aktoren wurde an der Hochschule Osnabrück für den Einsatz in Gewächshäusern untersucht. In ihnen werden für die Pflanzenproduktion (Gemüse, Blumen etc.) Klima-Compu ter eingesetzt, welche die Temperatur und Luftfeuchte in Gewächshäusern regeln [6]. Auch wenn die stationäre Sensorik bereits ein differenziertes Ausregeln verschiedener Gewächshausbereiche ermöglicht, kann die Kenntnis der Temperatur und Feuchtig keitsverteilung eine weitergehende Optimierung in Bezug auf Energieeffizienz, Wech sel der Pflanzenstandorte und bei Erweiterung durch Kamerasensoren auch eine Ver folgung der Pflanzengesundheit ermöglichen.
7.3 Anforderungen an die Architektur
| 129
7.3 Anforderungen an die Architektur Für die beschriebenen Anwendungsfälle wird eine Architektur definiert, die sich aus den nachfolgend beschriebenen drei Schichten und Verantwortlichkeiten zusammen setzt: – Sensor-/Aktor-Schicht: Eine hardwarenahe Schicht, in der Sensoren und Sen sorplattformen definiert werden. Neben der Aufnahme von Messwerten spielen auch eine Vorverarbeitung sowie eine intelligente Filterung, Anonymisierung und Komprimierung eine wichtige Rolle. – Low-Level-Datenverarbeitung: In dieser Schicht, die einen zentralen Knoten punkt für eine oder mehrere Sensorplattformen bereitstellt, werden mobile Trans portknoten sowie Knoten mit einer Gateway-Funktionalität zur Kopplung anderer Teilnetze und für die Kommunikation mit höheren Schichten definiert. – High-Level-Datenverarbeitung: Eine Direktverarbeitung und Persistierung der Messwerte findet auf dieser Schicht statt. Neben Anwendungsservern stellt die se Schicht entsprechende Schnittstellen zu (externen) IT- und Cloud-Diensten bereit. Für ein Sensornetz können eine ganze Reihe von Anforderungen definiert werden. Eine der Anforderungen bezieht sich dabei auf die vorgesehene Energieversorgung. Sensorknoten können auf eine Energieinfrastruktur angewiesen oder zeitweise selbst versorgend, also energieautark z. B. durch Energiespeicher oder Energy Harves ting, sein. Weitere Anforderungen beschreiben den Datenschutz, die Haltbarkeit von Sensoren sowie die Zuverlässigkeit und Sicherheit. Für Sicherheitsanforde rungen sind insbesondere die Vertraulichkeit der Daten, die Datenintegrität sowie die Authentifizierung und Autorisierung zu nennen. Die Anforderungen an Archi tektur werden nun beginnend mit der Sensor-Aktor-Schicht in Tabelle 7.1 beschrie ben. Die in der Tabelle 7.2 aufgeführten Anforderungen gelten für alle drei Schichten der Gesamtarchitektur und werden durch Agentensysteme größtenteils erfüllt [7]. Allerdings setzen viele Standardplattformen, wie das weitverbreitete Java Agent DEvelopment Framework (JADE) voraus, dass auf dem Zielsystem eine Java-Ausführ umgebung zur Verfügung steht. Diese Voraussetzung ist auf vielen (kleineren) Sen sorknoten und auf einer von zwei wichtigen Mobilplattformen (iOS von Apple) nicht gegeben. In diesem Beitrag wird daher ein Ansatz für Sensorknoten und mobile Geräte mit einer ANSI C-Teilbibliothek untersucht.
130 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
Tab. 7.1: Spezielle Anforderungen an die Sensor-Aktor-Schicht. Nr.
Art
Beschreibung
Req. 10
Energieverbrauch
Die Sensorplattformen müssen über ausreichend dimensionierte Energiespeicher für den vorgesehenen Einsatzzeitraum verfügen. Über entsprechende Energiesparfunktionen oder Standby-Modi soll ein höheres Energiesparpotential erreicht werden.
Req. 20
Schnittstellen
Die Sensorplattformen müssen über eine breite Unterstützung heterogener Schnittstellen verfügen. Vorgesehen sind u. a. Inter-Integrated Circuit (I2 C), Serial Peripheral Interface (SPI), Universal Asynchronous Receiver Transmitter (UART) für die drahtgebundene sowie Wireless LAN (IEEE 802.11 b/g/n) und Bluetooth Low Energy (BLE) [8] für die drahtlose Kommunikation.
Req. 30
Abmessungen
Sowohl Sensoren als auch Sensorplattformen müssen über kompakte Abmessungen verfügen, um so universeller einsetzbar zu sein und andere Komponenten (z. B. die Maschine) nicht bei der Ausführung der Tätigkeiten zu behindern.
Req. 40
Zwischenspeicher
Je nach Konzept müssen Sensoren und Sensorplattformen über einen Zwischenspeicher verfügen, um einen historischen Verlauf der Daten persistieren zu können. Bei Sensoren ist dies von Wichtigkeit, da das Intervall der Sensorabfrage nicht mit denen der Messwerterhebung übereinstimmen muss. Sensorplattformen können von höheren Schichten in ganz unregelmäßigen Abständen abgefragt werden, sodass ein Zwischenspeicher nötig wird.
Req. 50
Anonymisierung
Die Schicht muss eine Anonymisierung der Daten ermöglichen, sodass auf Grund der Messerhebung keine Rückschlüsse auf Personen oder Unternehmen gezogen werden können.
Req. 60
Vorverarbeitung
Bei Sensoren und Sensorplattformen müssen Vorverarbeitungsmodule vorhanden sein, um eine effiziente und schnelle Übertragung der Daten an höhere Schichten zu gewährleisten.
Tab. 7.2: Anforderungen an die Gesamtarchitektur. Nr.
Art
Beschreibung
Req. 100
Skalierbarkeit
Die Architektur muss auf allen drei Schichten erweiterbar sein und eine Integration von Teilnetzen ohne Einschränkungen ermöglichen.
Req. 110
Erweiterbarkeit
Die Architektur muss durch neue Knoten oder Gateways erweitert werden können.
Req. 120
Ad-Hoc-Kommunikation, Mesh-Ansätze
Die Architektur muss eine Kommunikation sowohl innerhalb einer Schicht, als auch zu höheren oder niedrigeren Schichten ermöglichen. Dabei soll die Kommunikation über verschiedenartige drahtlose und drahtgebundene Protokolle und in strukturierten wie auch vermaschten Topologien unterstützt werden.
7.4 Stand der Technik | 131
Tab. 7.2: (Fortsetzung) Req. 130
Ausfallsicherheit
Die Architektur muss eine Robustheit gegenüber Veränderungen während der Laufzeit aufweisen. Fallen einzelne Knoten, Gateways oder Netzverbindungen aus, soll der Rest des verteilten Systems möglichst wenig in Mitleidenschaft gezogen werden. Für Kommunikationswege sollten Alternativrouten möglich sein. Dies wird z. B. in Mesh-Architekturen realisiert. Beispiele sind ZigBee- und WLAN-Mesh-Netzwerke.
Req. 140
Herstellerunabhängigkeit
Die Architektur muss herstellerunabhängige Protokolle für die Kommunikation und den Datenaustausch unterstützen, um heterogene Bestandteile in das Gesamtsystem integrieren zu können.
Req. 150
Eignung für modellbasiertes Engineering
Mithilfe von UML, SysML und Generatoren müssen Möglichkeiten eingeräumt werden, einen Teil der Schnittstellen, des Quellcodes oder der Klassen zu generieren, um so eine einfache Umsetzung der Architektur zu ermöglichen.
Req. 160
Sicherheit, Authentifizierung und Autorisierung
Neue Sensorknoten müssen sich im Netzwerk zunächst authentifizieren, um als vertrauenswürdig angesehen zu werden und Netzzugang zu erhalten. Ohne vorhandenes Sicherheitskonzept können Angreifer über nichtautorisierter und nichtauthentifizier Knoten gefälschte Daten einspielen und so beispielsweise den Produktionsprozess durch das Erzwingen von Notabschaltungen zum Erliegen bringen. Ein gültiges Sicherheitskonzept kann z. B. vorsehen, Knoten bei der Übertragung mehrfach falscher Messwerte aus dem Sensornetzwerk vorübergehend oder dauerhaft auszuschließen.
7.4 Stand der Technik Der Einsatz von Software-Agenten ist ein seit vielen Jahren verfolgter Ansatz, der in den folgenden Abschnitten näher beschrieben wird.
7.4.1 Agenten-Orientierte Softwareentwicklung Die Foundation for Intelligent Physical Agent (FIPA) wurde 1996 mit dem Fokus Agen ten-basierte Technologien sowie Interoperabilität mit anderen Standards gegründet. Sie ist eine Organisation der IEEE Computer Society Standards und veröffentlichte in 2002 ein standardisiertes Agenten-basiertes Kommunikationsprotokoll mit der Be zeichnung FIPA Agent Communication Language (FIPA ACL). Die insgesamt 25 Spezi
132 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
fikationen der FIPA [9] umfassen nicht nur die Agentenkommunikation [10], sondern spezifizieren beispielsweise auch eine Agentenarchitektur [11] und -verwaltung [12] so wie den Nachrichtentransport [13]. Eine kontinuierlich gepflegte Übersicht über Soft ware-Agentenplattformen bietet [14]. Das Java Agent DEvelopment Framework (JADE) wurde 1998 von der Telecom Italia ursprünglich als Validierung der FIPA-Spezifikation entwickelt [15]. Mittlerweile stellt sie jedoch die erfolgreichste und am weitesten verbreiteste Agentenplattform dar [16]. In der Programmiersprache Java entwickelt, setzt sich die Agentenplattform aus einzelnen Containern zusammen. Der Hauptcontainer, bei JADE auch standard mäßig Main Container genannt, beinhaltet neben normalen Agenten auch das Agen ten-Management-System (AMS), den Directory Facilitator (DF) einschließlich eines Gelbe-Seiten-Dienstes, welches es Agenten ermöglicht, sich mit ihren Diensten zu registrieren und selbige anderen Agenten zur Verfügung zu stellen [17]. Die Agenten selbst werden in [17] als spezielle Software-Komponenten beschrieben, die autonom agieren, interoperable Schnittstellen nach außen zu einem System anbieten und ein adaptives Verhalten aufweisen. Die autonome Verhaltensweise von Software-Agen ten wird in Agenten-Architekturen unterstützt. Darin sind Sensorik und Aktorik als Komponenten enthalten und es wird eine echtzeitnahe Übertragung der zugehörigen Datenströme ermöglicht. Auf dieser Basis wird in diesem Beitrag eine entsprechende Erprobung an realtypischen Anwendungsbeispielen durchgeführt.
7.4.2 Sensornetze In [18] wird das Thema der Sensornetze ausführlich behandelt. Ein Sensornetz wird beschrieben als eine Gruppe intelligenter Sensoren, die verdrahtet oder drahtlos mit einem anderen intelligenten Sensor verbunden sind. Eine große Rolle nehmen die Sensornetze beim sich dynamisch entwickelnden IoT ein. Um die verschiedenen IoTGeräte zu verbinden, ist ein direkter Zugriff auf das Internet vonnöten, auch wenn die Sensordaten zunächst im lokalen Netzwerk (vor-)verarbeitet werden. Sensornetze müssen zudem nicht zwangsläufig mit dem Internet verbunden sein, wenn ein Smart phone oder ein PC als Aggregationspunkt dient. Während einzelne Sensoren für spezi fische Anwendungsfälle durchaus isoliert betrieben werden können, werden mehrere Sensoren üblicherweise in übergeordneten Topologien integriert, die in Abhängigkeit vom Anwendungsfall eine unterschiedliche Komplexität aufweisen. Die überwiegend zum Einsatz kommenden Topologien reichen von einfachen Punkt-zu-Punkt-Verbin dungen, über Bus-, Ring-, Stern- oder Baumstrukturen bis hin zu Mesh- und vollver netzten Mesh-Netzwerken. Eine Sterntopologie bei der ein Smartphone den zentra len Aggregationspunkt darstellt ist eher im Personal Area Network (PAN) angesie delt, während sich Mesh-Netzwerke für Wide Area Networks (WAN) besonders eignen. Hauptbestandteil eines Sensornetzes sind die Sensorknoten, also intelligente Senso ren, die in der Lage sind, Messwerte aufzunehmen, eine Vorverarbeitung durchzu
7.4 Stand der Technik |
133
führen und die Datenwerte entsprechend mit anderen Knoten im Netzwerk auszutau schen. Hinzu kommen typische Netzwerkkomponenten wie Router, Gateways oder Basisstationen und Sensorplattformen wie beispielsweise das Smartphone oder der Raspberry Pi. Sensornetze sind seit etlichen Jahren für verschiedenartige Einsatzzwecke z. B. Umweltuntersuchungen im Einsatz. Die University of California Berkeley hat bereits 1999 erste Mesh-basierte Sensorknotennetze unter dem Namen “Smart Dust” vorge stellt [19]. Sie zeichneten sich durch besonders niedrigen Energiebedarf aus. Die später von der Firma Crossbow kommerzialisierten Knoten waren Basis für viele Forschungs projekte und trugen dazu bei, dass in 2005 der ZigBee-Standard entstand und eine Rei he interoperabler Sensorknoten entwickelt wurde. In den letzten Jahren haben sich diverse Sensorknoten, die mittels BLE kommunizieren, verbreitet. Dieser Funkstan dard wird auch bei verschiedenen Beacons (z. B. zu Marketing-Zwecken in Einkaufs zentren) und Fitnessuhren eingesetzt und von allen modernen Smartphones und Ta blets unterstützt. Eine beliebte Evaluierungsplattform ist der mittels BLE, ZigBee und 6LoWPAN kommunizierende TI CC2650STK aus der TI SimpleLink-Familie [20], der vielfältige Sensorik auf einer Plattform integriert. Ein weiteres System stellt die Open Source IoT-Plattform NodeMCU [21] dar. Diese Plattform verwendet den weit verbreiteten und kostengünstigen ESP8266, einem en ergieeffizienten System-on-a-Chip (SoC) mit 32-Bit-Architektur und integrierter WLANFunktionalität (IEEE 802.11 b/g/n) der Firma Espressif Systems. Charakteristisch für den ESP8266 sind neben einer Vielzahl an I/O-Ports und Schnittstellen für I2 C, SPI und UART vor allem eine große Auswahl verschiedener Firmware-Varianten. Software für diese Plattform kann wahlweise in Lua, Python oder Arduino/C++ entwickelt werden. Auch die Unterstützung von FreeRTOS ist vorhanden. Mit dem ESP32 ist mittlerweile ein Nachfolgemodell erhältlich, welches neben WLAN (802.11 b/g/n/e/i) auch Bluetooth 4.2 und BLE unterstützt. Auch Plattformen auf Basis des ESP32, wie der WiPy 2.0 der Firma Pycom, können ohne tiefgehende In formatikkenntnisse in einer Untermenge von Python programmiert werden. Dies ist für Lehr- und Übungszwecke auch außerhalb technischer Studiengänge interessant.
7.4.3 I4.0 Open Platform Communications – Unified Architecture In der konventionellen Automatisierung und der dortigen Erfassung und Verarbei tung von Sensordaten hat Ethernet-basierende Kommunikation seit einiger Zeit die zuvor dominierenden Feldbusse abgelöst. Parallel dazu wurde auf der Software-Seite der Ansatz Open Platform Communications (OPC) als eine standardisierte SoftwareSchnittstelle für den Rohdaten- und Informationsaustausch zwischen Steuerungssys temen und der Steuerungsebene eingeführt [22]. Verantwortlich zeichnet sich die OPC Foundation, welche den Standard bereits seit mehr als zehn Jahren bereitstellt. Das ursprüngliche OPC basierte auf dem DCOM-Ansatz für verteilte Software-Komponen
134 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
Abb. 7.3: Architektur und eingesetzte Technologi en bei OPC UA [23].
ten, einem De-Facto-Standard der Firma Microsoft. In der neusten Generation wird mit OPC UA (Unified Architecture) eine Plattform- und Betriebssystemunabhängigkeit ermöglicht. Diese Unabhängigkeiten werden durch die Unterstützung von Serviceori entierten Architekturen (SOA), Webservices und erhöhten Sicherheitsansprüchen in industriellen Automatisierungssystemen erreicht, wie die Abbildung 7.3 aufzeigt [23]. Unter [24] ist eine Liste an Referenz-Implementierungen zu finden, die in der hard warenahen Programmiersprache C, den objektorientierten Sprachen C++, C# sowie Java und in den interpretierten Skriptsprachen Python und JavaScript in unterschied lichen Reifegraden und Lizensierungen verfügbar sind. Es liegt daher auf der Hand, den Versuch zu unternehmen, bestehende Agentensysteme über die Nutzung von OPC UA mit weiteren IoT- oder I4.0-Geräten oder Geräten, die bisher kein IP-basiertes Netz werk unterstützen, zu koppeln. Dies gilt insbesondere für die Produktionsautomati sierung [25].
7.5 Architekturkonzept für ein intelligentes Sensor-Aktor-Netz Ausgehend vom beschriebenen Stand der Technik entwickelt die Hochschule Osna brück ein Architekturkonzept für intelligente Sensor-Aktor-Netze (ISAN) für eine Reihe unterschiedlicher Anwendungsfälle mit den zuvor beschriebenen inhomogenen An forderungen. In diesem Abschnitt wird die Architektur erläutert und besonders auf das IoT-Gateway als ein zentrales System eingegangen. Es dient der verteilten Sen sordatenerfassung und -aufbereitung für die Weiterverarbeitung. Dabei basiert das Gateway in weiten Teilen auf einem Raspberry Pi-System mit einer JADE-Plattform, ergänzt diese aber um Schnittstellen zu den Sensornetzen und kann mittels OPC UA mit vorhandenen Produktionsinfrastrukturen kommunizieren. Weitere wichtige und in diesem Abschnitt vorgestellte Komponenten sind der in ANSI C entwickelte, FIPA
7.5 Architekturkonzept für ein intelligentes Sensor-Aktor-Netz |
135
ACL-konforme, Kommunikationsagent, der als Basis für eine Java-unabhängige Visua lisierungsapplikation für Tablets und Smartphones dient.
7.5.1 ISAN-Architektur Um Netze mit Sensorknoten zu strukturieren und zu verwalten, wurde an der Hoch schule Osnabrück eine breit einsetzbare Architektur für inhomogene Anwendungsfel der und Anforderungen mit dem Namen „Intelligentes Sensor-Aktor-Netz“ (ISAN) ent wickelt. ISAN ermöglicht den Aufbau eines skalierbaren Netzes zur Kommunikation sowie zum Datenaustausch und unterstützt die gängigen Kommunikationsprotokolle unterschiedlicher Anwendungsbereiche. Die Abbildung 7.4 stellt die in drei Schichten unterteilte ISAN-Architektur dar.
Server (Hochschule/Firma)
High-Level Datenverarbeitung
Externe IT/Cloud
Mobilfunk, WLAN
Gateway 2
Gateway N
6LoWPAN, BLE, LoRaWAN, UWB, WLAN, ZigBee, Z-Wave ... ( )
Low-Level Datenverarbeitung
Gateway 1
Mobile Endgeräte
Knoten-Hardware
TI SensorTag
Sensoren
Mechanische Eigenschaen V
Pycom WiPy 2.0
Aktoren
Abstand (UWB)
Motor/Servo
A
Elektrische Eigenschaen
Audio/Video
Audio
Vibraon
Display
PicoProjektor
%
Physikalische & Chemische Eigenschaen
Abb. 7.4: Aufbau der ISAN-Architektur.
Sensor-Aktor-Schicht
HARTING MICA
136 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
Auf der untersten Sensor-Aktor-Schicht befinden sich die Sensorknoten, die beispiels weise an oder in unmittelbarer Umgebung einer Industriemaschine Datenwerte auf nehmen. Die Art und Komplexität der Sensorwerte werden nicht weiter spezifiziert. In den meisten Fällen handelt es sich jedoch um dynamische Eigenschaften einer In dustriemaschine wie Vibrationen, Umweltgrößen wie Temperaturen oder Luftfeuchte aber auch komplexere Daten wie Audio- und Bilddaten. Je nach Komplexität der Mess werte, kann eine Vorverarbeitung auf den Knoten stattfinden, um zum Beispiel eine Anonymisierung zu erwirken oder das Datenvolumen vor der Datenübertragung zu verringern. Auf dieser Schicht können neben den Sensoren auch Aktoren in Form von Anzeige- und Visualisierungsfunktionen (u. a. auf Tablets, Displays und Datenbrillen) zur Ergebnisanzeige und als visuelles Feedback zusätzlich zu vorhandenen Manufac turing Execution Systems (MES) unterstützt werden. Eine Ansteuerung von Motoren und Antrieben ist zwar möglich, normalerweise arbeitet das ISAN jedoch ohne akti ve Beeinflussung des vorhandenen Produktionssystems. Um eine Kommunikation mit anderen Schichten zu ermöglichen, müssen die Sensoren und Aktoren an eine Hard wareplattform angebunden werden. Dabei ist die Auswahl der Hardware nicht auf ei ne Plattform beschränkt und kann je nach Einsatzszenario entsprechend variieren. Wichtige Faktoren für die Auswahl sind beispielsweise die Stromaufnahme, Rechen leistung, Busgeschwindigkeiten, das Vorhandensein zusätzlicher Coprozessoren und die Kommunikationsschnittstellen. Die Auswahl der Hardwareplattform entscheidet zudem über den Grad der Intelligenz, den die Komponenten auf dieser Ebene besitzen. In Abhängigkeit der Arbeitsumgebung bietet sich verschiedenartige Funktechnologi en als Schnittstellen zwischen der Sensor-Aktor-Schicht und der Middleware an. Bei spiele sind 6LoWPAN, BLE, LoRaWAN, ZigBee, Z-Wave, sowie Ultra Wideband (UWB). Die Schicht der Low-Level-Datenverarbeitung, auch dezentrale Datenverarbei tung genannt, ist für den Transport und Austausch von Mess- und Steuerungsdaten vorgesehen. Sie fungiert als Schnittstelle zwischen den Anwendungsservern im fir meninternen Netz und den Sensoren direkt an den Industrieanlagen. Für den Aus tausch eignen sich beispielsweise Gateways in Form eines Raspberry Pi oder WRT nodes [26]. Bei WRTnodes handelt es sich um eingebettete Systeme, die mit Open Wrt [27] eine speziell auf Netzwerkunterstützung, Routing und Virtual Private Network (VPN) angepasste Linux-Distribution besitzen. Für höhere Leistungsanforderungen an ein Gateway können auch linuxbasierte Systeme wie das MICA Computing System der Firma HARTING eingesetzt werden [28]. Zudem ist nicht ausgeschlossen, dass eine Hardwareplattform sowohl auf der Sensor-Aktor-Schicht als auch als Gateway agiert. Wenn keine feste Infrastruktur vorgesehen ist, können wie die Abbildung 7.4 zeigt, auch mobile Endgeräte nach einem Store-Carry-Forward-Ansatz eingesetzt werden. In diesem Szenario kommunizieren beispielsweise Smartphones und Tablets mit der Hardware der Sensor-Aktor-Schicht und speichern die übermittelten Daten so lange, bis eine Kommunikation zu den Anwendungsservern via Mobilfunk (2G/3G/4G), WAN oder WLAN hergestellt werden kann. Dieser Ansatz ermöglicht die Umsetzung einer hochmobilen Architektur in sehr ländlichen Umgebungen.
7.5 Architekturkonzept für ein intelligentes Sensor-Aktor-Netz
| 137
Auf der obersten Schicht der High-Level-Datenverarbeitung (zentrale Datenver arbeitung), befinden sich die Anwendungsserver, die für die Direktverarbeitung und Speicherung der Daten in einer Datenbank verantwortlich sind. Diese Schicht sieht eine Reihe von Schnittstellen und Services vor: – Die AppServer-Schnittstelle stellt eine Kommunikationsmöglichkeit und einen Datenaustausch für mobile Endgeräte aus der mittleren Schicht zu Verfügung. – Ein WebServer und WebAPIs (SOAP, REST) stellen Schnittstellen für Anwender und Administratoren bereit. – Die Anbindung externer IT-Services oder eine Cloud-Unterstützung können über eine verschlüsselte Schnittstelle erfolgen. Abbildung 7.5 zeigt den Datenfluss innerhalb der ISAN-Architektur von den Datenquel len bis zu den Datensenken. Für eine Implementierung eines ISAN wird je nach Anfor derungsprofil unterschiedliche Knoten-Hardware sowie Sensorik und Aktorik benö tigt. Die verschiedenen Anwendungsfelder, wie beispielsweise das Anwendungsfeld „Industrie“ mit einer Vibrationsanalyse einer Maschine, liefern Messgrößen, die mit den Sensoren erfasst werden. Die Sensordaten werden an die Knoten-Hardware draht gebunden weitergeleitet, können dort vorgefiltert, anonymisiert oder vorverarbeitet und als Datensätze- oder Strukturen an die Datensenken übertragen werden. Auch die Übertragung von Rohdaten ist je nach Qualität der Anbindung an höhere Schich ten möglich. Die Daten auf der Knoten-Hardware können auch direkten Einfluss auf die Aktorik nehmen, ohne dass höhere Schichten involviert sind. Innerhalb der Da tensenken kann bereits eine Datenanalyse erfolgen, um z. B. Schwellwertüberschrei tungen festzustellen oder Parameteradaptionen vornehmen zu können. Die Ergebnis werte, beispielsweise für die Aktorik oder Einstellungsparameter sowie verbesserte Algorithmen für die Knoten-Hardware, werden an die Sensor-Aktor-Schicht übermit telt. Die Aktorik kann in unterschiedlicher Ausprägung Einfluss auf ein bestimmtes Anwendungsfeld nehmen. Anhand von Abbildung 7.5 wird die Berücksichtigung von Kontext innerhalb der ISAN-Architektur erläutert. Es kann unterschieden werden zwischen: – Kontext des Arbeitsprozesses – Kontext der Umgebung Arbeitsprozesse sind durch die Definition der Anwendungsfelder und die durch Sen soren ermittelten Messwerte definiert. Im Bild ist somit der Kontext bei den Datenquel len links anzusiedeln. Der Umgebungskontext hingegen berücksichtigt Informationen aus übergeordne ten IT-Systemen wie Auftrags- und Kundendaten. Er ist im rechten Teilbereich des Da tenflussdiagrammes anzusiedeln. Ergebnis- und Steuerdaten, welche von höheren Schichten an die Knoten-Hardware der Sensor-Aktor-Schicht übertragen werden, basieren auf der Analyse der aufgenom menen und vorgefilterten Sensordaten. Ebenfalls möglich ist die Übertragung von
138 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
Anwendungsfelder
Datensenken
Sensor-Aktor-Schicht
Datenquellen
Energiemanagement Sensordaten
Landwirtscha
Auswirkung
Aktoren
Natur
Anzeige-/ Steuerdaten
Zentrale Datenverarbeitung
Knoten-Hardware
Vitalparameter
Industrie
Vorverarbeitete Sensordaten
Dezentrale Datenverarbeitung
Gefahrenbereiche
Sensoren
Messgrößen
Daten, Algorithmen
Stadt
Abb. 7.5: Datenflussdiagramm der ISAN-Architektur.
neuen und verbesserten Algorithmen, die zur Ausführung auf die Knoten-Hardware übertragen wird. Damit ist es möglich, die Knoten-Hardware auf einen veränderten Kontext der Umgebung anzupassen.
7.5.2 Konzept für ein IoT-Gateway Das von der Hochschule Osnabrück entwickelte ISAN-Architekturkonzept stellt ei ne skalierbare, erweiterbare Architektur für die zuvor beschriebenen Anforderungen dar. Das zu verwendende Kommunikationsprotokoll wird durch ISAN nicht festgelegt und kann, je nach Anwendungsfall, variieren. Auf der mittleren Schicht besteht die Möglichkeit, verschiedenartige Kommunikationsprotokolle in einem inhomogenen Szenario miteinander zu koppeln. Von einer Kopplung können nicht nur einzelne Knoten, sondern komplette Subnetze betroffen sein. Beispielsweise kann ein mit FIPA ACL als Kommunikationsprotokoll aufgebautes Teilnetz mit einem Pendant gekoppelt werden, welches OPC UA einsetzt. Beispielhaft wird für das Anwendungs beispiel des I4.0-Demonstrators (siehe Abschnitt 7.2.1) eine solche Koppelung mittels open62541 [29, 30] implementiert. Ein eigenes Kommunikationsprotokoll zum Aus
7.5 Architekturkonzept für ein intelligentes Sensor-Aktor-Netz | 139
tausch von Sensordaten wird an ein Teilnetz gekoppelt, welches die Kommunikation der Bearbeitungsstationen und Roboter mittels OPC UA umsetzt. Ziel dieses Szenarios ist die Bereitstellung und Nutzung von Sensordaten aus einem nicht nach industriel len Standards konzipierten Teilnetz. Das für die Kopplung verantwortliche Gateway stellt in diesem Szenario nicht nur die Verbindung über die Schichten hinweg bereit, sondern dient auch der Übersetzung zwischen den Kommunikationsprotokollen.
7.5.3 Konzept für FIPA ACL-konforme Software-Agenten-Kommunikation in ANSI C Die beschriebenen Anforderungen können durch Standard-Agentensysteme, wie in [17] beschrieben, erreicht werden. Eine JADE-Ausführumgebung ist für mobile Gerä te aber bisher nur unter dem Namen JADE-LEAP für Android erschienen und wird z. B. in [5] eingesetzt. Da der Einsatz von Android-Tablets im industriellen Umfeld nicht überall möglich ist, entsteht der Wunsch nach einer Plattformunabhängigkeit, die durch eine ANSI C-Bibliothek zur FIPA ACL-konformen Kommunikation erreicht wird. Für die Anbindung von mobilen Geräten wurde außerdem eine JavaScript-Bibliothek entwickelt, die in Webbrowsern ausgeführt werden kann. In diesem Beitrag wird nur die ANSI C-Integration betrachtet. Diese ist über die in Tabelle 7.3 beschriebenen Wege in den gängigen Mobil-Betriebssystemen möglich: Tab. 7.3: Übersicht über die Integration von ISAN-Sensor- und Visualisierungsagenten in mobilen Plattformen. Mobile Plattform
Integrationsansatz
Android
Java Native Interface (JNI)
Apple iOS (iPad)
In programmiersprachenübergreifender Entwicklungsumgebung XCode mit Unterstützung für C, C++, Objective-C und Swift
Windows Mobile bis 8.1
Unmanaged Code
Windows Mobile 10
JavaScript-Agent
Am Beispiel eines Apple iPad mit einer in der Programmiersprache Swift geschriebe nen Applikation wird die Integration der FIPA ACL-konformen ANSI C-Bibliothek für die Visualisierung von Sensordatenverläufen aus den Sensornetzen beschrieben. Als beispielhafter Transport wird eine Socket-Kommunikation implementiert, wobei ein Ausbau in Richtung WebSocket-Unterstützung vorgesehen ist.
140 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
7.5.4 Architektur für den Einsatz mit mobilen Systemen Die Architektur eines mobilen Systems ist von hoher Relevanz für Sensor-Agenten, da moderne Plattformen neue Wege zur Kommunikation und Datenaufbereitung in Bezug auf diese bieten. Da für Android-Plattformen bereits beispielhaft eine JADELEAP-Applikation besteht [31], wurde zur Untersuchung der Integrationsmöglichkei ten auf weiteren mobilen Plattformen entsprechend der Verteilung der Marktantei le in Deutschland das Apple iPhone bzw. Apple iPad mit dem Betriebssystem iOS ausgewählt. Es wurde eine native iOS-Applikation mit der von Apple für die AppProgrammierung neu eingeführten Programmiersprache Swift entwickelt. In einer herstellerspezifischen Entwicklungsumgebung können Module in C, C++ und Objec tive-C (Vorgänger von Swift) gemischt in einer Applikation kombiniert werden. Die interne Applikationsarchitektur entspricht dem Model-View-Controller-Design Pat tern (MVC), dass das „Separation of Concern“ (SoC)-Prinzip der Informatik (Aufteilen in Verantwortlichkeiten) konsequent in die Applikationsarchitektur umsetzt. So wird das User-Interface von der Anwendungslogik (Ablaufsteuerung) und dem Datenmo dell getrennt und über vorgegebene Schnittstellen gekoppelt. In die Applikations logik integriert ist der Sensoragent, der auf der ANSI C-Kommunikation zur FIPA ACL-konformen Kommunikation beruht. Der Sensoragent kommuniziert über einen Unix-Socket mit der Außenwelt und wird mittels GCD¹ (Grand Central Dispatch) in ei nem Background-Thread ausgeführt, damit bei Kommunikationsunterbrechungen die Ablauf- und Anzeigelogik nicht behindert werden. Nach jedem Übertragungsschritt werden die Daten in den Main-Thread (in iOS auch UI-Thread genannt) transportiert und dort weiterverarbeitet, um z. B. angezeigt zu werden. Wenn eine ACL-Nachricht von einem Agenten zu einem anderen gesendet wird (u. a. von der iOS-Applikation zu einem auf dem Raspberry-Pi betriebenen Agenten), muss die Nachricht nicht zwangsweise auf beiden Seiten das gleiche Format aufwei sen. Die Nachricht muss lediglich der gleichen Ontologie, also einer formalen Defi nition von Typen, folgen. Das schafft den großen Vorteil, dass ein Client nicht zwin gend wissen muss, welche Sprache der Server, mit dem kommuniziert wird, spricht. In der Erprobung der Agenten-Kommunikation wird im JADE-System des IoT-Gateways ein Data Collection Agent implementiert, der die Sensordaten empfängt. Eine Nach richt enthält zu jedem Zeitpunkt einen Empfänger, die Kodierung, die Länge sowie den Inhalt der Nachricht. Sobald eine Verbindung zwischen zwei Agenten hergestellt ist, können die Agenten bis zu dem Schließen der Verbindung (etwa durch Timeout oder explizite Terminierung) gegenseitig Nachrichten senden und empfangen.
1 Grand Central Dispatch: https://developer.apple.com/reference/dispatch
7.6 Ergebnisse
|
141
7.6 Ergebnisse Für die Erprobung der Architektur wurde das nachfolgende Anwendungsbeispiel als Vorstufe für den I4.0-Demonstrator entwickelt. Die Abbildung 7.6 beschreibt die Sys temarchitektur des Anwendungsfalls. Die Systemarchitektur setzt sich aus einem Gateway und einem Sensor-Agenten auf dem mobilen Gerät zusammen. Über OPC UA kann das lokale Produktionsnetz er reicht werden und über externe IT-Schnittstellen die Kommunikation mit der zentra len Sensordatenverarbeitung, z. B. über verschlüsselte Webservices oder WebSockets, stattfinden. Das Gateway stellt innerhalb der Systemarchitektur einen zentralen Kno tenpunkt der, auf dem JADE als Middleware ausgeführt wird. Als Hardwareplattform für das Gateway dient ein Raspberry Pi. Um das Anwendungsbeispiel möglichst kom pakt und übersichtlich zu halten, werden sowohl der Data Collection Agent als auch der Persistence Agent als Instanz auf dem Raspberry Pi ausgeführt.
Externe IT-Services/Cloud
SOAP/REST/ WebSocketKommunikaon Mobile Endgeräte
Gateway/AMS/DF
OPC-UAKoppelung (oponal)
FIPA-ACL
Sensor Agent
OPC UA Geräte im Produkonsbereich
Data Collecon Agent
DHT22 Sensor
Persistence Agent
TI SensorTag CC2650STK
Abb. 7.6: Systemarchitektur für den Einsatz von Sensorknoten und Sensoren in der Fabrikautomati sierung.
142 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
Der Data Collection Agent verfügt über ein eigenes Sensornetz mit entsprechen den Sensorknoten, die sowohl kabelgebunden als auch über Funktechnologien kom munizieren und entsprechende umgebungsbezogene Nutzdaten liefern können. Fer ner wertet der Data Collection Agent die Sensordaten aus und stellt sie anderen Agen ten und der zentralen Weiterverarbeitung zur Verfügung. Als Anwendungsbeispiel für einen direkt angeschlossenen Sensor wird ein kabelgebundener Sensor DHT22 ein gesetzt [32]. Er enthält einen Temperatur- und einen Luftfeuchtigkeitssensor, die in einem Zeitintervall von zwei Sekunden aktualisierte Temperatur- und Luftfeuchtig keitswerte liefern. Die Abfrage der Daten erfolgt über einen Eindraht-Bus. Als wei terer drahtloser Sensor kommt der CC2650STK SimpleLink der Firma Texas Instru ments zum Einsatz [20]. Ausgestattet mit zehn Sensoren für die Helligkeit, Feuch tigkeit, Druck, Beschleunigung, Temperatur (Umgebung und Objekt) sowie ein Gy roskop, Magnetometer und einem digitalen Mikrofon, kann der CC2650STK vielfältig eingesetzt werden. Die Abfrage der Daten erfolgt aktuell über eine BLE-Schnittstelle. Die Erweiterung auf WLAN-basierende Sensorknoten ist in Vorbereitung. Der Persistence Agent stellt eine Schnittstelle zu einer auf dem Gateway (also de zentral) laufenden Datenbank bereit. Darüber können auch bei gedächtnislosen Sen soren historische Daten gespeichert und ggf. gefiltert oder durch Schwellwerte getrig gert an die zentrale Sensordatenverwaltung weitergeleitet werden. Hierzu dient ein Synchronisierungsagent. Für dieses Anwendungsbeispiel wurde eine iOS-App in Swift mit einem in ANSI C geschriebenen Sensor-Agenten entwickelt. Die erfassten Sensordaten zur Schwin gungsanalyse (Vibration), akustischen Analyse und Umgebungssituation werden mithilfe der Gerätesensoren des mobilen Gerätes erfasst. Weitere Sensoren und Sen sorknoten können über BLE integriert und durch den Sensor Agent verwaltet werden. Dieser übernimmt in diesem Fall auch die weitere Kommunikation, beispielsweise mit dem Data Collection Agent. Neben der Übermittlung an das IoT-Gateway kön nen die Daten vom mobilen Gerät aus direkt per Email versendet werden. Als mobile Plattformen werden ein iPad und ein iPhone des Herstellers Apple verwendet. Die in der Abbildung 7.6 dargestellte Systemarchitektur lässt sich den drei Schich ten der ISAN-Architektur folgendermaßen zuordnen: Die Sensoren sowie der verwal tende Data Collection Agent gehören zur Sensor-Aktor-Schicht. In der dezentralen Sensordatenverwaltung (mittlere Schicht) befindet sich das Gateway, der mobile Sensor Agent sowie (falls das ISAN nicht vollständig isoliert arbeitet) die OPC UASchnittstelle zum lokalen Produktionsnetz. In der zentralen Sensordatenverarbeitung befindet sich u. a. ein Anwendungsserver, der einen Zugriff auf externe Datendienste und IT-Services besitzt und erweiterte Archivierungs- und Datenanalysefunktionen bereitstellt.
7.6 Ergebnisse
| 143
7.6.1 Erprobung in einem Sensornetz Der Ansatz für ein Gateway zur Koppelung von Sensornetzen und andersartigen Teil netzen mit Agentensystemen in der Automatisierungstechnik aus Abbildung 7.6 soll anhand eines Beispielszenarios erprobt werden. Das Beispielszenario sieht einen Sen sor-Agenten vor, der in konfigurierbaren Zeitintervallen die Daten der Sensoren aus liest und aufbereitete Messdaten an andere Agenten verschickt. Das nachfolgende UML-Aktivitätsdiagramm in Abbildung 7.7 veranschaulicht das Zusammenspiel zwischen dem Sensor Agent und dem Data Collection Agent. Die Dar stellung verwendet UML 2.5 und das neue Zusammenführungssymbol (Raute oben, engl. Merge) als Gegenstück zur unteren Verzweigungsraute [33]. Software-Agenten, die sich für die Messwerte der Sensoren interessieren, müssen sich zunächst bei dem Data Collection Agent anmelden und können anschließend ein Zeitintervall bestimmen, innerhalb der die Agenten neue Messwerte erhalten möch ten. In Rahmen dieses Beispielszenarios sind sowohl der mobile Sensor Agent, der Persistence Agent sowie eine über OPC UA kommunizierende Komponente an den
Sensor ansprechen und Messwerte auslesen
Nächsten Sensor auswählen
Datensätze auereiten/filtern/ anonymisieren/komprimieren
Liste der registrierten SowareAgenten durchlaufen und Datenwerte verschicken
Nein
Alle Sensoren verarbeitet? Ja Abb. 7.7: Aktivitätsdiagramm des Data Collection Agent.
144 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme Sensor Agent
Data Collecon Agent ACL_MSG({"type": "register", "name": "Sensor Agent"}) ACL_MSG({"type": "interval", "meInMs": 5000}) ACL_MSG({"temperature": 22.9, "humidity": 36.6, "mestamp": 1488786300}) . . . ACL_MSG({"temperature": 24.2, "humidity": 33.4, "mestamp": 1488786305}) ACL_MSG({"type": "unregister", "name": "Sensor Agent"})
Abb. 7.8: Kommunikationsablauf zwischen Sensor Agent und Data Collection Agent (auf dem Gate way).
Messwerten interessiert. Einen typischen Kommunikationsablauf zeigt das Sequenz diagramm in Abbildung 7.8. Auf das konkrete Verhalten des Persistence Agent sowie des OPC UA-Adapters zum Produktionsnetz (falls ein nichtisolierter Gateway-Betrieb gewünscht und ermöglicht wird) wird in diesem Beitrag nicht detailliert eingegangen.
7.6.2 Erprobung der Visualisierung von Sensordaten mit einem Tablet Die vorgestellten Konzepte für das mobile Gerät werden in einer Apple iPad-Applikati on realisiert, die neben der Datenerfassung auch Daten senden, empfangen und visua lisieren kann. Dazu wird auf ein Split-Screen-Layout zurückgegriffen, welches gegen über herkömmlichen Layouts den Vorteil bietet, dass sowohl die Navigation zwischen den einzelnen Menüpunkten als auch deren Visualisierung zeitgleich möglich ist. Im „Sensors“-Interface können einzelne Sensorkanäle aktiviert und deaktiviert sowie in die Logdatei eingebunden werden. Das Diagramm-Layout wird dazu automa tisch angepasst. Die zurzeit unterstützten Sensoren umfassen beispielhaft den Tem peraturverlauf (über BLE aus einem externen Sensorknoten), das im Apple iPad ein gebaute Mikrofon und der ebenfalls integrierte Beschleunigungssensor. Damit sind Akustik- und Schwingungsanalyse an einer Maschine möglich. Die in einem Zeitinter vall von 10 ms erhobenen Datenwerte des Beschleunigungssensors werden zu einem Paket von 128 Werten zusammengefasst und als Nutzerdaten alle 1,28 Sekunden über tragen. Das zum Vibrationssensorkanal zugehörige Objekt wird bei jeder Messung neu initialisiert, da die UI-Accelerator-Klasse des Beschleunigungssensors nach dem De
7.6 Ergebnisse
|
145
Abb. 7.9: iPad-Applikation: Sensors-Bereich.
legation-Pattern² arbeitet. Dieses sieht vor, dass an den Daten interessierte Klassen das sogenannte „UIAccelerometerDelegate“-Protokoll implementieren, um über neue Messwerte benachrichtigt zu werden. Dies entspricht dem Publish-Subscribe-Archi tekturmuster. Bevor die erste Messung gestartet wird, muss der Nutzer dieser Funktion explizit zustimmen, da iOS den Zugriff auf persönliche Daten und die Gerätesensorik (z. B. das Mikrofon) zum Schutz der Privatsphäre nur bei Einverständnis ermöglicht. Für Akustik- und Vibrationsdaten sind der Energieverlauf (im Vergleich zur Leis tungsaufnahme der Maschine) und das Frequenzspektrum von Interesse. Daher sind sie durch die links sichtbaren Auswahlfelder Energy / Frequency alternativ zum Zeit verlauf (Time) darstellbar. Die Daten weiterer externer Sensorknoten (z. B. aus einem Raspberry Pi) können als ACL-Nachricht übermittelt werden, wobei der Inhalt der Nachricht im JavaScript Object Notation (JSON) Dateiformat enkodiert ist, um die Verarbeitung im mobilen Gerät möglichst einfach zu gestalten.
2 Delegation Pattern: https://developer.apple.com/library/content/documentation/General/ Conceptual/DevPedia-CocoaCore/Delegation.html
146 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
7.7 Fazit und Ausblick Der Beitrag zeigt eine allgemeine ISAN-Architektur (Intelligentes Sensor-Aktor-Netz) für den Einsatz von Sensoren und Aktoren in unterschiedlichen Umgebungen. Dabei sollen sowohl industrielle als auch sonstige Anwendungsbereiche (z. B. Agrarappli kationen in Gewächshäusern) unterstützt werden. Beispielhaft wird ein erweiterter agentenbasierter Industrie-4.0-Demonstrator mit Möglichkeiten zur Darstellung von Sensordaten auf mobilen Geräten z. B. Tablets (später auch Smartphones) ausgestat tet. Eine Schlüsselkomponente ist ein Gateway, dass mit dem Produktionsnetz über OPC UA kommunizieren kann. Zwischen dem Gateway und den Tablets erfolgt die Kommunikation FIPA ACL-konform, so dass eine nahtlose Integration möglich ist. Um dies auch auf mobilen Apple-Geräten, auf denen keine JADE-Variante verfügbar ist, zu ermöglichen, wurden einige FIPA ACL-konforme Erweiterungen für die Pro grammiersprachen ANSI C entwickelt. Sowohl an das Gateway selbst, als auch an das Tablet können Sensorknoten und Sensornetze angeschlossen werden. Damit ist ein vom Produktionsnetz unabhängiger Betrieb zur Datenanalyse z. B. in Produkti onsbereichen möglich. Zur Kommunikation zwischen den Sensorknoten wird MQTT eingesetzt, weil es geringe Anforderungen an den Transport stellt. Folgende Ausbau möglichkeiten sind in Arbeit bzw. vorgesehen: – Die Integration der OPC UA-Kommunikation soll weiter vorangetrieben werden. Dabei soll ein Vergleich mit MQTT die Vor- und Nachteile der beiden Kommunika tionsformen aufzeigen. – Über WebAPIs (SOAP, REST, etc.) sollen die Schnittstellen zur Anbindung externer IT-Services bzw. Cloud-Unterstützung erweitert werden. – Es soll untersucht werden, ob die Architektur durch Portierung der FIPA ACLKommunikation auf Sensorknoten mit beschränkten Ressourcen eine höhere Fle xibilität ermöglicht. – Die Tablet-App soll in einer reduzierten Version für Smartphones verfügbar ge macht werden. – Die Möglichkeiten zur Schwingungsanalyse und zur Erfassung von Umweltdaten soll durch eine Integration weiterer Sensoren vorangetrieben werden. – In einer späteren Ausbaustufe sollen die Sensorknoten flexibler und intelligenter werden. Unter „Intelligenz“ wird in diesem Beitrag die Fähigkeit verstanden, dyna misch ändernde Bewertungsregeln ausführen zu können. Für eine Lernfähigkeit mit dem Ziel der laufenden Optimierung ist es vorteilhaft, wenn Algorithmen zen tral entwickelt und dezentral für Entscheidungen genutzt werden können. Dies ist z. B. durch „mobilen Code“ möglich. So ist es denkbar, dass Algorithmen zur Da tenanalyse erst mit der Zeit erweitert werden, um auf kritische Prozesssituationen oder neue Fehlerszenarien reagieren zu können. Solche erweiterten Algorithmen ließen sich auf den Sensorknoten laden, ohne dass die Firmware verändert werden muss. Durch die erweiterten Möglichkeiten des mobilen Codes ergeben sich Risi ken, die durch eine sichere Ende-zu-Ende-Übertragung adressiert werden sollen.
Literatur
–
| 147
Die Integration der ISAN-Architektur in ein neu eingeführtes Wahlpflichtfach „In ternet der Dinge“ an der Hochschule Osnabrück wurde im Sommersemester 2017 erprobt. Die Evaluierungsergebnisse zeigen, dass das Interesse der Studierenden sowohl an der industriellen als auch nicht-industriellen Seite des Internets der Dinge groß ist. Das zugehörige Praktikum erforderte einen erhöhten Einarbei tungsaufwand für eine komplexere Architektur und heterogene Zielplattformen, der aber wegen der Relevanz der Themen von den Studierenden akzeptiert wurde.
Die gezeigte ISAN-Architektur ermöglicht eine flexible Kommunikation zwischen ver schiedenen Komponenten, die teilweise einfache Embedded Systems mit deutlich ge ringeren Ressourcen als z. B. ein Raspberry Pi darstellen. Damit werden auch auf sol chen beschränkten Plattformen Möglichkeiten zur Entscheidungsunterstützung ein geführt, die für teilautonomes Arbeiten von Systemen in vielen Anwendungsfeldern zukünftig verstärkt gefordert sein werden.
Literatur Internetquellen wurden zuletzt am 12.04.2018 abgerufen. [1] [2]
[3]
[4] [5]
[6]
[7]
[8] [9] [10]
Plattform Industrie 4.0: RAMI 4.0 – Eine Einführung, http://www.plattform-i40.de/I40/ Redaktion/DE/Downloads/Publikation/rami40-eine-einfuehrung.pdf Schmidtmann, U.; Westerkamp, C.; Wübbelmann, J. et al: Leicht Konfigurierbare Komponen ten Kollaborativer Systeme (LK3 S), Tagungsband der Deutsch-Niederländischen Automatisie rungstage 2008, Emden 2008 Kremer, H.; Westerkamp, C.: „Einsatz von Agentensystemen zur Optimierung der Logistik in Produktions- und Agrarprozessen“, Buchkapitel in: „Agentensysteme in der Automatisie rungstechnik“, Göhner, Peter (Hrsg.), S. 187–206, Springer-Reihe Xpert.press, 2013 MQTT Version 5.0. http://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html Kremer, H.; Westerkamp, C.: “Context Aware Decision Support for Mobile Participants of Dis tributed Production Processes”, 17th IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2012. Römer, H. P.; Bettin, A.; Thiesing, F.; Lang, B.; Wagnitz, N.; Hülsmann, B.; Kunz, A.: KliPa, eine Bewertungsplattform zur Beurteilung der Effizienz von Gewächshauskulturen mit Hilfe der Verknüpfung automatisch erfasster Gewächshausklima und Pflanzenparameter. In: Referate der 32. GIL-Jahrestagung in Freising 2012 – Informationstechnologie für eine nachhaltige Landbewirtschaftung, Lecture Notes in Informatics, Freising 2012, http://www.gil-net.de/ Publikationen/24_251.pdf Pereira, A.; Rodrigues, N.; Leitão, P.: Deployment of multi-agent Systems for industrial appli cations, In Proceedings of IEEE 17th Conference on Emerging Technologies & Factory Automa tion (ETFA 2012), S. 1–8, 2012 Core Specifications | Bluetooth Technology Website. https://www.bluetooth.com/ specifications/bluetooth-core-specification Foundation for Intelligent Physical Agents: Standard Status Specifications. http://fipa.org/ repository/standardspecs.html Foundation for Intelligent Physical Agents: FIPA ACL Message Structure Specification. http: //www.fipa.org/specs/fipa00061/index.html. Version: 2002
148 | 7 Anbindung von Software-Agenten an Sensorknoten und mobile Systeme
[11] [12] [13] [14] [15]
[16] [17] [18] [19] [20] [21] [22]
[23] [24]
[25]
[26] [27] [28] [29] [30] [31]
[32] [33]
Foundation for Intelligent Physical Agents: FIPA Abstract Architecture Specification. http: //www.fipa.org/specs/fipa00001/index.html. Version: 2002 Foundation for Intelligent Physical Agents: FIPA Agent Management Specification. http:// www.fipa.org/specs/fipa00023/index.html. Version: 2004 Foundation for Intelligent Physical Agents: FIPA Agent Message Transport Service Specifica tion. http://www.fipa.org/specs/fipa00067/index.html. Version: 2002 Publicly Available Agent Platform Implementations http://www.fipa.org/resources/ livesystems.html Bellifemine, F.; Poggi, A.; Rimassa, G.: JADE – A FIPA-compliant agent framework. In: Proceed ings of the 4th International Conference on Practical Application of Agents and Multi-Agent Technology, S. 97–108, 2013 Kravarai, K.; Bassiliades, N.: A Survey of Agent Platforms. In: Journal of Artificial Societies and Social Simulation. Vol 18, No.1 (2015). http://jasss.soc.surrey.ac.uk/18/1/11.html Bellifemine, F.; Caire, G.; Greenwood, D.: Developing multi-agent systems with JADE. Chiches ter. Wiley. 2007 McGrath, Michael J.; Scanaill, Cliodhna Ní; Nafus, Dawn: Sensor technologies. Healthcare, wellness and environmental applications. New York, Apress Open, 2014 Kahn, J. M.; Katz, R. H.; Pister, K. S. J.: Mobile Networking for Smart Dust, ACM/IEEE Intl. Conf. on Mobile Computing and Networking (MobiCom 99), S. 271–278, 1999 SimpleLink MCU Platform - overview | simplelink solutions | wireless connectivity | TI.com: http://www.ti.com/wireless-connectivity/simplelink-solutions/overview/overview.html NodeMCU: http://nodemcu.com/index_en.html Home Page der OPC Foundation: https://opcfoundation.org/ Bildquelle: https://www. iosb.fraunhofer.de/servlet/is/21752/OPC-UA-Wegbereiter-der-I40.pdf?command= downloadContent&filename=OPC-UA-Wegbereiter-der-I40.pdf, S.14 Lange, J.; Iwanitz, F.; Burke, T. J. M.: OPC. Von Data Access bis Unified Architecture. 4. Aufl. Berlin, 2010. ZVEI (Hrsg.): Das Referenzarchitekturmodell RAMI 4.0. https://www.zvei.org/fileadmin/ user_upload/Themen/Industrie_4.0/Das_Referenzarchitekturmodell_RAMI_4.0_und_ die_Industrie_4.0-Komponente/pdf/ZVEI-Faktenblatt-Industrie4_0-RAMI-4_0.pdf https: //www.zvei.org/themen/industrie-40/das-referenzarchitekturmodell-rami-40-und-dieindustrie-40-komponente/ Webel, S.: Digitale Fabrik: Industrie 4.0: Was Sie über die Produktion der Zukunft wissen müssen. Siemens http://www.siemens.com/innovation/de/home/pictures-of-the-future/ industrie-und-automatisierung/digitale-fabrik-industrie-4-0.html WRTnode | Open source hardware for OpenWrt, Linux+Wi-Fi dev board, Easy & completed IDE, the core of smart. http://wrtnode.com OpenWrt. https://openwrt.org/ MICA® Computing System | HARTING MICA. https://www.harting-mica.com/de Palm, F.; Grüner, S.; Pfrommer, J.; Graube, M.; Urbas, L.: open62541 – der offene OPC UA Stack, 5. Jahreskolloquium „Kommunikation in der Automation (KommA 2014)“, Lemgo 2014. List of Open Source OPC UA Implementations. https://github.com/open62541/open62541/ wiki/List-of-Open-Source-OPC-UA-Implementations Bergenti, F.; Caire, G.; Gotta, D.: Agents on the Move: JADE for Android Devices Agents on the Move. In: Corrado Santoro (ed.): Proceedings of the XV Workshop “Dagli Oggetti agli Agenti” (WOA 2014), CEUR-WS, volume 1260, ISSN: 1613-073, 2014. Aosong Electronics: Digital-output relative humidity and temperature sensor/module DHT22, Datenblatt. https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf UML-Notationsübersicht https://www.oose.de/wp-content/uploads/2012/05/UMLNotations%C3%BCbersicht-2.5.pdf
Stichwortverzeichnis A ADI (Analyzer Device Integration) 53 Advanced Queuing Protocol (AMQP) 51 Agent OPC UA 55 Agenten-Dienste 99 Agentenlogik 57 Aktoren 72 Alarms & Events (OPC A&E) 53 Assistenzsystem 22, 26, 28, 31, 35, 36, 41 Auktion 81 AutomationML 53 Automatisierungspyramide 45 AutoMFM 8 Autonome Entscheidungsfindung 48 Autonome Instanzen 55 Autonome Intelligenzmechanismen 44 B Bearbeitungsstationen 95, 106 Big Data 83 Building Information Model (BIM) 74 C CEP 74 Choreographie 48 Complex Event Processing 71 Condition Monitoring 126 Contract-Net-Protokoll (CNP) 80, 81 Cyber-physische Systeme 43 Cyber-physisches Produktionssystem (CPPS) 48, 68 D Dashboard 73 Data Distribution Service (DDS) 51 Data-Mining 84 Datenfusion 84 Datenverarbeitung 129, 135–138, 141, 142 De facto Standard 64 Dezentrale Entitäten 48 Dimensionierung 24, 29, 30, 34, 39 Distributionszentren 25, 31 Domänenspezifisch 59 E Echtzeitinformationen 44 eCl@ss 53 https://doi.org/10.1515/9783110527056-008
Energiemanagement 113 Energiemanagementsysteme 110 Energieversorgungssysteme 111 ERP-Level 46 EtherCAT Automation Protocol (EAP) 3 Evolvierende Intelligenzsysteme 47 F FDI (Field Decive Integration) 53 Feldbus 49 Fertigungsentitäten 43 Fertigungsplanung und -steuerung 80 Funktionsbereich 25–29, 32–35, 37 G Gaia 89, 93, 96, 101, 106 Gateway-Agenten 120 Generischer Nachrichtenaustausch 56 Gewachsene Produktionssysteme 52 Graph 78 H Heterogenität 44 Historical Data Access (OPC HDA) 53 Hochgranulare Daten 55 Höhere Systeme der Produktionsplanung und -steuerung 63 Homogenisierung 50 I Identifier 62 IEC 61131-3 3 Industrial Ethernet 49 Industrie 4.0 67, 125–127, 146 Informationsmodelle 51 Inhärente Programmlogik 59 Intelligente Entitäten 55 Intelligente Gebäudeautomatisierung 67 Intelligente Produktionssteuerung 47 Intelligente Softwareagenten 46 Intelligentes Sensor-Aktor-Netz (ISAN) 134–139, 142, 146, 147 Internet der Dinge 64 Internet of Things (IoT) 46, 126, 132 – Internet der Dinge 126 Interoperabilität 50 Intralogistiksysteme 1
150 | Stichwortverzeichnis
J JADE 2, 35, 100, 106 Job Shop Planning 63 Joint-Directors-of-Laboratories-Modell (JDL-Modell) 84 K Key Performance-Indikatoren (KPI) 45 Konsensverfahren 115 Kontextübergreifende Repräsentationsform 48 Koordinator 57 Koordinator-Agenten 4 Künstliche Intelligenz 44 künstliches neuronales Netzwerk (Hopfield-Netzwerk) 86 L LabMap 121 Laufzeit 64 M Machine Learning 47 Manufacturing Execution Systems (MES) 63 Maschinenlesbare Form 55 Materialflussmodule 4 Materialflusssysteme 1 Mehrschichtige Agentenarchitektur 120 Meta Object Facility (MOF) 5 Meta-Daten 56 Metamodell 51 Metamodell-Hierachie 58 Meta-Standard 51 Middleware 119 Model-to-text Transformation (MOFM2T) 5 Modulanschlüsse 11 Modulfunktionen 11 MQTT 62, 69, 127, 146 Multiagentensysteme 55, 65 Multitasking 62 myJoghurt 68
OWL-DL-Ontologien 71, 76 OWL-Reasoner 79 P PID-Regelkreis 82 Planungsobjekte 21, 22, 28, 40 PLCopen XML 17 Predictive Maintenance 48, 65, 126 Produktionsanlage 89, 93, 105–107 Publish-Subscribe 50 Q Quality of Service 51 R Raspberry Pi 91–93, 100 Rekonfigurationsdauer 12 REST 75 RFID 81 RSA-256 bit 52 Rückfluss 49
N Namensraum 56 neuronale Netze 82
S SCADA 49 Semantisch, kontextuelle Anreicherung 46 Semantische Integration 56 Semantische Modellierung 52 Semantisches Datenmodell 76 Semantisches Modell 71 Sensordatenfusion 74 Sensoren 72 Sensorplattform 129, 130 Service-orientierte Architekturansätze (SOA) 48 Shop Floor 45 Skalierbarkeit 59 Smart Grid 110 Softwareagenten 46 Softwarebus 121 Softwarebussystem 121 Speicherprogrammierbare Steuerung (SPS) 49 Steuerungssystem 90 Sub-autarke Mikronetze 110 Systembildung 32 Systems Modeling Language (SysML) 8 Systemvariante 23, 24, 26, 27
O OPC Data Access 52 OPC Unified Architecture 43 Orchestrierung 48
T Technologie-Stacks 47 Thermische Simulation 82 Typendefinition 58
Stichwortverzeichnis
V Verhandlungsmechanismen 57 Verteilte Entscheidungsfindung 119 Verteiltes, intelligentes System für Smart Buildings 68 Vertikale Kommunikationsvorgänge 46 Vibrationsanalyse 128, 137 – Schwingungsanalyse 142, 144, 146 Virtuelles Kraftwerk 110 Vorgehensmodell 23, 24
| 151
W Wissensbasiertes Informationsmodell 76 Wissensbasis 2, 27, 32, 39, 41, 76 Wissensgraph (knowlegde graph) 58 X X.509-Zertifikate 52 Z Zeitreihendatenbank 73 Zweipunktregelkreis 82