Energiemanagement
Der objektorientierte Ansatz
Existierende Verfahren zum Energiemanagement – sei es über Energie-Feldbusprofile oder zentrale Energiemanagement-Systeme – sind nicht ohne Nachteile. Ein modularer Ansatz mittels objektorientierter SPS-Programmiertechniken hilft, diese zu beheben.
Betriebliche Praxis ist, dass Maschinen in Pausen, über Nacht oder an Wochenenden nicht abgeschaltet werden. Vor allem haben die Betreiber Bedenken, dass die Maschinen nicht rechtzeitig wieder produktionsbereit sind oder beim Hochlauf Fehler auftreten, wodurch erhöhte Stillstandzeiten und damit Kosten entstehen. Folge ist, dass diese Maschinen auch in nicht produktiven Zeiten sehr viel Energie verbrauchen. Um dieses Problem zu lösen, wurde mit Feldbusprofilen wie Sercos Energy oder ProfiEnergy die Grundlage geschaffen, einzelne Verbraucher, – zum Beispiel durch Vorgabe von Pausenzeiten – in energiesparende Zustände zu schalten.
Neben dem normalen Betriebszustand (Betriebs-Energiemodus) werden hierbei mehrere Zustände des Verbrauchers unterschieden, die sich durch den Energieverbrauch, die Übergangszeiten vom und zum Betriebs-Energiemodus und den Energieverbrauch während der Übergänge unterscheiden. Zusätzlich können minimale und maximale Verweildauern im Energiemodus vorhanden sein. Diese Daten sind üblicherweise als geräteabhängige, fest hinterlegte Parameter im Verbraucher abgelegt.
Für die Unterstützung bei der Nutzung der genannten Feldbusprofile sind verschiedene Lösungen bekannt. Zum einen sind von einigen Steuerungsherstellern Funktionsbausteine verfügbar, die die Kommunikation mit dem Verbraucher – zum Beispiel das Auslesen der Konfiguration und das Schalten der Verbraucher über die Feldbusprofile – unterstützen. Zum anderen existieren vollständige monolithische Energiemanagement-Lösungen, die auch eine Aggregation der Daten auf Maschinenebene und Vorgabe-Schnittstellen zum HMI oder einem Leitsystem bieten.
Ein Manko bei reinen Kommunikationsbausteinen ist, dass bei diesen üblicherweise keine Abbildung der Verbraucher auf Maschinenebene stattfindet. Dies ist insofern problematisch, da üblicherweise die Maschine über das HMI oder ein Leitsystem beziehungsweise ein Manufacturing Execution System (MES) durch eine Vorgabe komplett geschaltet werden soll. Die Programmierung von zentralen Befehlsquellen, deren Priorisierung sowie die Anbindung der Kommunikationsbausteine an diese Befehlsquellen obliegt hierbei dem Anwender. Dies bedeutet einen hohen Aufwand bei der Realisierung des Energiemanagements.
Alternativ hierzu besteht die Möglichkeit, einen zentralen Energiemanagement-Funktionsbaustein (EM FB) als Teil einer übergreifenden Energiemanagement-Lösung zu programmieren. Dieser verfügt über definierte Schnittstellen für die Anbindung von HMI und MES/Leitsystemen oder Vorgaben aus der Applikation und priorisiert diese. Die Anbindung der Verbraucher über die in den Feldbusprofilen definierten Mechanismen erfolgt dabei ebenfalls im zentralen Funktionsbaustein. Schwierigkeiten bereitet diese monolithische Lösung bei modularen Applikationsarchitekturen. Hier erfolgt die Kommandierung der Verbraucher üblicherweise in den Modulen, die den – oft auch mechanisch getrennten – Maschinenmodulen zugeordnet sind. Jedoch wird diese Aufgabe auch von einem zentralen Energiemanagement übernommen, welches die Verbraucher über die Feldbusprofile schaltet, was wiederum dem Prinzip der modularen Programmierung widerspricht und den Aufwand bei einem Austausch, Entfernen oder Instanziieren von Modulen deutlich erhöht.
Die Architektur der Lösung
Als Ansatz für das Energiemanagement wurde eine objektorientierte Lösung gewählt. Für die Architektur wurden verschiedene Klassen von Funktionsbausteinen (FB) definiert:
■ FB zur Kommandierung (Command-Bausteine),
■ FB zur Energieverwaltung (EnergyControl-Bausteine),
■ FB zur Energiemodusvorgabe (Device-Bausteine).
Bei der klassischen Lösung müssen Strukturen instanziiert werden, welche über Pointer (zum Beispiel VAR_IN_OUT) an die Bausteine angelegt werden. Hierbei ist ein Nachteil, dass zyklisch geprüft werden muss, ob ein anderer Baustein aktuell eine der möglichen Vorgaben oder Anfragen hat. Dies kann in einer objektorientierten Lösung, bei der die Bausteine über definierte Interfaces kommunizieren, durch Methoden oder Eigenschaften ereignisgesteuert erfolgen.
© Bosch RexrothDie einzelnen Funktionsbaustein-Instanzen machen sich über die Deklaration bei der Initialisierung des Programms nach dem Projekt-Download untereinander bekannt. Durch die Verwendung von Interfaces ist der Anmelde-Mechanismus nicht von konkreten Funktionsbaustein-Typen abhängig.
Die Command-Bausteine (Cmd-FB) dienen dazu, Vorgaben an das Energiemanagement in Form von Pausenzeiten oder bestimmten Energiemodi zu übergeben. Command-Bausteine werden zum Beispiel für folgende Vorgabequellen instanziiert:
■ MES oder Leitsysteme, zur Vorgabe geplanter produktionsfreier Zeiten;
■ HMIs, zum Abschalten durch den Maschinenbediener;
■ Applikation, wenn beispielsweise automatisch Teilemangel erkannt wird.
Die Command-Bausteine können auch an einem EnergyControl-Baustein angemeldet werden, welcher stellvertretend für die Hierarchie der Maschine steht. Bei diesem wird wiederum für jeden Verbraucher ein Device-Baustein angemeldet. Die Device-Bausteine stehen stellvertretend für die Hierarchie der Verbraucher. Sie erhalten die Vorgaben vom EnergyControl-Baustein und übernehmen die Kommunikation mit dem Verbraucher. Dies kann sowohl über die spezifizierten Energie-Feldbusprofile als auch – bei Verwendung von generischen Device-Bausteinen für Verbraucher ohne Energie-Feldbusprofil – durch die Applikation erfolgen.
Um etwa dem HMI eine höhere Priorität zuordnen zu können als einem Leitsystem/MES, sind die Command-Bausteine gegenseitig priorisierbar. Die Priorität wird über die Konfiguration der Command-Bausteine vorgegeben und vom EnergyControl-Baustein ausgewertet. Für die direkte Vorgabe von Energiemodi werden für den EnergyControl-Baustein ähnlich zu den Energiemodi in den Feldbusprofilen Energiemodi der Maschine definiert. Die Energiemodi der einzelnen Verbraucher sind dann den Energiemodi der Maschine tabellarisch zuzuordnen. Hierbei werden typischerweise nicht alle Kombinationen der Energiemodi der Verbraucher abgebildet, sondern nur die sinnvollen Maschinenzustände berücksichtigt.
Wie im Bild (oben) dargestellt, können zum Abschalten von einzelnen Verbrauchern die Command-Bausteine direkt an den Device-Bausteinen angemeldet werden. Dies ist zum Beispiel dann sinnvoll, wenn während des Betriebs, in Abhängigkeit vom Maschinenzustand, zeitweise einzelne Verbraucher abgeschaltet werden sollen. Wäre dies nicht möglich, müsste für jede dadurch auftretende Kombination ein Energiemodus für die Maschine definiert werden, was wiederum einen hohen Konfigurationsaufwand zur Folge hätte.
Applikationen mit modularer Architektur
Die objektorientierte Architektur verbindet die Vorteile eines zentralen Energiemanagements beziehungsweise einer zentralen Vorgabe-Schnittstelle für die ganze Maschine mit denen der dezentralen Verwendung von Kommunikationsbausteinen für die Feldbusprofile. Die Device-Bausteine lassen sich in den Software-Modulen der Applikation instanziieren und bei der zentralen Instanz des EnergyControl-Bausteins anmelden. Dadurch wird das Energiemanagement bei der Initialisierung des Programms auf der Steuerung „verknüpft“.
Durch Verwendung der Funktionsbausteine in den Applikations-Modulen unterstützt das objektorientierte Energiemanagement die Freiheitsgrade der modularen Programmierung.
© Bosch RexrothDie Kommunikation zwischen den Bausteinen erfolgt über Methoden und Properties „unter dem Blech“, das heißt ohne weiteres Verschalten des Anwenders. Dadurch sind keine Erweiterungen der Schnittstellen zwischen dem zentralen Applikationsteil und den Modulen notwendig. Alternativ zum objektorientierten Ansatz wären beispielsweise große, unübersichtliche Strukturen notwendig, die an alle beteiligten FB angeschlossen werden müssten. Aber auch diese Verbindungen müssten vom Anwender bei einer Änderung der Module am zentralen Baustein nachgepflegt werden. Das objektorientierte Energiemanagement hingegen ist auch mit minimalen Änderungen an bestehenden Applikationen nachrüstbar, da die vorhandenen Schnittstellen zwischen zentraler Organisation der Applikation und den Modulen nicht erweitert werden müssen.
Mehrere Verbraucher gleichzeitig abschalten
Gilt es, einzelne Module oder Gruppen von Verbrauchern gleichzeitig abzuschalten, so lassen sich durch Kaskadierung von EnergyControl-Bausteinen Gruppen bilden. Die untergeordneten Bausteine werden hierzu beim übergeordneten Baustein als Device angemeldet. Der hierarchisch höchste EnergyControl-Baustein übernimmt dabei die Verwaltung der Maschinen-Energiemodi. Der Vorteil bei der Kaskadierung der Bausteine liegt darin, dass Gruppen von Verbrauchern über einzelne Command-Bausteine geschaltet werden können. Ohne Kaskadierung müsste für jeden Verbraucher der zu schaltenden Gruppe ein Command-Baustein instanziiert und angesteuert werden.
Mittels der Kaskadierung lassen sich sehr einfach hierarchische Strukturen bilden. Auf diese Weise sind die Maschinen-Module einzeln abschaltbar.
© Bosch RexrothDie hierarchischen Strukturen ermöglichen für Maschinen mit mehreren Steuerungen ebenso steuerungsübergreifende Lösungen. Hierbei wird die Maschine von einer Master-Steuerung mit Anbindung an HMI und MES verwaltet. Die anderen Steuerungen der Maschine sind dann die untergeordneten Slave-Steuerungen.
Auf der Master-Steuerung befindet sich ein EnergyControl-Baustein für die Maschine. An diesem werden Kommunikations-Funktionsbausteine als Devices angemeldet. Auf den Slave-Steuerungen werden ebenfalls Kommunikations-Funktionsbausteine instanziiert, bei denen wiederum jeweils ein EnergyControl-Baustein als Device angemeldet wird.
Die Kommunikations-Funktionsbausteine bedienen die Interfaces des EnergyControl-Bausteins und verbinden diese über eine Feldbus-Verbindung zwischen den Steuerungen. Hierdurch ergibt sich ein modularisiertes Energiemanagement mit einem übergeordneten EnergyControl-Baustein auf der Master-Steuerung und untergeordneten EnergyControl-Bausteinen auf den Slave-Steuerungen. Dies entspricht von der Funktionsweise einer Kaskadierung des Energiemanagements – hinzu kommen lediglich die Kommunikations-Funktionsbausteinen.
Da die Schnittstellen zwischen den Funktionsbausteinen von der Unterklasse des Funktionsbausteins unabhängig sind, ist es auf einfache Weise machbar, zum Beispiel unterschiedliche Device-Bausteine für die verschiedenen Feldbusprofile oder Verbraucher ohne Feldbusprofil zu erstellen. Dieses modulare, skalierbare und erweiterbare „Baukastenprinzip“ ermöglicht eine hohe Kompatibilität bei Änderungen und damit auch eine hohe Flexibilität bei Weiterentwicklungen. Anders bei einem zentralen FB, der das gesamte Energiemanagement beinhaltet: Hier führt eine inkompatible Erweiterung/Änderung der Anwenderschnittstellen stets zu einer neuen Version des gesamten Energiemanagements.
Durch Kommunikations-Funktionsbausteine können die hierarchischen Strukturen des Energiemanagements steuerungsübergreifend genutzt und somit auch hierarchische Steuerungsstrukturen entsprechend abgebildet werden.
© Bosch RexrothDie Anbindung der Verbraucher an das Energiemanagement erfolgt über die Feldbusprofile, sofern diese implementiert sind. Dazu ist am Funktionsbaustein lediglich die Busadresse des Verbrauchers anzugeben. Um ein von der Applikation ungewolltes Abschalten des Verbrauchers durch das Energiemanagement in bestimmten Betriebszuständen unterbinden zu können, ist eine Freigabe des Device-Bausteins vorgesehen. Für Verbraucher, welche kein Energie-Feldbusprofil unterstützen, sind generische Device-Bausteine angedacht. Die Anbindung ist in diesem Falle vom Anwender in der Applikation zu implementieren.
Der Status des Verbrauchers muss schließlich von der Maschinenapplikation an den Device-Baustein zurückgegeben werden, um die Umsetzung der Vorgaben auswerten und am Command-Baustein anzeigen zu können. Eine Freigabe für den Device-Baustein aus der Maschinenapplikation ist nicht notwendig, da das Schalten der Verbraucher dem Anwender obliegt.
Zusammengefasst: Das objektorientierte Energiemanagement ermöglicht zentrale Vorgaben von HMI und MES/Leitsystem für die ganze Maschine. Gleichzeitig ist die Anbindung der Verbraucher in modularen Applikationsarchitekturen verteilbar. Und durch die Verwendung von Interfaces, die die Funktionsbausteine implementieren, lassen sich problemlos neue Funktionsbausteine – etwa für neue Feldbusprofile oder spezielle Verbraucher – implementieren.
Autoren: Henning Osterfeld arbeitet im Bereich Entwicklung bei Bosch Rexroth, Dr. Stephan Schultze arbeitet im Bereich Entwicklung bei Bosch Rexroth.
SPS IPC Drives
Der Kongress
Vertiefende Informationen zum Thema liefern die Autoren im Rahmen des begleitenden Kongresses zur Fachmesse SPS IPC Drives (26. bis 28. November) in Nürnberg. Der Vortrag ist Teil der Session 7a „Energieeffizienz“ und findet am dritten Messetag um 9:30 Uhr statt. Das vollständige Kongressprogramm steht auf der Website www.mesago.de/sps zum Download zur Verfügung.














