Methoden zur Modellbildung und Simulation mechatronischer Systeme: Bondgraphen, objektorientierte Modellierungstechniken und numerische Integrationsverfahren [1. Aufl. 2019] 978-3-658-25088-1, 978-3-658-25089-8

Das Buch beschreibt verschiedene Methoden zur Modellierung mechatronischer Systeme. Zur Durchführung eines modellbasiert

1,360 160 15MB

German Pages XXIII, 643 [660] Year 2019

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Methoden zur Modellbildung und Simulation mechatronischer Systeme: Bondgraphen, objektorientierte Modellierungstechniken und numerische Integrationsverfahren [1. Aufl. 2019]
 978-3-658-25088-1, 978-3-658-25089-8

Table of contents :
Front Matter ....Pages I-XXIII
Grundlegendes (Thomas Lienhard Schmitt, Markus Andres)....Pages 1-31
Einführung in die Zustandsraumdarstellung (Thomas Lienhard Schmitt, Markus Andres)....Pages 33-53
Modellbildung: Ein iterativer Prozess (Thomas Lienhard Schmitt, Markus Andres)....Pages 55-74
Signalflussorientierte Modellbildung: Blockschaltbilder (Thomas Lienhard Schmitt, Markus Andres)....Pages 75-112
Die Theorie der Bondgraphen (Thomas Lienhard Schmitt, Markus Andres)....Pages 113-279
Einführung in die objektorientierte Modellierung (Thomas Lienhard Schmitt, Markus Andres)....Pages 281-401
Modelica (Thomas Lienhard Schmitt, Markus Andres)....Pages 403-492
Simulation und numerische Integrationsverfahren (Thomas Lienhard Schmitt, Markus Andres)....Pages 493-618
Back Matter ....Pages 619-643

Citation preview

Thomas Lienhard Schmitt Markus Andres

Methoden zur Modellbildung und Simulation mechatronischer Systeme Bondgraphen, objektorientierte Modellierungstechniken und numerische Integrationsverfahren

Methoden zur Modellbildung und Simulation mechatronischer Systeme

Thomas Lienhard Schmitt • Markus Andres

Methoden zur Modellbildung und Simulation mechatronischer Systeme Bondgraphen, objektorientierte Modellierungstechniken und numerische Integrationsverfahren

Thomas Lienhard Schmitt Dornbirn, Austria

Markus Andres Bregenz, Austria

ISBN 978-3-658-25088-1 ISBN 978-3-658-25089-8 (eBook) https://doi.org/10.1007/978-3-658-25089-8 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Springer Vieweg © Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von allgemein beschreibenden Bezeichnungen, Marken, Unternehmensnamen etc. in diesem Werk bedeutet nicht, dass diese frei durch jedermann benutzt werden dürfen. Die Berechtigung zur Benutzung unterliegt, auch ohne gesonderten Hinweis hierzu, den Regeln des Markenrechts. Die Rechte des jeweiligen Zeicheninhabers sind zu beachten. Der Verlag, die Autoren und die Herausgeber gehen davon aus, dass die Angaben und Informationen in diesem Werk zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag, noch die Autoren oder die Herausgeber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige Fehler oder Äußerungen. Der Verlag bleibt im Hinblick auf geografische Zuordnungen und Gebietsbezeichnungen in veröffentlichten Karten und Institutionsadressen neutral. Springer Vieweg ist ein Imprint der eingetragenen Gesellschaft Springer Fachmedien Wiesbaden GmbH und ist ein Teil von Springer Nature. Die Anschrift der Gesellschaft ist: Abraham-Lincoln-Str. 46, 65189 Wiesbaden, Germany

Vorwort Der Grundstein für das vorliegende Buch wurde während unserer Tätigkeit als wissenschaftliche Mitarbeiter im Department of Engineering (DoE) an der Fachhochschule Vorarlberg im Zeitraum Oktober 2009 bis September 2011 gelegt. Trotz zahlreicher Überarbeitungen und Erweiterungen ist der Kerninhalt bis in die aktuelle Version im Wesentlichen unverändert: Modellbildung mittels Bondgraphen, objektorientierte Modellierung sowie das Themengebiet numerische Integrationsverfahren (Simulation dynamischer Systeme). Alle drei Themengebiete werden aktuell an der Fachhochschule Vorarlberg, auf Basis dieses Buches, unterrichtet. In unserem Berufsalltag als Ingenieure mussten wir feststellen, dass sich bisher weder die Bondgraphen-Methodik noch die objektorientierte Modellierung durchsetzen konnten. Etabliert hat sich hingegen die aus der Regelungstechnik bekannte signalflussorientierte Modellierung (Blockschaltbilder). Ändern sich weder Struktur noch Komplexität eines Systems, spielt es lediglich eine untergeordnete Rolle, in welcher Form das Modell vorliegt. Soll hingegen ein modellbasierter Systementwurf durchgeführt werden – das Modell mehrere Male modifiziert werden – so sind Bondgraphen sowie die objektorientierte Modellierung geeignetere Methoden. Zur selben Zeit gaben wir mehrtägige Schulungen zum Thema objektorientierte Modellierung. Zudem bestritten wir Projekte zur Auslegung elektrischer Antriebe in Kooperation mit diversen deutschen Automobilherstellern. Folglich war es stets unsere Intention, die Vorteile der objektorientierten- im Vergleich zur signalflussorientierten Modellierung anhand weniger Sätze aufzuzeigen. Resümee dieses Anliegens: Ingenieure und Wissenschaftler überzeugt man nicht mit aneinandergereihten Phrasen, sondern ausschließlich durch einen Vergleich der Methoden anhand aussagekräftiger Beispiele. Diese lassen sich entweder sehr kompakt darstellen, was dem fundamentalen Verständnis schadet, oder aber man wird deutlich ausführlicher, was mit einem zeitlichen Mehraufwand einhergeht. Diesem Umstand ist es geschuldet, dass wir uns dazu entschlossen, aus dem Manuskript Modellbildung und Simulation mechatronischer Systeme ein Buch mit dem Titel “Methoden zur“ Modellbildung und Simulation mechatronischer Systeme zu verfassen. Parallel zur Behandlung der unterschiedlichen Methoden zur Modellbildung

VI

Vorwort

mechatronischer Systeme, sollen diese anhand eines konkreten Beispiels zum modellbasierten Systementwurf einander gegenübergestellt werden. Somit besteht für den Leser neben dem Erlernen der Grundlagen der einzelnen Methoden gleichzeitig die Möglichkeit, diese anhand eines einheitlichen Beispiels miteinander zu vergleichen. Das vorliegende Buch nutzt die Theorie der Bondgraphen ferner als didaktisches Instrument, um zu zeigen, dass physikalische Systeme, wie etwa elektrische, mechanische, hydraulische oder thermodynamische Systeme, anhand derselben Gleichungen zur Modellierung der grundlegenden Elemente beschrieben werden können. Dadurch wird ein tiefer Einblick in die komplexen Zusammenhänge mechatronischer Systeme gewährleistet. Die objektorientierte Modellierung wird Schritt für Schritt erläutert und basierend auf praxisrelevanten Beispielen anhand der Modellierungssprache Modelica beschrieben. Dadurch soll der Leser in die Lage versetzt werden, eigene Simulationsbibliotheken zu erstellen oder ggf. bestehende zu modifizieren. Da die Objektorientierung an sich nicht alle Notwendigkeiten bei der Modellierung mechatronischer Systeme abdeckt, wird zusätzlich auf einige ausgewählte Funktionalitäten von Modelica eingegangen. Um die daraus entstehenden Gleichungssysteme für den Löser (engl. solver) interpretierbar zu machen, bedarf es einer Vorverarbeitung dieser. Auch hierzu wird ein Eindruck vermittelt, um die dadurch entstehenden Eigenschaften dieser Modellierungsart verstehen zu können. Zum Abschluss tauchen wir in das Gebiet der angewandten Mathematik ein und behandeln das Themengebiet numerische Integrationsverfahren. Sobald Simulationsergebnisse detailliert interpretiert werden müssen, ist ein solides Grundwissen zum Thema Simulation oft von großem Nutzen. Obwohl zu diesem Thema sehr detaillierte Literatur vorhanden ist, erschwert die oft sehr mathematische Formulierung den Zugang für viele Ingenieure. Zusätzlich liegt der Fokus oft nicht auf den in der Ingenieurspraxis relevanten Aspekten. In diesem Buch versuchen wir die für die Ingenieurspraxis wichtigen Elemente verstärkt einzubringen. Trotz einer großen Überlappung unserer Interessen sowie dem gemeinsamen Erarbeiten der Kapitelinhalte haben wir uns dazu entschlossen, die Verantwortlichkeiten der einzelnen Kapitel wie folgt zu unterteilen: Thomas Schmitt: Fokus in erster Linie auf Bondgraphen und den dafür nötigen Voraussetzungen. Dies entspricht grob den Kapiteln 1 bis 5, sowie Teilen von Kapitel 8 (numerische Integrationsverfahren). Markus Andres: Fokus auf die Objektorientierung (Kapitel 6) über Modelica (Kapitel 7), sowie den nötigen Grundlagen numerischer Integrationsverfahren

Vorwort

VII

(Kapitel 8). Zu allen diesen Kapiteln stehen entsprechende Foliensätze in englischer Sprache zur Verfügung, die bei Interesse bei den Autoren direkt angefragt werden können1 .

Die Kapitel im Überblick Das erste Kapitel Grundlegendes des Buchs soll den Leser in das Thema Modellbildung und Simulation einführen. Dazu werden zuerst einige Begriffe definiert. Anschließend werden verschiedene Wege vorgestellt, um mathematische Modelle physikalischer Systeme zu erstellen. Danach werden wichtige Modelleigenschaften, sowie der Detaillierungsgrad von Modellen vorgestellt. Nachdem die gängigsten Methoden zur Modellparametrierung vorgestellt wurden, wird im letzten Abschnitt der Grundgedanke numerischer Integrationsverfahren vermittelt. Im zweiten Kapitel Einführung in die Zustandsraumdarstellung wird ein einfaches elektrisches System mittels Differentialgleichungen beschrieben. Anschließend wird gezeigt, wie die systembeschreibenden Gleichungen in die Zustandsraumdarstellung überführt werden können. Abschließend werden die Gleichungen der Zustandsraumdarstellung (engl. state-space representation) interpretiert. Ferner wird gezeigt, wo sich die Schnittstellen zwischen dem Modell (Zustandsraumdarstellung) und der Simulation (numerisches Integrationsverfahren) befinden. Zum Abschluss wird gezeigt, wie die Zustandsgleichung analytisch gelöst werden kann. Im dritten Kapitel Modellbildung: Ein iterativer Prozess wird die Erstellung von mathematischen Modellen physikalischer Systeme mittels Gleichungen und Differentialgleichungen (auch differentialalgebraische Gleichungen, kurz DAEs) beschrieben. Die Schritte zur Erstellung des Gleichungssystems werden anhand eines konkreten Beispiels erläutert. Nachdem das mathematische Modell erstellt wurde, wird gezeigt, wie man auf verschiedenen Wegen zu einem Simulationsergebnis gelangt. Dazu muss das mathematische Modell in eine entsprechende Form gebracht werden. Der gängigste Weg ist die Erstellung eines Blockschaltbilds, welches direkt aus den DAEs abgeleitet wird. Des Weiteren wird gezeigt, wie man von den DAEs sehr strukturiert zur Zustandsraumdarstellung gelangt. Basierend auf der Zustandsraumdarstellung wird abschließend eine Übertragungsfunktion (engl. transfer function) des physikalischen Systems erstellt und mit Hilfe von MATLAB simuliert. Im Anschluss werden die im Buch behandelten Methoden zur Modellbildung und Simulation mechatronischer Systeme vorgestellt. 1 Anfragen

per Mail an [email protected] bzw. [email protected]

VIII

Vorwort

Im vierten Kapitel Signalflussorientierte Modellbildung: Blockschaltbilder wird die nach wie vor am häufigsten eingesetzte Modellierungstechnik vorgestellt. Anhand eines Beispiels wird gezeigt, dass sich bei der Modifikation eines bestehenden Blockschaltbilds, wie dies beim modellbasierten Systementwurf der Fall ist, häufig Fehler einschleichen. Dies wird anhand mehrerer Modifikationen eines bestehenden Blockschaltbilds demonstriert. Vor allem wird erläutert, warum die gezeigten Fehler passieren und wie diese vermieden werden können. In einer abschließenden Diskussion wird für die im Buch behandelten alternativen Methoden Bondgraphen und objektorientierte Modellierung motiviert. Im fünften Kapitel Die Theorie der Bondgraphen werden zu Beginn die grundlegenden Zusammenhänge mechatronischer Systeme (elektrische, mechanische, hydraulische und thermodynamische Domäne) erläutert. Der Abschnitt soll die Ähnlichkeiten dieser Domänen verdeutlichen und dient zugleich als eine Vorbereitung für die im folgenden Abschnitt vorgestellte Theorie der Bondgraphen (engl. bond graphs). Diese alternative Modellierungstechnik beruht auf der Energieerhaltung geschlossener physikalischer Systeme und modelliert dessen Energieflüsse grafisch. Um das Beispiel des ersten Abschnitts via Bondgraphen modellieren zu können, werden die wichtigsten Bondgraph-Elemente vorgestellt. Anhand des komponentenbasierten Modellierungsansatzes wird gezeigt, wie sich Bondgraphen sehr strukturiert erstellen lassen. Anschließend wird gezeigt, wie man mit Hilfe der Bondgraphen zur Zustandsraumdarstellung bzw. zum Blockschaltbild gelangt. Dazu müssen die Bondgraphen kausalisiert werden. Im darauffolgenden Abschnitt werden weitere wichtige Elemente zur irreversiblen sowie zur reversiblen Energieumwandlung behandelt. Im nächsten Schritt werden sogenannte kausale Pfade vorgestellt. Beim Kausalisieren treten häufig Konflikte, wie etwa algebraischen Schleifen, auf. Es wird gezeigt, wie Konflikte in Bondgraphen erkannt und behoben werden können. Im Anschluss wird der im vierten Kapitel Signalflussorientierte Modellbildung: Blockschaltbilder vorgestellte modellbasierte Systementwurf eines Feder-Masse-Dämpfer Systems anhand von Bondgraphen durchgeführt. Die Vorteile der BondgraphenMethode gegenüber der signalflussorientierten Modellierung treten dabei klar zum Vorschein. Abschließend werden nichtlineare Bondgraphen, die irreversible Thermodynamik sowie zweidimensionale mechanische Systeme behandelt. Basierend auf den Beispielen, die hier gezeigt werden, wird für die objektorientierte Modellierung, die im darauffolgenden Kapitel behandelt wird, motiviert. Im sechsten Teil Einführung in die objektorientierte Modellierung werden zu Beginn die Voraussetzungen für den Aufbau von Modellen auf einer objektorientierten Basis diskutiert. Diese beinhalten die Beschreibung über echte Gleichungen, also die akausale Modellierung, sowie die Unterteilung in Teilmodelle, also die komponentenbasierte Modellierung. Dabei wird das schon über Blockschaltbilder und Bondgraphen modellierte System, sowohl basierend auf

Vorwort

IX

Gleichungen, als auch auf Komponenten umgesetzt. Es soll dadurch klar werden, welche Unterschiede sich aus der Wahl der Methode der Modellierung für den Anwender ergeben. Abschließend wird die objektorientierte- als Erweiterung der komponentenbasierten Modellierung vorgestellt. Es wird dabei nicht versucht eine vollständige Auflistung aller Möglichkeiten dieser Modellierungsform zu geben. Eher sollen die notwendigen Werkzeuge zur Verfügung gestellt werden, um mit der Erstellung eigener Simulationsbibliotheken beginnen zu können. Eine Notwendigkeit, die sich aus der objektorientierten Modellierung ergibt, ist die sogenannte symbolische Vorverarbeitung (engl. symbolic pre-processing). Die Schritte, die bei einer symbolischen Vorverarbeitung nötig sind, und die damit verbundenen Probleme, werden hier im Detail diskutiert und anhand von Beispielen veranschaulicht. Im siebten Abschnitt Modelica sollen (in Kombination mit dem Abschnitt Einführung in die objektorientierte Modellierung) die notwendigen Werkzeuge zur Verfügung gestellt werden, um fortgeschrittene Modelle z. B. mit Diskontinuitäten erstellen zu können. Dies wird basierend auf der Simulationsumgebung Dymola umgesetzt. Wiederum soll dabei keine vollumfängliche Auflistung der Features der Modellierungssprache Modelica gegeben werden. Diese ist z. B. mit [Fri15] oder direkt in der Spezifikation der Sprache Modelica [Ass14] zu finden. Ziel ist es, zuerst einen Überblick über die zentralen Funktionalitäten von Modelica zu geben. So werden etwa die Beschreibung von Diskontinuitäten oder die Initialisierung etwas genauer beleuchtet. Anschließend wird – soweit allgemein möglich – auf die Fehlersuche und Performancesteigerung eingegangen. Diese ist aufgrund der akausalen Natur der Modelle oft mit einer Eingewöhnungszeit verbunden. Abschließend werden Teile der Modelica Standard Library (MSL) vorgestellt. Dies soll einen Eindruck vermitteln, was mit Modelica umgesetzt werden kann und was durch vorgefertigte Modelle ermöglicht wird. Das achte und letzte Kapitel Simulation und numerische Integrationsverfahren befasst sich mit der Simulation physikalischer Systeme und basiert stark auf [CK06]. Es wird dabei versucht den Inhalt noch etwas stärker fokussiert auf die Ingenieurspraxis zu beziehen. Es wird anhand einfacher Solver wie z.B. dem sogenannten Euler-Verfahren erklärt, wie physikalische Systeme auf digitalen Rechnern simuliert werden. Anschließend werden explizite Runge-Kutta-Verfahren und deren Herleitung beleuchtet. Für implizite Runge-Kutta-Verfahren wird eine oberflächliche Diskussion durchgeführt. Basierend auf diesen Grundlagen wird über die numerische Stabilität von Solvern diskutiert. Im Weiteren werden verschiedene gängige Mehrschrittverfahren hergeleitet und deren fundamentale Eigenschaften diskutiert. Anschließend werden Fehlerquellen in Modellen und Solvern diskutiert, um diese für die Argumentation bei der Auswahl von Solvern heranziehen zu können. Ein Punkt von zentraler Wichtigkeit in der Modellierung physikalischer Systeme sind die Erweiterungen der Solver, wobei die Schritt-

Vorwort

X

weitensteuerung sowie die Abarbeitung von Unstetigkeiten die Wichtigsten darstellen. Aus all diesen Grundlagen werden Faustregeln für die Wahl von Solvern abgeleitet. Um einen noch stärkeren Bezug zur Praxis herzustellen, wird eine typische Ausgabe des Dymola Standard-Solvers interpretiert. Die zuvor vorgestellte Theorie soll vor allem dazu dienen, diese Faustregeln nicht nur anzuwenden, sondern deren Hintergrund verstehen zu können. Abschließend werden die Themen Echtzeitsimulation, Inline Integration und Quantized State Simulation oberflächlich vorgestellt.

Wie ist dieses Buch zu lesen? Im Folgenden werden drei Möglichkeiten, wie dieses Buch zu lesen ist, vorgeschlagen: • Selbststudium des gesamten Buchs: Abbildung (a). • Selbststudium mit Fokus auf die Methoden der Modellbildung mechatronischer Systeme: Abbildung (b) • Selbststudium mit Fokus auf Simulation und numerische Integrationsverfahren: Abbildung (c). Die Kapitel Grundlegendes und Einführung in die Zustandsraumdarstellung vermitteln das nötige Grundwissen. Nach diesen Kapiteln wird in Modellbildung: Ein iterativer Prozess eine typische Vorgehensweise bei der Modellerstellung vorgestellt. Danach werden drei Methoden zur Modellbildung mechatronischer Systeme vorgestellt, die je nach Interesse studiert werden können. Zum Schluss wird auf das Thema Simulation und numerische Integrationsverfahren eingegangen und gezeigt, wie analytische Lösungen numerisch approximiert werden können. Natürlich können auch alle Kapitel in der vorgegebenen Reihenfolge gelesen werden, was viele Synergien zwischen den beschriebenen Techniken erkennbar werden lässt.

Vorwort

XI

(1) Grundlegendes

(2) Einführung in die Zustandsraumdarstellung

(3) Modellbildung: Ein iterativer Prozess

(4) Signalflussorientierte Modellierung: Blockschaltbilder

(5) Die Theorie der Bondgraphen

(6) Objektorientierte Modellierung

(7) Modelica

(8) Simulation und numerische Integrationsverfahren

(a) Selbststudium des gesamten Buchs

Vorwort

XII

(2) Einführung in die Zustandsraumdarstellung

(3) Modellbildung: Ein iterativer Prozess

(4) Signalflussorientierte Modellierung: Blockschaltbilder

(6) Objektorientierte Modellierung

(5) Die Theorie der Bondgraphen

(7) Modelica

(b) Selbststudium mit Fokus auf die Methoden der Modellbildung mechatronischer Systeme, wobei die Kapitel (2) Zustandsraumdarstellung und (7) Modelica optional sind (2) Einführung in die Zustandsraumdarstellung

(8) Simulation und numerische Integrationsverfahren

(c) Selbststudium mit Fokus die Simulation, wobei das Kapitel (2) Zustandsraumdarstellung das Vorwissen bildet

Danksagung Unser Interesse an dem Thema Mathematische Modellierung und Simulation physikalischer Systeme wurde bereits im Grundstudium im Jahr 2005 geweckt. Dipl.-Ing. Dr. Peter Pichler führte uns mit einer unglaublichen Begeisterung in die Welt der gewöhnlichen Differentialgleichungen ein. In der Physikvorlesung von Dipl.-Ing. Dr. Stefan Mohr wurde dieses Wissen angewandt, um einfache Feder-Masse-Dämpfer Systeme zu modellieren. Im Jahr 2006 während eines Auslandssemesters an der Universität in Linköping/Schweden (LiU) erlernten wir in der Vorlesung Modeling and Simulation – welche von Dr. Måns Östring gehalten wurde und auf dem Buch [LG94] basiert – die Grundlagen der Modellbildung im Speziellen mittels Bondgraphen und Systemidentifikation. Nach Abschluss des Bachelorstudiums der Mechatronik an der Fachhochschule Vorarlberg im Jahr 2007 folgte das Masterstudium mit weiteren geplanten Vertiefungen im Bereich Modellbildung und Simulation. Im dritten Semester besuchten wir die Vorlesung Mathematical Modeling of Physical Systems von Prof. Dr. François E. Cellier vom Department of Computer Science an der ETH-Zürich. Anschließend verfassten wir unsere Masterarbeiten in Zusammenarbeit mit Prof. Dr. François E. Cellier und Dr. Dirk Zimmer (der damals bei Prof. Cellier seine Dissertation [Zim10] verfasste und unterdessen beim Deutschen Zentrum für Luft- und Raumfahrt, kurz DLR sowie an der TU-München tätig ist). Während unserer Tätigkeit als wissenschaftliche Mitarbeiter besuchten wir die Vorlesung Numerical Simulation of Dynamic Systems von Prof. Dr. François E. Cellier an der ETH-Zürich. Basierend auf diesem Wissen, vor allem jedoch aufgrund der Inspiration und der Leidenschaft der Personen, die zu diesem Wissen beigetragen haben, wurde der Grundstein für das vorliegende Buch gelegt. Dafür möchten wir uns im Speziellen bei folgenden Personen bedanken: Ein besonderer Dank gilt dabei Prof. em. Dr. François E. Cellier und dem Studiengangsleiter des Studiengangs Mechatronik Dipl.-Ing. Dr. Johannes Steinschaden. Ein zusätzliches Dankeschön an Prof. em. Dr. François E. Cellier dafür, dass er uns bis ins Jahr 2017 als Gastdozent an der Fachhochschule Vorarlberg besuchte, um unsere Studenten mit seinem Wissen zu bereichern.

XIV

Danksagung

Herzlichen Dank an Dipl.-Ing. Dr. Peter Pichler und Dipl.-Ing. Dr. Stefan Mohr für Euer Engagement, vor allem aber für Eure Leidenschaft mit der ihr uns sprichwörtlich angesteckt habt. Vielen Dank an Dr. Måns Östring für die großartige Vorlesung und die Leidenschaft beim Unterrichten. Weiters möchten wir uns bei Dr. Dirk Zimmer für die fruchtbaren Diskussionen während unserer Tätigkeit als wissenschaftliche Mitarbeiter bedanken. Auch ihm gilt ein zusätzliches Dankeschön dafür, dass er uns nach wie vor als Gastdozent an der Fachhochschule Vorarlberg zur Verfügung steht und unsere Studenten jedes Mal durch seine Fähigkeiten beeindruckt. Weiters bedanken wir uns bei Dr. Alexandra Mehlhase für die gute Zusammenarbeit, die Gastvorträge zum Inhalt ihrer Dissertation [Meh15] an der Fachhochschule Vorarlberg und die wertvollen Diskussionen während ihres Doktoratsstudiums an der TU-Berlin. Ein besonderer Dank an Dipl.-Ing. Dr. Franz Geiger und Dipl.-Ing. Dr. Reinhard Schneider, die uns nicht nur während des Studiums sehr viel beigebracht haben, sondern uns auch während unserer Zeit als wissenschaftliche Mitarbeiter sowie während eines Forschungsprojekts noch mit ihrem Wissen bereichert haben. Vielen Dank an den Leiter des Department of Engineering (DoE) der Fachhochschule Vorarlberg, Dipl.-Ing. Horatiu Pilsan, für den Freiraum vor allem aber für die Möglichkeit, während unserer Zeit als wissenschaftliche Mitarbeiter, so viel Zeit in die Entwicklung des Manuskripts sowie den dazugehörigen Vorlesungen zu investieren. Vielen Dank an den ehemaligen Geschäftsführer der Firma Modelon GmbH, Dipl.-Ing. (FH) Johannes Gerl für den unglaublichen „Spirit“ der dieser Firma zugrunde lag und für die feste Überzeugung daran, dass es möglich ist, die Vorteile der objektorientierten Modellierung anhand weniger Sätze zu vermitteln. Vielen Dank an Dipl.-Ing. Stephan Diehl, Dipl.-Tech. Math. Stephan Ziegler und Marco Keßler MSc., für die wundervolle Zusammenarbeit und die zahlreichen fruchtbaren Diskussionen die sich in Form mehrere Publikationen niederschlugen. Marco Keßler MSc. gebührt ein zusätzliches Dankeschön für die Mitentwicklung und das Mitwirken als Dozent unserer Vorlesungen, welche auch einige Inhalte dieses Buchs umfasst. Ein weiteres Dankeschön gebührt unseren ehemaligen hervorragenden Studenten, Walter Roland Schierl MSc., René Mathis MSc., Roman Passler MSc. und Moritz Stüber MSc. sowie unserem Kollegen Hannes Martin Wachter MSc. für das Korrekturlesen einiger Kapitel. Euer Engagement schätzen wir über die Maßen.

Danksagung

XV

Außerdem bedanken wir uns ganz herzlich bei Andrea Broßler und Dipl.-Ing. Reinhard Dapper vom Springer-Vieweg Verlag für die kompetente Unterstützung und Beratung während der Fertigstellung des Buchs. Zum Schluss möchten wir uns von ganzem Herzen bei unseren wundervollen Familien bedanken, vor allem aber bei unseren Lebenspartnerinnen Mag.a Sandra Amort und Katrin Eberhard.

Inhaltsverzeichnis 1. Grundlegendes 1.1. Was ist ein System? . . . . . . . . . . . . . . . . . . . . . . . 1.2. Was ist ein Experiment? . . . . . . . . . . . . . . . . . . . . . 1.3. Modellbildung: Warum? . . . . . . . . . . . . . . . . . . . . . 1.4. Wege der Modellbildung . . . . . . . . . . . . . . . . . . . . . 1.4.1. Physikalische Modellbildung: White-Box Modell . . . 1.4.2. Systemidentifikation: Black-Box Modell . . . . . . . . 1.4.3. Semi-empirische Modelle . . . . . . . . . . . . . . . . . 1.4.4. Überblick . . . . . . . . . . . . . . . . . . . . . . . . . 1.5. Modelleigenschaften . . . . . . . . . . . . . . . . . . . . . . . 1.5.1. Statische und dynamische Modelle . . . . . . . . . . . 1.5.2. Kontinuierliche und diskrete Modelle . . . . . . . . . . 1.5.3. Modelle mit Unstetigkeiten . . . . . . . . . . . . . . . 1.5.4. Modelle mit konzentrierten und verteilten Parametern 1.5.5. Linearisierung nichtlinearer Modelle . . . . . . . . . . 1.5.6. Zeitvariante und zeitinvariante Modelle . . . . . . . . 1.5.7. Deterministische und stochastische Modelle . . . . . . 1.5.8. Stabile, instabile und grenzstabile Modelle . . . . . . . 1.5.9. Steife Modelle . . . . . . . . . . . . . . . . . . . . . . . 1.5.10. Modelleigenschaften die im Buch behandelt werden . . 1.6. Detaillierungsgrad von Modellen . . . . . . . . . . . . . . . . 1.7. Modellparametrierung . . . . . . . . . . . . . . . . . . . . . . 1.7.1. Parameterextraktion aus dem Herstellerdatenblatt . . 1.7.2. Berechnen von Parametern . . . . . . . . . . . . . . . 1.7.3. Messtechnische Ermittlung von Parametern . . . . . . 1.7.4. Parameterschätzung . . . . . . . . . . . . . . . . . . . 1.7.5. Parametervariation . . . . . . . . . . . . . . . . . . . . 1.7.6. Finite Elemente Methode zur Parametergewinnung . . 1.8. Simulation dynamischer Systeme . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 3 4 5 5 7 7 7 8 8 9 10 11 11 18 18 19 20 20 21 22 23 24 24 25 26 27 28

2. Einführung in die Zustandsraumdarstellung 2.1. Zustandsvariablen . . . . . . . . . . . . . 2.2. Ein einführendes Beispiel . . . . . . . . . 2.3. Zustandsraumdarstellung . . . . . . . . . 2.3.1. Eingrößensysteme (SISO-Systeme)

. . . .

33 34 35 39 40

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

XVIII

Inhaltsverzeichnis

2.3.2. Mehrgrößensysteme (MIMO-Systeme) . . . . . . . . . 2.3.3. Interpretation der Zustandsgleichung . . . . . . . . . . 2.3.4. Interpretation der Ausgangsgleichung . . . . . . . . . 2.3.5. Grafische Interpretation der Zustandsraumdarstellung 2.4. Schnittstelle zur Simulation . . . . . . . . . . . . . . . . . . . 2.5. Analytische Lösung der Zustandsgleichung . . . . . . . . . . . 2.5.1. Autonome skalare Systeme (Homogene Lösung) . . . . 2.5.2. Inhomogene skalare Lösung . . . . . . . . . . . . . . . 2.5.3. Inhomogene Lösung . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

41 43 45 45 46 47 47 51 52

3. Modellbildung: Ein iterativer Prozess 55 3.1. Vorgehensweise bei der Modellerstellung . . . . . . . . . . . . . 55 3.1.1. Abstraktion des realen Systems . . . . . . . . . . . . . . 56 3.1.2. Gleichungssystem erstellen . . . . . . . . . . . . . . . . 57 3.1.3. Gleichungssystem sortieren . . . . . . . . . . . . . . . . 59 3.1.4. Implementierung des Gleichungssystems . . . . . . . . . 61 3.1.5. Numerische Integration: Simulation . . . . . . . . . . . . 67 3.1.6. Verifikation . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.1.7. Modifikation . . . . . . . . . . . . . . . . . . . . . . . . 71 3.2. Methoden zur Modellbildung mechatronischer Systeme . . . . . 71 3.2.1. Signalflussorientierte (kausale) Modellbildung: Blockschaltbilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2.2. Bondgraphen . . . . . . . . . . . . . . . . . . . . . . . . 73 3.2.3. Objektorientierte Modellbildung . . . . . . . . . . . . . 73 4. Signalflussorientierte Modellbildung: Blockschaltbilder 75 4.1. Die Entwicklung der kausalen Modellierung . . . . . . . . . . . 76 4.1.1. Analoge Simulation . . . . . . . . . . . . . . . . . . . . 76 4.1.2. Digitale Simulation . . . . . . . . . . . . . . . . . . . . . 82 4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 85 4.2.1. Initialer Modellentwurf . . . . . . . . . . . . . . . . . . 86 4.2.2. Erste Modifikation des bestehenden Blockschaltbilds . . 93 4.2.3. Erste Modifikation durch Erstellen eines neuen Blockschaltbilds . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.2.4. Zweite Modifikation des bestehenden Blockschaltbilds . 101 4.2.5. Zweite Modifikation durch Erstellen eines neuen Blockschaltbilds . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.2.6. Dritte Modifikation des bestehenden Blockschaltbilds . 108 4.2.7. Dritte Modifikation durch Erstellen eines neuen Blockschaltbilds . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.2.8. Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.2.9. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Inhaltsverzeichnis

XIX

5. Die Theorie der Bondgraphen 113 5.1. Grundlegende Zusammenhänge physikalischer Systeme . . . . . 114 5.1.1. Elektrische Systeme . . . . . . . . . . . . . . . . . . . . 115 5.1.2. Mechanisch-translatorische Systeme . . . . . . . . . . . 117 5.1.3. Mechanisch-rotatorische Systeme . . . . . . . . . . . . . 118 5.1.4. Fluss-Systeme (Hydraulische Systeme) . . . . . . . . . . 119 5.1.5. Thermodynamische Systeme . . . . . . . . . . . . . . . 123 5.1.6. Entwickeln allgemeingültiger Gleichungen . . . . . . . . 124 5.2. Akausale Bondgraphen . . . . . . . . . . . . . . . . . . . . . . . 129 5.2.1. Verlustbehaftete Elemente (R-Element) . . . . . . . . . 131 5.2.2. Energiespeichernde Elemente . . . . . . . . . . . . . . . 132 5.2.3. Aktive Elemente (Quellen) . . . . . . . . . . . . . . . . 135 5.2.4. Verzweigungen . . . . . . . . . . . . . . . . . . . . . . . 135 5.2.5. Vereinfachungen . . . . . . . . . . . . . . . . . . . . . . 138 5.2.6. Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.3. Komponentenbasierter Modellierungsansatz . . . . . . . . . . . 146 5.3.1. Elektrische Systeme . . . . . . . . . . . . . . . . . . . . 147 5.3.2. Intensive und extensive Variablen . . . . . . . . . . . . . 154 5.3.3. Mechanische Systeme . . . . . . . . . . . . . . . . . . . 155 5.4. Kausale Bondgraphen – Kausale Analyse . . . . . . . . . . . . 160 5.4.1. Kausalisierung der Quellen . . . . . . . . . . . . . . . . 164 5.4.2. Kausalisierung der passiven Elemente . . . . . . . . . . 164 5.4.3. Kausalisierung der Verzweigungen . . . . . . . . . . . . 167 5.4.4. Anleitung zur Kausalisierung von Bondgraphen . . . . . 169 5.4.5. Beispiel: Kausalisierung des Bondgraphen einer elektrischen Schaltung . . . . . . . . . . . . . . . . . . . . . . 170 5.4.6. Aufstellen der Gleichungen anhand des Bondgraphen . . 172 5.4.7. Blockschaltbild . . . . . . . . . . . . . . . . . . . . . . . 175 5.5. Weitere Bondgraph-Elemente: Energieumwandlung . . . . . . . 175 5.5.1. Widerstandsquellen . . . . . . . . . . . . . . . . . . . . 176 5.5.2. Transformatoren . . . . . . . . . . . . . . . . . . . . . . 177 5.5.3. Gyratoren . . . . . . . . . . . . . . . . . . . . . . . . . . 179 5.5.4. Beispiel: Permanenterregter Gleichstrommotor . . . . . 180 5.5.5. Beispiel: Mechanisches System . . . . . . . . . . . . . . 184 5.5.6. Beispiele zu hydraulisch-mechanischen Systemen . . . . 188 5.6. Kausale Pfade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 5.6.1. Beispiel: Permanenterregter Gleichstrommotor . . . . . 196 5.7. Das Dualitätsprinzip – Duale Bondgraphen . . . . . . . . . . . 200 5.8. Kausalitätskonflikte in Bondgraphen . . . . . . . . . . . . . . . 201 5.8.1. Einblicke in das Modell mittels kausaler Analyse . . . . 201 5.8.2. Algebraische Schleifen in Bondgraphen . . . . . . . . . . 202 5.8.3. Strukturelle Singularitäten . . . . . . . . . . . . . . . . 209

XX

Inhaltsverzeichnis

5.9. Die vier Grundvariablen der Bondgraphen-Modellierung . . . . 5.10. Sensoren und modulierte Elemente . . . . . . . . . . . . . . . . 5.10.1. Sensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10.2. Modulierte Elemente zur Energieumwandlung . . . . . . 5.10.3. Modulierte Quellen . . . . . . . . . . . . . . . . . . . . . 5.10.4. Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11. Modellbasierter Systementwurf . . . . . . . . . . . . . . . . . . 5.11.1. Initialer Systementwurf . . . . . . . . . . . . . . . . . . 5.11.2. Erste Modifikation . . . . . . . . . . . . . . . . . . . . . 5.11.3. Zweite Modifikation . . . . . . . . . . . . . . . . . . . . 5.11.4. Dritte Modifikation . . . . . . . . . . . . . . . . . . . . 5.12. Nichtlineare Bondgraphen am Beispiel der Gleichstrom-Nebenschlussmaschine . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12.1. Erstellung des Bondgraphen . . . . . . . . . . . . . . . . 5.12.2. Aufstellen der Zustandsgleichungen . . . . . . . . . . . . 5.12.3. Linearisierung . . . . . . . . . . . . . . . . . . . . . . . . 5.13. Irreversible Thermodynamik . . . . . . . . . . . . . . . . . . . . 5.13.1. Wärmeleitung (Konduktion) . . . . . . . . . . . . . . . 5.13.2. Wärmespeicherung . . . . . . . . . . . . . . . . . . . . . 5.13.3. Temperaturabhängigkeit eines elektrischen Widerstands 5.13.4. Beispiel: Thermisches Modell einer permanenterregten Gleichstrommaschine . . . . . . . . . . . . . . . . . . . . 5.14. Zweidimensionale mechanische Systeme . . . . . . . . . . . . . 5.14.1. Das mathematische Pendel . . . . . . . . . . . . . . . . 5.14.2. Das physikalische Pendel . . . . . . . . . . . . . . . . . 5.14.3. Bondgraph des Pendels . . . . . . . . . . . . . . . . . . 5.14.4. Beispiel: Verladebrücke . . . . . . . . . . . . . . . . . . 5.14.5. Beispiel: Doppelpendel . . . . . . . . . . . . . . . . . . . 5.14.6. Resümee . . . . . . . . . . . . . . . . . . . . . . . . . . .

223 225 226 227 229 229 234 235 237 240 242 246 247 249 250 252 253 255 257 258 261 263 264 265 269 276 278

6. Einführung in die objektorientierte Modellierung 281 6.1. Verfügbare Sprachen . . . . . . . . . . . . . . . . . . . . . . . . 281 6.1.1. Modelica . . . . . . . . . . . . . . . . . . . . . . . . . . 282 6.1.2. Simscape . . . . . . . . . . . . . . . . . . . . . . . . . . 284 6.1.3. VHDL-AMS . . . . . . . . . . . . . . . . . . . . . . . . 284 6.1.4. Simscape, VHDL-AMS und Modelica . . . . . . . . . . 287 6.1.5. Modelica und Dymola . . . . . . . . . . . . . . . . . . . 288 6.2. Akausale Modellierung . . . . . . . . . . . . . . . . . . . . . . . 289 6.2.1. Einführung . . . . . . . . . . . . . . . . . . . . . . . . . 289 6.2.2. Initialer Entwurf des Feder-Masse-Dämpfer Systems in Modelica . . . . . . . . . . . . . . . . . . . . . . . . . . 291 6.2.3. Erste Modifikation des Systems . . . . . . . . . . . . . . 294 6.2.4. Zweite Modifikation des Systems . . . . . . . . . . . . . 295

Inhaltsverzeichnis

XXI

6.2.5. Dritte Modifikation des Systems . . . . . . . . . . . . . 6.2.6. Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3. Komponentenbasierte Modellierung . . . . . . . . . . . . . . . . 6.3.1. Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . 6.3.2. Erstellung von komponentenbasierten Modellen . . . . . 6.3.3. Gruppieren von komponentenbasierten Modellen in Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.4. Initialer Entwurf des Feder-Masse-Dämpfer Systems mittels Komponenten . . . . . . . . . . . . . . . . . . . . . 6.3.5. Erste Modifikation des Systems . . . . . . . . . . . . . . 6.3.6. Zweite Modifikation des Systems . . . . . . . . . . . . . 6.3.7. Dritte Modifikation des Systems . . . . . . . . . . . . . 6.3.8. Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4. Objektorientierung in der Modellbildung . . . . . . . . . . . . . 6.4.1. Klassen, Objekte und Schnittstellen . . . . . . . . . . . 6.4.2. Annotations . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.3. Attribute von Variablen . . . . . . . . . . . . . . . . . . 6.4.4. Abstraktion - Abstraction . . . . . . . . . . . . . . . . . 6.4.5. Komposition - Composition . . . . . . . . . . . . . . . . 6.4.6. Hierarchische Modellierung . . . . . . . . . . . . . . . . 6.4.7. Vererbung - Inheritance . . . . . . . . . . . . . . . . . . 6.4.8. Austauschbarkeit - Replaceable/Redeclare . . . . . . . . 6.4.9. Bedienbarkeit über Austauschbarkeit . . . . . . . . . . . 6.4.10. Entwurf und Modifikation des Feder-Masse-Dämpfer Systems über Objekte . . . . . . . . . . . . . . . . . . . . . 6.4.11. Objektorientierte Modellierung und Bondgraphen . . . . 6.4.12. Von objektorientierten Modellen zu einem Simulationsergebnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5. Die symbolische Vorverarbeitung . . . . . . . . . . . . . . . . . 6.5.1. Symbolische Vorverarbeitung: „Index 0“ Systeme . . . . 6.5.2. Algebraische Schleifen: „Index 1“ Systeme . . . . . . . . 6.5.3. Strukturelle Singularitäten: „höhere Index“ Systeme . . 6.5.4. Eine Alternative: Direkte Lösung von impliziten Gleichungssystemen . . . . . . . . . . . . . . . . . . . . . . . 6.5.5. Resümee . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. Modelica 7.1. Modelica Funktionalität . . . . . . . . . . 7.1.1. Vektoren, Matrizen und Schleifen . 7.1.2. Warnungen und Fehler . . . . . . . 7.1.3. Beschreibung von Diskontinuitäten 7.1.4. Initialisierung . . . . . . . . . . . . 7.1.5. Prozeduraler Code . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

296 297 298 299 307 314 316 318 319 319 320 321 322 326 330 335 337 338 343 348 353 370 370 374 379 381 388 394 399 400 403 403 404 410 413 423 428

XXII 7.1.6. Dokumentation von Klassen . . . . . . . . 7.1.7. Dymola Funktionalitäten . . . . . . . . . 7.2. Fehlersuche und Performance . . . . . . . . . . . 7.2.1. Häufige Fehler . . . . . . . . . . . . . . . 7.2.2. Fehlersuche in Modellen . . . . . . . . . . 7.2.3. Modelleigenschaften . . . . . . . . . . . . 7.2.4. Profiling . . . . . . . . . . . . . . . . . . . 7.2.5. Performancesteigerung . . . . . . . . . . . 7.3. Die Modelica Standard Library . . . . . . . . . . 7.3.1. Kausale Blocks . . . . . . . . . . . . . . . 7.3.2. Zustandsgraphen . . . . . . . . . . . . . . 7.3.3. Interfaces mit einzelnen Variablenpaaren . 7.3.4. Interfaces mit mehreren Variablenpaaren . 7.3.5. Fortgeschrittene Schnittstellen . . . . . . 7.3.6. Komponenten die Domänen überbrücken 7.3.7. Erweitern der MSL . . . . . . . . . . . . . 7.3.8. Andere Libraries . . . . . . . . . . . . . . 7.4. Das Functional Mockup Interface . . . . . . . . .

Inhaltsverzeichnis . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

434 435 440 440 454 456 459 464 469 470 473 475 480 482 488 488 491 491

8. Simulation und numerische Integrationsverfahren 8.1. Einleitung und Allgemeines . . . . . . . . . . . . . . . . . . 8.2. Grundlegende Integrationsverfahren . . . . . . . . . . . . . 8.2.1. Vorwärts-Euler oder explizites Euler-Verfahren . . . 8.2.2. Erste Stabilitätsbetrachtungen . . . . . . . . . . . . 8.2.3. Rückwärts-Euler oder implizites Euler-Verfahren . . 8.3. Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . 8.3.1. Heun Algorithmus oder Runge-Kutta 2. Ordnung . . 8.3.2. Allgemeine Herleitung von Runge-Kutta-Verfahren . 8.3.3. Explizite Mittelpunktregel . . . . . . . . . . . . . . . 8.3.4. Runge-Kutta 4. Ordnung - RK4 . . . . . . . . . . . 8.3.5. Runge-Kutta-Verfahren höherer Ordnung . . . . . . 8.4. Implizite Runge-Kutta-Verfahren . . . . . . . . . . . . . . . 8.4.1. Das Butcher Tableau . . . . . . . . . . . . . . . . . . 8.4.2. Radau Algorithmen . . . . . . . . . . . . . . . . . . 8.4.3. Lobatto Algorithmen . . . . . . . . . . . . . . . . . . 8.4.4. Sonderfälle von impliziten Runge-Kutta-Verfahren . 8.5. Stabilität numerischer Lösungsverfahren . . . . . . . . . . . 8.5.1. Der Weg zur Stabilitätsdomäne . . . . . . . . . . . . 8.5.2. Algorithmus zur Bestimmung der Stabilitätsdomäne 8.5.3. Genauigkeit . . . . . . . . . . . . . . . . . . . . . . . 8.5.4. Steife Systeme . . . . . . . . . . . . . . . . . . . . . 8.5.5. Ungedämpfte Systeme . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

493 493 502 502 508 511 527 530 530 532 532 536 537 537 539 540 540 541 541 546 549 552 554

Inhaltsverzeichnis 8.6. Mehrschrittverfahren . . . . . . . . . . . . . . . . . . . 8.6.1. Newton-Gregory Polynome . . . . . . . . . . . 8.6.2. Adams-Bashforth (AB) . . . . . . . . . . . . . 8.6.3. Backward-Difference Formulae (BDF) . . . . . 8.7. Die Annäherung an die Realität . . . . . . . . . . . . . 8.7.1. Fehlerquellen . . . . . . . . . . . . . . . . . . . 8.7.2. Numerikbasierte Fehler . . . . . . . . . . . . . 8.7.3. Allgemeine Fehlerbegriffe . . . . . . . . . . . . 8.7.4. Resümee . . . . . . . . . . . . . . . . . . . . . . 8.8. Erweiterungen numerischer Integrationsverfahren . . . 8.8.1. Schrittweitensteuerung . . . . . . . . . . . . . . 8.8.2. Anpassung der Ordnung . . . . . . . . . . . . . 8.8.3. Das Startup Problem . . . . . . . . . . . . . . 8.8.4. Dense Output . . . . . . . . . . . . . . . . . . . 8.8.5. Unstetigkeiten . . . . . . . . . . . . . . . . . . 8.9. Faustregeln bei der Wahl von Solver und Schrittweite . 8.10. Interpretation von Solverausgaben . . . . . . . . . . . 8.11. Echtzeitsimulation . . . . . . . . . . . . . . . . . . . . 8.11.1. Solvertypen . . . . . . . . . . . . . . . . . . . . 8.11.2. Events . . . . . . . . . . . . . . . . . . . . . . . 8.11.3. Fortgeschrittene Techniken . . . . . . . . . . . 8.12. Alternative Lösungsverfahren . . . . . . . . . . . . . . 8.12.1. Inline Integration . . . . . . . . . . . . . . . . . 8.12.2. Quantized State Simulation . . . . . . . . . . .

XXIII . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

Anhang A. Systeme linearer Differentialgleichungen 1. Ordnung mit stanten Koeffizienten . . . . . . . . . . . . . . . . . . . . . B. Generierter Code des Feder-Masse-Dämpfer Modells . . . C. Lineare Analyse des Feder-Masse-Dämpfer Modells . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

555 556 565 569 572 572 573 575 576 577 578 582 583 584 585 593 595 600 601 602 603 605 605 606 607

kon. . . . . . . . .

607 611 615

Literaturverzeichnis

619

Sachwortverzeichnis

625

1. Grundlegendes Noch bevor wir uns um die Methoden der Modellbildung und Simulation mechatronischer Systeme1 kümmern, bedarf es einiger Definitionen und Erklärungen zu diesem Thema. Ferner soll anhand dieses Kapitels klar zum Vorschein kommen, welche der vorgestellten Themen im Buch behandelt werden. Themen, auf die nicht näher eingegangen wird, werden durch Verweise auf weiterführende Literatur entsprechend gekennzeichnet. Zu Beginn folgt eine kurze Definition der Begriffe System (Abschnitt 1.1) und Experiment (Abschnitt 1.2 auf Seite 3). In Abschnitt 1.3 ab Seite 4 wird über den Nutzen der Modellbildung diskutiert. Anschließend werden Wege der Modellbildung (Seite 5) vorgestellt und aufgezeigt, welche davon im Buch behandelt werden. In Abschnitt 1.5 ab Seite 8 werden die wesentlichen Modelleigenschaften dynamischer Systeme vorgestellt und dem Leser zudem ein Überblick verschafft, welche davon im Buch behandelt werden. Nachdem in Abschnitt 1.6 auf Seite 21 über den Detaillierungsgrad von Modellen gesprochen wurde, folgt ein Abschnitt zum Thema Modellparametrierung (Seite 22), welcher einen groben Überblick der gängigsten Ansätze verschaffen soll. Zudem wird verdeutlicht, dass es sich dabei um ein Themengebiet handelt, das zwar einen wesentlichen Teil der Modellbildung darstellt, auf das im Buch jedoch nicht explizit eingegangen wird, da gerade im Bereich der Parameterschätzung hervorragende Literatur existiert. Den Abschluss des ersten Kapitels bildet der Abschnitt Simulation dynamischer Systeme (Seite 28), in dem die Grundidee numerischer Integrationsverfahren anhand eines einfachen Verfahrens vorgestellt wird. Weiters wird kurz beschrieben, auf welche Bereiche der Simulation der Fokus des Buches gelegt wurde.

1.1. Was ist ein System? Bei der Definition des Begriffs System wird bereits nach kurzer Recherche ersichtlich, dass es einiger Eingrenzungen bedarf, um zu einer einheitlichen Auffassung dieses Begriffs zu gelangen. 1 Wann

immer im vorliegenden Buch von mechatronischen Systemen die Rede ist, sind damit im Allgemeinen technische/physikalische Systeme bestehend aus mehreren Domänen gemeint, dessen dynamisches Verhalten es zu untersuchen gilt.

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8_1

1

2

1. Grundlegendes

Ein Zitat von Prof. F. Cellier aus [Cel91] besagt: „The largest possible system of all is the universe. Whenever we decide to cut out a piece of the universe such that we can clearly say what is inside that piece (belongs to that piece), and what is outside that piece (does not belong to that piece), we define a new system. A system is characterized by the fact that we can say what belongs to it and what does not, and by the fact that we can specify how it interacts with its environment. System definitions can furthermore be hierarchical. We can take the piece from before, cut out a yet smaller part of it, and we have a new system“. Eine weitere Definition aus [Cel91] lautet wie folgt: „A system is a potential source of data.“ Es ist ersichtlich, dass es sehr unterschiedliche Definitionen des Begriffs System gibt. Für Ingenieure kann folgendes festgehalten werden: Ein System ist eine Ansammlung von Elementen deren Eigenschaften von Interesse sind bzw. welche es zu untersuchen gilt. Sobald wir ein System definieren, legen wir im selben Zuge eine Systemgrenze fest. Dadurch grenzen wir das System von dessen Umgebung ab. Dieser Schritt soll so durchgeführt werden, dass nur der Teil beschrieben wird, der auch von Interesse ist. Das System tauscht über die Systemgrenze Informationen mit der Umgebung aus, welche über Eingänge und Ausgänge – die eindeutig beschreibbar sein müssen – dargestellt werden können. Abb. 1.1 veranschaulicht diesen Sachverhalt grafisch. Systemgrenze

Eingänge

System

Ausgänge

Umgebung

Abb. 1.1.: System, das über Ein- und Ausgänge mit dessen Umgebung interagiert

Beispiel: Labornetzteil Wir wollen einen elektrischen Verbraucher mit einer konstanten Spannung von 24V versorgen. Es soll ein System gefunden werden, welches dieser Anforderung

1.2. Was ist ein Experiment?

3

gerecht wird. Die erste Ausgangsgröße – eine konstante Spannung von 24V – ist hier schnell gefunden, da diese bereits in der Problemstellung erwähnt wurde. Die zweite Ausgangsgröße ist ein lastabhängiger Strom. Um eine Systemgrenze festlegen zu können, bedarf es aber noch einer oder mehrerer Eingangsgrößen. Dazu müssen wir uns Gedanken machen, woher die konstante Spannung und der dazugehörige Strom kommen. Mit anderen Worten, wir müssen uns fragen, wie eine konstante Ausgangsspannung erzeugt werden kann. Elektrische Energie wird in Kraftwerken auf verschiedenste Arten erzeugt. Da wir aber nicht das gesamte Versorgungsnetz beschreiben wollen, nur um einen Verbraucher mit 24V Gleichspannung zu versorgen, muss dieses außerhalb unseres Systems liegen. Die vom Kraftwerk produzierte Energie, welche schlussendlich beim Endverbraucher im 230V Versorgungsnetz zur Verfügung steht, soll daher den Eingang in unser System darstellen. Das zu beschreibende System muss aus der 230V Wechselspannung am Eingang, eine 24V Gleichspannung am Ausgang erzeugen. Das System Labornetzteil besteht daher im einfachsten Fall aus einem Transformator, gefolgt von einer Gleichrichtung mit anschließender Glättung, um die geforderte Gleichspannung von etwa 24V am Ausgang zu erzeugen. Der variable Ausgangsstrom stellt sich in Abhängigkeit der Last ein. Ferner sollte das Labornetzteil bei niedrigen Temperaturen genauso gut funktionieren wie bei hohen Temperaturen. Unser System sollte also bei einer sich verändernden Umgebung trotzdem dasselbe Ergebnis liefern. Sollen Effekte basierend auf der Temperatur berücksichtigt werden, muss die Systemgrenze um einen Eingang, welcher die Umgebungstemperatur darstellt, erweitert werden. Ferner muss das System mit sogenannten Störgrößen zurechtkommen. Unser Versorgungsnetz ist nur theoretisch eine reine Sinusfunktion. In der Realität sind dieser Versorgungsspannung mehrere Störungen überlagert, mit denen unser System umgehen muss. Wie bereits bei diesem einfachen Beispiel ersichtlich ist, muss einiges beachtet werden, um sinnvolle Aussagen über ein System treffen zu können.

1.2. Was ist ein Experiment? Basierend auf der in [Cel91] vorgestellten Definition eines Systems, definiert Prof. F. Cellier ein Experiment wie folgt: „An experiment is the process of extracting data from a system by exerting it through its inputs.“ Um zu prüfen, ob unser Labornetzteil bei einer Eingangsspannung von 230V, eine Gleichspannung von 24V am Ausgang liefert, wird ein Prototyp gebaut und getestet. Es wird ein Experiment am System durchgeführt, indem man ein

4

1. Grundlegendes

Eingangssignal anlegt und beobachtet, was am Ausgang passiert.

Herausforderungen beim Durchführen von Experimenten: • Experimente sind in der Regel sehr zeitaufwändig und kostenintensiv, da Prototypen entwickelt und entsprechend getestet werden müssen. • Bereits kleinere Fehler im Prototyp können bis zur vollständigen Zerstörung führen. • Experimente können, bei nicht sachgemäßer Durchführung, sehr gefährlich sein. • Um das System zu testen, muss das entsprechende Equipment vorhanden sein.

1.3. Modellbildung: Warum? Um Problemen, die bei einem Experiment entstehen, aus dem Weg zu gehen, können mathematische Modelle verwendet werden, mit denen Aussagen über das Verhalten des realen Systems getroffen werden, noch bevor es entwickelt wurde. Dabei muss das Modell das System so abbilden, dass es die Realität so genau wie nötig beschreibt. Die mathematische Modellbildung hat also zum einen immer dann ihre Berechtigung, wenn, noch bevor das reale System existiert, Aussagen über dasselbe getroffen werden müssen. Dies ist wichtig, um beispielsweise Machbarkeitsstudien durchzuführen, bzw. wenn Abschätzungen getroffen werden müssen, noch bevor der Prototyp entwickelt wurde. Zum anderen werden Modelle oft benötigt, um bestehende Systeme zu optimieren. Das Modell des bestehenden Systems kann dann modifiziert werden, sodass anhand der Simulationsergebnisse darüber entschieden werden kann, wie das System angepasst werden muss, damit sich das gewünschte Verhalten ergibt. Des Weiteren ist es bei realen Systemen oft nicht möglich jeden internen Systemzustand zu erfassen2 , was mit dem Modell ohne weiteres möglich ist. Ferner können mittels eines Modells alle nur denkbaren Betriebsmodi getestet (simuliert) werden. Viele Probleme, die so anhand diverser Experimente am realen System entstehen könnten, werden – wie bereits erwähnt – durch Modellbildung vermieden. Dies führt in der Regel zu einem besseren Verständnis der oft komplexen Zusammenhänge technischer Systeme. 2 Entweder

sind die Zustände nicht oder nur mit großem Aufwand messbar oder nicht zugänglich.

1.4. Wege der Modellbildung

5

1.4. Wege der Modellbildung Ein dynamisches Modell eines realen Systems erhält man prinzipiell auf zwei verschiedene Arten (siehe [LG94]). (1) Physikalische (theoretische) Modellbildung: Durch physikalische Gesetze, welche auf Naturgesetzen basieren, etwa den Newton’schen Gesetzen in der Mechanik oder den Kirchhoff’schen Regeln in der Elektrotechnik. (2) Experimentelle Modellbildung: Durch sogenannte Systemidentifikation (experimentelle Identifikation), basierend auf Beobachtungen und Experimenten am realen System. Beide Prozesse der Modellbildung sind in Abb. 1.2 veranschaulicht.

Physikalische Modellierung System

Modell

System Identifikation Abb. 1.2.: Modellbildung basierend auf physikalischen Gesetzen (physikalische Modellbildung) oder Beobachtungen und Experimenten (Systemidentifikation)

1.4.1. Physikalische Modellbildung: White-Box Modell Ziel der Modellbildung ist es, ein reales physikalisches System in Form eines mathematischen Modells abzubilden. Dabei soll das Modell das Verhalten des realen physikalischen Systems so gut wie es im jeweiligen Fall nötig ist beschreiben. Sobald das physikalische System mit einem geeigneten mathematischen Modell beschrieben wurde, kann es simuliert werden. Dazu werden in diesem Buch mehrere Methoden vorgestellt, welche in den Kapiteln Signalflussorientierte Modellbildung: Blockschaltbilder ab Seite 75, Die Theorie der Bondgraphen ab Seite 113 und Einführung in die objektorientierte Modellierung ab Seite 281 ausführlich behandelt werden und in Abb. 1.3 dargestellt sind. Völlig unabhängig von der gewählten Methode erhalten wir immer ein mathematisches Modell, in welchem die Interaktionen der einzelnen Variablen mittels Differentialgleichungen und algebraischen Gleichungen beschrieben werden.

6

1. Grundlegendes

Physikalisches System

Mathematische Modellierung – Modellbildungsprozess

(Problem)

(implizite) DAEs Differential-algebraische Gleichungen

„Sortierung“

(explizte)

DAEs

„Substitution“

(akausaler)

Bondgraph

OOM Objekt-Orientierte Modellierungssprache

„Kausalisierung“

(kausaler)

Bondgraph

„symbolische Vorverarbeitung“

„Gleichungen extrahieren und Substituieren“

ZustandsraumDarstellung ODEs (Gewöhnliche Differenztialgleichungen)

„ODE Solver“

Simulation (Resultat/Lösung)

Abb. 1.3.: Wege vom realen physikalischen System zum mathematisch lösbaren Modell, welche in diesem Buch behandelt werden

1.4. Wege der Modellbildung

7

1.4.2. Systemidentifikation: Black-Box Modell Gelingt es nicht – aus welchen Gründen auch immer – das Modell anhand physikalischer Gesetze aufzustellen, so kann das Verhalten des realen Systems aufgrund von Beobachtungen und Experimenten identifiziert werden. Primäres Ziel ist auch hier, das Modell so gut wie möglich an das reale System anzugleichen. Das System wird dabei ausschließlich durch Messungen identifiziert. Der große Nachteil der Systemidentifikation (experimentelle Identifikation) besteht darin, dass das reale System vorhanden sein muss, um anhand diverser Messungen ein Modell zu generieren. Für die Erstellung dynamischer Modelle via Systemidentifikation sei u.a. auf [BU16], [Unb00b], [LG94] (Abschnitt III) bzw. dessen Nachfolgewerk [LG16], Kapitel 11 bis 13 oder [Unb05] (Kapitel 9) verwiesen.

1.4.3. Semi-empirische Modelle Bei semi-empirischen Modellen basiert das Modell sowohl auf physikalischen Gesetzmäßigkeiten als auch auf durch Messungen gewonnen Erkenntnissen. Diese kommen in der Praxis häufig zum Einsatz, da es oft nur schwer möglich ist, das zumeist komplexe Gesamtverhalten ausschließlich anhand physikalischer Gesetze zu beschreiben.

1.4.4. Überblick Dieses Buch befasst sich ausschließlich mit der mathematischen Modellbildung dynamischer Systeme basierend auf physikalischen Gesetzen (siehe Abb. 1.3). Die im Buch vorgestellten Methoden zur Modellbildung mechatronischer Systeme (Seite 71) werden anhand eines einheitlichen Beispiels miteinander verglichen. Dabei gilt es anhand eines modellbasierten Systementwurfs ein Modell und dessen Parameter zu finden, sodass das Simulationsergebnis mit dem Messergebnis übereinstimmt. Dabei werden die Modellparameter als gegeben vorausgesetzt. Diese werden in der Regel wie folgt ermittelt: Ist es möglich das dynamische Verhalten eines Systems anhand physikalischer Gesetze zu beschreiben, wobei einige der zugrundeliegenden Parameter unbekannt sind, so können diese anhand einer Auswertung von Messdaten des realen Systems geschätzt werden. Man spricht dann von Gray-Box Modellen, auf die in Abschnitt 1.7.4 auf Seite 25 eingegangen wird.

8

1. Grundlegendes

1.5. Modelleigenschaften Es gibt eine Vielzahl von Modelleigenschaften3 , die in den folgenden Abschnitten genauer beschrieben werden.

1.5.1. Statische und dynamische Modelle Sind die Modellvariablen direkt miteinander verknüpft (proportional zueinander), so handelt es sich um eine statische Beziehung, die in der Mathematik mittels algebraischer Gleichungen beschrieben wird. Ein elektrischer Widerstand, welcher der Beziehung u(t) = R · i(t)

(1.1)

genügt, ist bereits ein einfaches lineares statisches Modell. Bei einer Kapazität hingegen sind die Variablen nicht direkt miteinander verknüpft. Aus diesem Grund wird das (dynamische) Verhalten der Kapazität mittels folgender linearer gewöhnlicher Differentialgleichung 1. Ordnung beschrieben: i(t) = C ·

du(t) dt

(1.2)

Löst man diese Differentialgleichung, so ergibt sich folgende Form:

u(t) =

1 C

Zt i(t) · dt + u(0)

(1.3)

0

Hier wird ersichtlich, dass die Variablen (Strom i(t) und Spannung u(t)) einer Kapazität nicht proportional zueinander sind. Durch den Integrator erhält dieses Element ein „speicherndes“ Verhalten. Ferner ist das zeitliche Verhalten – die Dynamik – der Kapazität abhängig von dessen Vorgeschichte, welche in Form einer sogenannten Anfangsbedingung u(0) definiert wird. Mit anderen Worten: Wenn die Kapazität in der Vergangenheit auf einen gewissen Wert geladen wurde und diese Ladung nicht verloren gegangen ist, wird dieser gespeicherte Wert in Form der Anfangsbedingung u(0) dargestellt. Die Spannung u(t) ergibt sich also aus einem integrierenden (speichernden) Term und einem Term, der die Anfangsbedingungen beinhaltet. Die Variable u(t) gibt demnach Auskunft über den aktuellen Zustand unseres Systems. Solche Variablen werden fortan als Zustandsvariablen definiert und in Kapitel 2 (Seite 33) ausführlich behandelt. 3 Im

folgenden Abschnitt wird der Begriff Modell verwendet, wobei hier genauso gut der Begriff System herangezogen werden kann.

1.5. Modelleigenschaften

9

1.5.2. Kontinuierliche und diskrete Modelle Bei einem kontinuierlichen Modell eines Systems besitzen die Modellvariablen zu jedem Zeitpunkt einen Wert. Kontinuierliche Modelle werden daher mit Differentialgleichungen beschrieben. Sobald die Werte von Modellvariablen nur noch zu bestimmten Zeitpunkten vorliegen, handelt es sich um diskrete Modelle, welche mittels Differenzengleichungen beschrieben werden. Dabei gilt es zu unterscheiden, ob die Amplitude oder die Zeit diskretisiert wird. Eine Diskretisierung der Amplitude wird als Quantisierung bezeichnet. Eine Diskretisierung der Zeit hingegen als Abtastung. Sind sowohl Amplitude als auch Zeit diskretisiert, spricht man von digitalen Signalen (siehe Abb. 1.4).

t

t

(c) Amplitudendiskret

y(t)

(d) Digital

(b) Zeitdiskret

(a) Kontinuierlich

Ein typisches Beispiel für ein zeitdiskretes System, genauer gesagt für ein digitales System, ist ein Regler, dessen Funktion in Form eines Programms auf einer Zielplattform (Mikrocontroller) implementiert wird. Die am Eingang des Analog-Digital Wandlers anliegenden kontinuierlichen Signale werden nur zu gewissen äquidistanten Zeitpunkten abgetastet und können auch nur mit einer bestimmten Auflösung (z.B. 12Bit) erfasst werden. Um auch zwischen Abtas-

y(t)

t

t

Abb. 1.4.: (a) Kontinuierliche, (b) zeitdiskrete, (c) amplitudendiskrete und (d) diskrete Signalformen

tintervallen des digitalen Signals einen Wert zu erhalten, werden sogenannte Sample-and-Hold Glieder eingesetzt (siehe Abb. 1.5).

1. Grundlegendes

(a) Digital

y(t)

t

(b) Sample-and-Hold

10

y(t)

t

Abb. 1.5.: (a) Digitales Signal, welches durch den Einsatz eines (b) Sampleand-Hold Gliedes zu jedem Zeitpunkt einen Wert liefert

1.5.3. Modelle mit Unstetigkeiten

y(t)

t

(b) Diskontinuierlich

(a) Kontinuierlich

Mechatronische Systeme lassen sich in der Regel nicht ausschließlich anhand kontinuierlicher Vorgänge abbilden. Sobald sich beispielsweise ein schaltendes Element in einem elektronischen System befindet, oder etwa der Übergang von Haft- in Gleitreibung bei einem Festkörper beschrieben werden soll, handelt es sich um Systeme mit sogenannten Unstetigkeiten (Diskontinuitäten). Typische Signalverläufe bei einem kontinuierlichen und einem System mit einer Unstetigkeit (Sprung) sind Abb. 1.6 zu entnehmen.

y(t)

t

Abb. 1.6.: Signalverlauf eines (a) kontinuierlichen Modells und eines (b) Modells mit einer Unstetigkeit Um eine Unstetigkeit in einem Modell abzubilden, müssen zusätzlich zu den Gleichungen, welche für die kontinuierlichen Bereiche gültig sind, Bedingungen (Ereignisse) formuliert werden, die klar definieren, wann welche Gleichungen auszuführen sind4 . So lässt sich beispielsweise ein ideales Modell einer Diode beschreiben: Wird eine bestimmte Schwellspannung überschritten so leitet die Diode (Strom größer Null, Spannung gleich Null) ansonsten sperrt sie (Strom gleich Null, Spannung kleiner Null). Die Beschreibung von Unstetigkeiten wird in Abschnitt 7.1.3 (Seite 413) behandelt. 4 Dies

geschieht in der Regel anhand bedingter Anweisungen und Verzweigungen.

1.5. Modelleigenschaften

11

1.5.4. Modelle mit konzentrierten und verteilten Parametern Sind die Variablen eines dynamischen Systems direkt oder indirekt von der Zeit abhängig5 , so spricht man von Systemmodellen mit konzentrierten (engl. lumped) Parametern. Solche Modelle werden mit gewöhnlichen Differentialgleichungen beschrieben (siehe Gleichung (1.2)). Sobald Modellvariablen von mehreren Variablen abhängig sind, etwa zusätzlich vom Ort, spricht man von Modellen mit (räumlich) verteilten (engl. distributed) Parametern. Diese Modelle werden mit partiellen Differentialgleichungen beschrieben. Ein Beispiel für ein Modell dessen Variablen von Raum und Zeit abhängen, ist die Wärmeleitung in einem Leiter. Die eindimensionale Wärmeleitungsgleichung (engl. heat equation) hat folgende Form: ∂ 2 u(t, x) ∂u(t, x) =σ· ∂t ∂x2

(1.4)

Die Temperatur u ist also nicht nur von der Zeit t abhängig, sondern auch vom Ort x. Zum Schluss sei noch erwähnt, dass die Lösung von Modellen mit verteilten Parametern für gewöhnlich durch spezielle Verfahren wie z.B. der sogenannten FEM (engl. Finite Element Method), der MOL (engl. Method of Lines) oder anderen Verfahren (siehe [CK06], Kapitel 6) approximiert wird, da eine analytische Lösung nur in den seltensten Fällen angewendet werden kann. Für unsere Wärmeleitungsgleichung würde eine numerische Lösung der partiellen Differentialgleichung durch eine Diskretisierung im Raum erreicht werden. ∂ 2 u ui+1 − 2 · ui + ui−1 (1.5) ≈ ∂x2 x=xi δx2 Wobei der Index i eine bestimmte x-Koordinate im Raum repräsentiert und δx den Abstand zwischen zwei benachbarten diskreten Punkten (z.B. xi , xi+1 ) angibt. Nachdem der Raum diskretisiert wurde, erhalten wir folgenden Satz gewöhnlicher Differentialgleichungen: ui+1 − 2 · ui + ui−1 ∂ui ≈σ· ∂t δx2

(1.6)

1.5.5. Linearisierung nichtlinearer Modelle In diesem Abschnitt wird die Überführung bzw. Vereinfachung von nichtlinearen Modellen in deren lineare Gegenstücke besprochen: die Linearisierung. Dabei 5 Eine

indirekte Abhängigkeit liegt dann vor, wenn eine Variable beispielsweise von einer Zustandsvariable abhängt, welche direkt von der Zeit abhängt.

12

1. Grundlegendes

u1(t)

System

x1(t)

Σ u2(t)

x(t)

x2(t)

System

u1(t)

=

Σ

System

x(t)

u2(t)

Abb. 1.7.: Superpositionsprinzip welches für lineare Modelle erfüllt sein muss

wird die Linearisierung für statische und dynamische Modelle (siehe Abschnitt 1.5.1 auf Seite 8) getrennt vorgestellt, um die Unterschiede in Begrifflichkeit und Vorgehensweise aufzuzeigen. Eine Linearisierung liefert oft eine ausreichend genaue Beschreibung und ist z.B. für die Anwendung vieler Techniken zum Reglerentwurf notwendig. Folgendes wurde teilweise aus [Unb05] entnommen.

Lineare und nichtlineare Modelle Allgemein lässt sich eine nichtlineare statische Funktion (algebraische Gleichung) mittels der Beziehung x(t) = f (u(t))

(1.7)

beschreiben. Ein Modell eines Systems ist genau dann linear, wenn die Superposition von Gleichung (1.7) für beliebige Linearkombinationen von Eingangsgrößen ui (t) der Form ! n n X X ki · xi (t) = f ki · ui (t) (1.8) i=1

i=1

gilt. Wobei der Index i = 1, 2, 3, · · · , n ist und ki dabei konstante Werte darstellt. Mit anderen Worten: Wird das Modell hintereinander mit n verschiedenen Eingangsgrößen ui (t) beaufschlagt und jeweils der dazugehörige Ausgang xi (t) gemessen, so muss die Superposition aller Systemantworten genau dieselbe sein, als würde man die Eingangsgrößen addieren und auf einmal beaufschlagen. Abb. 1.7 veranschaulicht diesen Sachverhalt grafisch. Wenn dies nicht zutrifft ist das Modell nichtlinear. Anders als bei linearen Modellen gibt es für die analytische Behandlung nichtlinearer Modelle (z.B. in der Regelungstechnik) weitaus weniger Möglichkeiten.

1.5. Modelleigenschaften

13

Daher ist es oft von Vorteil mit einem linearen Modell zu arbeiten. Im einfachsten Fall besitzt das nichtlineare Modell aus Gleichung (1.7) einen Arbeitspunkt (u, x), um den es dann linearisiert werden kann (siehe Abb. 1.8).

x(t)

x

Arbeitspunkt

u

u(t)

Abb. 1.8.: Linearisierung einer statischen Funktion im Arbeitspunkt

Linearisierung statischer Modelle In der Mathematik wird eine Linearisierung durchgeführt in dem die Funktion aus Gleichung (1.7) in eine Taylorreihe der Form df 1 d2 f · (u − u) + · (u − u)2 + . . . x = f (u) + (1.9) du u=u 2! du2 u=u | {z } | {z } linearer T erm

quadratischer T erm

entwickelt wird, wobei die Taylorreihe nach dem linearen Term abgebrochen wird, sprich Terme höherer Ordnung ignoriert werden. Wir erhalten df · (u − u) (1.10) x = f (u) + du u=u beziehungsweise x = x + k · (u − u)

(1.11)

Wobei die Steigung k der Ableitung im Arbeitspunkt entspricht. Beispiel: Progressive Feder Die Linearisierung soll nun anhand eines einfachen Beispiels veranschaulicht werden. Dazu wird eine progressive Feder, die anhand der nichtlinearen alge-

14

1. Grundlegendes

braischen Gleichung F (x) = k1 · x + k2 · x3

(1.12)

beschrieben wird, um den Ursprung sowie für große Auslenkungen linearisiert werden. Die Kennlinie dieser Feder ist in Abb. 1.9 dargestellt. Wenn eine

F(x) progressive Feder

Hook΄sche Feder

x

Abb. 1.9.: Kennlinie einer linearen (Hook’schen) Feder und einer progressiven Feder progressive Feder ihren Arbeitspunkt im Ursprung hat, so ist die Linearisierung denkbar einfach. Nachdem eine Linearisierung meistens nur im Bereich kleiner Auslenkungen (x ändert sich nur minimal) gilt, kann der zweite Term auf der rechten Seite von Gleichung (1.12) vernachlässigt werden. Dieser Schritt führt zur linearen (Hook’schen) Gleichung für die Feder: F (x) = k1 · x

(1.13)

Anders ist das bei einer Linearisierung im Bereich größerer Auslenkungen (siehe Abb. 1.10). Um hier eine Linearisierung durchführen zu können, müssen wir eine Taylorreihe um einen von Null verschiedenen Arbeitspunkt entwickeln und wiederum nach dem linearen Term abbrechen. Dies führt zu folgender Gleichung: dF 0 · (x − x) = F (x) + F · (x − x) F (x) = F (x) + dx x=x = k1 · x + k2 · x3 + (k1 + 3 · k2 · x2 ) · (x − x) = . . . = (k1 + 3k2 · x2 ) ·x − 2 · k2 · x3 | {z } | {z } k

d

(1.14)

1.5. Modelleigenschaften

15

F(x)

F

Arbeitspunkt

x

x

Abb. 1.10.: Linearisierung einer progressiven Feder im Bereich großer Auslenkungen Gleichung (1.14) liegt nun in der bekannten linearen Form (y = k · x + d) vor. Das negative Vorzeichen von d wird in Abb. 1.10 ersichtlich, indem die Gerade verlängert wird, bis sie die y-Achse schneidet. Beispiel: Nichtlinearer Widerstand Ein weiteres bekanntes Beispiel für ein nichtlineares System ist ein temperaturabhängiger Widerstand. Das ohmsche Gesetz u = i · R mit konstantem Widerstand R, ändert sich wie folgt: u = i · R(ϑ)

(1.15)

Wobei R(ϑ) Auskunft darüber gibt, dass der Widerstand von der Temperatur abhängig ist, sprich R = f (ϑ). Eine Linearisierung von Gleichung (1.15), zur Beschreibung der Temperaturabhängigkeit folgt in Abschnitt 1.6 auf Seite 21. Linearisierung dynamische Modelle Im Vergleich zu Gleichung (1.7) lassen sich nichtlineare dynamische Modelle physikalischer Systeme mittels der Beziehung x(t) ˙ = f (x(t), u(t))

(1.16)

beschreiben. Wobei auch hier wiederum gilt, dass das Modell nur dann linear ist, wenn das Superpositionsprinzip (siehe Gleichung (1.8)) erfüllt ist. Um Gleichung

16

1. Grundlegendes

(1.16) zu linearisieren, wird diese wiederum in eine Taylorreihe entwickelt, welche nach dem linearen Term abgebrochen wird. ∂f ∂f · (x − x) + · (u − u) (1.17) x(t) ˙ = f (x, u) + ∂x x=x ∂u x=x u=u

u=u

Um die Linearisierung sinnvoll durchführen zu können, muss festgelegt werden, wann bzw. wo die nichtlineare Differenzialgleichung linearisiert wird. Mit anderen Worten: Wir müssen einen sinnvollen Arbeitspunkt (x, u) ermitteln, der sich bei einer (nichtlinearen) Differentialgleichung in der Regel genau dann einstellt, wenn sich das System im eingeschwungenen Zustand befindet, d.h. wenn sich x(t) nicht mehr ändert und damit x(t) ˙ = 0 ist. Schauen wir uns dazu die einzelnen Terme von Gleichung (1.17) etwas genauer an. ∂f ∂f · (x − x) + · (u − u) x(t) ˙ = f (x, u) + | {z } ∂x x=x | {z } ∂u x=x | {z } u=u u=u (a) (c) (e) | {z } | {z } (b)

(d)

(a) entspricht der Ableitung von x(t) ˙ im Arbeitspunkt. (b) ist die partielle Ableitung der Zustandsgleichung nach der Zustandsvariable im Arbeitspunkt. (c) stellt die Abweichung der Zustandsvariable um den Arbeitspunkt dar. (d) ist die partielle Ableitung der Zustandsgleichung nach der Eingangsvariable im Arbeitspunkt. (e) stellt die Abweichung der Eingangsvariable um den Arbeitspunkt dar. Nach dem Term (a) der Ableitung von x(t) ˙ im Arbeitspunkt entspricht, folgt unmittelbar, dass ˙ =0 f (x, u) = x(t)

(1.18)

ist. Wenn sich ein nichtlineares dynamisches Modell in dessen Ruhelage befindet (eingeschwungen ist), wird es linearisiert, indem es etwas um diese Ruhelage ausgelenkt wird. Prinzipiell lässt sich jede Variable durch einen statischen- und einen dynamischen Anteil beschreiben. x(t) = x + ∆x(t) u(t) = u + ∆u(t)

(1.19) (1.20)

1.5. Modelleigenschaften

17

Wobei x und u die statischen- und ∆x(t) sowie ∆u(t) die dynamischen Anteile repräsentieren. Im Arbeitspunkt gilt ferner, dass x(t) = x und u(t) = u) was bedeutet, dass die Dynamik nur noch von den dynamischen Anteilen ∆x(t) und ∆u(t) abhängt. Dies wird durch Bilden der zeitlichen Ableitungen der Gleichungen (1.19) und (1.20) klar ersichtlich. x(t) ˙ = ∆x(t) ˙ u(t) ˙ = ∆u(t) ˙

(1.21) (1.22)

Um eine lineare Differentialgleichung zu erhalten, betrachtet man also nur noch kleine Auslenkungen (∆x(t) und ∆u(t)) um die Ruhelage. Im nächsten Schritt werden die Gleichungen (1.19) bis (1.21) in (1.17) eingesetzt und wir erhalten: ∂f ∂f · (x + ∆x(t) x) + · (u + ∆u(t) − u) ∆x(t) ˙ = f (x, u) + − | {z } ∂x x=x ∂u x=x u=u u=u =0 ∂f ∂f = · ∆x(t) + · ∆u(t) ∂x x=x ∂u x=x u=u

u=u

= A · ∆x(t) + B · ∆u(t)

(1.23)

Obige Gleichung wird als Zustandsgleichung bezeichnet und in Kapitel 2: Einführung in die Zustandsraumdarstellung (Seite 33) ausführlich behandelt. Ein dynamisches Modell wird in der Regel durch mehrere Differentialgleichungen dargestellt. Gleichung (1.16) wird dann in der folgenden vektoriellen Form angegeben: = f (x(t), u(t)) x(t) ˙

(1.24)

Die in Gleichung (1.17) dargestellte Taylorreihe nimmt folgende Gestalt an: = f (x, u) + x(t) ˙

∂f ∂f · (u − u) · (x − x) + ∂u x=x ∂x x=x u=u

(1.25)

u=u

Dies führt schlussendlich zur vektoriellen Form der Zustandsgleichung: = A · ∆x(t) + B · ∆u(t) ∆x(t) ˙

(1.26)

Wobei A und B als Jacobi-Matrizen bezeichnet werden, welche die partiellen

18

1. Grundlegendes

Ableitungen 1. Ordnung enthalten, und wie folgt dargestellt  ∂f1 /∂x1 ∂f1 /∂x2 · · · ∂f1 /∂xn  ∂f ∂f2 /∂x2 · · · ∂f2 /∂xn 2 /∂x1 ∂f  = A= . .. .. .. .. ∂x x=x  . . . u=u ∂fn /∂x1 ∂fn /∂x2 · · · ∂fn /∂xn

werden: 

  ∂f  = B=  ∂u x=x  u=u

∂f1 /∂u1 ∂f2 /∂u1 .. .

∂f1 /∂u2 ∂f2 /∂u2 .. .

··· ··· .. .

∂f1 /∂un ∂f2 /∂un .. .

∂fn /∂u1

∂fn /∂u2

···

∂fn /∂un

   

(1.27)

    

(1.28)

Ein Beispiel zur Linearisierung eines nichtlinearen elektromechanischen Systems, das aus mehreren gewöhnlichen Differentialgleichungen besteht, wird in Abschnitt 5.12: Nichtlineare Bondgraphen am Beispiel der Gleichstrom-Nebenschlussmaschine ab Seite 246 behandelt.

1.5.6. Zeitvariante und zeitinvariante Modelle Wenn sich die Parameter eines Modells in direkter Abhängigkeit der Zeit ändern, also nicht konstant sind, handelt es sich um ein zeitvariantes Modell. Ändern sich die Parameter nicht, handelt es sich um ein sogenanntes zeitinvariantes Modell. Ist das Modell zudem linear so spricht man von einem linearen zeitinvarianten System (engl. linear time invariant, kurz LTI-System). Zeitvariante technische Systeme sind beispielsweise solche deren Parameter sich altersbedingt ändern (z.B. Akkus, Halbleiter). Sie sind daher in der Regel recht schwer zu modellieren, da sich die Alterung diverser Bauteile durch Gleichungen nicht wirklich erfassen lässt. Um solche Aspekte in das Modell einfließen zu lassen, müssen daher Messungen über mehrere Jahre gemacht werden.

1.5.7. Deterministische und stochastische Modelle Man spricht von deterministischen Modellen, wenn deren Verhalten vorhersagbar ist. Ist das Verhalten zufällig und daher nicht vorhersagbar, so spricht man von stochastischen Modellen, die auf Wahrscheinlichkeitsrechnungen basieren. Laut [Unb05] sollte bei einem stochastischen Modell stets überprüft werden, ob es sich bei den stochastischen Variablen um die Modellparameter oder lediglich um die zugehörigen Signale handelt. In der Signalverarbeitung spricht man

1.5. Modelleigenschaften

19

dann von deterministischen Signalen, wenn deren Verlauf vorhersagbar ist (siehe [Mey06]). Anders ist dies bei stochastischen (zufälligen) Signalen, dessen Verlauf nicht vorhersagbar ist. Ein bekanntes Beispiel für ein stochastisches Signal ist das Rauschen.

1.5.8. Stabile, instabile und grenzstabile Modelle Ein Modell ist genau dann stabil, wenn dessen Ausgänge auf jedes beschränkte Eingangssignal u(t) ein ebenfalls beschränktes Ausgangssignal y(t) zur Folge hat. Dies wird auch als BIBO-Stabilität (engl. Bounded Input, Bounded Output) bezeichnet. Abb. 1.11 veranschaulicht die Stabilität von Systemen.

y(t)

(a)

y(t)

(c)

t (b)

t (d)



σ



σ

Abb. 1.11.: Stabilitätsverhalten: (a) Sprungantwort und (b) Pole eines stabilen Modells, (c) Sprungantwort und (d) Pole eines instabilen Modells Befinden sich die Pole auf der imaginären Achse, so spricht man von ungedämpften (konservativen) Modellen. Werden solche Modelle mit einem Sprung angeregt, so steigt die Amplitude des Ausgangssignals weder an noch klingt sie ab, weshalb deren Verhalten auch als grenzstabil bezeichnet wird. Ein typisches Beispiel für ein ungedämpftes System ist das mathematische Pendel. Da bei der Simulation ungedämpfter Systeme ein solides Grundwissen über numerische Integrationsverfahren vorliegen sollte, um ein korrektes Simulationsergebnis zu

20

1. Grundlegendes

erhalten, werden diese in Abschnitt 8.5.5: Ungedämpfte Systeme auf Seite 554 noch etwas detaillierter behandelt.

1.5.9. Steife Modelle Als steif wird ein Modell bezeichnet, wenn dessen Pole weit, d.h. über mehrere Zehnerpotenzen, über die linke Halbebene verstreut sind. Solche Modelle lassen sich durch sehr schnelle sowie langsame Anteile charakterisieren, d.h. dass diese kleine sowie große Zeitkonstanten besitzen. Typische Beispiele sind mechatronische Systeme. In Abb. 1.12 sind die Pole eines steifen Modells, z.B. eines elektromechanischen Systems dessen thermisches Verhalten zusätzlich von Interesse ist, dargestellt. Der Pol bei −1 repräsentiert die thermische Zeitkonjω

σ -5000

-10

-1

Abb. 1.12.: Verteilung der Pole bei einem steifen Modell stante, den langsamsten Anteil des Systems. Der Pol bei −10 repräsentiert die mechanische Zeitkonstante und der Pol bei −5000 die sehr schnelle elektrische Zeitkonstante.

1.5.10. Modelleigenschaften die im Buch behandelt werden Im vorliegenden Buch werden ausschließlich deterministische Modelle mit konzentrierten Parametern behandelt. Die Modelle können dabei sowohl statisch als auch dynamisch sein. Ferner kann es sich bei den Modellen um kontinuierliche sowie um Modelle mit Unstetigkeiten handeln, wobei letztere ausschließlich in Abschnitt 7.1.3: Beschreibung von Diskontinuitäten (Seite 413) und Abschnitt 8.8.5: Unstetigkeiten (Seite 585) behandelt werden.

1.6. Detaillierungsgrad von Modellen

21

1.6. Detaillierungsgrad von Modellen Wie exakt ein mathematisches Modell das dazugehörige reale physikalische System approximiert, hängt vom Detaillierungsgrad des Modells ab. Um das Ganze so einfach wie möglich zu halten, soll dieser Sachverhalt anhand des ohmschen Gesetzes veranschaulicht werden. Im einfachsten Fall wird ein elektrischer Widerstand mittels Gleichung (1.1) auf Seite 8 beschrieben. Damit wird angenommen, dass dessen Wert konstant ist. In der Realität trifft das allerdings nie zu. So ändert sich der Wert beispielsweise, wie in Gleichung (1.15) auf Seite 15 beschrieben, in Abhängigkeit der Temperatur ϑ. Im einfachsten Fall lässt sich diese Temperaturabhängigkeit mit dem linearen Temperaturkoeffizienten α und der Temperaturdifferenz (∆ϑ = ϑ − ϑ0 ) darstellen. Die Temperaturabhängigkeit des Widerstands R(ϑ) wird dann durch die lineare Gleichung R(ϑ) = R(ϑ0 ) [1 + α · ∆ϑ]

(1.29)

ausgedrückt. Der lineare Temperaturkoeffizient α hängt vom Material ab und wird meistens bei ϑ0 = 20◦ C angegeben. Gleichung (1.29) ist für kleine Temperaturbereiche ausreichend genau. Bei größeren Temperaturdifferenzen kann das Verhalten des Widerstands nicht mehr mittels linearer Gleichungen beschrieben werden. Im Prinzip wird nun genau dasselbe gemacht wie in Abschnitt 1.5.5 auf Seite 11 beschrieben, mit dem Unterschied, dass die Taylorreihe jetzt nicht mehr nach dem linearen Term, sondern nach dem quadratischen Term abgebrochen wird. Wir erhalten:   R(ϑ) = R(ϑ0 ) 1 + α · ∆ϑ + β · ∆ϑ2 (1.30) Wobei der Temperaturkoeffizient β wiederum vom Material abhängt. Man erkennt also, dass der nötige Detaillierungsgrad des Modells von der Anwendung abhängt. Für sehr hohe Temperaturen, wie etwa in der Glühwendel einer Glühlampe, ist das detaillierte Modell aus Gleichung (1.30) nötig. Für tiefere Temperaturen ist dieses jedoch überflüssig und reduziert sich auf das Modell, welches mit Gleichung (1.29) auf Seite 21 beschrieben wird. Eine alternative Möglichkeit, um das Temperaturverhalten eines Widerstands zu beschreiben, wäre die messtechnische Ermittlung der Gleichungen (1.29) bzw. (1.30). Dazu wird die Umgebungstemperatur des Widerstands schrittweise erhöht und der dazugehörige Widerstandswert gemessen. So entsteht eine Tabelle, die den Widerstand in Abhängigkeit der Temperatur beschreibt, welche im Modell direkt als Look-Up Tabelle hinterlegt werden kann. Alternativ kann eine Regression durchgeführt werden (z.B. mit Excel). Je nach Art der Regression – linear, quadratisch, etc. – entsteht eine Gleichung, in der die Temperaturkoeffizienten explizit als Wert dargestellt werden.

22

1. Grundlegendes

Der Detaillierungsgrad von Modellen wird in der Regel bei der Modellabstraktion bestimmt. Dabei hat es sich bewährt mit einem einfachen Modell zu beginnen, um das grundlegende Verhalten zu studieren und dann den Komplexitätsgrad schrittweise zu erhöhen (siehe Abschnitt 3.1.1 auf Seite 56 bzw. Abschnitt 4.2 ab Seite 85).

1.7. Modellparametrierung Ein ganz entscheidender Punkt, den es bei der Modellerstellung zu beachten gilt, ist die Parametrierung. Generell erfolgt die Parametrierung während der Modellabstraktion (siehe Abschnitt 3.1.1 auf Seite 56), erfordert einiges an Erfahrung und endet letztendlich meist in einem Kompromiss zwischen Modellgenauigkeit (siehe Abschnitt 1.6) und der dafür benötigten Anzahl an Parametern. Dies soll anhand eines einführenden Beispiels ersichtlich werden.

Ein einführendes Beispiel Es soll ein Modell eines Leistungshalbleiters, z.B. eines Bipolartransistors mit isolierter Gate-Elektrode (engl. insulated gate bipolar transistor, kurz IGBT), erstellt werden, um die Verluste (Ein- und Ausschaltverluste sowie die Verluste im leitenden Zustand) zu berechnen. Grob gesagt, sind Halbleiterverluste das Produkt aus dem „Spannungsabfall am Bauteil“ und dem „Strom durch das Bauteil“. Es ist daher naheliegend das Modell so zu entwickeln, dass diese Signalverläufe mehr oder weniger korrekt abgebildet werden. So weit so gut. Nur welche Parameter sind dafür notwendig? Bei Leistungshalbleiter ist es üblich, zunächst einmal einen Blick ins Herstellerdatenblatt zu werfen, um sich einen ersten Überblick zu verschaffen. Anhand zusätzlicher Dokumente, die Hinweise zur Anwendung geben (engl. Application Notes), werden die einzelnen Parameter in der Regel noch detailliert beschrieben. Schlussendlich wird man jedoch feststellen müssen, dass es zwar ein paar Dutzend Parameter und Kennlinien gibt, jedoch keiner dieser Werte herangezogen werden kann, um beispielsweise das Ausschaltverhalten, genauer gesagt den Ausschaltstrom, eines IGBTs korrekt abzubilden. Es führt in diesem Fall kein Weg daran vorbei den Ausschaltstrom messtechnisch zu ermitteln, was grundsätzlich möglich ist, jedoch einiges an Aufwand und Laborausrüstung erfordert. Versucht man das Modell mittels der dem Leistungshalbleiter zugrundeliegenden Halbleiterphysik, etwa anhand der Bewegung der Ladungsträger und deren Verteilung zu beschreiben, so werden unter anderem geometrische Daten des Aufbaus und Informationen zum Dotierungsprofil benötigt, welche man in der Regel aufgrund der Geheimhaltung des Herstellers nicht bekommt. Heißt das, dass es de-facto nicht möglich ist

1.7. Modellparametrierung

23

solch ein Modell zu entwickeln? Nein. Bisher wurde lediglich ein für diesen Fall unpassender Abstraktionsgrad gewählt. Verabschiedet man sich von der Vorstellung die Verluste anhand realer Signalverläufe darzustellen, so ergeben sich weitere Möglichkeiten. In [DSA14] wird diese Problematik behandelt und abschließend ein Ansatz vorgeschlagen in dem die Verluste in Kombination mit einem „idealen“ Schalter berechnet werden. Dazu wird der aktuelle Zustand (Einschalten, Leiten, Ausschalten, Blockieren) des Schalters ermittelt. Für jeden Zustand werden entsprechende Diagramme oder die Werte im Nennbetrieb aus dem Datenblatt als Look-Up Tabelle hinterlegt, um so die Gesamtverluste berechnen zu können. Wie valide das Ergebnis ist, hängt einzig und allein von den Daten des Herstellers aus dem Datenblatt ab. Grundsätzlich werden solche Daten unter nominellen Bedingungen ermittelt und entsprechen daher in der Regel nicht exakt den Werten, die bei der realen Anwendung vorliegen6 . Im vorliegenden Beispiel ist es zwar möglich die Verluste zu berechnen, durch den vorliegenden Abstraktionsgrad können anhand des Simulationsergebnisses jedoch keine absoluten Aussagen getroffen werden, die es erlauben, den realen Prototyp zu ersetzen. Bei der Modellentwicklung ist es daher wichtig zu wissen, welche Aussagekraft man sich durch das Simulationsergebnis erhofft, d.h. ob man grob gesagt nur einen Trend erkennen will oder, ob man sich sehr detaillierte Aussagen verspricht, welche die Entwicklung eines Prototyps erst zu einem späteren Zeitpunkt erfordern oder gar ganz ersetzen. Letzteres ist eher die Ausnahme als die Regel. Um einen groben Überblick zu erhalten werden im Folgenden die gängigsten Ansätze zur Parametergewinnung vorgestellt.

1.7.1. Parameterextraktion aus dem Herstellerdatenblatt Soll ein Modell eines bereits existierenden Systems, z.B. eines bürstenbehafteten permanenterregten Gleichstrommotors, erstellt werden, um damit etwa einen modellbasierten Reglerentwurf zu realisieren, so wird in der Regel ein Datenblatt vom Hersteller zur Verfügung gestellt, in dem die wichtigsten Parameter hinterlegt sind, um das Modell zu parametrieren. Handelt es sich dabei um relativ einfache Systeme, wie das eben erwähnte, so bietet das Datenblatt namhafter Hersteller oft ausreichend Informationen, um das Modell zu parametrieren. Dennoch kann es vorkommen, dass von gewissen Parametern, wie etwa die Lagerreibung im Nennbetrieb, keine Angaben vorhanden sind. Nun stellt sich die Frage, ob solche Parameter vernachlässigt werden können, was von der Modellanwendung und der Erfahrung des Ingenieurs abhängt, oder ob 6 Außer

die reale Anwendung wird nahe genug an den nominellen Bedingungen betrieben.

24

1. Grundlegendes

es möglich ist den Parameter, wie in den folgenden Abschnitten erläutert wird, zu berechnen, messtechnisch zu ermitteln oder gar zu schätzen. Zur Parameterextraktion aus dem Herstellerdatenblatt sei zusätzlich auf das eingangs erwähnte einführende Beispiel verwiesen, in dem ferner ersichtlich wurde, dass die Parametrierung schon während der Abstraktionsphase beachtet werden muss und ggf. zu einer Anpassung der Modellkomplexität (Detaillierungsgrads des Modells) führt, die im Beispiel aufgrund fehlender Parameter im Datenblatt nötig war.

1.7.2. Berechnen von Parametern Wie bereits in Abschnitt 1.7.1 angedeutet, kann es vorkommen, dass einige Parameter des Modells nicht bekannt sind, jedoch berechnet werden können. Sind beispielsweise im Herstellerdatenblatt eines bürstenbehafteten permanenterregten Gleichstrommotors Informationen zum Leerlaufstrom I0 , der Leerlaufdrehzahl ω0 und der Drehmomentkonstante kT im Nennbetrieb vorhanden, so lässt sich daraus die Lagerreibung bm im Nennbetrieb anhand folgender Beziehung ermitteln: bm =

kT · I0 ω0

Es ist, um ein weiteres Beispiel zu nennen, ebenfalls sehr einfach möglich das Massenträgheitsmoment eines Körpers, z.B. einer Schwungmasse, bei gegebener Geometrie und Materialeigenschaften (Gewicht oder Dichte), zu berechnen. So ergibt sich das Trägheitsmoment einer Schwungmasse J in Form eines Vollzylinders mit der Masse m und dem Radius r wie folgt: J=

1 · m · r2 2

Da die Berechnung unbekannter Parameter grundsätzlich immer auf physikalischen Gesetzmäßigkeiten oder auf geometrischen Zusammenhängen basiert, wird an dieser Stelle nicht näher auf diese Thematik eingegangen.

1.7.3. Messtechnische Ermittlung von Parametern Unter der Voraussetzung, dass ein reales System des zu erstellenden Modells existiert und die Parameter weder im Datenblatt vorhanden sind noch berechnet werden können, besteht ggf. die Möglichkeit unbekannte Parameter auch messtechnisch zu identifizieren. Dabei muss mit großer Sorgfalt vorgegangen

1.7. Modellparametrierung

25

werden, um sicherzugehen, dass die gemessenen Größen auch repräsentativ sind: Die Umgebungsbedingungen (Temperatur, Feuchtigkeit, etc.) müssen bekannt sein, Messgerätetoleranzen müssen berücksichtigt werden, parasitäre Effekte (etwa die der Messgeräte selbst oder des Messaufbaus) sollten bekannt sein, um nur einige der potentiellen Fehlerquellen bei der messtechnischen Ermittlung von Parametern zu nennen. Ein weiterer Grund für die messtechnische Ermittlung von Parametern sind deren Toleranzen, die im Datenblatt oft nur hinreichend genau spezifiziert werden. Will man beispielsweise einen modellbasierten Reglerentwurf für den in Abschnitt 1.7.1 erwähnten bürstenbehafteten permanenterregten Gleichstrommotor realisieren, so kann es durchaus sinnvoll sein die Parameter die im Herstellerdatenblatt mit Toleranzen versehen sind, messtechnisch zu verifizieren, um so ein verbessertes Modell des verwendeten Systems zu erhalten.

1.7.4. Parameterschätzung Die Parameterschätzung ist ein Teilgebiet der in Abschnitt 1.4.2 auf Seite 7 vorgestellten Systemidentifikation. Aus einem Zitat in [BU16], Kapitel 3, kann die Aufgabe der Systemidentifikation mittels Parameterschätzverfahren wie folgt formuliert werden: “Gegeben sind zusammengehörige Datensätze oder Messungen des zeitlichen Verlaufs der Eingangs- und Ausgangssignale eines dynamischen Systems. Gesucht sind Struktur und Parameter eines geeigneten mathematischen Modells, welches das statische und dynamische Verhalten des untersuchten Systems hinreichend genau beschreibt.“ Es wird davon ausgegangen, dass es dabei möglich ist ein mathematisches Modell zu erstellen bzw. dass bereits ein solches zugrunde liegt, dessen Parameter entweder teilweise oder noch vollständig unbekannt sind. Um die unbekannten Parameter bestimmen zu können, muss bei identischer Anregung (Eingangssignal) u, grob gesagt, das Simulationsergebnis y˜M an das Messergebnis y˜ angeglichen werden. Um ein Messergebnis zu erhalten, wird das reale System zunächst mit geeigneten Testsignalen angeregt. Sodann wird die Systemantwort erfasst, welche in der Regel als Messreihe (Messdaten) vorliegt. Der nächste Schritt befasst sich mit der Wahl eines geeigneten Gütekriteriums7 , um die Differenz (den Modellfehler) e˜ zwischen Simulationsergebnis y˜M und den zuvor 7 Hier

haben sich, von den zahlreichen verfügbaren Gütekriterien, insbesondere solche etabliert, die auf der Minimierung der Summe der Fehlerquadrate (engl. least-squares method) basieren.

26

1. Grundlegendes

ermittelten Messdaten y˜ zu minimieren. e˜ = y˜ − y˜M Wobei das Ausgangssignal (die Messdaten) y˜ des realen Systems der Summe des nicht messbaren ungestörten Signals yS und der Störgröße rS entspricht. y˜ = yS + rS Dabei bedient man sich eines geeigneten Rechenalgorithmus der die unbekannten, frei einstellbaren, Parameter pM auf Basis des zuvor definierten Gütefunktionals (Kriterium) solange variiert, bis sich ein akzeptabler Modellfehler einstellt, d.h. bis ein definiertes Minimum erreicht worden ist. Dieser Ablauf ist in Abb. 1.13 grafisch veranschaulicht.

rS u

Tatsächliches System

Modell

yS +

y~M

+ y

+ _

e~

pM Rechenalgorithmus zur Ermittlung der Modellparameter

Kriterium

Abb. 1.13.: Ablauf zur Parameterschätzung. Quelle: [BU16], Kapitel 3 Für eine detaillierte Einführung in diese Thematik sei vor allem auf [BU16], [LG16], [Lju99] und [Unb00b] verwiesen.

1.7.5. Parametervariation Eine weitverbreitete Technik, um fehlende Parameterwerte zu erhalten, ist dessen Variation. In der Regel wendet man diese Technik an, wenn man mit der zuvor erwähnten Parameterschätzung nicht vertraut ist, oder keine Software besitzt, die einem dabei behilflich ist, sprich die nötigen Funktionen zur Verfügung stellt. Bei der Parametervariation wird, analog zur Parameterschätzung,

1.7. Modellparametrierung

27

das Messergebnis mit dem Simulationsergebnis verglichen und die Werte der Parameter solange variiert, bis sich eine akzeptable Abweichung einstellt. Die Variation der Parameter kann dabei auf mehrere Arten geschehen. Im Folgenden seien zumindest zwei davon erwähnt: • Durch die Versuchs-und-Irrtum Methode: Parameter werden von Hand variiert bis sich das erwartete Ergebnis einstellt. Diese Methode versagt allerdings schon bei einer geringen Anzahl an Parametern. • Parameter-Sweep Simulation: Hier wird für jeden Parameter, dessen Wert es zu finden gilt, ein Wertebereich vorgegeben. Anschließend werden diese Werte in mehreren Simulationen solange variiert, bis der komplette Wertebereich durchlaufen ist. Als Ergebnis liegt eine Kurvenschar vor, die manuell ausgewertet werden muss. Wie gut diese Methode konvergiert, d.h. ob das erwartete Ergebnis erzielt wird, hängt vom gewählten Wertebereich eines jeden Parameters, den es zu finden gibt, ab. In der Regel sind hier einige Iterationen erforderlich.

1.7.6. Finite Elemente Methode zur Parametergewinnung In vielen Fällen wird parallel zu der dynamischen Modellierung, die Beschreibung technischer Systeme über die Finite Elemente Methode (FEM) angewandt. Diese wird vorwiegend während des Entwurfs einzelner Komponenten angewandt und bietet, verglichen mit den dynamischen Modellen, meist tiefere Einblicke in die Funktionalität einer Komponente. Daher macht es oft Sinn, Parameter für die dynamische Simulation aus der FEM abzuleiten. Als Beispiel soll hier die Auslegung eines elektrischen Motors herangezogen werden. In vielen Fällen werden diese über FEM-Anwendungen zur Berechnung elektromagnetischer Felder ausgelegt. Diese bieten einen Detaillierungsgrad, welcher mit dynamischen Modellen praktisch nicht abzubilden ist. Dabei sind verschiedene Formen der Parametergewinnung denkbar. Diese reichen von einer Ermittlung grundlegender, konstanter Werte für die Erstellung eines elektrischen Ersatzschaltbildes, bis hin zu automatisch generierten Modellen mit variablen Detaillierungsgraden, z. B. über Verfahren wie des Reduced Order Modeling (ROM). Ähnliche Ansätze können auch für thermische Modelle angewandt werden, wobei in diesem Fall eine thermische Berechnung basierend auf der numerischen Strömungsmechanik (engl. Computational Fluid Dynamics, kurz CFD) die Grundlage bildet. Diese vergleichsweise aufwändige Methodik kann nötig werden, wenn die physikalischen Zusammenhänge zu komplex sind, um sie analytisch abzubilden. Dies ist in den angesprochenen Beispielen oft bei der Abbildung von magnetischer

28

1. Grundlegendes

Sättigung der vergleichsweise komplexen Geometrie, oder beim Wärmetransport über den Luftspalt gegeben.

1.8. Simulation dynamischer Systeme Eine Simulation ist ein Experiment, das anhand eines mathematischen Modells durchgeführt wird. In der Mathematik versteht man unter dem Begriff Simulation das analytische Lösen einer Differentialgleichung, respektive eines Systems bestehend aus Differentialgleichungen. Als Ergebnis erhält man das zeitliche Verhalten – die Dynamik – des Systems. Da für viele Differentialgleichungen zur Beschreibung technischer Systeme keine explizite Lösung existiert8 , wird anhand eines numerischen Verfahrens eine näherungsweise Lösung gesucht: Das Integral wird numerisch approximiert. Die Grundidee ist dabei Abb. 1.14a zu entnehmen. Gegeben sei der aktuelle Wert x(t) zum Zeitpunkt t. Gesucht ist (b)

(a)

x(t)

x(t)

x(t) x(t+h)

xa(t+h) x(t)

x(t) h

t

Δx

φ h

t+h

t

t

t+h

t

Abb. 1.14.: (a) Analytische Lösung: Ziel ist es den wahren Wert xa (t + h) durch ein numerisches Verfahren näherungsweise zu bestimmen. (b) Einfache numerische Approximation des Wertes x(t + h) zum Zeitpunkt t + h anhand des Wertes zum Zeitpunkt x(t), dessen Ableitung x(t) ˙ und der Schrittweite h der weitere (zukünftige) zeitliche Verlauf des Systems. Das Ziel besteht nun darin, ein numerisches Integrationsverfahren auszuwählen, das den wahren Wert der analytischen Lösung xa (t + h) so gut wie möglich approximiert. Dies scheint auf den ersten Blick recht einfach zu sein, erfordert jedoch eine gute Kenntnis über das Verhalten des Systems. Um dies besser verstehen zu können, wird im 8 Es

existiert keine Stammfunktion für den Integranden.

1.8. Simulation dynamischer Systeme

29

Folgenden eine einfache numerische Approximation der analytischen Lösung vorgestellt. Anhand dieser wird erläutert, warum die heute am Markt verfügbare Simulationsprogramme mehrere zusätzliche numerische Integrationsverfahren zu Verfügung stellen. Eine detaillierte Einführung in das Gebiet der Simulation dynamischer Systeme folgt in Kapitel 8 ab Seite 493. Will man den wahren Wert xa (t + h) zum Zeitpunkt t + h numerisch approximieren, so erfolgt dies im einfachsten Fall durch die zeitliche Ableitung von x(t) zum Zeitpunkt t (siehe Abb. 1.14). tan(ϕ) = x(t) ˙ =

∆x h

(1.31)

∆x = x(t) ˙ ·h

(1.32)

Um den Wert x(t + h) zu berechnen, reicht demnach im einfachsten Fall die Kenntnis des aktuellen Wertes x(t), dessen Ableitung x(t) ˙ und der Schrittweite h. Wir erhalten folgenden Ausdruck: x(t + h) = x(t) + ∆x x(t + h) = x(t) + x(t) ˙ ·h

(1.33) (1.34)

Die grafische Interpretation von Gleichung (1.34) ist Abb. 1.15 zu entnehmen. Das soeben vorgestellte Verfahren zur numerischen Approximation der analyti-

x(t)

x(t)+x(t) h x(t)

x(t+h) x(t)·h

φ

x(t)

h

t

t+h

t

Abb. 1.15.: Simulation dynamischer Systeme: Vorwärts-Euler Verfahren schen Lösung eines dynamischen Systems ist in der Literatur als Vorwärts-Euler Verfahren bekannt. Dabei handelt es sich um einen Löser9 (engl. solver) 1. Ordnung. 9 Fortan

wird der Ausdruck Solver verwendet.

30

1. Grundlegendes

Die Ordnung eines Solvers tritt klar zum Vorschein, wenn man diesen anhand einer Taylorreihe entwickelt. Um das Vorwärts-Euler Verfahren anhand einer Taylorreihe zu beschreiben wird Gleichung (1.9) auf Seite 13 wie folgt modifiziert:

xi (t + h) = xi (t) +

d2 xi (t) h2 dxi (t) ·h + · + ... 2 dt } | {z | dt {z } 2! x(t) ˙

(1.35)

x ¨(t)

Bricht man die Taylorreihe nach dem linearen Term ab, so erhält man einen Solver 1. Ordnung. Hier wird bereits ersichtlich, dass dieser für Systeme mit hoher Dynamik ungeeignet ist, da eine sehr kleine Schrittweite h gewählt werden muss, um den Wert x(t + h) an die analytische Lösung anzunähern. Dies lässt sich durch die lineare Approximation begründen. Bricht man die Taylorreihe hingegen nach dem quadratischen Term ab, so erhält man einen Solver 2. Ordnung, der den Wert x(t + h) durch eine quadratische Funktion approximiert. Als Ergebnis erhält man bei identischer Schrittweite einen approximierten Wert, der näher an der tatsächlichen analytischen Lösung liegt, als der Wert, der mit dem Vorwärts-Euler Verfahren berechnet wird. Weiters erlaubt dies auch die Wahl einer größeren Schrittweite h und qualifiziert sich daher eher für Systeme mit hoher Dynamik. Soviel zur Grundidee numerischer Integrationsverfahren. In Kapitel 2: Einführung in die Zustandsraumdarstellung ab Seite 33, wird gezeigt in welcher Form die Modellgleichungen vorliegen müssen, damit diese vom Solver interpretiert werden können. Kapitel 8: Simulation und numerische Integrationsverfahren ab Seite 493 befasst sich ausführlich mit dem Thema Simulation und numerische Integrationsverfahren: • Zu Beginn werden Einschrittverfahren10 vorgestellt. • Anschließend werden Mehrschrittverfahren11 behandelt. • Neben der Ordnung eines Solvers wird zusätzlich über den numerischen Stabilitätsbereich einen Solvers gesprochen, welcher grob gesagt dafür verantwortlich ist ob ein analytisch stabiles System numerisch ebenfalls als solches erscheint. • Es werden neben den bereits erwähnten expliziten Verfahren12 auch im10 Dabei

handelt es sich um Solver, wie das in diesem Abschnitt vorgestellte Vorwärts-Euler Verfahren, bei dem die Information, die nötig ist, um den nächsten Wert zu berechnen, in jedem Schritt neu berechnet wird. 11 Hier werden, je nach Ordnung des Solvers, bereits berechnete Werte herangezogen, um daraus den nächsten Wert zu extrapolieren. 12 Explizit bedeutet dabei, dass ein zukünftiger Wert aufgrund vorhandener und daher bekannter Information berechnet wird.

1.8. Simulation dynamischer Systeme

31

plizite Verfahren13 vorgestellt. Es wird dabei vor allem auf deren Vorteil im Umgang mit steifen Systemen eingegangen. • Zudem wird in diesem Kapitel auch darauf eingegangen wie Unstetigkeiten (Diskontinuitäten) behandelt werden, um ein korrektes Simulationsergebnis zu erzielen. • Abgerundet wird das Kapitel mit einigen Faustregeln zur Wahl von Solver und Schrittweite, der Interpretation typischer Solverausgaben, Echtzeitsimulation und einem kurzen Abschnitt zu alternativen Lösungsverfahren. Am Ende dieses Kapitels sollte der Leser in der Lage sein, einen für das zu simulierende Modell passenden Solver auszuwählen.

13 Bei

impliziten Verfahren wird ein zukünftiger Wert anhand von Werten in der Zukunft (unbekannte Werte) berechnet. Dies gelingt über Iterationsverfahren wie z.B. der NewtonIteration.

2. Einführung in die Zustandsraumdarstellung Wenn von Modellbildung und Simulation gesprochen wird, sind damit immer zwei grundsätzlich unterschiedliche Prozesse gemeint: Der Prozess Modellbildung ist eine klassische Ingenieursdisziplin, welche im Verlauf eines technischen Studiums einen Teil der Ausbildung darstellen sollte. Dabei wird das physikalische System durch ein mathematisches Modell beschrieben, welches dann dem Solver übergeben wird. Dazu muss das mathematische Modell bestimmte Voraussetzungen erfüllen, damit dieses von einem Solver korrekt interpretiert und simuliert werden kann. Der Prozess Simulation hingegen fällt weitgehend in die Bereiche Mathematik und Informatik. Dabei werden, je nach Problemstellung, verschiedene Verfahren entwickelt, welche die numerische Lösung so gut wie möglich an die analytische Lösung approximieren. Auch wenn dies nicht zu den Aufgaben von Ingenieuren zählt, ist es jedoch hilfreich, wenn sie zumindest in groben Zügen verstehen, was es heißt, eine Lösung numerisch zu approximieren und welcher der zur Verfügung stehenden Solver für das zu simulierende Modell am besten geeignet ist. Wie bereits erwähnt, muss ein Modell in einer bestimmten Form vorliegen, um vom Solver korrekt interpretiert zu werden. Dabei hat sich eine Form durchgesetzt: die sogenannte Zustandsraumdarstellung (engl. state-space representation). Man kann auch sagen, dass durch die Zustandsraumdarstellung eine klare Trennung (Schnittstelle) der Prozesse Modellbildung und Simulation geschaffen wird. In der Mathematik spricht man üblicherweise nicht von einer Zustandsraumdarstellung. Vielmehr wird hier von Systemen linearer gewöhnlicher Differentialgleichungen 1. Ordnung (engl. ordinary differential equations, kurz ODE) gesprochen. Bringt man solche Systeme in eine Matrizendarstellung, so erhält man eine wesentlich kompaktere Darstellung desselben. Dies wird in Anhang A beschrieben. Für eine detaillierte Einführung in das Thema Differentialgleichungen sei auf [Pap01] verwiesen. In den Ingenieurwissenschaften wird diese (kompakte) Matrizengleichung als Zustandsdifferentialgleichung oder kurz Zustandsgleichung bezeichnet. Erweitert man diese noch um eine weitere Gleichung – der sogenannten Ausgangsgleichung – erhält man die Zustandsraumdarstellung

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8_2

33

34

2. Einführung in die Zustandsraumdarstellung

physikalischer Systeme. Die Zustandsraumdarstellung wird aber nicht nur als Input für Solver verwendet. Sie hat vor allem in der Regelungstechnik eine große Bedeutung (siehe [Föl08] und [Unb00a]). Zu Beginn des Kapitels folgt eine Definition des Begriffs Zustandsvariablen. Im Anschluss wird die Zustandsraumdarstellung anhand eines einführenden Beispiels (Seite 35) Schritt für Schritt hergeleitet. In Abschnitt 2.3 ab Seite 39 folgt eine detaillierte Beschreibung der Zustandsraumdarstellung sowie eine Interpretation deren Zustands- und Ausgangsgleichung. In Abschnitt 2.4 (Seite 46) wird auf die Schnittstelle zur Simulation eingegangen. Zum Abschluss wird in Abschnitt 2.5 (Seite 47) gezeigt, wie man zur analytischen Lösung der Zustandsraumdarstellung gelangt.

2.1. Zustandsvariablen Technische Systeme werden prinzipiell durch drei verschiedene Größen charakterisiert (Abb. 2.1): • Eingangsgrößen u(t) • Ausgangsgrößen y(t) • Zustandsgrößen x(t) Zustandsvariablen (oder Zustandsgrößen) wurden bereits in Abschnitt 1.5.1 auf Seite 8 eingeführt und sollen im Folgenden etwas detaillierter beschrieben werden. Systemgrenze

u(t)

System

y(t)

x(t)

Umgebung

Abb. 2.1.: Charakteristische Größen technischer Systeme Allgemein gilt: Zustandsgrößen sind physikalische Größen, die den aktuellen

2.2. Ein einführendes Beispiel

35

Status (Ladung eines Kondensators, magnetischer Fluss einer Induktivität) von energiespeichernden Elementen beschreiben. Aus der Kenntnis des Zustands zu einem gegebenen Zeitpunkt kann unter Berücksichtigung äußerer Einflussgrößen (Eingänge) das Verhalten des Systems für alle folgenden Zeitpunkte berechnet werden. Gleichungen, welche Energiespeicher beschreiben, enthalten immer eine zeitliche Ableitung, entweder in integraler oder differenzieller Form. Man kann also jeden Energiespeicher über ein Integral beschreiben1 . Mit anderen Worten: Zustandsgrößen sind die Ausgangsgrößen von Integratoren. Wie aus der Mathematik bekannt ist, hat jeder Integrator eine Anfangsbedingung. Dies entspricht in der Zustandsraumdarstellung der „Beschreibung der Vergangenheit“, welche vor dem Start der Simulation liegt und allgemein mit x0 bezeichnet wird. Aus diesen Anfangsbedingungen und den Modellgleichungen können die Zustände somit für jeden Zeitpunkt berechnet werden.

2.2. Ein einführendes Beispiel Im Folgenden wird die Zustandsraumdarstellung anhand eines Beispiels erläutert. Zuerst wird die Wahl der Eingangs- bzw. Ausgangsgrößen durchgeführt. Anschließend wird die Wahl der Zustandsgrößen erläutert. Ferner werden die Zustands- und die Ausgangsgleichung der Zustandsraumdarstellung interpretiert und deren Eigenschaften erläutert. Dazu wird eine elektrische Schaltung herangezogen, welche in Abb. 2.2 dargestellt ist.

i

L

R1

iC iR2

u

I

R2

C

uC

Abb. 2.2.: Passive elektronische Schaltung

1 Integratoren

werden gegenüber Differentiatoren bevorzugt eingesetzt, weil viele gängige Lösungsverfahren (Solver) auf diese Form aufbauen.

36

2. Einführung in die Zustandsraumdarstellung

Bestimmen der Ein- und der Ausgangsgrößen Die Eingangsgröße ist in unserem Beispiel die Eingangsspannung. u(t) = u

(2.1)

Die Ausgangsgrößen werden nach Art der Anwendung festgelegt. In unserem Beispiel sind die Ausgangsgrößen frei wählbar, je nachdem welche Größen von Interesse sind. In der Regelungstechnik müssen dementsprechend die zu regelnden Größen gewählt werden. Wir wählen die Kondensatorspannung uC als Ausgangsgröße. y(t) = uC

(2.2)

Bestimmen der Zustandsgrößen Die elektrische Schaltung besitzt zwei energiespeichernde Elemente und wird daher als System 2. Ordnung charakterisiert. Allgemein gilt: Die Ordnung eines Systems wird durch die Anzahl Zustandsvariablen, für welche die Anfangsbedingungen unabhängig voneinander bestimmt werden, definiert und entspricht der Anzahl der energiespeichernden Elemente. Wir benötigen also zwei Differentialgleichungen 1. Ordnung, um das System zu beschreiben. 1 uC (t) = C i(t) =

1 L

Zt iC (t) · dt + uC (0) ≡ x1 (t)

(2.3)

uL (t) · dt + i(0) ≡ x2 (t)

(2.4)

0 Zt

0

Die Zustandsgrößen   x1 (t) x(t) = x2 (t) der vorliegenden elektrischen Schaltung sind die Spannung uC (t) und der Strom i(t). Die dazugehörigen Anfangsbedingungen werden mit uC (0) und i(0) bezeichnet und künftig durch den Spaltenvektor x0 dargestellt. Wir halten Folgendes fest: Wenn wir ein System n-ter Ordnung im Zustandsraum darstellen wollen, dann müssen wir dieses System n-ter Ordnung mittels n Differentialgleichungen 1. Ordnung beschreiben.

2.2. Ein einführendes Beispiel

37

Aufstellen der Zustandsgleichungen Ziel ist es nun, die zeitliche Änderung der Zustandsvariablen x1 (t) und x2 (t) zu beschreiben. Dazu werden die Gleichungen (2.3) und (2.4) nach der Zeit abgeleitet und lediglich durch bekannte Größen, sprich durch die Eingangsgröße u(t), die Modellparameter R1 , L, R2 und C sowie den beiden Zustandsgrößen x1 (t) und x2 (t) selbst ausgedrückt. Aufstellen der ersten Zustandsgleichung Um die erste der beiden Zustandsgleichungen (x˙ 1 ) zu erhalten, bilden wir die zeitliche Ableitung von Gleichung (2.3): x˙ 1 =

1 · iC C

(2.5)

Um Gleichung (2.5) nun durch bekannte Größen ausdrücken zu können, wird von der Kirchhoff’schen Knotenregel Gebrauch gemacht. i = iR2 + iC ⇒ iC = i − iR2

(2.6)

Gleichung (2.6) wird nun in Gleichung (2.5) eingesetzt und die Ströme werden durch deren Komponentengleichungen substituiert. 1 (i − iR2 ) C  1 1 x˙ 1 = x2 − · uR2 C R2

x˙ 1 =

(2.7)

Da der Widerstand R2 parallel zum Kondensator C ist, besitzen beide Komponenten dieselbe Spannung und wir erhalten:   1 1 x2 − x˙ 1 = · x1 C R2 1 1 x˙ 1 = − · x1 + · x2 (2.8) C · R2 C Aufstellen der zweiten Zustandsgleichung Dazu wird Gleichung (2.4) abgeleitet: x˙ 2 =

1 · uL L

(2.9)

38

2. Einführung in die Zustandsraumdarstellung

Im nächsten Schritt wird uL durch bekannte Größen ausgedrückt. Dazu wird Masche I herangezogen. u = uR1 + uL + uC uL = u − uR1 − uC

(2.10)

Gleichung (2.10) wird nun in Gleichung (2.9) eingesetzt und die Spannungen werden wiederum durch die Eingangsgröße und die Zustandsgrößen ausgedrückt. 1 (u − uR1 − uC ) L 1 x˙ 2 = (u(t) − R1 · i − x1 ) L 1 x˙ 2 = (u(t) − R1 · x2 − x1 ) L 1 R1 1 x˙ 2 = − · x1 − · x2 + · u(t) L L L

x˙ 2 =

(2.11)

Nun ist es uns gelungen, die zeitliche Änderung der Zustandsvariablen durch die Eingangsgröße u(t) und die Zustandsvariablen selbst auszudrücken. Nachdem es sich bei all diesen Größen um bekannte Größen handelt, sind auch die zeitlichen Ableitungen, welche die Änderung der Zustandsvariablen beschreiben, bekannt. Mit Hilfe von Zustandsgleichungen sind wir daher in der Lage, das Verhalten unseres Systems eindeutig zu beschreiben. Eine detaillierte Interpretation der Zustandsgleichung erfolgt in Abschnitt 2.3.3 auf Seite 43.

Bilden der Zustandsraumdarstellung Nun werden die Gleichungen (2.8) und (2.11) in eine Vektor-Matrix Form übergeführt.         1 1 − C·R 0 x1 x˙ 1 C 2 · + ·u(t) (2.12) = 1 x2 x˙ 2 − L1 − RL1 L | {z } | {z } b

A

Diese Gleichung wird fortan als Zustandsgleichung bezeichnet. Der Vollständigkeit halber werden die Matrix A und der Vektor b sowie die Anfangsbedingungen x0 separat angeführt und wir erhalten: Die Systemmatrix,  1 − C·R 2 A= − L1

1 C − RL1

 ,

(2.13)

2.3. Zustandsraumdarstellung die Eingangs- oder Steuermatrix   0 b= 1

39

(2.14)

L

und die Anfangsbedingungen     x1 (0) uC (0) = . x0 = x2 (0) i(0)

(2.15)

Um zur Zustandsraumdarstellung zu gelangen, muss noch ein weiterer Schritt durchgeführt werden. Wir müssen noch eine Verbindung der Zustandsvariablen x(t) und der Ausgangsvariablen y(t) herstellen. Diese wird über eine weitere Gleichung, die sogenannte Ausgangsgleichung, hergestellt. Im vorliegenden Beispiel ist, wie bereits in Gleichung (2.2) auf Seite 36 beschrieben, die Ausgangsgröße gleich der Spannung uC am Kondensator. Diese Spannung ist gleichzeitig die Zustandsvariable x1 . Wir erhalten:    x1 (2.16) y= 1 0 · x2 | {z } cT

Wobei cT als die Ausgangs- oder Beobachtungsmatrix bezeichnet wird. Für den Fall, dass die Ausgänge (Ausgangsgrößen) Zustandsvariablen entsprechen, wird im Zeilenvektor cT an der entsprechenden Stelle eine Eins eingetragen. Ist der gewünschte Ausgang keine Zustandsvariable, muss er aus diesen errechnet werden.

2.3. Zustandsraumdarstellung In diesem Abschnitt wird die im vorangegangenen Beispiel hergeleitete Zustandsraumdarstellung etwas genauer betrachtet. Die Zustandsraumdarstellung beschreibt ein System n-ter Ordnung mittels n Differentialgleichungen 1. Ordnung. Die allgemeine Form der Zustandsraumdarstellung für Systeme bestehend aus n Differentialgleichungen 1. Ordnung hat folgende Form: = f (x, u, t) x(t) ˙

(2.17)

y(t) = g (x, u, t)

(2.18)

Wobei f und g lineare oder nichtlineare vektorielle Funktionen darstellen. Im Falle eines LTI-Systems wird die vereinfachte, in Abschnitt 1.5.5 (Seite 15) hergeleitete Form der Zustandsraumdarstellung herangezogen.

40

2. Einführung in die Zustandsraumdarstellung

Im Folgenden behandeln wir die lineare Zustandsraumdarstellung für Eingrößensysteme, sogenannte SISO-Systeme (engl. Single-Input, Single-Output) und für Mehrgrößensysteme, sogenannte MIMO-Systeme (engl. Multiple-Input Multiple-Output).

2.3.1. Eingrößensysteme (SISO-Systeme) In unserem einführenden Beispiel haben wir ein lineares Eingrößensystem im Zustandsraum dargestellt. Die Zustandsraumdarstellung für dieses Eingrößensystem lautet: = A · x(t) + b · u(t), x(t) ˙

x(0) = x0

(2.19)

T

y(t) = c · x(t)

(2.20)

Wobei A ∈ R(n×n) die Systemmatrix mit einer Dimension von (n×n), x(t) ∈ Rn ein (n × 1) Zustandsvektor, b ∈ Rn ein (n × 1) Eingangsvektor, u(t) ∈ R der skalarwertige Eingang, y(t) ∈ R der skalarwertige Ausgang und cT ∈ Rn ein (1 × n) Ausgangsvektor ist. Der Zustandsvektor x(t) zum Zeitpunkt t = 0 beinhaltet die Anfangsbedingungen x(0), welche in Abschnitt 2.2 auf Seite 38 bereits mit x0 bezeichnet wurden. Abb. 2.3 zeigt das Blockschaltbild der Zustandsraumdarstellung. Um eine x0 u

b

Σ

. x

1 s

Σ

x

cT

y

A Abb. 2.3.: Blockschaltbild der Zustandsraumdarstellung für SISO-Systeme allgemein gültige Form zu erhalten, fehlt allerdings noch ein Konstrukt, das die „Sprungfähigkeit“ eines Systems beschreibt. Dieses Konstrukt lässt sich sehr einfach über einen zusätzlichen Term in der Ausgangsgleichung bewerkstelligen. Wir erhalten: = A · x(t) + b · u(t), x(t) ˙ T

y(t) = c · x(t) + d · u(t)

x(0) = x0

(2.21) (2.22)

2.3. Zustandsraumdarstellung

41

Wobei d ∈ R allgemein als Durchgangsmatrix bezeichnet wird und im Falle von Eingrößensystemen ein Skalar ist. Abb. 2.4 zeigt das vollständige Blockschaltbild der Zustandsraumdarstellung. x0 u

b

Σ

. x

1 s

x

cT

Σ

y

A d Abb. 2.4.: Blockschaltbild der Zustandsraumdarstellung für SISO-Systeme. Zusätzlich wurden die Anfangsbedingungen x0 als Eingang in den Integrator dargestellt, was darauf hindeuten soll, dass diese auch dort spezifiziert werden Anhand des Blockschaltbildes in Abb. 2.4 ist ersichtlich, dass sich ein Sprung am Eingang über den Skalar d proportional auf den Ausgang auswirkt.

2.3.2. Mehrgrößensysteme (MIMO-Systeme) Bisher haben wir den Zustandsraum für SISO-Systeme behandelt. Handelt es sich jedoch um MIMO-Systeme, dann werden aus den Vektoren b und cT sowie dem Skalar d die Matrizen B, C und D und wir erhalten folgende allgemeingültige Darstellung: = A · x(t) + B · u(t), x(t) ˙ y(t) = C · x(t) + D · u(t)

x(0) = x0

(2.23) (2.24)

Wobei A ∈ R(n×n) die sogenannte Systemmatrix mit einer Dimension von (n×n), x(t) ∈ R ein (n × 1) Zustandsvektor, B ∈ R(n×r) eine (n × r) Eingangsmatrix, u(t) ∈ Rr ein (r × 1) Eingangsvektor, y ∈ Rm ein (m × 1) Ausgangsvektor, C ∈ R(m×n) eine (m × n) Ausgangsmatrix und D ∈ R(m×r) die sogenannte Durchgangsmatrix mit einer Dimension von (m × r) ist.

42

2. Einführung in die Zustandsraumdarstellung

Das dazugehörige Blockschaltbild ist in Abb. 2.5 dargestellt. Die Einträge der x0

u

B

Σ

. x

x

1 s

C

y

Σ

A D Abb. 2.5.: Blockschaltbild der Zustandsraumdarstellung für MIMO-Systeme D Matrix sind in den meisten Fällen gleich Null, außer der Ausgang hängt (zumindest teilweise) direkt proportional vom Eingang ab. Handelt es sich also um nicht-sprungfähige Systeme, reduziert sich die Zustandsraumdarstellung auf folgende Gleichungen: x(t) ˙ = A · x(t) + B · u(t), y(t) = C · x(t)

x(0) = x0

(2.25) (2.26)

Das zugehörige Blockschaltbild der reduzierten Zustandsraumdarstellung ist in Abb. 2.6 dargestellt. x0 u

B

Σ

. x

1 s

x

C

y

A Abb. 2.6.: Reduziertes Blockschaltbild der Zustandsraumdarstellung

2.3. Zustandsraumdarstellung

43

2.3.3. Interpretation der Zustandsgleichung Im Folgenden wird die Zustandsdifferentialgleichung, kurz Zustandsgleichung (siehe Gleichung (2.23)), welche die erste der beiden Gleichungen der Zustandsraumdarstellung verkörpert, etwas genauer interpretiert. Die Zustandsgleichung beschreibt die Dynamik eines physikalischen Systems. Da sich die zeitliche Änderung der Zustandsvariablen durch Eingangsgrößen und Zustandsvariablen selbst beschreiben lässt, ist diese zu jedem Zeitpunkt bekannt. Diese zeitliche Änderung x(t) ˙ der Zustandsvariablen innerhalb eines bestimmten Zeitraums [tstart ≤ t ≤ tende ] kann grafisch als Trajektorie dargestellt werden (siehe Abb. 2.7).

x1(t) t

tende

x(t)

tstart

x2(t) Abb. 2.7.: Grafische Veranschaulichung der Trajektorie eines Systems bestehend aus zwei Zustandsvariablen, x(t) ∈ R2 Als konkretes Beispiel ist in Abb. 2.8 das Verhalten der elektrischen Schaltung aus Abb. 2.2 auf Seite 35 dargestellt. Wobei folgende Parameter verwendet wurden: • u = 10V • R1 = 7.5Ω • L = 10mH • R2 = 1MΩ • C = 50µF Für die Anfangsbedingungen wurden folgende Werte angenommen:

 x0 =

x1 (0) x2 (0)



 =

uC (0) i(0)



 =

1V 0A



44

2. Einführung in die Zustandsraumdarstellung 0.5 0.4 0.3

x2

0.2 0.1 0.0

x(0)

-0.1 -0.2 0

2

4

6

x1

8

10

12

14

Abb. 2.8.: Grafische Veranschaulichung der Trajektorie des elektrischen Serienschwingkreises aus Abb. 2.2 auf Seite 35, x(t) ∈ R2 Anhand der in Abb. 2.8 dargestellten Trajektorie ist das oszillierende Verhalten sowie der eingeschwungene Zustand (x1 = 10V, x2 = 0A) des elektrischen Serienschwingkreises sehr gut ersichtlich. Aus der Theorie der gewöhnlichen Differentialgleichungen ist bekannt, dass eine Differentialgleichung durch einen homogenen und einen partikulären Anteil beschrieben werden kann. Ist das physikalische System nicht fremderregt, wird dem System also keine erzwungene Bewegung erteilt, so besitzt die dazugehörige Differentialgleichung auch keinen partikulären Anteil. D.h., dass u(t) = 0 ist und wir daher folgende reduzierte Zustandsgleichung erhalten: = A · x(t), x(t) ˙

x(0) = x0

(2.27)

Diese Gleichung beschreibt damit die Eigendynamik (Eigenverhalten) des Systems. Systeme, die nicht fremderregt sind, werden auch als autonome Systeme bezeichnet. Die vollständige Information über das Eigenverhalten steckt also in der Systemmatrix A. Berechnet man nun die Eigenwerte λ (Pole) dieser Matrix, erhält man die vollständige Information über die Dynamik des Systems. Um die Eigenwerte zu erhalten, muss folgende Gleichung gelöst werden: det (A − λ · 1) = 0

(2.28)

Sobald diese ermittelt wurden, sind auch die Stabilitätseigenschaften des Systems bekannt. Diese wurden bereits in Abb. 1.11 auf Seite 19 veranschaulicht. Befinden sich die Pole in der linken Halbebene der s-Ebene, ist das System stabil.

2.3. Zustandsraumdarstellung

45

2.3.4. Interpretation der Ausgangsgleichung Die Ausgangsgleichung (2.24) der Zustandsraumdarstellung beschreibt den Zusammenhang zwischen Eingangsgrößen und Zustandsvariablen zu den Ausgangsgrößen. Ist eine Zustandsvariable gleichzeitig ein Ausgang des Systems, so wird eine „1“ an die entsprechende Stelle der Ausgangsmatrix C geschrieben (siehe Gleichung (2.16) auf Seite 39). Gelegentlich kommt es vor, dass die Ausgangsgröße keine Zustandsvariable ist. Folglich ist der Eintrag an der entsprechenden Stelle in der Ausgangsmatrix C ungleich „1“. Angenommen, uns interessiert der Strom iR2 durch den Widerstand R2 (siehe Abb. 2.2 auf Seite 35) als Ausgangsgröße anstelle der Spannung uC des Kondensators C. y(t) = iR2

(2.29)

Dieser Strom ist allerdings keine Zustandsvariable. Um dennoch eine Verknüpfung mit dem Ausgang y(t) herzustellen, muss dieser mittels Zustandsgrößen ausgedrückt werden: iR2 =

1 1 · uC = · x1 R2 R2

Daraus folgt unmittelbar die neue Ausgangsgleichung:    x1 y(t) = R12 0 · x2

(2.30)

(2.31)

Zusätzlich kann auch noch ein möglicher, direkt proportionaler Zusammenhang zwischen Eingang und Ausgang via Durchgangsmatrix D angegeben werden. Im Vergleich zum dynamischen Teil, welcher mittels der Zustandsgleichungen beschrieben wird, stellt D · u(t) den statischen Teil dar.

2.3.5. Grafische Interpretation der Zustandsraumdarstellung In Abb. 2.9 ist der dynamische und der statische Teil der Zustandsraumdarstellung hervorgehoben. Technische (mechatronische) Systeme werden in der Regel durch den dynamischen Teil der Zustandsraumdarstellung beschrieben. Würden diese einen zusätzlichen statischen Anteil besitzen so würde sich ein Sprung am Eingang direkt auf den Ausgang auswirken. Ein Beispiel für ein rein statisches System ist ein Spannungsteiler aus zwei in Serie geschalteten elektrischen Widerständen.

46

2. Einführung in die Zustandsraumdarstellung x0

u

B

Σ

. x

x

1 s

C

A

Σ

y

dynamischer Teil

D statischer Teil

Abb. 2.9.: Grafische Interpretation der Zustandsraumdarstellung. Dynamischer und statischer Teil der Zustandsraumdarstellung

2.4. Schnittstelle zur Simulation In Abb. 2.10 sind die Bereiche Zustandsgleichungen und Integration grafisch hervorgehoben. Die Lösung der Zustandsgleichungen (Differentialgleichungssystem, bestehend aus n Differentialgleichungen 1. Ordnung) erfolgt entweder analytisch oder numerisch. x0 u

B

Σ

. x

Integration

1 s

x

C

y

A Zustandsgleichungen

Abb. 2.10.: Schnittstelle zwischen Modellbildung und Simulation gekennzeichnet durch die Bereiche Zustandsgleichungen und Integration

2.5. Analytische Lösung der Zustandsgleichung

47

Numerische Lösung Die numerische Lösung der Zustandsgleichung erfolgt in der Regel auf einem digitalen Rechner und wird als Simulation bezeichnet. Die Zustandsgleichungen x(t) ˙ repräsentieren die Modellgleichungen die zusammen mit den Zustandsvariablen x(t) dem Solver übergeben werden. Der Integrator wird dabei durch ein geeignetes numerisches Verfahren approximiert. Die Grundidee wurde bereits in Abschnitt 1.8 auf Seite 28 anhand des Vorwärts-Euler Algorithmus vorgestellt. Genau genommen muss Gleichung (1.34) auf Seite 29 für die Lösung der Zustandsgleichungen als Vektorgleichung ausgedrückt werden: x(t + h) = x(t) + x(t) ˙ ·h

(2.32)

Der Integrationsalgorithmus berechnet nun zu gewissen Zeitpunkten, die durch die Schrittweite h vorgegeben werden, die neuen Werte der Zustandsvariablen x(t + h). Dieser Vorgang wird solange wiederholt, bis das Ende der Simulation erreicht ist (siehe Abb. 8.5). Eine detaillierte Einführung in das Gebiet der numerischen Integrationsverfahren folgt in Kapitel 8 ab Seite 493. Wie man zur analytischen Lösung gelangt, ist Gegenstand des folgenden Abschnitts.

2.5. Analytische Lösung der Zustandsgleichung Die Simulation physikalischer Systeme, die in Kapitel 8 (Seite 493) ausführlich beschrieben wird, ist nichts anderes als die numerische Approximation der analytischen Lösung von gewöhnlichen Differentialgleichungen, welche dem Solver in Form der Zustandsraumdarstellung zur Verfügung gestellt wird.

2.5.1. Autonome skalare Systeme (Homogene Lösung) Im Folgenden wird zusätzlich erklärt, wie Systeme im Zustandsraum analytisch gelöst werden. Dazu wird der Einfachheit halber die Zustandsgleichung eines autonomen LTI-Systems 1. Ordnung herangezogen. Gleichung (2.27) auf Seite 44 reduziert sich daher zu einer skalaren Gleichung: x(t) ˙ = a · x(t),

x(0) = x0

(2.33)

Wobei sich die Eigenwerte aus Gleichung (2.28) auf Seite 44 auf den Eigenwert a reduzieren.

48

2. Einführung in die Zustandsraumdarstellung

Lösung im Zeitbereich Diese einfache gewöhnliche Differentialgleichung mit konstanten Koeffizienten lässt sich durch den Separationsansatz lösen. Wir erhalten: dx(t) = a · x(t) dt 1 · dx = a · dt x Zt Zt 1 · dx = a · dt x 0

0

ln(x) + C = a · t Da die Integrationskonstante (der Parameter) C die Anfangsbedingung repräsentiert und daher separat und individuell bestimmt werden muss, können wir diese, ohne das Vorzeichen zu ändern, genauso gut auf die rechte Seite der Gleichung schreiben. ln(x) = a · t + C x = ea·t+C x = ea·t · eC Für den Ausdruck eC schreiben wir abkürzend nur C und erhalten schlussendlich: x = C · ea·t

(2.34)

Gleichung (2.34) wird als allgemeine Lösung bezeichnet. Dies liegt an der Integrationskonstante C, welche noch für eine spezielle Anfangsbedingung bestimmt werden muss. Durch Lösen des Anfangswertproblems wird die allgemeine Lösung zur gesuchten Lösung. Dies wird nun anhand einiger konkreter Beispiele demonstriert. Beispiel 1 Als erstes Beispiel lösen wir nun folgende Differentialgleichung: x(t) ˙ = a · x,

x(t = 0) = x0 = 1

Wobei a = 1 sein soll. Wir erhalten die Lösung x = C · et ,

(2.35)

2.5. Analytische Lösung der Zustandsgleichung

49

wobei wir C noch für die Anfangsbedingung x(t = 0) = 1 bestimmen müssen. Setzen wir diese ein, so erhalten wir: x(t = 0) = C · e0 = 1 Daraus folgt unmittelbar, dass C=1 ist und die spezielle Lösung der Differentialgleichung daher wie folgt lautet: x = et

(2.36)

Beispiel 2 Als zweites Beispiel lösen wir die Differentialgleichung: x(t) ˙ = a · x,

x0 = 3

(2.37)

Wobei a = 1 sein soll. Natürlich erhalten wir dieselbe allgemeine Lösung wie zuvor. Für C hingegen erhalten wir: x(t = 0) = C · e0 = 3

(2.38)

Daraus folgt, dass C=3 ist und sich die spezielle Lösung der Differentialgleichung daher wie folgt ergibt: x = 3 · et

(2.39)

Die grafische Interpretation der speziellen Lösungen (2.36) und (2.39) ist in Abb. 2.11 veranschaulicht. Es ist ersichtlich, dass sich die Funktionen auf Grund der Anfangsbedingungen unterschiedlich entwickeln. Weiters ist ersichtlich, dass die Systemmatrix A (hier ein Skalar a) für die Stabilität des Systems verantwortlich ist. Um ein stabiles Verhalten zu garantieren, darf a ausschließlich negative Werte annehmen. Allgemein gilt, dass die Eigenwerte der Systemmatrix A, die anhand von Gleichung (2.28) auf Seite 44 berechnet werden, negativ sein müssen, damit das System stabil ist. Die bisherigen Beispiele besitzen alle einen Eigenwert mit positivem Realteil, wodurch das System ein instabiles Verhalten aufweist.

50

2. Einführung in die Zustandsraumdarstellung 25

x0=1 x0=3

20

x(t)

15 10 5 0

0

0.5

1

1.5

2

t

Abb. 2.11.: Lösungen der Differentialgleichung x(t) ˙ = x für zwei verschiedene Anfangsbedingungen x0

Beispiel 3 Als letztes Beispiel wollen wir ein stabiles System betrachten und setzen den Skalar a daher auf den Wert −1. Wir erhalten: x(t) ˙ = −1 · x,

x0 = 1

(2.40)

Aufgrund der Anfangsbedingung x0 = 1 ist auch C = 1 und wir erhalten folgende spezielle Lösung der Differentialgleichung: x = e−t

(2.41)

Die grafische Interpretation von Gleichung (2.41) ist in Abb. 2.12 dargestellt. Der Vollständigkeit halber wird im Folgenden gezeigt, wie solche Systeme analytisch im Frequenzbereich gelöst werden können.

Lösung im Frequenzbereich Gleichung (2.33) auf Seite 47 kann genauso gut anhand der Laplace-Transformation im Frequenzbereich gelöst werden. Dabei wird folgende Schreibweise herangezogen: L {x(t)} = X(s): s · X(s) − x0 = a · X(s)

(2.42)

2.5. Analytische Lösung der Zustandsgleichung

51

1

x0=1

0.9 0.8 0.7

x(t)

0.6 0.5 0.4 0.3 0.2 0.1 0

0

1

2

3

4

5

t Abb. 2.12.: Lösung der Differentialgleichung x(t) ˙ = −1 · x für die Anfangsbedingung x0 = 1 Diese Gleichung wird nun nach X(s) aufgelöst. X(s) =

1 · x0 s−a

(2.43)

Über eine Rücktransformation L −1 {X(s)} = x(t) in den Zeitbereich erhalten wir als allgemeine Lösung: x(t) = x0 · ea·t

(2.44)

Diese Gleichung entspricht Gleichung (2.34) auf Seite 48, welche im Zeitbereich ermittelt wurde. In Gleichung (2.44) ist ersichtlich, dass die Integrationskonstante C die Anfangsbedingung x0 repräsentiert.

2.5.2. Inhomogene skalare Lösung Um Eingangsgrößen und damit eine Fremderregung abbilden zu können, wird die homogene Gleichung (2.33) auf Seite 47 um einen inhomogenen (partikulären) Anteil erweitert. Wir erhalten somit eine skalare Version von Gleichung (2.22) auf Seite 40. x(t) ˙ = a · x(t) + b · u(t),

x(0) = x0

(2.45)

Nun kann diese Zustandsgleichung wiederum im Zeitbereich oder im Frequenzbereich gelöst werden. Der Einfachheit halber werden wir diesen Schritt lediglich im

52

2. Einführung in die Zustandsraumdarstellung

Frequenzbereich demonstrieren. Durch Anwenden der Laplace-Transformation L {x(t)} = X(s) L {u(t)} = U (s) erhalten wir: s · X(s) − x0 = a · X(s) + b · U (s)

(2.46)

Auflösen nach X(s) liefert: X(s) =

1 1 · x0 + · b · U (s) s−a s−a

(2.47)

Durch eine Rücktransformation in den Zeitbereich L −1 {X(s)} = x(t) L −1 {U (s)} = u(t) erhält man die allgemeine Lösung:

x(t) = e

a·t

Zt · x0 +

ea(t−τ ) b · u(τ ) · dτ

(2.48)

0

Wobei der erste Term auf der rechten Seite des Gleichheitszeichens die homogene Lösung (Eigenbewegung des Systems) und der zweite Term die partikuläre Lösung (erzwungener Anteil) bezeichnet.

2.5.3. Inhomogene Lösung Sobald ein physikalisches System mehr als eine Zustandsgröße aufweist, entsteht ein System linearer Differentialgleichungen 1. Ordnung mit konstanten Koeffizienten, das entweder homogener oder inhomogener Natur sein kann. In beiden Fällen ist eine analytische Lösung nicht mehr so trivial. Hierzu wird die skalare Systemmatrix a aus Gleichung (2.48) einfach durch A ersetzt (auf den Beweis, dass diese Substitution durchgeführt werden kann, sei hier verzichtet und auf [Unb00a] verwiesen). A·t

e ·x0 + x(t) = |{z} φ

Zt 0

) e|A(t−τ {z } b · u(τ ) · dτ φ(t−τ )

(2.49)

2.5. Analytische Lösung der Zustandsgleichung

53

Wobei φ als Fundamentalmatrix bezeichnet wird. φ = eA·t

(2.50)

Aufgrund bekannter Anfangsbedingungen x0 und des bekannten Verlaufs der Eingangsgröße u(t) sind die Zustandsvariablen x(t), wie bereits in Abschnitt 2.2 auf Seite 36 erwähnt, jederzeit bekannt. Wir wissen also exakt, wie sich unser System verhält.

3. Modellbildung: Ein iterativer Prozess Wie in jeder Ingenieursdisziplin, benötigt es auch bei der Modellbildung mechatronischer Systeme einiges an Erfahrung, um ein valides Modell zu erstellen und dessen Simulationsergebnis korrekt zu interpretieren. Dieses Kapitel soll dabei in zweierlei Hinsicht als Unterstützung dienen. Zu Beginn wird ein generischer Ablauf zur Vorgehensweise bei der Modellerstellung vorgestellt, dessen Schritte anhand eines konkreten Beispiels erläutert werden. Besonderes Augenmerk wird auf die im Anschluss vorgestellten Methoden zur Modellbildung mechatronischer Systeme ab Seite 71 gelegt, da diese einen enormen Einfluss auf den gesamten Prozess der Modellbildung und Simulation haben.

3.1. Vorgehensweise bei der Modellerstellung Die Erstellung eines mathematischen Modells ist ein iterativer Prozess, der im Wesentlichen von der Erfahrung des Ingenieurs abhängt. Es gibt eine Vielzahl möglicher Abläufe, um ein Modell des realen Systems zu erhalten, wobei prinzipiell die in Abb. 3.1 dargestellten Schritte durchlaufen werden. Um ein besseres Verständnis für die Vorgehensweise bei der Modellerstellung zu bekommen, wird ein konkretes Beispiel, eine passive elektronische Schaltung, wie in Abb. 3.2 dargestellt, herangezogen. Die Ingenieurstätigkeiten aus Abb. 3.1 werden daher in Abschnitt 3.1.1 bis Abschnitt 3.1.7 genauer erläutert. Da es sehr viele Modellierungssprachen gibt, die eine direkte Implementierung der Schaltung ermöglichen (z.B. SPICE oder Modelica) ist es in der Praxis eher selten der Fall, dass elektronische Schaltungen mittels Differential-algebraischer Gleichungen 1 (engl. differential-algebraic equations, kurz DAEs) beschrieben werden. Nichtsdestotrotz wird diese Methode im Folgenden vorgestellt. Der Grund dafür ist, dass elektronische Schaltungen sehr einfach durch DAEs 1 Gleichungssysteme

bestehend aus gewöhnlichen Differentialgleichungen sowie algebraischen Nebenbedingungen (Gleichungen die keine Ableitungen beinhalten).

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8_3

55

56

3. Modellbildung: Ein iterativer Prozess Abstraktion

Start

Reales System

Gleichungssystem erstellen Math. Modell DAE

Approx. System

Gleichungssystem sortieren Modifikation

explizites DAE Implementierung Simulationsergebnis

Verifiziertes Modell Verifikation

Implementiertes Modell

Numerische Integration

Ingenieurstätigkeit Simulationsumgebung

Abb. 3.1.: Typische Vorgehensweise bei der Modellerstellung

repräsentiert werden können und sich daher hervorragend anbieten, um das Prinzip zu erläutern.

3.1.1. Abstraktion des realen Systems Hier wird versucht, ein reales System mittels grundlegender technischer Elemente zu beschreiben. Die technischen Elemente müssen dabei mathematisch beschreibbar sein, um eine spätere Berechnung des Gesamtsystems zu ermöglichen. Einfache Beispiele sind Federn, Dämpfer, Massen etc. im mechanischen Bereich oder Widerstände, Induktivitäten, Kapazitäten etc. in der Elektronik. Komplexere Elemente sind verformbare Bleche oder Stäbe, Transistoren, Ventile und Ähnliches. Meistens erstellt man aus den einzelnen Elementen, eine technische Skizze, welche im Falle elektrischer oder hydraulischer Systeme als Schaltplan bezeichnet wird. Je genauer die physikalische Struktur bekannt ist bzw. je mehr Information wir

3.1. Vorgehensweise bei der Modellerstellung

i

57

L

R1

iC iR2

u

I

R2

C

uC

Abb. 3.2.: Passive elektronische Schaltung

über diese besitzen, desto besser ist auch das daraus resultierende Modell. Dies ist allerdings nicht in allen Fällen tatsächlich nötig und verlangsamt die anschließende Simulation teils deutlich. Man sollte sich daher zuerst einige Gedanken über den Einsatzbereich des zu erstellenden Modells machen. Ein, wie bereits in Abschnitt 1.7: Modellparametrierung ab Seite 22 erwähnt, ganz entscheidender Punkt der Abstraktionsphase und der damit verbundenen Modellkomplexität ist die Parametrierung des Modells. So ist es nicht unüblich, dass zwar ein erstes Modell vorliegt, jedoch nur ein Teil der Parameter bekannt sind. Die Erfahrung zeigt, dass die Parametrierung des Modells oft aufwändiger ist als die Modellerstellung selbst. Diese Tatsache endet meist in einem Kompromiss zwischen Modellkomplexität und zur Verfügung stehender Parameter. Im ersten Schritt ist in vielen Fällen ein recht einfaches (lineares) Modell des physikalischen Systems ausreichend. Es ist sogar eine sehr gebräuchliche Vorgangsweise, mit einfachen Modellen zu beginnen und die Komplexität schrittweise zu erhöhen, um so die Fehlersuche in einem komplexen Modell zu vermeiden. Diese Vorgangsweise nennt man Top-down Methode. Im Gegensatz dazu ist auch in manchen Fällen die Bottom-up Methode anzuwenden. Da dies allerdings Methoden sind, welche von einem Ingenieur von Fall zu Fall intuitiv erkannt werden, wird hier nicht weiter auf diese eingegangen. Aufgrund der gegebenen Schaltung liegt bereits eine Abstraktion vor, anhand derer im Folgenden das Gleichungssystem erstellt wird. Bei der Abstraktion wurde auf ein recht einfaches Modell zurückgegriffen. Dabei wurden die Temperaturabhängigkeit der Widerstände, sowie parasitäre Effekte vernachlässigt.

3.1.2. Gleichungssystem erstellen Um ein mathematisches Modell zu erhalten, müssen die Gleichungen aus dem zuvor erstellten abstrahierten System extrahiert werden. Dies führt zu einem DAE, wobei ein Teil der Gleichungen die Komponenten und ein Teil die Topologie

58

3. Modellbildung: Ein iterativer Prozess

des abstrahierten Systems beschreiben. Die Vorgehensweise beim Erstellen des Gleichungssystems hängt dabei von der gewählten Methode zur Modellbildung des vorliegenden Systems ab (siehe Abschnitt 3.2 ab Seite 71).

Gleichungen und Unbekannte Die Schaltung besteht aus fünf Komponenten (eine Spannungsquelle und vier passive Bauteile). Der Zustand jeder Komponente wird durch zwei Variablen eindeutig beschrieben2 . Hier wären dies die am Bauteil anliegende Spannung und der durch das Bauteil fließende Strom. Es sind also zehn Variablen für die Beschreibung des Systems nötig. Um ein lösbares Gleichungssystem zu erhalten, müssen folglich auch zehn Gleichungen gefunden werden.

Aufstellen der Komponentengleichungen Die Komponentengleichungen beschreiben das Verhalten einzelner Komponenten des Systems. Im vorliegenden Beispiel sind dies das ohmsche Gesetz sowie Gleichungen für die Induktivität L und die Kapazität C. Die Gleichungen ergeben wie folgt: u = 30V uR1 − iR1 · R1 = 0 diL =0 uL − L · dt uR2 − iR2 · R2 = 0 duC =0 iC − C · dt

(3.1) (3.2) (3.3) (3.4) (3.5)

Aufstellen der Topologiegleichungen Im Unterschied zu den Komponentengleichungen beschreiben die Topologiegleichungen die Verknüpfung der einzelnen Komponenten (Bauteile) miteinander. Drei triviale Gleichungen würden viele Ingenieure erst gar nicht in Betracht ziehen. Sie ergeben sich aus der Serienschaltung der Spannungsquelle und von 2 Wenn

auch z.B. beim elektrischen Widerstand sich die eine Größe über das ohmsche Gesetz direkt aus der anderen berechnen lässt.

3.1. Vorgehensweise bei der Modellerstellung

59

R1 und L, sowie der Parallelschaltung von R2 und C. iR1 = i iL = i uR2 = uC

(3.6) (3.7) (3.8)

Um die unbekannten Größen bestimmen zu können, benötigen wir noch zwei weitere Gleichungen. Diese werden mittels Kirchhoff’scher Regeln bestimmt und beschreiben den Zusammenhang der Systemvariablen. u − uR1 − uL − uC = 0 i − iR2 − iC = 0

(3.9) (3.10)

Die Komponentengleichungen sowie die Topologiegleichungen wurden so erstellt, dass jeweils auf der rechten Seite des Gleichheitszeichens eine Null steht. Gleichungen in dieser Form werden als implizite DAEs oder als akausale Gleichungen 3 bezeichnet.

3.1.3. Gleichungssystem sortieren Für die meisten der heute am Markt verfügbaren Verfahren zur numerischen Approximation der analytischen Lösung, muss ein bereits sortiertes Gleichungssystem vorliegen, d.h. es muss definiert sein, welche unbekannte Variable in welcher Gleichung berechnet wird. Der Aufwand, der dabei betrieben werden muss, hängt wiederum von der gewählten Methode zur Modellbildung des vorliegenden Systems ab. Um eine explizite Darstellung der DAEs zu erhalten, müssen die sortierten Gleichungen in eine lösbare Form4 gebracht werden, d.h. dass jeweils nur bekannte Größen auf der rechten Seite des Gleichheitszeichens stehen dürfen. Man spricht dann nicht mehr von Gleichungen, sondern von Zuweisungen. Mit anderen Worten: Die akausalen Gleichungen wurden kausalisiert 5 . Anstelle des Gleichheitszeichens einer Gleichung wird innerhalb einer Zuweisung zur eindeutigen Kennzeichnung fortan der Zuweisungsoperator „:=“ verwendet. 3 Letztere

Bezeichnung ist vor allem in der Bondgraphen-Modellierung (siehe Kapitel 5 ab Seite 113) sowie in der objektorientierten Modellierung (siehe Kapitel 6 ab Seite 281) sehr gebräuchlich. 4 Lösbar bedeutet hier, dass diese von einem einfachen, z.B. in der Programmiersprache C erstellten, Programm verarbeitet werden können. 5 Es handelt sich nicht um die physikalische Ursache-Wirkungs-Beziehung, sondern um die sogenannte rechnerische Kausalität (engl. computational causality), eine Berechnungsvorschrift.

60

3. Modellbildung: Ein iterativer Prozess

Die bekannten Größen (rechnerische6 Inputs) und die Unbekannte (rechnerischer Output) sind durch das Kausalisieren eindeutig bestimmt. Die Variable auf der linken Seite des Gleichheitszeichens einer Zuweisung stellt den Output dar und die Variablen auf der rechten Seite die Inputs. An dieser Stelle sei noch erwähnt, dass Zuweisungen (kausalisierte Gleichungen) nur einen Output besitzen können. Mathematisch ausgedrückt heißt das nichts anderes, als dass aus einer Gleichung nur eine Unbekannte berechnet werden kann. Dieser Prozess wird auch als horizontales Sortieren bezeichnet. Damit die kausalisierten Gleichungen von einem Programm interpretiert werden können, müssen diese zusätzlich vertikal sortiert werden, d.h. dass eine Variable erst dann benutzt wird, wenn sie bereits berechnet wurde. Der Prozess des horizontalen- und vertikalen Sortierens wird in Abschnitt 4.2.1: Sortieren des Gleichungssystems auf Seite 88 detailliert vorgestellt. Um das sortierte Gleichungssystem zu erhalten, wurden die trivialen Gleichungen (3.6) bis (3.8) eliminiert, d.h. Gleichung (3.6) wurde in (3.2), Gleichung (3.7) in (3.3) und Gleichung (3.8) in (3.4) eingesetzt. Dies führt zu folgendem Ergebnis: u := 30V uR1 := i · R1 1 · uC iR2 := R2 uL := u − uR1 − uC di 1 := · uL dt L iC := i − iR2 duC 1 := · iC dt C

(3.11) (3.12) (3.13) (3.14) (3.15) (3.16) (3.17)

Bei der Entwicklung mathematischer Modelle per „Block und Bleistift“ wird das Kausalisieren im Allgemeinen etwas unstrukturiert und intuitiv durchgeführt. Bei Programmen müssen hingegen geeignete Algorithmen bzw. Heuristiken formuliert werden, die ein erfolgreiches horizontales- und vertikales Sortieren ermöglichen. Dies wird als symbolische Vorverarbeitung bezeichnet und in Abschnitt 6.5: Die symbolische Vorverarbeitung ab Seite 379 detailliert vorgestellt. Alternativ sei auf [CK06], Kapitel 7 bzw. [Sch09], Kapitel 21 von M. Otter verwiesen.

6 Nicht

zu verwechseln mit den Eingängen (Inputs) in ein Modell.

3.1. Vorgehensweise bei der Modellerstellung

61

3.1.4. Implementierung des Gleichungssystems Es gibt verschiedenste Möglichkeiten das erhaltene Gleichungssystem berechnen zu lassen. Diese stellen unterschiedliche Anforderungen an den Modellierer. Sie reichen von der manuellen Implementierung in einer Programmiersprache (inklusive Lösungsalgorithmus) bis hin zur Lösung in speziell dafür erstellten Programmen (MATLAB und Simulink von MathWorks, Dymola von Dassault Systemes etc.). Im Folgenden werden drei der in der Ingenieurspraxis am gängigsten Verfahren beschrieben: (a) Zustandsraumdarstellung (b) Blockschaltbild (c) Übertragungsfunktion

(a) Zustandsraumdarstellung (ODE) Die expliziten DAEs werden nun zusammengesetzt. Die Unbekannten auf der rechten Seite werden durch die Ausdrücke, durch die sie definiert sind substituiert. Schlussendlich führt dieser Schritt zu gewöhnlichen Differentialgleichungen erster Ordnung (ordinary differential equations, (explicit) ODE), der Zustandsraumdarstellung. Um nun von obigen Gleichungen, unter Berücksichtigung der Kausalität, auf die Zustandsraumdarstellung zu gelangen, sind, wie schon in Abschnitt 2.3: Zustandsraumdarstellung ab Seite 39 beschrieben, folgende Schritte notwendig: Bestimmen der Ein- und Ausgangsgrößen Die Eingangsgröße ist in unserem Beispiel gleich der Eingangsspannung. u(t) = u

(3.18)

Als Ausgangsgröße soll die Spannung uC am Kondensator herangezogen werden. y(t) = uC

(3.19)

Bestimmen der Zustandsgrößen In unserem Beispiel sind die Zustandsgrößen die Ausgangsgrößen des Kondensators und der Induktivität. Diese ergeben sich durch zeitliche Integration der

62

3. Modellbildung: Ein iterativer Prozess

Gleichungen (3.15) und (3.17).

uC =

1 C

Zt ic · dt ≡ x1

(3.20)

uL · dt ≡ x2

(3.21)

0

i=

1 L

Zt 0

˙ Das erste Element x˙ 1 (t) des Spaltenvektors x(t) erhält man wie folgt: Man leitet die Zustandsgleichung (3.20) nach der Zeit t ab7 und substituiert dann solange bis nur noch Eingangs- und Zustandsgrößen und Modellparameter in der Gleichung vorhanden sind. Aufstellen der ersten Zustandsgleichung 1 duC = x˙ 1 = · ic dt C   1 1 uC x˙ 1 = (i − iR2 ) = i− C C R2

(3.22)

Durch Einsetzen der Zustandsgrößen und gegebenenfalls der Eingangsgröße erhält man schlussendlich folgende Gleichung:   1 1 x2 − · x1 x˙ 1 = C R2 1 1 x˙ 1 = − · x1 + · x2 (3.23) R2 · C C Aufstellen der zweiten Zustandsgleichung Die Zustandsgleichung für x˙ 2 wird analog zu x˙ 1 gebildet: 1 di = x˙ 2 = · uL dt L 1 x˙ 2 = (u − x2 · R1 − x1 ) L 1 R1 1 x˙ 2 = − · x1 − · x2 + · u L L L 7 Oder

man verwendet direkt Gleichung (3.17).

(3.24)

3.1. Vorgehensweise bei der Modellerstellung

63

Bilden der Zustandsraumdarstellung In Vektor-Matrixschreibweise erhält man:         1 1 − C·R 0 x1 x˙ 1 C 2 · + ·u = 1 x2 x˙ 2 − L1 − R1 L  L   x1 y= 1 0 · x2

(3.25) (3.26)

Wie erwartet erhalten wir dasselbe Ergebnis wie in Abschnitt 2.2 (Gleichungen (2.12) und (2.16)) auf Seite 38. Anhand dieser Ergebnisse sind wir bereits in der Lage das System zu simulieren. Mehr dazu in Abschnitt 3.1.5 ab Seite 67.

(b) Blockschaltbild Ein Blockschaltbild ist eine grafische Darstellung der kausalisierten Gleichungen (3.11) bis (3.17) (Zuweisungen), wobei die Gleichungen (3.15) und (3.17) in integraler Form vorliegen müssen: 1 1 di := · uL → i = dt L L

Zt uL · dt

(3.27)

0

duC 1 1 := · iC → uC = dt C C

Zt ic · dt

(3.28)

0

Die grafische Darstellung der kausalen Komponentengleichungen ist in Abb. 3.3 dargestellt. Die grafische Interpretation der kausalen Topologiegleichungen ist in Abb. 3.4 dargestellt. Durch Zusammenfügen aller Blöcke erhalten wir das endgültige Blockschaltbild (siehe Abb. 3.5). Dabei fällt auf, dass es nicht nötig ist eine vertikale Sortierung vorzunehmen, um das Blockschaltbild zu erhalten. Diese muss vom Simulationsprogramm übernommen werden.

(c) Übertragungsfunktion Die Übertragungsfunktion des Systems wird entweder aus der Zustandsraumdarstellung oder durch Bilden des Verhältnisses Ausgang zu Eingang ermittelt.

64

3. Modellbildung: Ein iterativer Prozess

iC

i

R1 uL

1 s

1 C

uC

uR1

uC

1 R2

1 s

1 L

i

iR2

Abb. 3.3.: Kausale Komponentengleichungen dargestellt als Blöcke

-

Σ uC

-

u

uR1 uL

i

Σ

-i

R2

iC

Abb. 3.4.: Kausale Topologiegleichungen dargestellt als Blöcke

3.1. Vorgehensweise bei der Modellerstellung

65

R1 uL

1 s

1 L

1 C

1 s 1 R2

i

iR2

Abb. 3.5.: Blockschaltbild der elektrischen Schaltung Übertragungsfunktion abgeleitet aus der Zustandsraumdarstellung Die in Abschnitt 2.3.1 auf Seite 40 vorgestellte Zustandsraumdarstellung für SISO-Systeme lautet wie folgt: = A · x(t) + b · u(t), x(t) ˙

x(0) = x0

T

y(t) = c · x(t) + d · u(t)

(3.29) (3.30)

Um die Übertragungsfunktion zu erhalten, wird die Laplace-Transformation (Schreibweise: L {x(t)} = X(s), L {u(t)} = U (s) und L {y(t)} = Y (s)) auf beide Gleichungen angewandt: s · X(s) = A · X(s) + b · U (s) T

Y (s) = c · X(s) + d · U (s)

(3.31) (3.32)

Wobei, für das behandelte Beispiel, d = 0 zu setzen ist. Umformen von Gleichung (3.31) nach X(s) und Einsetzen in Gleichung (3.32) ergibt: X(s) = (s · 1 − A)−1 · b · U (s) T

Y (s) = c · (s · 1 − A)

−1

· b · U (s)

(3.33) (3.34)

Die Übertragungsfunktion des Systems erhält man, indem in Gleichung (3.34)

66

3. Modellbildung: Ein iterativer Prozess

durch den Eingang U (s) dividiert wird. G=

Y (s) = cT · (s · 1 − A)−1 · b U (s)

(3.35)

Durch Einsetzen von A, b und cT erhalten wir: G=

1

0



 ·

s+

1 R2 ·C 1 L

− C1 s + RL1

−1   o · 1

(3.36)

L

Durch Lösen obiger Gleichung erhält man schlussendlich die gesuchte Übertragungsfunktion. G=

R2 R2 + (R1 + sL)(1 + sC · R2 )

(3.37)

Übertragungsfunktion durch Bilden des Verhältnisses Ausgang zu Eingang Die Ausgangsspannung uC liegt unmittelbar an den Komponenten R2 und C an. Die Eingangsspannung hingegen an den Komponenten R1 , L und der Parallelschaltung aus C und R2 . Die Impedanz ist wie folgt definiert: Z = Re(Z) + j Im(Z) = R + jX

(3.38)

Wobei für X, je nachdem ob es sich um eine Induktivität oder eine Kapazität handelt, die entsprechenden Blindwiderstände eingesetzt werden. XL = jωL 1 XC = jωC

(3.39) (3.40)

Die Übertragungsfunktion G wird wie folgt gebildet: G=

uC CkR2 = u R1 + XL + CkR2

(3.41)

Für die Parallelschaltung erhalten wir: CkR2 = =

1 jωC

R2 +

· R2 1 jωC

=

R2 1 + jωC · R2

(3.42)

3.1. Vorgehensweise bei der Modellerstellung

67

Einsetzen von Gleichung (3.42) in Gleichung (3.41) ergibt: G= G=

R2 1+jωC·R2

R1 + XL +

R2 1+jωC·R2

=

R2 R2 + (R1 + jωL)(1 + jωC · R2 ) jω=s

R2 R2 + (R1 + sL)(1 + sC · R2 )

(3.43)

Man erkennt, dass Gleichung (3.43) der zuvor ermittelten Gleichung (3.37) entspricht.

3.1.5. Numerische Integration: Simulation Sobald eine lösbare Form des Gleichungssystems vorliegt, kann das Modell simuliert werden. Die heute am Markt verfügbaren Simulationsumgebungen stellen in der Regel verschiedene Löser für diesen Zweck zur Verfügung. Dabei gilt es, abhängig von den Systemeigenschaften, den optimalen Solver zu wählen. Eine detaillierte Einführung in die Simulation mechatronischer Systeme folgt in Kapitel 8: Simulation und numerische Integrationsverfahren ab Seite 493. Für die Simulation werden folgende Werte verwendet: u = 30V, R1 = 10Ω, R2 = 1kΩ, L = 1mH und C = 22µF.

(a) Zustandsraumdarstellung Im Folgenden werden die erstellten Modelle mit MATLAB/Simulink simuliert. Bis jetzt wurde anhand von DAEs eine Zustandsraumdarstellung der passiven elektronischen Schaltung erstellt. Die vier Matrizen der Zustandsraumdarstellung werden nun mit MATLAB ausgewertet (Code 3.1). Das Ergebnis der Simulation ist in Abb. 3.6 ersichtlich. Die eigentliche Simulation des Modells erfolgt in Zeile 28 von Code 3.1. Hier wird ein expliziter Solver mit einer bestimmten Ordnung aufgerufen, welcher auf lineare Systeme optimiert ist.

(b) Blockschaltbild Das Blockschaltbild aus Abb. 3.5 wird nun mit Simulink erstellt (siehe Abb. 3.7). Das Ergebnis der Simulation ist identisch zu dem in Abb. 3.6.

68

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

3. Modellbildung: Ein iterativer Prozess

% Modellierung einer elektrischen Schaltung % Eingang u = 30; % Parameter R1 = 10; R2 = 1000; L = 1E-3; C = 22E-6; % Zustandsraumdarstellung des Systems a11 = -1/(R2*C); a12 = 1/C; a21 = -1/L; a22 = -R1/L; A = [a11, a12; a21, a22]; b = [0; 1/L]; cT = [1 0]; d = 0; sys = ss(A, b, cT, d)

% Bilden der Zustandsraumdarstellung

% Simulation t = [ 0 : 1e-5 : 1.4e-3 ]; u = u * ones(size(t)); x0 = zeros(2, 1); y = lsim(sys, u, t, x0);

% % % %

Zeitbasis Eingangsvektor Anfangsbedingungen LTI Simulation

plot(t, y, 'LineWidth', 2); grid on;

Code 3.1: MATLAB-Code Zustandsraum

der

elektrischen

Schaltung,

modelliert

im

3.1. Vorgehensweise bei der Modellerstellung

69

35 30

uC (x1) in V

25 20 15 10 5 0

0

0.2

0.4

0.6 0.8 t in ms

1.0

1.2

1.4

Abb. 3.6.: Simulationsergebnis bei einer Eingangsspannung von 30V

1 2

G = u*tf(sys); step(G);

% Uebertragungsfunktion des Systems % Sprungantwort des Systems

Code 3.2: MATLAB-Code der elektrischen Schaltung modelliert anhand der Übertragungsfunktion, welche aus der Zustandsraumdarstellung abgeleitet wurde

(c) Übertragungsfunktion Übertragungsfunktion via Zustandsraumdarstellung Um die Übertragungsfunktion zu erhalten, wird das Zustandsraummodell in MATLAB mit Hilfe der Funktion tf() in eine Übertragungsfunktion umgewandelt und anschließend mit der Funktion step() simuliert. Die Simulation des vorherigen Beispiels (Code 3.1) wird bis zu Zeile 22 übernommen. Die restlichen Zeilen werden durch Code 3.2 ersetzt: In Zeile 1 von Code 3.2 wurde die Übertragungsfunktion mit dem Eingang u multipliziert. Dies ist notwendig, da die Funktion step() eine Amplitude von eins erzeugt. Wir hingegen benötigen jedoch die Antwort des Systems auf eine Eingangsspannung von u = 30V.

70

3. Modellbildung: Ein iterativer Prozess

R1 uR1

u

uL

1 s

1/L i

uC

1/C

1 s

iC

iR2

1/R2

Abb. 3.7.: Blockschaltbild der elektronischen Schaltung Übertragungsfunktion via Verhältnis Ausgang zu Eingang Hier wird nun Gleichung (3.43) verwendet. Dies wird wiederum mit der Funktion tf() realisiert. Diesmal werden die Koeffizienten allerdings direkt eingegeben: Dazu muss Gleichung (3.43) noch ausmultipliziert werden, sodass die Ordnung des Systems ersichtlich wird. Wir erhalten: G=

R2 R2 + R1 + s · (C · R1 · R2 + L) + s2 · (L · C · R2 )

(3.44)

Im Folgenden wird der dazugehörige MATLAB-Code dargestellt (siehe Code 3.3). Die Parameter werden wiederum gleich eingegeben wie in Code 3.1 gezeigt. 1 2

G = u*tf([R2], [L*C*R2 (C*R1*R2 + L) (R1+R2)]); step(G);

Code 3.3: MATLAB-Code der elektrischen Schaltung, modelliert anhand der Übertragungsfunktion

3.1.6. Verifikation Die Verifikation des Simulationsergebnisses ist ein zentraler Punkt während des Modellentwurfs. Liegt kein Messergebnis des realen Systems vor, muss eine sehr gute Kenntnis des Systemverhaltens vorhanden sein, um das Simulationsergebnis auf dessen Korrektheit interpretieren zu können. Anhand der Verifikation des Simulationsergebnisses wird entschieden ob das Modell ausreichend genau ist, oder ob es weiteren Modifikationen bedarf, was in der Regel der Fall ist. Wie

3.2. Methoden zur Modellbildung mechatronischer Systeme

71

viele Iteration erforderlich sind, um ein verifiziertes Modell zu erhalten, wird im Wesentlichen von der Erfahrung des Ingenieurs bestimmt.

3.1.7. Modifikation Bedarf es einer Modifikation, so wurde das System in der Regel zu sehr vereinfacht dargestellt, d.h. bei der Abstraktion wurden zu viele Vereinfachungen getroffen. Folglich muss man sich die Frage stellen, ob das zu erwartende Verhalten des Systems durch Hinzufügen weiterer Elemente, und damit weiterer Komponenten- und Topologiegleichungen beschrieben werden kann, oder ob es mitunter bereits ausreichend ist, wenn einige der initial verwendeten Gleichungen modifiziert werden, etwa durch nichtlineare Zusammenhänge. Im vorliegenden Beispiel wurde zum besseren Verständnis sowohl auf die Abstraktion des realen Systems als auch auf gegebenenfalls notwendige Modifikationen verzichtet. Im folgenden Abschnitt werden die im Buch behandelten Methoden zur Modellbildung mechatronischer Systeme vorgestellt und in den darauffolgenden Kapiteln anhand eines Beispiels zum modellbasierten Systementwurf demonstriert. Dabei werden die bis jetzt vernachlässigten Schritte Abstraktion und Modifikation bei der Vorgehensweise zur Modellerstellung (siehe Abb. 3.1 auf Seite 56) im Detail betrachtet.

3.2. Methoden zur Modellbildung mechatronischer Systeme Der folgende Abschnitt stellt die im Buch behandelten Methoden zur Modellbildung mechatronischer Systeme vor, soll jedoch lediglich einen ersten groben Überblick verschaffen, um die Vor- und Nachteile der Methoden gegenüberstellen zu können. Jeder Methode wird ein gesondertes Kapitel gewidmet. Nachdem die nötige Theorie zum Verständnis der einzelnen Methoden vermittelt wurde, wird anhand eines einheitlichen Beispiels der Ablauf zur Modellerstellung aus Abb. 3.1 auf Seite 56 mittels den behandelten Methoden vorgestellt. So kann sich der Leser ein sehr gutes Bild verschaffen und die Methoden miteinander vergleichen.

72

3. Modellbildung: Ein iterativer Prozess

3.2.1. Signalflussorientierte (kausale) Modellbildung: Blockschaltbilder Blockschaltbilder erfreuen sich vor allem in der Regelungstechnik größter Beliebtheit. Beispielsweise werden die Modelle elektrischer Antriebe in [Sch09] vielfach als Blockschaltbilder dargestellt. Solange es sich dabei um einfache, in ihrer Komplexität überschaubare Modelle handelt, eignen sich Blockschaltbilder sehr gut für die Implementierung der zuvor sortierten Modellgleichungen. Sobald es sich jedoch um komplexere Systeme handelt, die zu einem späteren Zeitpunkt erweitert bzw. angepasst werden müssen, zeigt sich recht schnell, dass diese Vorgehensweise oft fehleranfällig und zudem sehr aufwändig und unübersichtlich werden kann. Beim modellbasierten Systementwurf wird der in Abb. 3.1 (Seite 56) dargestellten Prozess in der Regel mehrere Male durchlaufen, bis das Modell den gestellten Anforderungen genügt. Liegt das Modell als Blockschaltbild vor, welches erweitert werden muss, so werden die durchzuführenden Modifikationen erfahrungsgemäß direkt am bestehenden Blockschaltbild durchgeführt. Diese Variante erscheint häufig als die sinnvollste, da gerade bei komplexeren Modellen bereits ein gewisser Aufwand betrieben wurde, um das initiale Modell zu erstellen und es enorm viel Zeit kosten würde, das Modell komplett neu zu erstellen. Da es sich dabei um die am häufigsten angewandte Vorgehensweise handelt, wird diese im folgenden Unterabschnitt nochmals zusammengefasst. Der darauffolgende Unterabschnitt dient als erste Motivation, wie häufige Fehlerquellen bei der Modifikation anhand des bestehenden Blockschaltbildes durch das Erstellen eines neuen Blockschaltbilds vermieden werden. Beide Methoden werden in Abschnitt 4.2: Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems auf Seite 85 anhand eines ausführlichen Beispiels gegenübergestellt.

Modifikation des bestehenden Blockschaltbilds Eine weit verbreitete Vorgehensweise bei der Modellerstellung ist es den in Abb. 3.1 auf Seite 56 dargestellten Prozess einmal vollständig zu durchlaufen, wobei das Modell des abstrahierten Systems als Blockschaltbild vorliegt. Bedarf es einer Modifikation des Modells, so wird der Prozess im nächsten Schritt nicht mehr vollständig durchlaufen, sondern es wird das bereits vorhandene Modell, dargestellt als Blockschaltbild, um ein Teilsystem, welches die fehlenden Gleichungen beinhaltet, erweitert. Diese Gleichungen werden in ein separates Blockschaltbild transformiert und mit dem bereits bestehenden Blockschaltbild verknüpft.

3.2. Methoden zur Modellbildung mechatronischer Systeme

73

Modifikation durch Erstellen eines neuen Blockschaltbilds Muss das Modell erweitert werden, so wird hier hingegen der Prozess ein weiteres Mal vollständig durchlaufen und die Gleichungen des zuvor erstellten Modells modifiziert oder um fehlende Gleichungen ergänzt, d.h. dass das Blockschaltbild bei jeder Modifikation erneut erstellt werden muss. Das Gleichungssystem muss neu sortiert werden, was einen zeitlichen Aufwand darstellt. Das Lösen des Gleichungssystems geschieht dabei zumeist intuitiv, was bei kleinen Systemen durchaus legitim ist. Bei größeren Gleichungssystemen bedient man sich spezieller Sortieralgorithmen, die sehr effizient sind und in Abschnitt 6.5: Die symbolische Vorverarbeitung ab Seite 379 behandelt werden.

3.2.2. Bondgraphen Die Methode der Bondgraphen ist grob gesagt eine grafische Beschreibung des Systems bestehend aus DAEs als Alternative zur gleichungsbasierten Modellbildung. Der Modellbildungsprozess erfolgt analog zu dem der gleichungsbasierten Modellbildung. Bondgraphen bieten allerdings zwei deutliche Vorteile: Das Lösen des Gleichungssystems – in der Bondgraphen-Notation als Kausalisieren bezeichnet – geschieht grafisch, was wesentlich übersichtlicher und zeitsparender ist. Was Bondgraphen jedoch wirklich auszeichnet, ist die grafische Darstellung der Energieflüsse durch das System und deren domänenunabhängige Beschreibungsform, die zeigt, dass die verschiedenen physikalischen Domänen (Elektronik, Mechanik, Hydraulik, Thermodynamik, etc.) alle anhand derselben Gleichungen zur Modellierung der grundlegenden Elemente beschrieben werden können. Dies stellt einen enormen didaktischen Mehrwert dar und hilft ferner komplexe Zusammenhänge rasch zu begreifen. Die Theorie der Bondgraphen wird in Kapitel 5 (Seite 113) vorgestellt.

3.2.3. Objektorientierte Modellbildung Die objektorientierte Modellierung stellt die fortschrittlichste Variante aller Methoden dar. Die akausalen Modellgleichungen müssen nicht sortiert werden, sondern werden direkt implementiert. Das fehlerbehaftete aufwändige Sortieren des Gleichungssystems wird von der Simulationsumgebung übernommen, was eine optimale Voraussetzung für den modellbasierten Systementwurf darstellt (siehe Abb. 3.8). Dies wird als akausale Modellierung bezeichnet. Mehr dazu in Abschnitt 6.2: Akausale Modellierung auf Seite 289.

74

3. Modellbildung: Ein iterativer Prozess Abstraktion

Start

Reales System

Gleichungssystem erstellen Math. Modell DAE

Approx. System

Implementierung Implementiertes Modell

Modifikation

Gleichungssystem sortieren Simulationsergebnis

Verifiziertes Modell Verifikation

explizites DAE/ ODE

Numerische Integration

Ingenieurstätigkeit Simulationsumgebung

Abb. 3.8.: Typische Vorgehensweise bei der Modellerstellung in der akausalen (objektorientierten) Modellierung (vgl. Abb. 3.1 auf Seite 56) Die Beschreibung des Modells erfolgt anhand einer Modellierungssprache (z.B. Modelica, Simscape oder VHDL-AMS) die in eine Simulationsumgebung eingebettet ist. Jede Komponente wird als Objekt dargestellt. Dabei ist für den Benutzer die grafische Darstellung des Objekts ersichtlich (z.B. eine mechanische Masse), die akausalen Komponentengleichungen (oder der akausale Bondgraph) der Komponente sind im Hintergrund. Zudem werden in der Regel Bibliotheken, welche die gängigsten Elemente jeder technischen Domäne beinhalten, zur Verfügung gestellt, um so potentiellen Fehlerquellen bei der Modellerstellung einzelner Komponenten vorzubeugen. Ein weiterer massiver Vorteil ist das automatische Erstellen der Topologiegleichungen durch entsprechende Funktionen, die bei der grafischen Verknüpfung der Elemente automatisch erstellt werden. Eine detaillierte Einführung in die objektorientierte Modellierung liefert Kapitel 6 (Seite 281). Die objektorientierte open-source Modellierungssprache Modelica wird in Kapitel 7 (Seite 403) vorgestellt.

4. Signalflussorientierte Modellbildung: Blockschaltbilder Eine nach wie vor weit verbreitete Technik ist es, die systembeschreibenden Gleichungen in ein Blockschaltbild zu überführen. Dazu muss das Gleichungssystem, wie in Abb. 3.1 auf Seite 56 angedeutet, sortiert werden. Als Ergebnis erhält man ein kausales Gleichungssystem in dem bekannt ist, welche unbekannte Variable in welcher Gleichung berechnet wird. Um schlussendlich ein Blockschaltbild zu erhalten, werden diese Gleichungen grafisch dargestellt. Bei der Verifikation korreliert das Simulationsergebnis in der Regel nicht mit dem erwarteten Ergebnis und es werden daher eine oder mehrere Modifikationen nötig. Dazu ein Beispiel: Ein Gleichstrommotor und dessen angetriebene Last sind durch ein Getriebe miteinander verbunden, wobei die Motorwelle (Antriebswelle) als ideal angenommen wird, d.h. es tritt keine Torsion an der Welle auf. Bei der Verifikation stellt sich heraus, dass dieses Modell ausreichend genau ist, um damit beispielsweise einen Drehzahlregler auszulegen. Zu einem späteren Zeitpunkt soll jedoch das Schwingungsverhalten des Systems etwas genauer untersucht werden. Dazu soll die zuvor als ideal angenommene Antriebswelle durch ein Feder/Dämpfer-Element ersetzt werden, um die Torsionssteifigkeit zu berücksichtigen. Da das Modell bereits als Blockschaltbild vorliegt und lediglich ein zusätzliches Feder/Dämpfer-Element hinzugefügt werden muss, wird von diesem Element ein separates Blockschaltbild erstellt, welches sodann in das bestehende Modell eingebaut wird. Diese Vorgehensweise funktioniert, wie bereits in Abschnitt 3.2.1 auf Seite 72 angedeutet, bei überschaubarer Systemgröße mit vertretbarem Aufwand. Von der Anwendung auf komplexere Systeme ist aufgrund der hohen Fehleranfälligkeit jedoch eher abzuraten. Dies ist hauptsächlich dadurch begründet, dass ein Blockschaltbild nicht die physikalische Struktur des Systems repräsentiert, sondern der grafischen Darstellung des gelösten (sortierten) Gleichungssystems entspricht. Ziel dieses Kapitels ist es zu zeigen, warum die soeben erwähnte Vorgehensweise sehr fehleranfällig ist und wie es gelingt potentielle Fehler zu vermeiden. Dies wird in Abschnitt 4.2 ab Seite 85 anhand des Beispiels eines Feder-Masse-

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8_4

75

76

4. Signalflussorientierte Modellbildung: Blockschaltbilder

Dämpfer Systems demonstriert. Zuvor soll in Abschnitt 4.1 ein kurzer geschichtlicher Überblick über die Entwicklung der Modellierung aufzeigen, warum diese Art der Modellierung nach wie vor so gebräuchlich ist.

4.1. Die Entwicklung der kausalen Modellierung Der folgende Abschnitt gibt einen kurzen Überblick über die Entwicklung der kausalen Modellierung. Dabei wird zu Beginn auf die ersten verfügbaren mechanischen und elektronischen Simulatoren eingegangen, welche unter dem Begriff analoge Simulation oder auch Analogrechner 1 bekannt wurden. Anschließend wird auf die mit Hilfe von digitalen Computern ermöglichte kausale Modellierung, welche heute sehr verbreitet ist, eingegangen.

4.1.1. Analoge Simulation Die dynamische Simulation kontinuierlicher Systeme beschreibt die zu simulierenden Modelle über Differentialgleichungen, die üblicherweise irgendeine Form der Zeitabhängigkeit beinhalten. Analogrechner wurden dafür konzipiert, Differentialgleichungen zu lösen. Um dieser Aufgabe gerecht zu werden, musste ein Bauteil entwickelt werden, das in der Lage ist ein integrierendes Verhalten abzubilden.

Der mechanische Integrator Die ersten mechanischen Integratoren waren mechanische Kugel-ScheibenIntegratoren (engl. ball-and-disk integrator), deren Grundprinzip erstmals von James Thomson beschrieben wurde und später von dessen Bruder, William Thomson (Lord Kelvin) weiterentwickelt wurde. In den praxistauglichen mechanischen Analogrechner haben sich allerdings sogenannte Reibrad-Integratoren (engl. disk-and-wheel integrator) durchgesetzt, dessen mechanischer Aufbau Abb. 4.1 zu entnehmen ist. Dabei verkörpert die Integrationsvariable x die Rotation der Scheibe und der Integrand y die aktuelle Position des (integrierenden) Rads auf der Mittelebene der Scheibe. Wird die Scheibe um den Winkel dx gedreht, so hat das eine Rotation des Rads um den Winkel dz zur Folge. Das Rad dreht sich dabei 1 Dabei

handelt es sich nicht zwingend um kontinuierliche Systeme, wie dies oft fälschlicherweise vermutet wird. Analogrechner bilden ein Analogon des zu modellierenden Systems ab.

4.1. Die Entwicklung der kausalen Modellierung

77

Abb. 4.1.: Reibrad-Integrator. Quelle: [KS59], Abb. 5.4 umso schneller je größer y ist, d.h. je weiter es vom Mittelpunkt entfernt ist. Die Drehrichtung des Rads wird durch das Vorzeichen von y bestimmt. Unter der Annahme das zwischen Scheibe und Rad kein Schlupf auftritt, ergibt sich folgender Zusammenhang: dz =

1 · y · dx a

(4.1)

Wobei a den Radius des Rads darstellt. Die Anzahl der Umdrehungen des Rads und damit das gewünschte integrierende Verhalten ergibt sich daher wie folgt:

z=

1 a

Zx y · dx

(4.2)

x0

Wobei x0 dem Anfangswinkel entspricht. Mechanische Analogrechner: Der Differentialanalysator Um die Zusammenhänge aus den zu beschreibenden Differentialgleichungen abbilden zu können, entwickelte Vannevar Bush am Massachusetts Institute of Technology (MIT) ab etwa 1930 den ersten praxistauglichen mechanischen Analogrechner, der unter dem Namen Differentialanalysator bekannt wurde (siehe [Bus31]). Als mechanischen Integrator verwendete Bush den in Abb. 4.1 dargestellten Reibrad-Integrator. Ein elementarer Differentialanalysator zur Lösung von Differentialgleichungen 1. Ordnung ist in Abb. 4.2 dargestellt. Dieser basiert auf einer Eingangstabelle (Funktionsgeber) I, dem in Abb. 4.1 dargestellten mechanischen Integrator D und einer Ausgangstabelle O zur Schaubilddarstellung. Ein Motor bewegt dabei

78

4. Signalflussorientierte Modellbildung: Blockschaltbilder

Abb. 4.2.: Mechanischer Differentialanalysator. Quelle: [KS59], Abb. 6.17

über Getriebestangen einen Kurvenleser entlang der x-Achse der Kurve, die in der Eingangstabelle I dargestellt ist. Zur selben Zeit bewegt dieser auch einen Stift (Kurvenschreiber) entlang der x-Achse der Ausgangstabelle O sowie die Scheibe des mechanischen Integrators D, was eine Rotation des Rads W zur Folge hat. Das Kurbelrad, das oberhalb der Eingangstabelle angebracht ist, muss manuell betätigt werden, um den Kurvenleser entlang der y-Achse zu bewegen. Dadurch wird der Verlauf der Kurve vollständig erfasst. Durch die Bewegung entlang der y-Achse wird ferner die Position des integrierenden Rads W verändert, was in Kombination mit der rotierenden Scheibe die Position des Stiftes entlang der y-Achse der Ausgangstabelle bestimmt und somit die Lösung der Differentialgleichung anhand eines Schaubilds skizziert. Sobald eine Differentialgleichung höherer Ordnung gelöst werden muss, müssen mehrere Integratoren miteinander verbunden werden. Dies ist allerdings nicht ohne weiteres möglich, da die Reibung zwischen dem integrierenden Rad – das lediglich durch dessen Eigengewicht in Kontakt mit der Scheibe tritt – und der Scheibe so gering ist, dass nicht genügend Moment übertragen werden kann, um einen weiteren Integrator anzutreiben. Um dieses Problem zu umgehen, entwickelte Vannevar Bush einen Drehmomentverstärker (siehe [Bus31], Abb.

4.1. Die Entwicklung der kausalen Modellierung

79

10), wodurch es erstmals möglich wurde Differentialgleichungen höherer Ordnung zu simulieren. Weitere mechanische Elemente, wie etwa Addierer oder Multiplizierer, die zur Lösung von Differentialgleichungen benötigt werden, sind u.a. in [KS59] in Kapitel 5 beschrieben.

Elektronische Analogrechner Aufgrund der höheren Flexibilität und Zuverlässigkeit wurden diese mechanischen Systeme in den 1950er Jahren zunehmend durch elektronische Schaltungen ersetzt. Zur Darstellung einer Differentialgleichung anhand eines Analogrechners existieren folgende Elemente: • Potentiometer (Spannungsteiler) zur Darstellung von Parametern • Summierer • Integrierer • Multiplizierer • Invertierer • Funktionsgeber (zur Darstellung von Funktionen) • Komparatoren • Schalter Um ein gewünschtes Modell abbilden zu können, müssen diese Elemente entsprechend miteinander verschaltet werden. Dafür werden die Ein- und Ausgänge jedes Elements als Buchsen ausgeführt, die dann durch Patchkabel miteinander verbunden werden. Für eine detaillierte Einführung in die Welt der analogen Rechner sei auf [Ulm10], [Ulm13], [Gil67] und [Car+67] verwiesen. Um dennoch eine Vorstellung eines analogen Programms zu erhalten, wird im Folgenden die Simulation einer einfachen Differentialgleichung vorgestellt. Das Beispiel wurde aus [Car+67], Seite 84 entnommen. dx = −k · x dt

(4.3)

Das analoge Programm (die elektronische Schaltung) zur Simulation ist in Abb. 4.3 veranschaulicht. Im ersten Schritt wird die gesuchte zeitliche Änderung dx/dt in einen Integrator geführt. Der Ausgang dieses Integrators liefert die Variable x, die aufgrund

80

4. Signalflussorientierte Modellbildung: Blockschaltbilder VRef

x0/VRef -x

dx/dt

Integrator

k

-kx = dx/dt

Potentiometer

Abb. 4.3.: Analoges Programm zur Simulation einer Differentialgleichung der Implementierung2 mit einem negativen Vorzeichen behaftet ist. Durch Multiplikation mit dem Parameter k, dessen Wert mit einem Potentiometer eingestellt wird, erhalten wir den Ausdruck kx. Durch Rückführung dieses Ausdrucks auf den Eingang des Integrators erhalten wir schlussendlich das Modell der Differentialgleichung (Gleichung (4.3)). Um die Simulation zu starten, muss im letzten Schritt noch die Anfangsbedingung formuliert werden. Dazu wird der Anfangswert x0 anhand eines Potentiometers mit der Versorgungsspannung skaliert und in den Integrator geführt. Da ein elektronischer Analogrechner ein Analogon, sprich eine Ersatzschaltung des zu simulierenden Modells darstellt, ist es ohne weiteres möglich dynamische Systeme beliebiger Domänen zu simulieren. Das analoge Programm des in Abb. 4.4 dargestellten Systems, ist in Abb. 4.5 abgebildet.

Abb. 4.4.: Beispiel eines mechanischen Systems. Quelle: [Gil67], S. 4-5 Die Parameter werden wiederum mittels Potentiometer eingestellt. Inverter (Dreiecksymbol mit einem Eingang und einem Ausgang) werden verwendet, um das Vorzeichen der Variable zu ändern. Summierer (Dreiecksymbol mit zwei oder mehreren Eingängen und einem Ausgang) werden verwendet, um die 2 In

analogen Rechenschaltungen werden die meisten der zur Darstellung einer Differentialgleichung verwendeten Elemente mit Operationsverstärker realisiert. Ein elektronischer Integrator basiert auf der Grundschaltung eines invertierenden Verstärkers, weshalb sich auch das Vorzeichen umdreht.

4.1. Die Entwicklung der kausalen Modellierung

81

Differenz bzw. die Summe zweier Variablen zu bilden. Dadurch ist es möglich die Summe der Kräfte bzw. eine Positionsdifferenz zu beschreiben.

Abb. 4.5.: Analoges Programm zur Simulation des mechanischen Systems aus Abb. 4.4. Quelle: [Gil67], S. 4-5

Die Vorteile elektronischer Analogrechner im Vergleich zu den heute verwendeten digitalen Rechnern, liegen vor allem in der direkten Darstellung des Ergebnisses, das mittels eines Oszilloskops angezeigt wird. Ändert man den Wert eines Parameters, so hat dies einen direkten Einfluss auf das Simulationsergebnis. Diese Parameteränderung während der Simulation machen Analogrechner zu sehr interaktiven Systemen, was unmittelbar zu einem sehr guten Verständnis des Systemverhaltens verhilft. Ein weiterer massiver Vorteil analoger Rechner ist die „natürliche“ Darstellung eines Integrators, der bei mechanischen Analogrechnern als Reibrad-Integrator und bei elektronischen Analogrechnern als Integrator, basierend auf der Grundschaltung des invertierenden Operationsverstärkers, ausgeführt ist. Dabei entfällt die numerische Approximation des Integrals (siehe Kapitel 8 ab Seite 493) und die damit einhergehenden numerischen Stabilitätsprobleme. Für den modellbasierten Systementwurf ergeben sich allerdings einige massive Nachteile, weshalb man elektronische Analogrechner heutzutage nur noch sehr selten antrifft: • Die Erstellung von analogen Programmen ist im Allgemeinen eher mühsam und bei etwas komplexeren Modellen aufgrund der Patchkabel auch recht unübersichtlich. • Sind für die Darstellung eines komplexeren Systems im Analogrechner

82

4. Signalflussorientierte Modellbildung: Blockschaltbilder zu wenig Elemente vorhanden, so kann auch kein analoges Programm erstellt werden, es sei denn das System wird dementsprechend vereinfacht oder der Analogrechner wird, sofern möglich, um die fehlenden Elemente erweitert. • Benötigt man mehrere Modelle gleichzeitig, so müssen folglich auch dementsprechend viele Analogrechner vorhanden sein. • Die physikalische Struktur ist nicht ersichtlich (siehe Abschnitt 4.1.2).

Beispiele für Analogrechner, deren geschichtliche Entwicklung, sowie weitere Beispiele analoger Programme sind [Ulm10] und [Ulm13] zu entnehmen. Hier werden zusätzlich digitale Formen der Analogrechner beschrieben, sowie deren Vor- und Nachteile benannt.

4.1.2. Digitale Simulation Mit dem Erscheinen digitaler Rechner (Computer) war es geradezu offensichtlich zu erforschen, ob sich diese ebenfalls zur Simulation dynamischer Systeme eignen. Dabei zeigte Selfridge [Sel55], Mitte der fünfziger Jahre, wie das Verhalten eines Differentialanalysators anhand eines digitalen Rechners nachgebildet werden kann.

Textuelle Modellierung Durch den Anstoß von Selfridge wurde eine regelrechte Lawine ausgelöst, die dazu führte, dass ab etwa 1967 mehr als 23 verschiedene Programme zur textuellen Beschreibung kausaler Modelle verfügbar waren (siehe [ÅEM98]). Dabei wurde anfangs eine textuelle Beschreibung verwendet, um diese Computer zu programmieren. Da jedes dieser Programme eine spezifische, nicht-standardisierte Syntax zur Modellbeschreibung verwendete, war es folglich nicht möglich die Modelle untereinander auszutauschen. Aus diesem Grund wurde ein Normungsauschuss für Simulationssprachen kontinuierlicher Systeme (engl. Continuous System Simulation Languages, kurz CSSL) gegründet, welcher in [Str+67] dokumentiert ist. Ein auf dem CSSL-Standard basierender Beispielcode einer drehzahlgeregelten Gleichstrommaschine, der mit dem Simulationsprogramm ACSL (Advanced Continuous Simulation Language) erstellt wurde, ist Abb. 4.6 zu entnehmen. In Abb. 4.6 ist der Integrator durch den INTEG-Operator dargestellt, welcher durch ein numerisches Integrationsverfahren approximiert wurde.

4.1. Die Entwicklung der kausalen Modellierung

83

Abb. 4.6.: Textuelle Beschreibung zur Simulation. ACSL Modell einer drehzahlgeregelten Gleichstrommaschine. Quelle: [ÅEM98]

Grafische Modellierung: Blockschaltbilder Um etwa 1990 wurde die textuelle Beschreibung zunehmend durch eine grafische ersetzt (siehe Abb. 4.7). Ein großer Vorteil der grafischen Modellierung ist die einfache Erstellung von Modellen, die im Prinzip auf der Darstellung eines elektronischen Analogrechnerprogramms basieren. Ein Modell wird aus Blöcken aufgebaut, die durch deren Ein- und Ausgänge miteinander verbunden werden. Dabei werden in Bibliotheken alle Blöcke, die zur Beschreibung von Differentialgleichungen benötigt werden, zur Verfügung gestellt.

Das Analoge Erbe Trotz der etwa 90 Jahre, welche in der Zwischenzeit vergangen sind, beruhen die textuellen und grafischen Beschreibungsformen in digital funktionierenden Computern noch auf denselben Grundlagen wie die seit etwa 1930 verwendeten

84

4. Signalflussorientierte Modellbildung: Blockschaltbilder

PID

Vs

PI

wl

Step e

T

Motor

T

1

1/(Jl+Jm*n^2)

s Inertia

T2wdot

Ra Resistor 1

1/La

1 Vs Sum

Inductor

n*km

s I

n*km

1 T

emf1

2 wl

emf2

Abb. 4.7.: Grafische Beschreibung zur Simulation: Blockschaltbild einer drehzahlgeregelten Gleichstrommaschine erstellt in Simulink. Quelle: [ÅEM98]

Analogrechner. Durch die nötige Umformung der physikalischen Zusammenhänge in Zuweisungen (vgl. Abschnitt 3.1.3: Gleichungssystem sortieren auf Seite 59) geht viel der ursprünglichen Struktur der Systeme verloren, was als „Information Hiding“, also dem Verstecken von Information in Modellen bezeichnet wird (Abb. 4.8). Problematisch ist dabei auch, dass bei der manuellen Umformung der Systeme in eine kausale Beschreibung oft Fehler geschehen. Da ein großer Teil der heute verwendeten Simulatoren auf der kausalen Modellierung basiert, werden diese Modelle in Abschnitt 4.2 beschrieben. Dabei wird auf die grundlegende Funktionalität eingegangen und darauf, welche Schwierigkeiten sich daraus ergeben können. In Kapitel 6: Einführung in die objektorientierte Modellierung ab Seite 281 wird erläutert, mit welchen Konzepten es ermöglicht wird, mathematische Gleichungen direkt zu verwenden, um ein System zu beschreiben.

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems

85

Abb. 4.8.: “Information Hiding“ in der kausalen Simulation. Quelle: [Opp72], Abb. 2.1

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems In diesem Abschnitt soll der in Abb. 3.1 auf Seite 56 vorgestellte Ablauf zur Modellerstellung für ein konkretes Beispiel, anhand der signalflussorientierten Modellierung, dargestellt werden. Als Ausgangspunkt wird ein Messergebnis des realen Systems herangezogen. Basierend auf dieser Messung wird ein mathematisches Modell erstellt, welches anschließend als Blockschaltbild dargestellt wird. Bei der Verifikation des Simulationsergebnisses wird sich zeigen, dass das erstelle Modell des mechanischen Systems zu stark vereinfacht wurde und es daher (mindestens) einer Modifikation bedarf, die wie in Abschnitt 3.2.1 auf Seite 72 beschrieben, auf zwei verschiedene Arten durchgeführt wird: (1) Modifikation des bestehenden Blockschaltbilds (2) Modifikation durch Erstellen eines neuen Blockschaltbilds Dabei soll ersichtlich werden, dass die Modifikation eines bestehenden Modells basierend auf Ansatz (1) bereits bei sehr einfachen Systemen zu fehlerhaften Modellen führen kann. Das Beispiel wurde dabei so konstruiert, dass die gängigsten Fehler, die vor allem bei geringer Erfahrung in der Modellbildung dynamischer Systeme begangen werden, zum Vorschein treten. Obwohl dieser Ansatz in der

86

4. Signalflussorientierte Modellbildung: Blockschaltbilder

Praxis nach wie vor sehr verbreitet ist, wird dazu geraten, dass durch Ansatz (1) erstellte Modell, wenn möglich, anhand der in Ansatz (2) beschriebenen Vorgehensweise zu verifizieren.

4.2.1. Initialer Modellentwurf Es soll das Verhalten eines mechanischen Feder-Masse-Dämpfer Systems abgebildet werden. Das Simulationsergebnis soll dabei dem Messergebnis (siehe Abb. 4.9), das anhand eines Prototyps erhalten wurde, entsprechen. Messergebnis

4.0 3.0

v in m/s

2.0 1.0 0.0 -1.0 -2.0 0.0

2.5

5.0

10.0

7.5

12.5

15.0

t in s

Abb. 4.9.: Gemessene Geschwindigkeit der bewegten Masse eines Feder-MasseDämpfer Systems

Abstraktion Anhand des Messergebnisses genügt es mitunter bereits, wenn wir das System im ersten Schritt, wie in Abb. 4.10 gezeigt, modellieren.

v

F

b

m k

Abb. 4.10.: Initialer Entwurf des zu modellierenden mechanischen Systems

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems

87

Erstellen des Gleichungssystems Über das Aufstellen von Komponentengleichungen für Masse, Feder und Dämpfer sowie dem Prinzip von d’Alembert (Summe der Kräfte gleich Null), ergeben sich die folgenden Gleichungen als mathematische Beschreibung für das System: F = f (t) dv Fm = m · dt dx v= dt Fk = k · x Fb = b · v 0 = F − Fb − Fk − Fm

(4.4) (4.5) (4.6) (4.7) (4.8) (4.9)

Im Folgenden sollen die Gleichungen (4.4) bis (4.9) in einer etwas kompakteren Form dargestellt werden3 . Wird Gleichung (4.7) nach der Zeit t abgeleitet dx dFk =k· , dt dt

(4.10)

so kann Gleichung (4.6) in diese eingesetzt werden und wir erhalten: dFk =k·v dt

(4.11)

Dies führt zu folgendem Gleichungssystem des Feder-Masse-Dämpfer Schwingers: F = f (t) dv Fm = m · dt 1 dFk v= · k dt Fb = b · v 0 = F − Fb − Fk − Fm 3 Dieser

(4.12) (4.13) (4.14) (4.15) (4.16)

Schritt ist nicht notwendig, soll jedoch angewandt werden, um eine bessere Vergleichbarkeit mit dem modellbasierten Systementwurf in Abschnitt 5.11 und Abschnitt 6.2.2 herzustellen.

88

4. Signalflussorientierte Modellbildung: Blockschaltbilder

Sortieren des Gleichungssystems Um ein Blockschaltbild der Gleichungen (4.12) bis (4.16) zu erhalten, müssen diese, wie in Abschnitt 3.1.3 auf Seite 59 beschrieben, kausalisiert werden. Das Sortieren des Gleichungssystems soll dabei im Folgenden anhand von Struktur-Digraphen (engl. structure digraph) erfolgen. Diese Methode wird in [CK06] (Kapitel 7) intensiv angewandt, soll hier jedoch nur angeschnitten werden. Komplexere Beispiele finden sich zwar nach der gleichen Methodik aber in einer anderen Darstellungsform gelöst in Abschnitt 6.5: Die symbolische Vorverarbeitung ab Seite 379. Um diese Vorgehensweise so übersichtlich wie möglich zu gestalten, werden die im Struktur-Digraphen durchgeführten Schritte parallel anhand der Gleichungen dargestellt.

Algorithmus zur Sortierung des Gleichungssystems Im ersten Schritt werden die Gleichungen nummeriert und auf der linken Seite des Digraphen aufgelistet. Im nächsten Schritt werden alle unbekannten Variablen auf der rechten Seite des Digraphen aufgelistet. Die Anzahl Gleichungen und Unbekannte muss dabei übereinstimmen, um eine (eindeutige) Lösung zu ermöglichen. Bekannte Größen, dazu zählt zum einen die Eingangsgröße f (t) und zum anderen die Zustandsvariablen v und Fk , die in der dynamischen Simulation zu jedem Zeitschritt bekannt sind, werden im Digraphen nicht eingezeichnet. Diese werden im Gleichungssystem blau eingefärbt. Parameter sind für diese Betrachtung im Digraphen irrelevant, da sie fix vorgeben werden und ebenfalls bekannt sind. Zur besseren Übersicht werden diese im Gleichungssystem grau eingefärbt. 1.

F = f (t)

dv dt 1 dFk 3. v = · k dt 4. Fb = b · v 5. 0 = F − Fb − Fk − Fm

2.

Fm = m ·

1

F

2

Fm

3

dv/dt

4

dFk/dt

5

Fb

Im nächsten Schritt wird über Verbindungen markiert, welche Unbekannte in welcher Gleichung vorkommt.

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 1. 2. 3. 4. 5.

F = f (t)

1

F

dv Fm = m · dt 1 dFk v= · k dt Fb = b · v 0 = F − Fb − Fk − Fm

2

Fm

3

dv/dt

4

dFk/dt

5

Fb

89

Nun wird nach einzelnen schwarzen Linien gesucht, die entweder von einer Gleichung oder von einer Variablen ausgehen. Die Reihenfolge ist dafür nicht weiter relevant. Wir beginnen im Digraphen links oben mit unserer Suche und führen diese entgegen dem Uhrzeigersinn fort. Geht eine einzelne schwarze Linie von einer Gleichung aus, enthält diese nur eine Unbekannte. Diese muss folglich aus dieser Gleichung berechnet werden. Dieser Umstand wird über eine rote Verbindungslinie und Einfärbung der Variable markiert. Wird eine schwarze Linie von einer Gleichung ausgehend rot umgefärbt, wird diese Gleichung mit einer aufsteigenden Nummer versehen. Diese Zahlen werden später zur vertikalen Sortierung 4 verwendet. 1. 2. 3. 4. 5.

F = f (t) dv Fm = m · dt 1 dFk v= · k dt Fb = b · v 0 = F − Fb − Fk − Fm

1.

1

F

2

Fm

3

dv/dt

4

dFk/dt

5

Fb

Da die Unbekannte F in Gleichung 1 berechnet wurde, ist sie jetzt in Gleichung 5 bekannt. Daher werden alle von der Variable F ausgehenden Linien blau eingefärbt. Dies entspricht wiederum einer blauen Einfärbung der Variable an den Stellen in der Gleichung an welchen sie noch schwarz war.

4 Diese

ist im Grunde nur für Simulationsprogramme relevant, welche den Programmcode sequentiell abarbeiten. In Simulink beispielsweise, wird die vertikale Sortierung als Sorted Execution Order bezeichnet. Der Vollständigkeit halber soll diese jedoch für das vorliegende Beispiel gezeigt werden.

90

4. Signalflussorientierte Modellbildung: Blockschaltbilder 1.

1

F

dv 2. Fm = m · dt 1 dFk 3. v = · k dt 4. Fb = b · v

2

Fm

3

dv/dt

4

dFk/dt

5. 0 = F − Fb − Fk − Fm

5

Fb

1. F = f (t)

Für Gleichung 3 treffen dieselben Umstände wie für Gleichung 1 zu. 1. F = f (t) dv dt 1 dFk 3. v = · k dt 4. Fb = b · v

2.

1.

1

F

2

Fm

3

dv/dt

4

dFk/dt

5

Fb

1

F

2

Fm

2.

3

dv/dt

3.

4

dFk/dt

5

Fb

Fm = m ·

2.

5. 0 = F − Fb − Fk − Fm Für Gleichung 4 tritt abermals derselbe Fall ein. 1. F = f (t) dv 2. Fm = m · dt 1 dFk 3. v = · k dt 4. Fb = b · v

1.

5. 0 = F − Fb − Fk − Fm

Im nächsten Schritt wird Gleichung 5 kausalisiert, da sich in ihr nur noch eine Unbekannte, die Variable Fm , befindet. 1. F = f (t) dv 2. Fm = m · dt 1 dFk 3. v = · k dt 4. Fb = b · v 5. 0 = F − Fb − Fk − Fm

1.

1

F

2

Fm

2.

3

dv/dt

3.

4

dFk/dt

4.

5

Fb

Im letzten Schritt der Sortierung wird der unbekannte Ausdruck dv/dt in Gleichung 2 berechnet.

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 1. 2. 3. 4. 5.

F = f (t) dv Fm = m · dt 1 dFk v= · k dt Fb = b · v 0 = F − Fb − Fk − Fm

1.

1

F

2

Fm

2.

3

dv/dt

3.

4

dFk/dt

4.

5

Fb

91

5.

Im abschließenden Schritt werden die mit Hilfe des Digraphen sortierten Gleichungen zuerst in horizontal und dann in vertikal sortierter Form angegeben. Die horizontale Sortierung ergibt sich daraus, dass aus jeder Gleichung die rote Variable berechnet wird. F dv dt dFk dt Fb Fm

:= f (t) 1 := · Fm m

(4.17)

:= k · v

(4.19)

:= b · v := F − Fb − Fk

(4.20) (4.21)

(4.18)

Die vertikale Sortierung ergibt sich aus der Nummerierung, die zu der jeweiligen roten Linie im Digraph eingefügt wurde. F dFk dt Fb Fm dv dt

:= f (t)

(4.22)

:= k · v

(4.23)

:= b · v := F − Fb − Fk 1 := · Fm m

(4.24) (4.25) (4.26)

Das System wurde jetzt von einem impliziten Gleichungssystem in ein explizites übergeführt. Dies wird durch das Zuweisungszeichen „:=“ verdeutlicht. Der oben beschriebene Prozess funktioniert in dieser grundlegenden Version zwar nicht für alle Modelle (mehr dazu in Abschnitt 6.5: Die symbolische Vorverarbeitung ab Seite 379), aber er kann generalisiert werden und formt dann fast beliebige implizite Gleichungssysteme in explizite um. Die Wichtigkeit dieses Schrittes sollte nicht unterschätzt werden. Durch diese algorithmische Vorgehensweise ist es möglich den Prozess der Erstellung eines Blockschaltbildes aus Gleichungen, welcher oft fälschlicherweise als Modellbil-

92

4. Signalflussorientierte Modellbildung: Blockschaltbilder

dung bezeichnet wird, komplett zu automatisieren (vgl. Abb. 3.1 auf Seite 56 und Abb. 3.8 auf Seite 74).

Implementierung Im nächsten Schritt wird aus dem sortierten Gleichungssystem ein Blockschaltbild erstellt. Dazu müssen, wie bereits in Abschnitt 3.1.4 auf Seite 63 erwähnt, die Gleichungen, die in differentieller Form vorliegen, in ihre integrale Form überführt werden. Wir erhalten folgendes Gleichungssystem: F := f (t) Zt Fk := k v · dt

(4.27) (4.28)

0

Fb := b · v Fm := F − Fb − Fk Zt 1 Fm · dt v := m

(4.29) (4.30) (4.31)

0

Das dazugehörige Blockschaltbild ist in Abb. 4.11 dargestellt.

b Fb Fm

F

1 s

1 m

k

1 s

v

Fk

Abb. 4.11.: Blockschaltbild des Feder-Masse-Dämpfer Systems

Simulation und Verifikation Für die Simulation wurden folgende Parameter ermittelt:

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems

93

• F = 250N, • m = 30kg, • k = 100N/m und • b = 25Ns/m Um das Modell zu validieren, wird das Simulationsergebnis mit der in Abb. 4.9 auf Seite 86 dargestellten Messung verglichen (siehe Abb. 4.12). Dieser Messergebnis Simulationsergebnis

4.0 3.0

v in m/s

2.0 1.0 0.0 -1.0 -2.0 0.0

2.5

5.0

7.5

10.0

12.5

15.0

t in s

Abb. 4.12.: Simulationsergebnis des Feder-Masse-Dämpfer Systems Vergleich ergibt, dass das System für den angenommenen Anwendungsfall zu stark vereinfacht wurde und es daher einer Modifikation bedarf.

4.2.2. Erste Modifikation des bestehenden Blockschaltbilds Vergleicht man das Simulationsergebnis mit dem Messergebnis so wird ersichtlich, dass sich das oszillierende Verhalten aus einer langsamen und einer überlagernden, etwas schnelleren Oszillation ergibt. Um dieses Verhalten abzubilden, wird daher links von der Masse m eine zweite Masse m2 angefügt, welche über die Feder mit der Federkonstante k2 gekoppelt sind. Das ursprüngliche System aus Abb. 4.13b wird daher, mit dem in Abb. 4.13a dargestellten System, erweitert. Dabei soll das Blockschaltbild des ursprünglichen Systems aus Abb. 4.11 um das noch zu erstellende Blockschaltbild des Teilsystems erweitert werden. Für das Teilsystem werden wiederum die Gleichungen aufgestellt und anschließend sortiert. Aus den sortierten Gleichungen wird sodann das Blockschaltbild erstellt

94

4. Signalflussorientierte Modellbildung: Blockschaltbilder

(a)

(b)

v2

F2

m2

v

F

b

m

k2

k

Abb. 4.13.: (b) Ursprüngliches Feder-Masse-Dämpfer System, das mit dem in (a) dargestellten Teilsystem erweitert wird und mit dem Blockschaltbild des ursprünglichen Systems verbunden. Erstellen des Gleichungssystems des Teilsystems Das Teilsystem lässt sich durch folgende Gleichungen beschreiben: F2 = f (t)

(4.32)

dv2 Fm2 = m2 · dt 1 dFk2 v2 = · k2 dt 0 = F2 − Fk2 − Fm2

(4.33) (4.34) (4.35)

Sortieren des Gleichungssystems des Teilsystems Die sortierten Gleichungen des Teilsystems erhält man analog zu den im vorherigen Abschnitt durchgeführten Schritten. Dabei starten wir wiederum mit der Erstellung des Struktur-Digraphen und kennzeichnen durch Verbindungslinien welche unbekannte Variable in welcher Gleichung vorkommt. In den Gleichungen selbst werden die bekannten Variablen blau und die Parameter grau markiert. 1.

F2 = f (t)

dv2 dt 1 dFk2 3. v2 = · k2 dt 4. 0 = F2 − Fk2 − Fm2 2.

Fm2 = m2 ·

1

F2

2

Fm 2

3

dv2/dt

4

dFk2/dt

Das sortierte Gleichungssystem nimmt folgende Gestalt an:

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 1.

1

F2

2

Fm 2

2.

3

dv2/dt

3.

4

dFk2/dt

1.

F2 = f (t)

dv2 2. Fm2 = m2 · dt 1 dFk2 3. v2 = · k2 dt 4. 0 = F2 − Fk2 − Fm2

95

4.

Um eine explizite Darstellung zu erhalten, werden alle Gleichungen so umgestellt, dass die unbekannten Variablen auf der linken Seite des Gleichheitszeichens stehen (horizontale Sortierung, linke Spalte). Anschließend werden die Gleichungen noch vertikal sortiert (rechte Spalte). F2 dv2 dt dFk2 dt Fm2

:= f (t) 1 := · Fm2 m2

(4.36)

:= k2 · v2

(4.38)

:= F2 − Fk2

(4.39)

(4.37)

F2 dFk2 dt Fm2 dv2 dt

:= f (t)

(4.40)

:= k2 · v2

(4.41)

:= F2 − Fk2 1 := · Fm2 m2

(4.42) (4.43)

Implementierung Um das Blockschaltbild des Teilsystems zu erhalten, werden die Gleichungen (4.43) und (4.41) noch in ihrer integralen Form dargestellt, sodass wir folgendes für die Implementierung relevantes Gleichungssystem erhalten: F2 := f (t) Zt Fk2 := k2 v2 · dt

(4.44) (4.45)

0

Fm2 := F2 − Fk2 Zt 1 Fm2 · dt v2 := m2

(4.46) (4.47)

0

Das sich daraus ergebende Blockschaltbild ist in Abb. 4.14 dargestellt. Die beiden Teilsysteme aus Abb. 4.13a und Abb. 4.13b sollen nun zu einem Gesamtsystem zusammengefügt werden (siehe Abb. 4.15). Es ist daher naheliegend die Federkraft Fk2 gleich der Eingangskraft F in das ursprüngliche Systems zu setzen (Abb. 4.10 auf Seite 86). Das daraus resultierende Blockschaltbild ist in Abb. 4.16 dargestellt.

96

4. Signalflussorientierte Modellbildung: Blockschaltbilder Fm2

F2

1 s

1 m2

k2

1 s

v2

Fk2

Abb. 4.14.: Blockschaltbild der Erweiterung

v2

F2

m2

v

k2

b

m k

Abb. 4.15.: Erweitertes (modifiziertes) Gesamtsystem

Simulation und Verifikation Für die Simulation wurden folgende Parameter ermittelt: • F2 = 250N, • m2 = 13, 5kg, • k2 = 1000N/m, • m = 16, 5kg, • k = 100N/m und • b = 25Ns/m Das Simulationsergebnis (die Geschwindigkeit der Masse m2 ) der ersten Modifikation ist in Abb. 4.17 dargestellt. Auf den ersten Blick scheint es so, als würde es sich bei dem System aus Abb. 4.15 um ein falsch modifiziertes System handeln. Da die Annahmen, die zum abstrahierten System in Abb. 4.15 führten jedoch korrekt sind, stellt sich die Frage, ob sich bei der Erstellung des Blockschaltbilds ein Fehler eingeschlichen hat. Sobald das Blockschaltbild des Teilsystems aus Abb. 4.14 mit dem des ursprünglichen Systems verbunden wird, ergibt sich eine klare Abtrennung zwischen den beiden Modellen über die Kraft. Diese ist allerdings nicht die einzige physikalische Größe, welche bei der Zusammenschaltung der beiden Teilsysteme die physikalische Wechselwirkung beschreibt. Sobald die beiden Teilsysteme miteinander verbunden werden, ent-

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems Fm2

F2

1 s

1 m2

k2

1 s

97

v2

Fk2

b Fb Fm

F

1 s

1 m

k

1 s

v

Fk

Abb. 4.16.: Blockschaltbild des modifizierten Systems

steht an der Feder k2 eine Geschwindigkeitsdifferenz ∆v = v2 − v. Wir haben bei der Erstellung des Blockschaltbilds des Teilsystems die Feder k2 – ohne uns darüber im Klaren zu sein – an einer „Wand“ fixiert und lassen die Kraft, welche auf die (unbewegliche) Wand wirkt nun auf die Masse m wirken. Hier wird zum ersten Mal ersichtlich, dass sich bei dieser Vorgehensweise bereits bei sehr einfachen Modifikationen leicht Fehler einschleichen können. Mit etwas Erfahrung in der Modellierung erkennt man in der Regel bereits bei der Erstellung des Teilsystems, dass an der Feder k2 eine Geschwindigkeitsdifferenz auftritt und ergänzt das Gleichungssystem um die fehlende Gleichung. Sobald es sich jedoch um etwas komplexere Systeme handelt, zeigt sich, dass sich trotz Erfahrung in der Modellierung sehr leicht Fehler einschleichen können, die dann mitunter komplett übersehen werden.

4.2.3. Erste Modifikation durch Erstellen eines neuen Blockschaltbilds Im folgenden Abschnitt werden die Gleichungen des Gesamtsystems aus Abb. 4.15 erstellt, sortiert und anschließend in ein Blockschaltbild überführt.

98

4. Signalflussorientierte Modellbildung: Blockschaltbilder Messergebnis Simulationsergebnis

4.0 3.0

v in m/s

2.0 1.0 0.0 -1.0 -2.0 0.0

2.5

5.0

7.5

10.0

12.5

15.0

t in s

Abb. 4.17.: Simulationsergebnis des erweiterten Feder-Masse-Dämpfer Systems

Erstellung des Gleichungssystems Der modifizierte Feder-Masse-Dämpfer Schwinger aus Abb. 4.15 wird durch folgende Gleichungen beschrieben:

F2 = f (t) dv2 Fm2 = m2 · dt 1 dFk2 ∆v = · k2 dt 0 = F2 − Fk2 − Fm2 0 = v2 − ∆v − v dv Fm = m · dt 1 dFk v= · k dt Fb = b · v 0 = Fk2 − Fb − Fk − Fm

(4.48) (4.49) (4.50) (4.51) (4.52) (4.53) (4.54) (4.55) (4.56)

Bei der Betrachtung des Gesamtsystems wird die Geschwindigkeitsdifferenz in Gleichung (4.52) sofort ersichtlich.

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems

99

Sortierung des Gleichungssystems Im ersten Schritt wird wiederum der Digraph erstellt und anhand der Verbindungslinien gekennzeichnet, welche Unbekannte in welcher Gleichung vorkommt. Im Gleichungssystem werden die bekannten Variablen wiederum blau und die Parameter grau eingefärbt. 1. 2. 3. 4. 5. 6. 7. 8. 9.

F2 = f (t)

1

F2

dv2 dt 1 dFk2 ∆v = · k2 dt 0 = F2 − Fk2 − Fm2 0 = v2 − ∆v − v dv Fm = m · dt 1 dFk v= · k dt Fb = b · v 0 = Fk2 − Fb − Fk − Fm

2

Fm 2

3

dv2/dt

4

dFk2/dt

5

Δv

6

Fm

7

dv/dt

8

dFk/dt

9

Fb

Fm2 = m2 ·

Führt man den in Abschnitt 4.2.1 auf Seite 88 vorgestellten Algorithmus aus, so erhält man das sortierte Gleichungssystem. 1. 2. 3. 4. 5. 6. 7. 8. 9.

F2 = f (t) dv2 dt 1 dFk2 ∆v = · k2 dt 0 = F2 − Fk2 − Fm2 0 = v2 − ∆v − v dv Fm = m · dt 1 dFk v= · k dt Fb = b · v 0 = Fk2 − Fb − Fk − Fm

1

F2

2

Fm 2

3

dv2/dt

2.

4

dFk2/dt 8.

3.

5

Δv

6

Fm

4.

7

dv/dt

5.

8

dFk/dt

6.

9

Fb

1.

Fm2 = m2 ·

7.

9.

Schlussendlich werden die Gleichungen in ihrer expliziten Form dargestellt, d.h. diese werden zuerst horizontal sortiert (linke Spalte) und dann vertikal sortiert (rechte Spalte).

100

4. Signalflussorientierte Modellbildung: Blockschaltbilder F2 dv2 dt dFk2 dt Fm2 ∆v dv dt dFk dt Fb Fm

:= f (t) 1 := · Fm2 m2

(4.57)

:= k2 · ∆v

(4.59)

:= F2 − Fk2 := v2 − v 1 := · Fm m

(4.60) (4.61)

:= k · v

(4.63)

:= b · v := Fk2 − Fb − Fk

(4.64) (4.65)

(4.58)

(4.62)

F2 := f (t) Fm2 := F2 − Fk2 ∆v := v2 − v dFk := k · v dt Fb := b · v Fm := Fk2 − Fb − Fk dv2 1 := · Fm2 dt m2 dFk2 := k2 · ∆v dt dv 1 := · Fm dt m

(4.66) (4.67) (4.68) (4.69) (4.70) (4.71) (4.72) (4.73) (4.74)

Implementierung Um das Blockschaltbild zu erstellen, werden die Gleichungen, die in differenzieller Form vorliegen in integraler Form ausgedrückt. F2 := f (t) Fm2 := F2 − Fk2 ∆v := v2 − v Zt Fk := k v · dt

(4.75) (4.76) (4.77) (4.78)

0

Fb := b · v Fm := Fk2 − Fb − Fk Zt 1 Fm2 · dt v2 := m2

(4.79) (4.80) (4.81)

0 Zt

Fk2 := k2

∆v · dt

(4.82)

Fm · dt

(4.83)

0

1 v := m

Zt 0

Das sich daraus ergebende Blockschaltbild ist in Abb. 4.18 dargestellt.

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 101 Fm2

F2

1 s

1 m2

k2

1 s

Fk2

v

Δv

b Fb Fm

F

1 s

1 m

k

1 s

v

Fk

Abb. 4.18.: Korrektes Blockschaltbild

Simulation und Verifikation Für die Simulation wurden dieselben Parameter wie im vorherigen Abschnitt gewählt. Ein Vergleich mit dem Messergebnis (Abb. 4.19) zeigt erneut eine Abweichung. Die überlagerte etwas schnellere Oszillation, die im Messergebnis ersichtlich ist, weist ein wesentlich stärker gedämpftes Verhalten auf. Daher ist es naheliegend parallel zur Feder k2 einen Dämpfer b2 anzubringen, um die Schwingung der Masse m2 schneller abklingen zu lassen.

4.2.4. Zweite Modifikation des bestehenden Blockschaltbilds Das modifizierte Feder-Masse-Dämpfer System ist in Abb. 4.20 dargestellt.

Implementierung Um das Blockschaltbild zu erweitern, muss diesmal lediglich die Gleichung, die das Verhalten des Dämpfers beschreibt, eingefügt werden. Fb2 = b2 · ∆v

(4.84)

102

4. Signalflussorientierte Modellbildung: Blockschaltbilder Messergebnis Simulationsergebnis

4.0 3.0

v in m/s

2.0 1.0 0.0 -1.0 -2.0 0.0

2.5

5.0

10.0

7.5

12.5

15.0

t in s

Abb. 4.19.: Simulationsergebnis des erweiterten Feder-Masse-Dämpfer Systems

v2

F2

b2

m2

v

b

m k2

k

Abb. 4.20.: Erweiterung des Systems um den Dämpfer b2

Es stellt sich lediglich noch die Frage, welche der beiden möglichen Zuweisungen aus Gleichung (4.84) verwendet werden muss. Fb2 := b2 · ∆v 1 · Fb2 ∆v := b2

(4.85) (4.86)

Anhand des Blockschaltbilds aus Abb. 4.18 ist ersichtlich, dass die Geschwindigkeitsdifferenz ∆v der Ausgang des Summenblocks ist, welcher die Zuweisung ∆v := v2 − v verkörpert. Somit ist klar, dass ∆v in dieser Gleichung berechnet wurde und somit in Gleichung (4.84) bekannt ist. Daher muss Gleichung (4.85) verwendet werden, um das Blockschaltbild zu erweitern. Die Dämpferkraft wirkt dabei der Eingangskraft F2 entgegen und wird daher von dieser abgezogen. Wir erhalten das in Abb. 4.21 dargestellte Blockschaltbild.

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 103 Fm2

F2

1 s

1 m2

k2

1 s

Fk2 -Fb2

v2

v

Δv

b2

b Fb Fm

F

1 s

1 m

k

1 s

v

Fk

Abb. 4.21.: Erweiterung des Blockschaltbilds um den Dämpfer b2

Simulation und Verifikation Für den zusätzlichen Dämpfer wurde der Wert 15Ns/m verwendet. Eine erneute Simulation liefert das in Abb. 4.22 gezeigte Ergebnis. Das Simulationsergebnis weicht nur gering vom Messergebnis ab, was vermuten lässt, dass das Modell korrekt und ausreichend genau abgebildet wurde. Um sicherzugehen, dass uns kein Fehler unterlaufen ist, soll das Blockschaltbild des Gesamtsystems nochmals neu erstellt werden.

4.2.5. Zweite Modifikation durch Erstellen eines neuen Blockschaltbilds Dabei führen wir erneut die in den vorherigen Abschnitten durchgeführten Schritte aus.

104

4. Signalflussorientierte Modellbildung: Blockschaltbilder Messergebnis Simulationsergebnis

4.0 3.0

v in m/s

2.0 1.0 0.0 -1.0 -2.0 0.0

2.5

5.0

7.5

10.0

12.5

15.0

t in s

Abb. 4.22.: Simulationsergebnis des erweiterten Feder-Masse-Dämpfer Systems Erstellung des Gleichungssystems Wird das Gleichungssystem bestehend aus den Gleichungen (4.48) bis (4.56) auf Seite 98 um Gleichung (4.84) auf Seite 101 erweitert, so wird das in Abb. 4.20 dargestellte System vollständig beschrieben. F2 = f (t) dv2 Fm2 = m2 · dt 1 dFk2 ∆v = · k2 dt Fb2 = b2 · ∆v 0 = F2 − Fk2 − Fm2 − Fb2 0 = v2 − ∆v − v dv Fm = m · dt 1 dFk v= · k dt Fb = b · v 0 = Fk2 − Fb − Fk − Fm + Fb2

(4.87) (4.88) (4.89) (4.90) (4.91) (4.92) (4.93) (4.94) (4.95) (4.96)

Hier wird bereits ersichtlich, dass uns bei der Erstellung des Blockschaltbilds aus Abb. 4.21 ein Fehler unterlaufen ist. Die Dämpferkraft Fb2 wirkt nicht nur der Eingangskraft F2 entgegen (Gleichung (4.91)), sie wirkt ebenfalls zusammen mit der Federkraft Fk2 auf die Masse m (Gleichung (4.96)). Dieser Fehler hätte im

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 105 Grunde genommen nicht passieren dürfen, da im Allgemeinen bekannt ist, dass die Kraft, die auf der einen Seite des Dämpfers entsteht, auf der anderen Seite mit dem gleichen Betrag in die entgegengesetzte Richtung wirkt. Der Fehler, der uns unterlaufen ist, soll auch hier wiederum verdeutlichen, dass bei der Erweiterung eines Blockschaltbilds immer mit großer Sorgfalt vorgegangen werden muss, um ein korrektes Modell zu erhalten. Anhand des Simulationsergebnisses, das relativ gut mit dem Messergebnis übereinstimmt, wäre uns der Fehler jedenfalls nicht aufgefallen. Trotzdem wollen wir das Gleichungssystem im Folgenden kausalisieren.

Sortierung des Gleichungssystems Im nächsten Schritt wird erneut der Digraph erstellt. Im Gleichungssystem werden wiederum die bekannten Variablen blau und die Parameter grau eingefärbt. 1

F2

dv2 dt 1 dFk2 3. ∆v = · k2 dt 4. Fb2 = b2 · ∆v

2

Fm 2

3

dv2/dt

4

dFk2/dt

5. 0 = F2 − Fk2 − Fm2 − Fb2

5

Δv

6. 0 = v2 − ∆v − v dv 7. Fm = m · dt 1 dFk 8. v = · k dt 9. Fb = b · v

6

Fb2

7

Fm

8

dv/dt

9

dFk/dt

10

Fb

1. 2.

F2 = f (t) Fm2 = m2 ·

10. 0 = Fk2 − Fb − Fk − Fm + Fb2

Wir starten wiederum links oben im Digraphen und sortieren das Gleichungssystem entgegen dem Uhrzeigersinn. Dabei lassen sich bereits die ersten vier Gleichungen kausalisieren. Für den Ausdruck dv/dt ergibt sich nun der zweite mögliche Fall, in welchem eine schwarze Linie durch das Auftreten einer einzelnen Variablen rot gefärbt wird.

106

4. Signalflussorientierte Modellbildung: Blockschaltbilder 1

F2

dv2 2. Fm2 = m2 · dt 1 dFk2 3. ∆v = · k2 dt 4. Fb2 = b2 · ∆v

2

Fm 2

3

dv2/dt

4

dFk2/dt

5. 0 = F2 − Fk2 − Fm2 − Fb2

5

Δv

6

Fb2

7

Fm

3.

8

dv/dt

4.

9

dFk/dt

10

Fb

1. F2 = f (t)

6. 0 = v2 − ∆v − v dv 7. Fm = m · dt 1 dFk 8. v = · k dt 9. Fb = b · v

1.

2.

10. 0 = Fk2 − Fb − Fk − Fm + Fb2

10.

Hintergrund ist, dass eine Variable, die nur in einer Gleichung vorkommt auch in dieser berechnet werden muss. Laut Algorithmus müssen Gleichungen, welche durch die „Variablenseite“ rot gefärbt werden, mit einer Zahl versehen werden, die von der Anzahl der Gleichungen abwärts gezählt wird. Die Variable Fm in Gleichung 7 wird somit als bekannt angenommen, da sie offensichtlich in einer anderen Gleichung berechnet wird. Führt man den Algorithmus fort, so wird Fm bereits im nächsten Schritt in Gleichung 10 berechnet. Das sortierte Gleichungssystem nimmt schlussendlich folgende Form an. 1. F2 = f (t) dv2 2. Fm2 = m2 · dt 1 dFk2 3. ∆v = · k2 dt 4. Fb2 = b2 · ∆v

1

F2

2

Fm 2

6.

3

dv2/dt

7.

4

dFk2/dt

8.

5

Δv

6

Fb2

7

Fm

3.

8

dv/dt

4.

9

dFk/dt

10

Fb

1.

5.

5. 0 = F2 − Fk2 − Fm2 − Fb2 6. 0 = v2 − ∆v − v dv 7. Fm = m · dt 1 dFk 8. v = · k dt 9. Fb = b · v 10. 0 = Fk2 − Fb − Fk − Fm + Fb2

2.

9. 10.

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 107 Implementierung Um die für die Erstellung des Blockschaltbilds relevanten Gleichungen zu erhalten, werden nach horizontaler und vertikaler Sortierung die Gleichungen, die in abgeleiteter Form vorliegen, in integraler Form dargestellt. F2 := f (t) ∆v := v2 − v Zt Fk := k v · dt

(4.97) (4.98) (4.99)

0

Fb := b · v Fb2 := b2 · ∆v Fm2 := F2 − Fk2 − Fb2 Zt 1 Fm2 · dt v2 := m2

(4.100) (4.101) (4.102) (4.103)

0

Zt ∆v · dt

Fk2 := k2

(4.104)

0

Fm := Fk2 − Fb − Fk + Fb2 Zt 1 v := Fm · dt m

(4.105) (4.106)

0

Das dazugehörige Blockschaltbild ist in Abb. 4.23 dargestellt.

Simulation und Verifikation Mit diesem Modell wird das Messergebnis, wie in Abb. 4.24 dargestellt, sehr gut angenähert und das Modell beschreibt das System somit mit ausreichender Genauigkeit. Man sieht auch, dass sich das Simulationsergebnis, welches anhand des Blockschaltbilds aus Abb. 4.21 auf Seite 103 ermittelt wurde, nicht wesentlich von dem des korrekten Modells unterscheidet. Das bedeutet im Umkehrschluss, dass der im vorherigen Abschnitt begangene Fehler mitunter gar nicht entdeckt wird und daher mit einem fehlerhaften Modell gearbeitet wird.

108

4. Signalflussorientierte Modellbildung: Blockschaltbilder Fm2

F2

1 s

1 m2

k2

1 s

Fk2 -Fb2

v2

v

Δv

b2 Fb2

b Fb Fm

F

1 s

1 m

k

1 s

v

Fk

Abb. 4.23.: Korrigierte Erweiterung des Blockschaltbilds um einen Dämpfer

4.2.6. Dritte Modifikation des bestehenden Blockschaltbilds Um noch einen weiteren gängigen Fall zu beleuchten, soll das Modell im nächsten Schritt vereinfacht werden, um z.B. einen Regler auslegen zu können. Dabei sollen die beiden Massen, wie in Abb. 4.25 dargestellt, starr miteinander verbunden werden. Im vorliegenden Beispiel fällt auf, dass es sich dabei um das initial erstellte System aus Abb. 4.10 auf Seite 86 handelt. Wenn man nun versucht im Blockschaltbild den Dämpfer und die Feder zu entfernen, ergibt sich die in Abb. 4.26 dargestellte Situation. Man müsste, um das modifizierte Blockschaltbild zu erhalten, zwei Inputs (die Kräfte Fk2 und F ) miteinander verbinden. Darüber hinaus führen die beiden Outputs (die Geschwindigkeiten v2 und v) ins Leere. Im Blockschaltbild ist diese Vereinfachung also nicht ohne weiteres durchführbar. Der Grund dafür ist in einer strukturellen Veränderung des Systems zu finden. Diese Veränderung bezieht sich auf die Anzahl der Zustände, welche sich durch die ideal starre Verbindung der beiden Massen, verkleinert hat. Im Grunde genommen sind zwei starr miteinander verbunden Massen nichts anderes als

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 109 Messergebnis Simulationsergebnis: fehlerhaft fehlerfrei

4.0 3.0

v in m/s

2.0 1.0 0.0 -1.0 -2.0 0.0

2.5

5.0

10.0

7.5

12.5

15.0

t in s

Abb. 4.24.: Simulationsergebnis des, um einen Dämpfer, erweiterten FederMasse-Dämpfer Systems

F2

v2

v

m2

m

b

k Abb. 4.25.: Vereinfachtes System z.B. für regelungstechnische Anwendungen

eine Masse. In Abschnitt 5.8.3: Strukturelle Singularitäten ab Seite 209 und Abschnitt 6.5.3: Strukturelle Singularitäten: „höhere Index“ Systeme ab Seite 394 wird genauer auf diesen Umstand und dessen Auswirkungen eingegangen.

4.2.7. Dritte Modifikation durch Erstellen eines neuen Blockschaltbilds In dieser Situation muss das Blockschaltbild mehr oder weniger von Null weg neu aufgebaut werden, was zu dem in (Abb. 4.27) dargestellten Resultat führt. Dieses Blockschaltbild entspricht, wie bereits vermutet, dem in Abb. 4.11 auf Seite 92 dargestellten initialem Blockschaltbild. Die Ähnlichkeit der Modelle ist einfach nachvollziehbar, weil sich aus der Zusammenfassung der Massen in eine Einzelne das ursprüngliche System ergibt.

110

4. Signalflussorientierte Modellbildung: Blockschaltbilder Fm2

F2

1 s

1 m2

v2

Fk2

v

b Fb Fm

F

1 s

1 m

k

1 s

v

Fk

Abb. 4.26.: Versuch der Vereinfachung des Systems

4.2.8. Diskussion In diesem Abschnitt handelt es sich offensichtlich um gezielt ausgesuchte Beispiele, um die Schwierigkeiten der kausalen Modellierung aufzuzeigen. Probleme ergeben sich primär nicht bei der erstmaligen Erstellung von Modellen, sondern vielmehr bei deren Anpassung bzw. bei strukturellen Änderungen an den Modellen. Um die Fehler zu umgehen, bieten sich zwei Möglichkeiten an. Einerseits kann das Gesamtsystem bei jeder Anpassung neu modelliert werden, was für große Systeme äußerst aufwändig sein kann. Die andere Möglichkeit ist, den Fehler im Blockschaltbild aufgrund von physikalischen Überlegungen zu suchen. Im vorliegenden Beispiel ist die Korrektur des Blockschaltbildes relativ einfach, bei komplexeren Systemen, die sich meist aus einzelnen Subsystemen zusammensetzen, kann diese Suche hingegen schnell sehr zeitaufwändig werden. Die präsentierten Beispiele sollen aufzeigen, dass es zwar möglich ist, physikalische Systeme in signalflussorientierten Simulatoren zu berechnen, durch die

4.2. Modellbasierter Systementwurf eines Feder-Masse-Dämpfer Systems 111

b Fb F2

Fm+m2

1 s

1 m +m 2

k

1 s

v

Fk

Abb. 4.27.: Blockschaltbilds des vereinfachten Systems

Einschränkungen, welche diese prinzipbedingt mit sich bringen, die Modellierung jedoch oft unnatürlich ist. Die Kombination zweier Subsysteme sollte nicht die Modifikation eines der beiden Systeme erfordern. Sind die Systeme jedoch komplexer, passiert es oft, dass solche Änderungen und die dadurch entstehenden Rückwirkungen vergessen werden. Auch die dadurch entstehenden Fehler sind in den Simulationsergebnissen nicht immer ohne weiteres erkennbar, was bereits in Abb. 4.22 auf Seite 104 ersichtlich wurde.

4.2.9. Ausblick In diesem Kapitel wurde anhand eines konkreten Beispiels demonstriert, dass bei der Erweiterung bzw. der Modifikation eines bestehenden Blockschaltbilds häufig Fehler passieren und dass das Blockschaltbild mitunter sogar neu erstellt werden muss, da eine Modifikation des bestehenden Blockschaltbilds nicht immer möglich ist. Als Abhilfe wurde das Gleichungssystem bei jeder Modifikation neu aufgestellt und anhand des sortierten Gleichungssystem ein Blockschaltbild erstellt. Für das Sortieren (Kausalisieren) des Gleichungssystems wurden Struktur-Digraphen herangezogen, die sich hervorragend als Hilfsmittel eignen und eine strukturierte Vorgehensweise garantieren. Sobald es sich jedoch um größere Gleichungssysteme handelt, die etwa aus mehr als 20 Gleichungen bestehen, wird dieser Ansatz zunehmend unübersichtlicher. Dies wirft folgende Fragen auf: 1. Gibt es weitere Methoden bei denen man auch bei Systemen, die durch größere Gleichungssysteme beschrieben werden, nicht den Überblick verliert?

112

4. Signalflussorientierte Modellbildung: Blockschaltbilder

2. Ist es wirklich von Nöten das Gleichungssystem zu sortieren? Mit anderen Worten: Gibt es eine Möglichkeit direkt mit den (akausalen) Gleichungen zu arbeiten? Beide Fragen können mit einem ganz klaren „Ja“ beantwortet werden. Die erste Frage hat sich H. M. Paynter bereits 1961 am MIT gestellt [Pay61] und als Lösung ein grafisches Verfahren zur Modellierung dynamischer Systeme entwickelt, dass unter dem Namen Bondgraphen bekannt wurde und in Kapitel 5 (Seite 113) vorgestellt wird. Mit der zweiten Frage hat sich H. Elmqvist während seiner Dissertation [Elm78] intensiv auseinandergesetzt und dabei den Grundstein für die objektorientierte Modellierung gelegt, die es ermöglicht direkt mit den akausalen Gleichungen zu arbeiten. Eine Einführung in die objektorientierte Modellierung folgt in Kapitel 6 ab Seite 281.

5. Die Theorie der Bondgraphen Bondgraphen wurden 1959 von H.M. Paynter entwickelt und 1961 erstmals am Massachusetts Institute of Technology (MIT) vorgestellt und in [Pay61] publiziert. Zwei seiner damaligen Studenten, Dean C. Karnopp und Ronald C. Rosenberg, erkannten das enorme Potential dieses Konzepts, entwickelten es weiter und publizierten zusammen mit Donald L. Margolis den bis heute de-facto Standard in der Bondgraphenliteratur ([KMR75] bzw. die neuste Auflage [KMR12]). Des Weiteren sind die Werke folgender Autoren zu erwähnen: Wolfgang Borutzky [Bor10], François Cellier [Cel91], Lennart Ljung und Torkel Glad [LG94]. Als Vorbereitung für den Einstieg in die Theorie der Bondgraphen werden in Abschnitt 5.1 ab Seite 114 die grundlegenden Zusammenhänge physikalischer Systeme aufgezeigt. Dadurch wird ersichtlich, dass den physikalischen Systemen verschiedener technischer Domänen dieselben mathematischen Gleichungen zugrunde liegen. Mit diesem Wissen wird die Theorie der Bondgraphen – die Bondgraphen-Methodologie – vorgestellt. Nachdem im Abschnitt Akausale Bondgraphen ab Seite 129 die grundlegenden Elemente behandelt wurden, wird die Erstellung einfacher Bondgraphen anhand einiger Beispiele vorgeführt. Im Anschluss wird ab Seite 146 ein strukturierter Komponentenbasierter Modellierungsansatz zur Erstellung von akausalen Bondgraphen vorgestellt. Anschließend wird in Abschnitt 5.4 ab Seite 160 demonstriert, wie ein akausaler Bondgraph kausalisiert1 wird. Ferner wird demonstriert, wie sich die sortierten Gleichungen aus dem kausalen Bondgraphen extrahieren lassen, um etwa die Zustandsraumdarstellung oder ein Blockschaltbild zu erhalten. Nachdem in Abschnitt 5.5 ab Seite 175 weitere Bondgraph-Elemente zur Energieumwandlung vorgestellt wurden, ist es nun möglich, Systeme, die durch mehrere technische Domänen beschrieben werden, zu modellieren. Dies wird anhand mehrerer Beispiele demonstriert. Nach der allgemeinen Einführung in die Theorie der Bondgraphen folgen etwas spezifischere Abschnitte, um auch komplexere Systeme modellieren zu können. Dabei liefern die Abschnitte Kausale Pfade ab Seite 196 und Das Dualitätsprinzip – Duale Bondgraphen ab Seite 200 eine solide Grundlage für 1 Mit

anderen Worten: Es wird gezeigt, wie das Gleichungssystem, welches durch den akausalen Bondgraphen repräsentiert wird, sortiert, und somit in Zuweisungen überführt wird.

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8_5

113

114

5. Die Theorie der Bondgraphen

den darauffolgenden Abschnitt Kausalitätskonflikte in Bondgraphen (Seite 201). Hier werden erstmals Beispiele behandelt deren zugrundeliegende Gleichungssysteme sich nicht mehr ohne weiteres Kausalisieren lassen. Es wird gezeigt warum Kausalitätskonflikte (algebraische Schleifen und strukturelle Singularitäten) auftreten und wie sich diese beheben lassen, um zu einem simulierbaren Modell zu gelangen. Dieselbe Technik wird in Kapitel 6: Die symbolische Vorverarbeitung ab Seite 379 vorgestellt, wobei die Sortierung des Gleichungssystems von der Simulationsumgebung übernommen wird. Nachdem Die vier Grundvariablen der Bondgraphen-Modellierung (Seite 223) vorgestellt worden sind, werden Sensoren und modulierte Elemente (Seite 225) behandelt. Mit deren Hilfe ist es beispielsweise möglich, eine Anfangsposition einer mechanischen Masse vorzugeben. Im Anschluss wird der in Abschnitt 4.2 ab Seite 85 vorgestellte modellbasierte Systementwurf eines Feder-Masse-Dämpfer Systems anhand von Bondgraphen durchgeführt. Die Vorteile der Bondgraphen-Methode gegenüber der in Abschnitt 4.2 vorgestellten signalflussorientierten Modellierung treten dabei klar zum Vorschein. Im Abschnitt Nichtlineare Bondgraphen am Beispiel der Gleichstrom-Nebenschlussmaschine ab Seite 246 wird gezeigt, wie die aus dem kausalen Bondgraphen extrahierten nichtlinearen Zustandsgleichungen linearisiert werden, um zur linearen Zustandsraumdarstellung zu gelangen. Der darauffolgende Abschnitt Irreversible Thermodynamik (Seite 252) behandelt die Themen Wärmeleitung und Wärmespeicherung anhand von Bondgraphen. Den Abschluss des Kapitels bildet der Abschnitt Zweidimensionale mechanische Systeme ab Seite 261, in dem Systeme, wie etwa ein Pendel, ein Verladekran bzw. ein Doppelpendel anhand von Bondgraphen modelliert werden.

5.1. Grundlegende Zusammenhänge physikalischer Systeme In diesem Abschnitt werden die mathematischen Modelle physikalischer Systeme aus verschiedenen Domänen mit DAEs beschrieben. Dabei werden elektrische, mechanisch-translatorische und mechanisch-rotatorische Systeme anhand einfacher Systeme 2. Ordnung hergeleitet. Ferner wird ein einfaches so genanntes Fluss-System modelliert. „Einfach“ darum, weil die Flüssigkeit als inkompressibel angenommen wird. Abschließend wird auf thermische Systeme eingegangen, wobei hier kein konkretes Beispiel behandelt wird. Auf eine Beschreibung der magnetischen Domäne wird verzichtet. Für den interessierten Leser sei auf folgende Literatur verwiesen: [KMR12] Kapitel 11 bzw. [Rod13] Abschnitt 7.2.2. Am Ende dieses Abschnitts soll ersichtlich werden, dass allen Systemen eines gemeinsam ist, nämlich deren identische mathematische Beschreibung. Um dies hervorzuheben werden die systembeschreibenden Gleichungen genau analysiert,

5.1. Grundlegende Zusammenhänge physikalischer Systeme

115

um daraus allgemeingültige (domänenunabhängige) Gleichungen zu erhalten. Dadurch wird ein tiefes Verständnis der physikalischen Zusammenhänge der jeweiligen Systeme erlangt. Dieses Wissen bildet die Basis für die im nächsten Abschnitt vorgestellten Bondgraphen.

5.1.1. Elektrische Systeme Abb. 5.1 zeigt einen elektrischen RLC-Schwingkreis. Dieser besitzt folgende

R

i u

L C

Abb. 5.1.: Schaltung eines elektrischen RLC-Schwingkreises fundamentale Größen, welche das System charakterisieren. • Spannung u in V • Strom i in A Um eine systembeschreibende Differentialgleichung zu erhalten, wird die Kirchhoff’sche Maschenregel angewendet. u = uL + uR + uC

(5.1)

Durch Substitution der einzelnen Spannungen mit den Komponentengleichungen (vgl. Abschnitt 3.1.2: Aufstellen der Komponentengleichungen auf Seite 58), welche die jeweiligen Elemente beschreiben, erhalten wir folgende Gleichung: (II) Zt di z}|{ 1 i · dt u = L +R · i+ dt C |{z} 0 | {z } (I)

(5.2)

(III)

Eine genauere Betrachtung der Terme (I), (II) und (III) des Ausdrucks auf der rechten Seite des Gleichheitszeichens von Gleichung (5.2) liefert folgende Informationen: Term (II) beschreibt die ohmschen Verluste der Schaltung. Dies ist hier durch den elektrischen Widerstand R gekennzeichnet. Die am Widerstand entstehende elektrische Leistung wird irreversibel in Wärme umgewandelt. Die

116

5. Die Theorie der Bondgraphen

Terme (I) und (III) beschreiben das Speichern von Energie. Dies ist bei Term (III) sofort ersichtlich, da dieser in integraler Form vorliegt. Formt man Term (I) wie folgt um, so ist auch hier ersichtlich, dass Energie gespeichert wird. uL = L i=

di dt Zt

1 L

(5.3) uL · dt

(5.4)

0

In Term (III) wird demnach der Strom i gespeichert, während in Term (I) die elektrische Spannung u gespeichert wird. Werden wirklich Strom und Spannung gespeichert? Der aufmerksame Leser mag sich an dieser Stelle folgende Fragen stellen: • Wird anstelle des Stroms nicht eine elektrische Ladung q (A s) im Kondensator C gespeichert? • In einer Induktivität L wird doch anstatt der Spannung uL ein magnetischer Fluss Φ (Vs) gespeichert? Streng genommen müssten beide Fragen mit „Ja“ beantwortet werden. Durch den direkt proportionalen Zusammenhang der Variablen uC und q 1 uC = C

Zt i · dt

(5.5)

0

| {z } q

q = C · uC

(5.6)

sowie i und Φ i=

1 L

Zt uL · dt

(5.7)

0

| Φ=L·i

{z Φ

} (5.8)

ist es jedoch korrekt von der Speicherung des Stroms i bzw. der Spannung uL zu sprechen. Entsprechendes gilt auch für die in den folgenden Abschnitten behandelten mechanischen und hydraulischen Systeme. Eine detaillierte Erklärung folgt in Abschnitt 5.9 (Seite 223).

5.1. Grundlegende Zusammenhänge physikalischer Systeme

117

5.1.2. Mechanisch-translatorische Systeme Als mechanisch-translatorisches Pendant wird das System in Abb. 5.2 herangezogen, das in der Mechanik als Feder-Masse-Dämpfer Schwinger bekannt ist.

v

F

b

m k

Abb. 5.2.: Feder-Masse-Dämpfer Schwinger

Die fundamentalen Größen des Systems sind: • Kraft F in N • Geschwindigkeit v in m/s Die Differentialgleichung, die das System beschreibt, erhält man durch Bilden der Summe aller Kräfte, welche auf die Masse m wirken (Prinzip von d’Alembert):

F = Fm + Fb + Fk

(5.9)

Durch Substitution der Kräfte mit den dazugehörigen Komponentengleichungen ergibt sich folgende Differentialgleichung 2. Ordnung: F =m·x ¨ + b · x˙ + k · x = (II)

t

Z z}|{ =m | {z· v}˙ + b · v + k v · dt (I)

(5.10)

0

|

{z

(III)

}

Die Konstante b in Term (II) beschreibt wiederum ein verlustbehaftetes Element, das im Falle eines Feder-Masse-Dämpfer Schwingers einem Dämpfer entspricht. Allgemein gilt, dass mechanische Verluste nichts anderes sind als Reibung, d.h. dass auch hier die auftretende mechanische Leistung irreversibel in Wärme umgewandelt wird. Term (I) und (III) beschreiben das Speichern von Kraft bzw. Geschwindigkeit. Das Speichern der Kraft Fm wird ersichtlich, wenn man Term

118

5. Die Theorie der Bondgraphen

(I) folgendermaßen umformt: Fm = m · v˙ Zt 1 Fm · dt v= m

(5.11) (5.12)

0

5.1.3. Mechanisch-rotatorische Systeme Ein mechanisch-rotatorisches System 2. Ordnung ist in Abb. 5.3 dargestellt. Die

J k

T,ω

b Abb. 5.3.: Mechanisch-rotatorisches System 2. Ordnung fundamentalen Größen des Systems sind: • Drehmoment2 T in Nm • Winkelgeschwindigkeit ω in rad/s Im Falle einer Rotation wird die Masse durch deren Trägheitsmoment J beschrieben. Durch Bilden der Momentenbilanz (Summe aller Momente gleich Null), ergibt sich die Beziehung: T = TJ + Tb + Tk = = J · ϕ¨ + b · ϕ˙ + k · ϕ = (II)

t

Z z}|{ =J · ω˙} + b · ω + k ω · dt | {z (I)

(5.13)

0

|

{z

(III)

}

Term (II) beschreibt die rotatorischen Reibungsverluste. Term (I) und (III) beschreiben das Speichern von Energie, wobei Term (I) wiederum in integraler 2 Im

Folgenden als Moment bezeichnet.

5.1. Grundlegende Zusammenhänge physikalischer Systeme

119

Form dargestellt wird, um das Speichern des Drehmoments TJ zu veranschaulichen. TJ = J · ω˙ Zt 1 TJ · dt ω= J

(5.14) (5.15)

0

5.1.4. Fluss-Systeme (Hydraulische Systeme) Für Fluss-Systeme benötigen wir etwas mehr Hintergrundwissen, um ein mathematisches Modell erstellen zu können, weshalb an dieser Stelle kein System 2. Ordnung herangezogen wird. Vielmehr wird auf die grundlegenden Eigenschaften solcher Systeme eingegangen. Der Einfachheit halber werden die Flüssigkeiten als inkompressibel angenommen, was für grundlegende Betrachtungen hydraulischer Systeme durchaus legitim ist. Trägheit einer Flüssigkeit Die Trägheit einer Flüssigkeit (hydraulische Induktivität) wird schematisch durch eine lange Leitung (Rohr) dargestellt (siehe Abb. 5.4).

p1

A q

p2

l>>

Abb. 5.4.: Trägheit einer Flüssigkeit dargestellt durch ein langes Rohr Die fundamentalen Größen sind: • Druck p in Pa bzw. N/m2 • Volumenstrom (Volumenfluss) q in m3 /s Im Folgenden wird angenommen, dass der Druck p1 größer ist als der Druck p2 , d.h. p1 > p2 . Daraus resultiert die Druckdifferenz: ∆p = p1 − p2 ≡ p

(5.16)

Diese Druckdifferenz erzeugt eine Kraft F , welche die Flüssigkeit im Rohr beschleunigt: F = ∆p · A = p · A

(5.17)

120

5. Die Theorie der Bondgraphen

Die Masse der beschleunigten Flüssigkeit ergibt sich aus der Dichte ρ in kg/m3 , sowie des Volumens V der sich im Rohr befindenden Flüssigkeit. m=ρ·V =ρ·l·A

(5.18)

Durch Einsetzen der Gleichungen (5.17) und (5.18) in das 2. Newton’sche Gesetz (Bewegungsgleichung) F =m·a=m·

dv dt

(5.19)

ergibt sich folgender Zusammenhang: p·A=ρ·l·A·

dv dt

(5.20)

Den Volumenstrom q erhält man durch Multiplikation der Geschwindigkeit v mit der Querschnittsfläche A des Rohres. q =v·A

(5.21)

Durch Ableiten von Gleichung (5.21) und Einsetzen in Gleichung (5.20) erhalten wir: dq dt ρ · l dq p= · A dt |{z}

p·A=ρ·l·

(5.22)

Lf

Wobei Lf als Trägheit (kg/m4 ) der Flüssigkeit (hydraulische Induktivität) bezeichnet wird. Auflösen obiger Gleichung nach dem Volumenstrom q liefert:

1 q= Lf

Zt p · dt

(5.23)

0

Abschließend stellt sich die Frage warum im Zusammenhang mit der hydraulischen Induktivität immer von langen (dünnen) Leitungen gesprochen wird? Dies wird anhand von Gleichung (5.22) diskutiert: • Je länger und dünner das Rohr, desto größer ist auch die hydraulische Induktivität. • Eine Änderung des Volumenstroms (eine Beschleunigung der Flüssigkeit) dq/dt > 0 führt dadurch zu einer wesentlich höheren Druckdifferenz im Rohr, welche verschwindet sobald der Volumenstrom konstant ist (dq/dt = 0).

5.1. Grundlegende Zusammenhänge physikalischer Systeme

121

• Bei relativ kurzen Rohren kann die hydraulische Induktivität daher ohne Bedenken vernachlässigt werden. Flüssigkeitsspeicher – Das Reservoir Abb. 5.5 zeigt einen Flüssigkeitsspeicher. Das Volumen V des Reservoirs erhält

A q

p

h

Abb. 5.5.: Speichern von Flüssigkeit – das Reservoir man indem dessen Querschnittsfläche A mit der Höhe h multipliziert wird. V =A·h

(5.24)

Wobei das Volumen V ebenfalls durch das Speichern des Volumenstroms q beschrieben werden kann: Zt q · dt

V =

(5.25)

0

Den Druck am Boden des Tanks erhält man, indem die Höhe h mit der Dichte ρ und der Gravitationskonstante g multipliziert wird. p=ρ·g·h

(5.26)

Diese Gleichung beschreibt den hydrostatischen Druck und ist auch als Pascal’sches Gesetz bekannt. Sie beschreibt den Druck innerhalb einer ruhenden (statischen) Flüssigkeit unter dem Einfluss der Gravitation. Der Druck p hängt daher einzig und allein von dem Füllstand h des Tanks ab. Durch Einsetzen von Gleichung (5.24) in Gleichung (5.26) erhalten wir p=ρ·g·

V A

(5.27)

wobei der konstante Ausdruck ρ · g/A durch die Konstante 1/Cf ersetzt wird. Cf deutet dabei auf eine Kapazität hin. Hält man sich nun die elektrische Domäne vor Augen, stellt man fest, dass ein Kondensator Ladung speichert.

122

5. Die Theorie der Bondgraphen

Die zeitliche Änderung der Ladung entspricht dabei dem elektrischen Strom (dq/dt = i). Bei Fluss-Systemen entspricht der Volumenstrom q nichts anderem als dem elektrischen Strom i. Daher ist es völlig legitim die Speicherung einer Flüssigkeit in einem Tank mit einem kapazitiven Element zu beschreiben. Dies wird ersichtlich, indem Gleichung (5.25) in Gleichung (5.27) eingesetzt wird. 1 p= Cf

Zt q · dt

(5.28)

0

Flüssigkeitswiderstand Abb. 5.6 zeigt eine Verengung in der Mitte eines Rohres, welche den Flüssigkeitswiderstand schematisch darstellen soll.

p1

p2

q l

Abb. 5.6.: Verengung in der Mitte eines Rohres

Die Druckdifferenz p1 − p2 aus Gleichung (5.16) wird hier mit folgendem Ausdruck gleichgesetzt. p = Rf · q

(5.29)

Trifft eine Flüssigkeit auf eine Verengung, so entspricht dies einem Widerstand (resistives Element), welcher einen Druckabfall verursacht. Diese Druckdifferenz p tritt hier also nicht auf Grund der Trägheit der Flüssigkeit auf. Diese wird hier vernachlässigt. Mit anderen Worten: Es wird angenommen, dass das Rohr sehr kurz ist. Die Druckdifferenz resultiert in diesem Fall einzig und allein aus der Verengung des Rohres. Auch in diesem Fall entstehen Verluste in Form von Wärme. Im Grunde ist die Darstellung in Abb. 5.6 in Kombination mit Gleichung (5.29) nicht zulässig, da eine Querschnittsverengung und der damit einhergehende Druckabfall nicht mit einer linearen Gleichung beschrieben werden kann. Die lineare Beschreibung ist genau genommen nur für sehr dünne Rohre bzw. Rohre, die beispielsweise mit einem porösen Medium gefüllt sind, zulässig. Eine Querschnittsverengung kann nur mit einer nichtlinearen Funktion beschrieben

5.1. Grundlegende Zusammenhänge physikalischer Systeme

123

werden: p(t) = f (q(t))

(5.30)

Für detaillierte Informationen sei auf folgende Literatur verwiesen: [KMR12] Kapitel 4.3 bzw. [LG94] Kapitel 5.5.

5.1.5. Thermodynamische Systeme Spricht man von thermischen Systemen, so ist man zumeist am Wärmetransport durch ein Medium sowie dessen Fähigkeit Wärme zu speichern interessiert. Der folgende Abschnitt widmet sich der Beschreibung beider Phänomene. Die fundamentalen Größen thermischer Systeme sind: • Temperatur T in K • Wärmefluss Q˙ in W Wärmeleitung Abb. 5.7 veranschaulicht einen Kupferleiter, in dem die Temperatur T1 auf der linken Seite größer ist als die Temperatur T2 auf der rechten Seite.

Q

T1

T2

Abb. 5.7.: Wärmefluss durch einen Kupferleiter Aufgrund der Temperaturdifferenz ∆T = T1 −T2 wird infolgedessen Wärme vom heißeren zum kälteren Ende der Leitung transportiert, d.h. ein Wärmefluss Q˙ entsteht. Dieser Wärmefluss bleibt nun solange erhalten, bis sich ein thermisches Gleichgewicht einstellt, d.h. bis T1 = T2 und daher Q˙ = 0 wird. Dieser Zusammenhang wird durch folgende Gleichung beschrieben: ∆T =

l · Q˙ = θth · Q˙ λ·A

mit λ . . . spezifische Wärmeleitfähigkeit in W/(m K) A . . . Querschnittsfläche des Kupferleiters in m2

(5.31)

124

5. Die Theorie der Bondgraphen l . . . Länge des Leitungssegments in m

θth . . . Thermischer Widerstand θth = l/(λ · A) in K/W Wärmespeicherung Aufgrund des Wärmeflusses durch den Kupferleiter steigt die Temperatur am kalten Ende, bis sich ein thermisches Gleichgewicht einstellt, d.h. bis T1 = T2 . Es wird demnach solange Wärme gespeichert bis dT /dt = 0. Dies wird durch folgenden Zusammenhang verdeutlicht: dT Q˙ = γth · dt

(5.32)

Durch Lösen von Gleichung (5.32) erhält man: 1 T = γth

Zt

Q˙ · dt

(5.33)

0

Wobei sich die Wärmekapazität γth wie folgt ergibt: γth = cm · m

(5.34)

mit cm . . . spezifische Wärmekapazität in J/(kg K) m . . . Masse des Leitungssegments, m = ρ · V in kg ρ . . . Dichte des Materials in kg/m3 V . . . Volumen des Leitersegments, V = A · l in m3

5.1.6. Entwickeln allgemeingültiger Gleichungen In Tab. 5.1 sind alle zuvor hergeleiteten Gleichungen der physikalischen Systeme veranschaulicht. Die Fähigkeit des Speicherns physikalischer Größen werden dabei in zwei Gruppen unterteilt. Zum einen werden so genannte Flussvariablen und zum anderen Potentialvariablen gespeichert. Des Weiteren wird ersichtlich, dass in jedem Fall zwei Variablen miteinander verknüpft werden. Daher ist es sinnvoll für jede Spalte aus Tab. 5.1 eine allgemeingültige Form zu entwickeln. Wir definieren folgende allgemeingültige Variablen:

5.1. Grundlegende Zusammenhänge physikalischer Systeme

Elektrische Systeme Translatorische Systeme Rotatorische Systeme Hydraulische Systeme Thermische Systeme

125

Algebraische Gleichung

Flussspeicherung

uR = R · i

uc =

1 C

R

i · dt

i=

1 L

Fb = b · v

Fk = k

R

v · dt

v=

1 m

R

Fm ·dt

Tb = b · ω

Tk = k

R

ω · dt

ω=

1 J

R

TJ · dt

p = Rf · q

p=

1 Cf

R

q · dt

q=

1 Lf

∆T = θth · Q˙

T =

1 γth

R

Potentialspeicherung R

uL · dt

R

p · dt

Q˙ · dt

Tab. 5.1.: Gleichungen, die algebraische Zusammenhänge sowie das Speichern von Fluss- und Potentialvariablen beschreiben • Flussvariable (engl. flow variable): f (t) • Potentialvariable (engl. effort variable): e(t)

Überlegungen Was ergibt das Produkt aus e(t) und f (t)? Halten wir uns als Beispiel die elektrische Domäne vor Augen. Hier gilt Folgendes: e(t) = u

(5.35)

f (t) = i

(5.36)

Wobei für u je nach Bauteil entweder uR , uC oder uL zu verwenden ist. Nun ist sofort ersichtlich, dass das Produkt aus e(t) und f (t) der elektrischen Leistung P entspricht. P = u · i = e(t) · f (t)

(5.37)

Es ist ganz egal welche Domäne betrachtet wird, das Produkt aus Flussvariable f (t) und Potentialvariable e(t) ist immer eine Leistung P in W. Diese beschreibt eine bestimmte Menge an Energie E in Ws, die in einer gewissen Zeit t aufgebracht wird. Die Leistung kann daher auch in Joule/Sekunde (J/s) angegeben werden. Mit anderen Worten: Die Leistung entspricht einem Energiefluss.

126

5. Die Theorie der Bondgraphen

Trifft das wirklich für jede Domäne zu? Was ist das Produkt aus Potentialvariable e(t) und Flussvariable f (t) bei ˙ Folglich ergibt thermischen Systemen? Hier entspricht e(t) = T und f (t) = Q. das Produkt keine Leistung, was anhand der Einheiten von e(t) (K) und f (t) (W) eindeutig ersichtlich ist. Es stellt sich daher die Frage, ob bei thermischen Systemen eine Flussvariable existiert, sodass das Produkt aus e(t) und f (t) wiederum eine Leistung ergibt. Entropie Entropie entsteht immer dann, wenn z.B. mechanische Energie in thermische Energie umgewandelt wird. Konkret wird etwa aufgrund von mechanischer Reibung, Wärme erzeugt. Diese Art der Energieumwandlung wird als irreversibler Prozess bezeichnet, welcher per Definition immer mit der Entstehung von Entropie einhergeht. Aus Abb. 5.7 auf Seite 123 ist bekannt, dass eine Temperaturdifferenz in einem Kupferleiter einen Wärmefluss vom heißen zum kalten Ende hervorruft. Dasselbe gilt auch für den Entropiefluss, welcher wie folgt definiert ist: Q˙ S˙ = T

(5.38)

Wobei die Einheit der Entropie S in J/K und die Einheit des Entropieflusses S˙ in J/(s K) bzw. W/K angegeben wird. Schauen wir uns im nächsten Schritt an, welche Einheit das Produkt aus der Potentialvariable e(t) = T und der Flussvariable f (t) = S˙ ergibt: K

W =W K

Wir haben demnach eine alternative Flussvariable gefunden, mit welcher das Produkt beider Variablen wiederum eine Leistung ergibt. Die Vorteile, die dadurch entstehen, werden vor allem bei der Bondgraphen-Modellierung ersichtlich. Zum jetzigen Zeitpunkt halten wir fest, dass das Produkt aus e(t) und f (t) in jeder Domäne eine Leistung ergibt, was das Entwickeln allgemeingültiger (d.h. domänenunabhängiger) Gleichungen ermöglicht. Dazu müssen die Gleichungen zur Beschreibung der Wärmeleitung (Gleichung (5.31) auf Seite 123) und Wärmespeicherung (Gleichung (5.32) auf Seite 124) angepasst werden. Genauer gesagt muss in beiden Gleichungen der Wärmefluss durch den Entropiefluss ersetzt werden. Dazu wird Gleichung (5.38) herangezogen.

5.1. Grundlegende Zusammenhänge physikalischer Systeme

127

Die Gleichung zur Beschreibung des Wärmeflusses ergibt sich wie folgt: ∆T = θth · Q˙ = θth · T · S˙ = Rth · S˙

(5.39)

Analog dazu ergibt sich die Wärmespeicherung: dT Q˙ = γth · dt dT T · S˙ = γth · dt

(5.40)

Wird nun Gleichung (5.40) durch die Temperatur T dividiert, so kann der Entropiefluss S˙ explizit dargestellt werden. dT γth dT · = Cth · S˙ = T dt dt

(5.41)

Lösen von Gleichung (5.41) ergibt: 1 T = Cth

Zt

S˙ · dt

(5.42)

0

Dabei ist zu beachten, dass weder der thermische Widerstand Rth noch die thermische Kapazität Cth konstant sind. Beide sind von Temperatur T abhängig. Tab. 5.2 stellt eine modifizierte Version von Tab. 5.1 dar. Die Parameter aus der zweiten Spalte (Algebraische Gleichung) in Tab. 5.2 beschreiben resistive (verlustbehaftete) Elemente. Wir führen daher einen neuen Parameter ein, um diese Elemente zu beschreiben und nennen ihn γ 3 . Die dritte Spalte beschreibt das Speichern von Flussvariablen. Dies wird durch kapazitive Elemente beschrieben, welche künftig durch das Kürzel β gekennzeichnet werden. In der letzten Spalte wird die Potentialspeicherung beschrieben. Diese wird durch induktive Elemente (Trägheitselemente) beschrieben und fortan mit α bezeichnet. Tab. 5.3 veranschaulicht die verallgemeinerten Gleichungen. Tab. 5.4 zeigt, welche Parameter der entsprechenden Domäne für α, β und γ eingesetzt werden müssen. Somit ist bewiesen, dass jedes in diesem Kapitel behandelte physikalische System, unabhängig von der Domäne, mit denselben mathematischen Gleichungen beschrieben werden kann. 3 Nicht

zu verwechseln mit der Wärmekapazität γth .

128

5. Die Theorie der Bondgraphen

Elektrische Systeme Translatorische Systeme Rotatorische Systeme Hydraulische Systeme Thermische Systeme

Algebraische Gleichung

Flussspeicherung

uR = R · i

uc =

1 C

R

i · dt

i=

1 L

Fb = b · v

Fk = k

R

v · dt

v=

1 m

R

Fm ·dt

Tb = b · ω

Tk = k

R

ω · dt

ω=

1 J

R

TJ · dt

p = Rf · q

p=

1 Cf

R

q · dt

q=

1 Lf

∆T = Rth · S˙

T =

1 Cth

R

Potentialspeicherung R

uL · dt

R

p · dt

S˙ · dt

Tab. 5.2.: Gleichungen, welche die Speicherung von Fluss- und Potentialvariable sowie die Verluste (algebraische Gleichung) innerhalb einer Domäne beschreiben

Fazit Wenn physikalische Systeme anhand derselben Gleichungen mathematisch beschrieben werden können, so ist auch der Energiefluss P derselbe. Das bedeutet, dass das in Abschnitt 5.1.1 auf Seite 115 beschriebene elektrische System, sowie die in Abschnitt 5.1.2 (Seite 117) und Abschnitt 5.1.3 (Seite 118) beschriebenen mechanischen Systeme, denselben Energiefluss besitzen.

Allgemeingültige Beziehung Wärmeverluste Flussspeicherung Potentialspeicherung

e(t) = γ · f (t) e(t) =

1 β

R

f (t) · dt

f (t) =

1 α

R

e(t) · dt

Tab. 5.3.: Gleichungen welche die Speicherung von Energie bzw. die Verluste innerhalb einer Domäne beschreiben

5.2. Akausale Bondgraphen

Elektrische Systeme Translatorische Systeme Rotatorische Systeme Hydraulische Systeme Thermische Systeme

129 e(t)

f(t)

α

β

γ

u (V) F (N) T (Nm) p (N/m2 ) T (K)

i (A) v (m/s) ω (rad/s) q (m3 /s) S˙ (W/K)

L m J Lf –

C

R b b Rf Rth

1 k 1 k

Cf Cth

Tab. 5.4.: Zusammenhang der allgemeingültigen Variablen und den Variablen der verschiedenen Domänen

5.2. Akausale Bondgraphen Mit den allgemeingültigen Beziehungen aus Abschnitt 5.1 (Seite 114) und der Tatsache, dass Energieflüsse durch physikalische Systeme anhand dieser Beziehungen modelliert werden können, wird nun eine grafische Modellierungstechnik vorgestellt, welche unter dem Namen Bondgraphen (engl. bond graphs) bekannt ist. Der Grundgedanke der Bondgraphen ist die grafische Darstellung von Energieflüssen, die in einem physikalischen System auftreten. Zur Beschreibung der Energieflüsse werden sogenannte (Power-)Bonds (Leistungs-Verbindungen) verwendet. Die Bondgraphenmodellierung befasst sich intensiv mit der Erhaltung der Energie in einem physikalischen System.

Energieerhaltung Grundsätzlich haben alle physikalischen Systeme eines gemeinsam: Energie in einem geschlossenen System 4 bleibt erhalten – kann also weder erzeugt noch verbraucht werden – und kann nur durch drei Mechanismen verändert werden: • Speichern: Energie kann, wie bereits in Abschnitt 5.1 (Seite 114) gezeigt, gespeichert werden. • Transportieren: Energie kann durch ein physikalisches System fließen (Energiefluss). • Umwandeln: Energie kann reversibel oder irreversibel umgewandelt werden. 4 Ein

geschlossenes System ist ein System das keinerlei Wechselwirkungen mit der Umgebung aufweist.

130

5. Die Theorie der Bondgraphen

Bondgraphen beruhen auf den oben genannten Mechanismen und stellen Energieflüsse, wie bereits erwähnt, grafisch dar. Energieflüsse selbst sind die zeitliche Ableitung der Energie und entsprechen daher einer Leistung P . Die Energieflüsse P werden in der Bondgraphenmodellierung als Halbpfeil (Bond) dargestellt. Der Energiefluss berechnet sich dabei als Produkt zweier Variablen, der Potentialvariable e(t) und der Flussvariable f (t)5 , welche bereits in Abschnitt 5.1.6 auf Seite 124 eingeführt wurden. Die Potentialvariable e(t) wird oberhalb und die Flussvariable f (t) unterhalb des Halbpfeils dargestellt (siehe Abb. 5.8).

e f Abb. 5.8.: Gerichteter Halbpfeil (Bond) zur Modellierung des Energieflusses Ein Bond stellt das Fundament der Bondgraphenmodellierung dar und gibt an in welche Richtung6 sich die Leistung ausbreitet. Mit anderen Worten: Ein Bond ist bereits ein Element, das den Mechanismus „Transportieren von Energie“ der Energieerhaltung verkörpert. Dies soll anhand des folgenden Beispiels aus Abb. 5.9 gezeigt werden. Zwei

A

B

Abb. 5.9.: Zwei Subsysteme, die miteinander verbunden sind Subsysteme A und B sind miteinander verbunden. Sobald definiert wurde, was sich hinter den Subsystemen befindet, lässt sich daraus die Richtung des Energieflusses ableiten. Nehmen wir daher für unser Beispiel an, dass es sich bei Subsystem A um eine Quelle (z.B. eine Spannungsquelle) und bei Subsystem B um eine Senke (z.B. ein Widerstand) handelt. Daraus ergibt sich unmittelbar die Richtung des Energieflusses von A nach B (siehe Abb. 5.10). Kümmern wir uns fortan um die verbleibenden Mechanismen der Energieerhaltung. Im nächsten Schritt ist es daher sinnvoll, energiespeichernde Elemente zu beschreiben. Bevor wir uns diesen Elementen widmen, wird jedoch ein „passives“ Element zur Umwandlung von Energie vorgezogen. In der Literatur wird dieses 5 In

seltenen Fällen werden sogenannte Pseudo Bonds definiert, bei denen das Produkt aus Potential- und Fluss-Variable keine Leistung ergibt. Da dies allerdings an der ursprünglichen Idee der Bondgraphen vorbei geht, wird auf diese hier nicht weiter eingegangen. 6 Die Richtung, in die sich die Leistung ausbreitet, wird durch einen Halbpfeil symbolisiert.

5.2. Akausale Bondgraphen

131

B

A

Abb. 5.10.: Zwei Subsysteme, die miteinander verbunden sind: Stellt A eine Quelle dar und B eine Senke, so ergibt sich eine Energiefluss von A nach B Element zumeist als „verlustbehaftetes“7 Element bezeichnet. Diese Bezeichnung ist im Grunde genommen nur dann korrekt, wenn man die Thermodynamik außer Acht lässt, sprich wenn die Einflüsse des Wärmeflusses nicht betrachtet werden. Die Energieerhaltung lehrt uns, dass Energie erhalten bleibt, was bedeutet, dass diese nicht verloren gehen kann. Ein verlustbehaftetes Element als solches gibt es also demnach nicht. Die Energie, die in diesem Sinne verloren geht, wird irreversibel in Wärme umgewandelt. Verlustbehaftete Elemente stellen daher nur einen Verlust auf der passiven Seite 8 des Elements dar. Im ersten Schritt wird dieses Element als „verlustbehaftetes“ Element dargestellt. In Abschnitt 5.5.1 auf Seite 176 wird erstmals die thermische Domäne in Betracht gezogen und gezeigt, dass Verluste nichts anderes sind als Wärmeflüsse.

5.2.1. Verlustbehaftete Elemente (R-Element) Abb. 5.11 zeigt den Bondgraphen eines verlustbehafteten Elements.

e f

R:γ

Abb. 5.11.: Passives verlustbehaftetes Element (R-Element) Dabei wird durch R angegeben, dass es sich um ein verlustbehaftetes (engl. resistive) Element handelt. Der Wert des verlustbehafteten Elements wird durch den Parameter γ repräsentiert. Wie wir bereits wissen, ist der Zusammenhang zwischen Potential- und Flussvariable bei verlustbehafteten Elementen durch die Beziehung e(t) = γ · f (t) (siehe erste Zeile in Tab. 5.2 auf Seite 128) gegeben. Hier tritt der Vorteil von Bondgraphen zum ersten Mal klar 7 Verlustbehaftete

Elemente sind in physikalischen Systemen, z.B. elektrische Widerstände oder mechanische Dämpfer. 8 Damit ist die Domäne gemeint, in der die Verluste erzeugt werden. Z.B. ohmsche Verluste in der elektrischen Domäne, Reibung in der mechanischen Domäne. Die Verluste entsprechen einem Wärmestrom der als Wärmequelle auf der aktiven Seite (der thermischen Domäne) dargestellt wird.

132

5. Die Theorie der Bondgraphen

zum Vorschein: Es ist völlig egal, ob wir einen mechanischen Dämpfer, einen hydraulischen- oder einen elektrischen Widerstand modellieren wollen, die dazugehörigen Bondgraphen sind absolut identisch (siehe Abb. 5.12). Das heißt, dass auch die Energieflüsse identisch sind. Die Bondgraphen eines elektrischen

elektrisch

mechanisch

F

R

i

p1

u u=p1 - p2 u i

b

p2

R:R

v2 v1

F v=v1 - v2 F v

R:b

thermisch

hydraulisch

p1

q

T1

p=p1 - p2 p q

S

p2

R:Rf

T2

T=T1 - T2 T S

R:Rth

Abb. 5.12.: Verlustbehaftetes R-Element und dessen Interpretation in den verschiedenen Domänen. Im Falle von mechanisch-rotatorischen Systemen wird F durch T und v durch ω ersetzt (vgl. Tab. 5.3 auf Seite 128) RLC-Schwingkreises und eines mechanischen Feder-Masse-Dämpfer Schwingers (Systeme 2. Ordnung) sind daher ebenfalls identisch. Ganz allgemein gilt, dass physikalische Systeme unterschiedlicher technischer Domänen, die derselben mathematischen Beschreibung unterliegen auch einen identischen Bondgraphen aufweisen. Bondgraphen werden aus diesem Grund als domänenunabhängige Modellierungstechnik bezeichnet.

5.2.2. Energiespeichernde Elemente In physikalischen Systemen gibt es exakt zwei grundlegende Arten Energie zu speichern. Zum einen kann das Potential (dritte Zeile in Tabelle Tab. 5.2 auf Seite 128) und zum anderen der Fluss (zweite Zeile in Tab. 5.2 auf Seite 128) gespeichert werden. Die Notation der Bondgraphen bezeichnet potentialspeichernde Elemente als I-Elemente (engl. inertia) und flussspeichernde Elemente im Gegensatz dazu als C-Elemente (engl. capacity). I-Element Abb. 5.13 zeigt den Bondgraphen eines potentialspeichernden Elements.

5.2. Akausale Bondgraphen

133

e f

I:α

Abb. 5.13.: Passives potentialspeicherndes Element (I-Element)

Der Zusammenhang zwischen Potential- und Flussvariable ist in der dritten Zeile von Tab. 5.2 (Seite 128) dargestellt. Handelt es sich bei der mathematischen Beschreibung unseres physikalischen Systems z.B. um ein elektrisches System, so wird e(t), f (t) und die Konstante α mit den entsprechenden Elementen aus Tab. 5.3 (Seite 128) substituiert und wir stellen sofort fest, dass es sich hierbei um eine Induktivität L handelt, welche folgender Beziehung genügt:

i=

1 L

Zt u · dt

(5.43)

0

Ist das System hingegen mechanisch-translatorischer Herkunft, so ist sofort ersichtlich, dass das I-Element eine Masse verkörpert und wir erhalten: 1 v= m

Zt F · dt

(5.44)

0

Abb. 5.14 zeigt die Interpretation der I-Elemente in der jeweiligen Domäne.

elektrisch

L

i

mechanisch

F

v

m

u u i

hydraulisch p1

A

q l

p2

>>

p=p1 - p2

I:L

F v

I:m

p q

I:Lf

Abb. 5.14.: Potentialspeicherndes I-Element und dessen Interpretation in den verschiedenen Domänen. Im Falle von mechanisch-rotatorischen Systemen wird wiederum F durch T und v durch ω ersetzt. Des Weiteren wird m durch J ersetzt (vgl. Tab. 5.3 auf Seite 128)

134

5. Die Theorie der Bondgraphen

C-Element Abb. 5.15 zeigt ein flussspeicherndes Element.

e f

C:β

Abb. 5.15.: Passives flussspeicherndes Element (C-Element) Der Zusammenhang zwischen Potential- und Flussvariable ist in der zweiten Zeile von Tab. 5.2 auf Seite 128 dargestellt. Halten wir uns auch hier wiederum die elektrische Domäne vor Augen, so ist gut ersichtlich, dass das C-Element der elektrischen Kapazität C entspricht, und daher gilt: 1 u= C

Zt i · dt

(5.45)

0

Abb. 5.16 zeigt die Interpretation der C-Elemente in den verschiedenen Domänen.

elektrisch

C

i u u i

mechanisch

F

F

v1

v=v1 - v2

C:C

F v

S

v2

k

C: 1k

thermisch

hydraulisch

q

p q

p

A

C:Cf

Cth

T

T S

C:Cth

Abb. 5.16.: Flussspeicherndes C-Element und dessen Interpretation in den verschiedenen Domänen. Auch hier muss im Falle von mechanischrotatorischen Systemen wiederum F durch T und v durch ω ersetzt werden (vgl. Tab. 5.3 auf Seite 128)

Nachdem wir nun mit den passiven Komponenten (R-, L- und C-Elemente) physikalischer Systeme vertraut sind, widmen wir uns im nächsten Schritt den aktiven Elementen, den sogenannten Quellen.

5.2. Akausale Bondgraphen

135

5.2.3. Aktive Elemente (Quellen) Im Gegensatz zu den passiven Elementen, welche im Falle eines R-Elements Energie konsumieren (irreversibel in Wärme umwandeln) und im Falle eines I- bzw. C-Elements Energie speichern, stellen Quellen dem System Energie zur Verfügung. An dieser Stelle muss wiederum erwähnt werden, dass Energie weder erzeugt noch verbraucht werden kann. Damit wir jedoch Modelle erstellen können, müssen wir an einer vernünftigen Stelle eine Abgrenzung des zu modellierenden Systems vornehmen (siehe Abschnitt 1.1 auf Seite 1). Quellen stellen eine Möglichkeit dar, das System an einer sinnvollen Stelle abzugrenzen. So ist es z.B. nicht zielführend bei der Simulation eines elektronischen Schaltkreises das elektrische Versorgungsnetz inklusive der energieliefernden Kraftwerke zu modellieren9 . Es ist hier sinnvoll die Quelle der betrachteten Energieform, in diesem Fall ein Netzgerät oder etwas Ähnliches, ausreichend genau zu modellieren. Oft würde hier eine ideale Spannungsquelle ausreichen. Quellen lassen sich in zwei Arten unterteilen. Es gibt Potential- und Flussquellen. Potentialquellen werden durch das Kürzel Se gekennzeichnet, Flussquellen durch Sf. Abb. 5.17 veranschaulicht die beiden Quellen.

Se

e f

Sf

e f

Abb. 5.17.: Aktive Elemente. Links: Potentialquelle Se; Rechts: Flussquelle Sf

5.2.4. Verzweigungen Was uns jetzt noch fehlt, um die physikalischen Systeme aus Abschnitt 5.1 (Seite 114) beschreiben zu können, ist die Modellierung der Topologiegleichungen. Wir müssen uns also noch um das Zusammenspiel der einzelnen Komponenten kümmern. Die Bondgraphenmodellierung bietet hier eine recht einfache und komfortable Lösung, um die Topologiegleichungen korrekt modellieren zu können. Diese werden durch Verzweigungen (engl. junctions) dargestellt. Bezogen auf elektrische Systeme bedeutet das Folgendes: • Bauteile, die in Serie geschaltet sind, durch die derselbe Strom (Fluss) fließt, werden durch eine 1-Junction verknüpft. Das heißt, dass die Kirchhoff’sche 9 Würde

dieser Gedanke weitergeführt werden, müsste man auch die Energiequelle für dieses Kraftwerk (Wasserkraft, Wind, thermische Kraft) modellieren und würde irgendwann bei der Quelle unserer Energie – der Sonne – angelangen.

136

5. Die Theorie der Bondgraphen Maschenregel angewendet wird, welche besagt, dass Σu = 0.

• Bauteile, welche parallel geschaltet sind, an denen dieselbe Spannung (Potential10 ) anliegt, werden durch eine 0-Junction verknüpft. Das heißt, dass die Kirchhoff’sche Knotenregel verwendet werden muss (Σi = 0). Bei mechanischen Systemen kann Folgendes gesagt werden: • Schnittkräfte (engl. cut-forces) werden mittels einer 0-Junction (Σv = 0) modelliert. Damit ist auch vordefiniert, dass in der Regel nur Feder- und Dämpfer-Elemente an solch eine Verzweigung angeschlossen werden11 . • Massen (bzw. Trägheiten) werden an 1-Junctions angeschlossen, da diese auch nur eine Geschwindigkeit v annehmen können. Eine 1-Junction besitzt nur einen Fluss. Daher gilt, dass ΣF = 0 was dem Prinzip von d’Alembert entspricht. Bei Fluss-Systemen (hydraulischen Systemen) kann Folgendes gesagt werden: • Handelt es sich um denselben Druck, so werden 0-Junctions verwendet (Σq = 0). Dies trifft beispielsweise für ein Rohr zu, welches in der Mitte einen Tank besitzt. • Handelt es sich um denselben Fluss, so wird das durch eine 1-Junction veranschaulicht (Σp = 0). Dies trifft für Rohre zu, die an einer Stelle eine Verengung aufweisen. 1-Junction Abb. 5.18 veranschaulicht eine 1-Junction. Die Topologiegleichungen ergeben sich durch die 1-Junction automatisch zu: f1 = f2 = f3 und 3 X

en = 0 → e1 − e2 − e3 = 0

n=1

Das Vorzeichen einer Potentialvariable ergibt sich dabei aus der Richtung des Energieflusses eines Bonds. Zeigt ein Bond in Richtung der 1-Junction so ist die 10 Genauer

gesagt handelt es sich bei dem Bondgraphen Potential im elektrischen Sinne um das elektrische Potential. 11 Dabei gibt es einige Ausnahmen, die allerdings schwer allgemein zu erfassen sind. Oft lassen sich Bondgraphen nach der Erstellung noch etwas vereinfachen, was dazu führen kann, dass Massen bzw. Trägheiten nach den Vereinfachungen ebenfalls an eine 0-Junction angeschlossen sind.

5.2. Akausale Bondgraphen

137

e1 f1

1

e3 f3

e2 f2 Abb. 5.18.: Serien-Verzweigung: 1-Junction

Potentialvariable mit einem positiven, ansonsten mit einem negativen Vorzeichen behaftet.

0-Junction Bei einer 0-Junction wie sie in Abb. 5.19 dargestellt ist, sind die Beziehungen genau umgekehrt.

e1 f1

0

e3 f3

e2 f2 Abb. 5.19.: Parallel-Verzweigung: 0-Junction Die Topologiegleichungen ergeben sich durch die 0-Junction automatisch zu: e1 = e2 = e3 und 3 X

fn = 0 → f1 − f2 − f3 = 0

n=1

Auch hier gilt dieselbe Vorzeichenkonvention wie zuvor bei der 1-Junction: Die Flussvariable ist mit einem positiven Vorzeichen behaftet, sofern der Bond in Richtung der 0-Junction zeigt.

138

5. Die Theorie der Bondgraphen

5.2.5. Vereinfachungen Welche Aussage hat folgender Bondgraph (Abb. 5.20)?

e1 f1

0

e2 f2

Abb. 5.20.: Zwei Bonds angeschlossen an eine 0-Junction Ein Bond führt zur Verzweigung hin und einer von dieser weg. Daher gilt: Pin = e1 · f1 = e2 · f2 = Pout Die zugeführte Leistung entspricht daher exakt der abgeführten Leistung, weshalb diese 0-Junction auch genauso gut weggelassen werden kann, was bedeutet, dass entweder der linke oder der rechte Bond übrig bleibt. Dasselbe gilt natürlich auch für 1-Junction zwischen zwei Bonds. Welche Aussage hat der Bondgraph in Abb. 5.21?

e f=0

e=0 f

Abb. 5.21.: Bonds in denen kein Energiefluss stattfindet Hat eine der beiden Variablen den Wert Null, so findet auch kein Energiefluss statt (Leistung gleich Null). Bonds, die nichts zum Energiefluss beitragen, können eliminiert werden. Mittels der in diesem Abschnitt vorgestellten Bondgraph-Elemente sind wir nun in der Lage, die bisher vorgestellten Beispiele aus Abschnitt 3.1 auf Seite 55 und Abschnitt 5.1 auf Seite 114, zu modellieren.

5.2.6. Beispiele Im Folgenden werden die Systeme aus Abschnitt 5.1 ab Seite 114 mittels Bondgraphen modelliert. Zudem wird der Bondgraph eines einfachen hydraulischen Systems erstellt. Es wird sich zeigen, dass die Erstellung von Bondgraphen, gerade wenn man noch wenig bis keine Erfahrung auf diesem Gebiet hat, etwas mühsam sein kann. Aus diesem Grund wird im Anschluss in einem separaten

5.2. Akausale Bondgraphen

139

Abschnitt gezeigt, wie sich Bondgraphen für elektrische und mechanische Systeme sehr strukturiert mittels des komponentenbasierten Ansatzes erstellen lassen.

Elektrischer RLC-Schwingkreis Abb. 5.22 veranschaulicht die Schaltung des RLC-Schwingkreises.

i

R

L

u

C

Abb. 5.22.: Schaltung eines elektrischen RLC-Schwingkreises Der erste Schritt bei der Entwicklung eines Bondgraphen ist die Auswahl der Quelle (Source). Bei einer elektrischen Schaltung ist dieser Punkt in der Regel sehr einfach durchzuführen. Spannungsquellen entsprechen einer Potentialquelle (Se), Stromquellen hingegen einer Flussquelle (Sf ). Die Spannungsquelle lässt sich demnach wie in Abb. 5.23 modellieren.

Se

e f

System

Abb. 5.23.: Modellieren der Spannungsquelle Se

Hier sind die passiven Komponenten der Schaltung als System-Block dargestellt, wobei der Bond andeutet, dass der Energiefluss von der Quelle in Richtung der passiven Elemente fließt. Im nächsten Schritt gilt es, die Art der Verzweigung zu bestimmen und somit den System-Block durch das vollständige Modell zu ersetzen. Im vorliegenden Beispiel handelt es sich um eine Serienschaltung. Anhand der in Abschnitt 5.2.4 (Seite 135) vorgestellten Verzweigungen ist gut ersichtlich, dass Bauteile, welche in Serie geschaltet sind, mit einer 1-Junction (Strom = flow als Bezugsgröße) modelliert werden. Die Bauteile werden nun einfach via Bonds an die Verzweigung angeschlossen. Die Bonds zeigen dabei in Richtung der Bauteile. Abb. 5.24 veranschaulicht den vollständigen Bondgraphen des RLC-Schwingkreises.

140

5. Die Theorie der Bondgraphen

uR i

R:R

Se

u i

1

uL i

I:L

uC i

C:C Abb. 5.24.: Bondgraph des elektrischen RLC-Schwingkreises

Dieser Bondgraph stellt dieselbe Information zur Verfügung wie die Differentialgleichung in Abschnitt 5.1.1: Elektrische Systeme auf Seite 115, mit dem Unterschied, dass die Gleichungen „versteckt“ sind. Ferner erhalten wir Information über den Energiefluss durch die elektrische Schaltung, was einen Vorteil gegenüber der Differentialgleichung darstellt. Die Gleichungen, die sich hinter jedem Element im Bondgraphen befinden, sind in Tab. 5.5 abgebildet. Die Vorzeichen der Potentialvariablen der 1-Junction ergeben sich dabei so wie in Abschnitt 5.2.4 (Seite 135) beschrieben.

Element 1: R:R I:L C:C

Akausale Gleichungen u − uR − uL − uC = 0 uR = i · R R i = L1 uL · dt R uC = C1 i · dt

Tab. 5.5.: Akausale Gleichungen des Bondgraphen

In Abschnitt 5.4.6 ab Seite 172 wird gezeigt, wie die akausalen Gleichungen anhand des Bondgraphen sortiert (kausalisiert) werden.

5.2. Akausale Bondgraphen

141

Feder-Masse-Dämpfer Schwinger Modellieren wir nun unser erstes mechanisches System. Dazu verwenden wir das in Abschnitt 5.1.2 auf Seite 117 vorgestellte System eines Feder-Masse-Dämpfer Schwingers (siehe Abb. 5.25)

v

F

b

m k

Abb. 5.25.: Feder-Masse-Dämpfer Schwinger Wir beginnen mit der Auswahl der Quelle. Unser System wird von einer Kraft F beaufschlagt (fremderregt). In mechanischen Systemen beschreiben Kräfte die Potentialvariablen und Geschwindigkeiten die Flussvariablen. Daraus folgt unmittelbar, dass die Kraft mit einer Potentialquelle Se modelliert wird. Die Kraft wirkt auf die Masse m, die sich dadurch mit der Geschwindigkeit v zu bewegen beginnt. Anders als bei elektrischen Systemen, bei denen alle Bauteile sowohl an 0-Junctions als auch an 1-Junctions angeschlossen werden können, sind die an die Verzweigungen anzuschließenden Elemente bei mechanischen Systemen fix vorgegeben. Eine Masse besitzt nur eine Geschwindigkeit v (die Geschwindigkeit vor der Masse entspricht der Geschwindigkeit nach der Masse). Weiters muss die Summe aller Kräfte gleich Null sein. F − Fm − Fk − Fb = 0

(5.46)

Daher kann eine Masse nur an eine 1-Junction angeschlossen werden. Abb. 5.26 veranschaulicht den ersten Teil des Bondgraphen. Feder und Dämpfer sind auf der rechten Seite fix an eine Wand montiert, d.h. dass dort die Geschwindigkeit gleich Null ist. Beide Elemente müssen daher an eine 0-Junction angeschlossen werden. Die Wand wird dabei durch eine Flussquelle Sf modelliert, welche garantiert, dass kein Fluss auftritt, sprich das System mit v = 0 speist. Der vollständige Bondgraph ist in Abb. 5.27 veranschaulicht. Weil die Geschwindigkeit v1 = 0 ist, ist aus dem Bondgraphen in Abb. 5.27 zu entnehmen, dass die Geschwindigkeitsdifferenz ∆v an Feder und Masse genau der Geschwindigkeit der Masse entspricht. Ist das Produkt aus Potential und Flussvariable gleich Null, so findet auch kein Energiefluss statt. Somit können diese Bonds eliminiert werden (siehe Abb. 5.28). Aufgrund der Vereinfachungen aus Abschnitt 5.2.5 auf Seite 138 können die 0-Junctions von Feder und Dämpfer ebenfalls eliminiert werden. Somit können

142

5. Die Theorie der Bondgraphen

F

Se

F v

1 v Fm

v

... k

v F b

...

I:m Abb. 5.26.: Erster Teil des Bondgraphen des Feder-Masse-Dämpfer Schwingers. Anwendung des Prinzips von d’Alembert im Bondgraphen

Fk Δv

C: 1k

Se

F v

1 v Fm

Fk v1 = 0 Sf

0

Fb v1 = 0 Sf

Fb Δv

I:m

Fk v F b v

0

R:b Abb. 5.27.: Bondgraph des Feder-Masse-Dämpfer Schwingers

5.2. Akausale Bondgraphen

143

(b)

(a)

Fk Δv

C: 1k

Se

F v

1

I:m

0 F v

Se

1

0

v Fm

Fb Δv

v Fm

Fk v F b v

I:m

Fk v F b v

C: 1k

R:b

R:b Abb. 5.28.: (a) Vereinfachter Bondgraph des Feder-Masse-Dämpfer Schwingers. (b) Vollständig vereinfachter Bondgraph des Feder-Masse-Dämpfer Schwingers Feder und Dämpfer nun direkt an die 1-Junction angeschlossen werden. Der vereinfachte vollständige Bondgraph ist in Abb. 5.28b dargestellt. Mechanisch-rotatorisches System 2. Ordnung Im zweiten mechanischen Beispiel wird das in Abschnitt 5.1.3 (Seite 118) vorgestellte System, welches in Abb. 5.29 dargestellt ist, mittels Bondgraphen modelliert.

J k

T,ω

b Abb. 5.29.: Mechanisch-rotatorisches System 2. Ordnung

144

5. Die Theorie der Bondgraphen

Anstelle einer Kraft wirkt ein Moment T auf die Masse, die durch deren Trägheit J beschrieben wird. Die Momentenquelle entspricht wiederum einer Potentialquelle Se. Aufgrund des Moments beginnt sich die Masse mit der Winkelgeschwindigkeit ω zu drehen. Weiters muss die Summe aller Momente gleich Null sein. Beides wird, wie auch schon beim vorherigen Beispiel, mit einer 1-Junction beschrieben. T − Tm − Tk − Tb = 0

(5.47)

Abb. 5.30 zeigt den Bondgraphen des ersten Teilsystems.

I:J TJ ω Tk ω

1

T ω

Se

...

Tb ω

...

Abb. 5.30.: Erster Teil des Bondgraphen des rotierenden Systems

Der Boden wird mit einer Flussquelle Sf modelliert, wobei die Geschwindigkeit ω = 0 ist. Die Reibung b wird durch ein R-Element dargestellt, das an eine 0-Junction angeschlossen wird, die sich zwischen der 1-Junction und dem SfElement befindet und die Winkelgeschwindigkeitsdifferenz ∆ω zwischen Masse und Boden abbildet. Weiters ist die Masse über eine Welle mit der Torsionssteifigkeit k, dargestellt durch ein C-Element, an einer Wand befestigt. Die Wand wird analog zum Boden mit einer Flussquelle Sf modelliert, wobei die Winkelgeschwindigkeit ω = 0 ist. Die Winkelgeschwindigkeitsdifferenz ∆ω zwischen der Wand und der Masse wird wiederum mittels einer 0-Junction modelliert, an die auch das C-Element angeschlossen wird. Abb. 5.31 veranschaulicht den vollständigen Bondgraphen des rotatorischen Systems. Der Bondgraph aus Abb. 5.31 kann wiederum vereinfacht werden. Da beide Flussquellen eine Winkelgeschwindigkeit ω = 0 vorgeben, findet kein Energiefluss statt. Flussquellen und Bonds können daher eliminiert werden. An beiden 0-Junctions befinden sich jetzt noch jeweils zwei Bonds. Aufgrund der Vereinfachungen aus Abschnitt 5.2.5 auf Seite 138 können diese Verzweigungen ebenfalls eliminiert werden. Somit werden

5.2. Akausale Bondgraphen

145

C: 1k

I:J

0

Tk ω

1

T ω

Se

Tb ω

Tk ω=0

TJ ω

Tk Δω

Sf

R:b

Tb Δω

0 Tb ω=0

Sf Abb. 5.31.: Bondgraph des rotierenden Systems

das C-Element und das R-Element direkt an die 1-Junction angeschlossen. Wir erhalten den in Abb. 5.32 dargestellten vereinfachten Bondgraphen. Wie bereits in Abschnitt 5.1 (Seite 114) erwähnt, ist gut zu erkennen, dass die Bondgraphen des elektrischen Systems aus Abb. 5.22 auf Seite 139, des mechanisch-translatorischen Systems aus Abb. 5.25 auf Seite 141 sowie des mechanisch-rotatorischen Systems aus Abb. 5.29 auf Seite 143 identisch sind. Das bedeutet, dass, wie in Abschnitt 5.1 (Seite 114) erwähnt, physikalische Systeme die anhand derselben mathematischen Gleichungen beschrieben werden (vgl. Tab. 5.2 auf Seite 128 und Tab. 5.3 auf Seite 128), auch durch denselben Bondgraphen beschrieben werden.

Fluss-System (Hydraulisches System) Abschließend wird ein einfaches hydraulisches System, das in Abb. 5.33 dargestellt ist, modelliert. Als Quelle wird eine Flussquelle Sf herangezogen. Die dadurch in Bewegung gesetzte Flüssigkeit trifft auf eine Verengung Rf , die eine Druckdifferenz ∆p = p1 − p2 hervorruft. Nachdem die Flüssigkeit die Verengung passiert hat, wird

146

5. Die Theorie der Bondgraphen

I:J TJ ω Tk ω

1

T ω

Se

Tb ω

C: 1k

R:b Abb. 5.32.: Vereinfachter Bondgraph des rotierenden Systems

A

p1

q

p2

Abb. 5.33.: Hydraulisches System

diese in einem Behälter mit der Kapazität Cf gespeichert. Ferner stellen wir fest, dass die Flüssigkeit im gesamten System denselben Fluss q besitzt. Wir erhalten daher den in Abb. 5.34 dargestellten Bondgraphen des Systems.

5.3. Komponentenbasierter Modellierungsansatz In diesem Abschnitt wird ein Ansatz vorgestellt, der das Erstellen von Bondgraphen erleichtert. Die Grundlage dieses Ansatzes ist die Erstellung der Bondgraphen der einzelnen Komponenten, die im nächsten Schritt über physikalische Schnittstellen miteinander verbunden werden.

5.3. Komponentenbasierter Modellierungsansatz

147

Δp q

R:Rf

Sf

p1 q

p2 q

1

C:Cf

Abb. 5.34.: Bondgraph des hydraulischen Systems

5.3.1. Elektrische Systeme Elektrische Schaltung Um für den komponentenbasierten Ansatz zu motivieren, erstellen wir im Folgenden den Bondgraphen der elektrischen Schaltung, die bereits aus Abschnitt 3.1 (Abb. 3.2 auf Seite 57) bekannt ist. In Abb. 5.35 werden dazu die Kirchhoff’schen Maschenregeln visualisiert.

i

L

R1

iC iR2

u

I

R2

C

uC

Abb. 5.35.: Passive elektrische Schaltung mit eingezeichneten Kirchhoff’schen Maschenregeln

Wir starten wiederum mit der Wahl der Quelle. Wir wissen bereits, dass es sich bei einer Spannungsquelle um eine Potentialquelle Se handelt. Im nächsten Schritt kümmern wir uns um die Topologiegleichungen. Der Widerstand R1 und die Induktivität L sind in Serie geschaltet und müssen daher an eine 1-Junction angeschlossen werden. Der Widerstand R2 und die Kapazität C hingegen, sind parallel geschaltet und werden daher an eine 0-Junction angeschlossen. Um den in Abb. 5.36 dargestellten Bondgraph zu erhalten, müssen die beiden Verzweigungen anhand eines zusätzlichen Bonds miteinander verbunden werden.

148

5. Die Theorie der Bondgraphen

uR1 i

R:R1

u i

Se

uC i

1

uC iR2

0

uL i

uC iC

I:L

C:C

R:R2

Abb. 5.36.: Bondgraph der elektrischen Schaltung Verwendung Elektrischer Potentiale Gerade wenn man mit Bondgraphen noch wenig Erfahrung hat, zeigt sich des Öfteren, dass bereits beim Erstellen einfacher Bondgraphen, wie der eben gezeigten passiven Schaltung, relativ häufig Fehler passieren. Bei mechanischen Systemen sogar noch häufiger. Betrachtet man nun jede Komponente einzeln (genauer gesagt die Komponentengleichung), sowie deren Schnittstelle12 , so kann der Bondgraph der Gesamtschaltung sehr elegant und weniger fehleranfällig erstellt werden. Bei der Betrachtung der Schnittstellen elektrischer Komponenten fällt auf, dass wir mit elektrischen Potentialen anstelle von Spannungsabfällen arbeiten müssen (siehe Abb. 5.37).

p1

i

R

p2

uR Abb. 5.37.: Elektrischer Widerstand R mit Darstellung der elektrischen Potentiale Der Spannungsabfall am Widerstand R ergibt sich wie folgt: uR = p1 − p2 12 Bei

(5.48)

elektrischen Schaltungen sind damit die Anschlussdrähte der einzelnen Bauteile gemeint.

5.3. Komponentenbasierter Modellierungsansatz

149

uR i

Um den Bondgraphen der in Abb. 5.37 dargestellten Komponente erstellen zu können, stellt sich nun die Frage, wie sich Gleichung (5.48) abbilden lässt. Die Schnittstellen des Bauteils werden durch 0-Junctions beschrieben, die garantieren, dass es sich auf der linken Seite des Bauteils immer um das Potential p1 und auf der rechten Seite um das Potential p2 handelt, egal wie viele weitere Bauteile angeschlossen werden. Um den Strom, der durch den Widerstand fließt, zu modellieren, wird eine 1-Junction herangezogen, welche sicherstellt, dass der Strom in das Bauteil, dem Strom aus dem Bauteil entspricht. Ferner wird durch die 1-Junction garantiert, dass die Summe aller Potentialvariablen gleich Null ist. Der Bondgraph ist in Abb. 5.38 dargestellt.

0

p1 i

1

p2 i

0

Abb. 5.38.: Bondgraph zur Darstellung einer Potentialdifferenz (Spannungsabfall) Ferner garantiert die 1-Junction, dass es sich um denselben Strom i handelt. Um den Bondgraphen des elektrischen Widerstands aus Abb. 5.37 zu erhalten, muss lediglich noch ein R-Element an den mittleren Bond angeschlossen werden (siehe Abb. 5.39)

uR i

R:R

0

p1 i

1

p2 i

0

Abb. 5.39.: Bondgraph eines elektrischen Widerstands Die Bondgraphen für alle weiteren passiven sowie aktiven Elemente werden analog zum Bondgraphen aus Abb. 5.39 erstellt. Es ist zu beachten, dass der

150

5. Die Theorie der Bondgraphen

Energiefluss bei aktiven Elementen umgedreht werden muss. Dazu wird der mittlere Bond angepasst, sodass der Halbpfeil in Richtung 1-Junction zeigt (siehe Abb. 5.40).

Se, Sf

0

p1 i

u i

u i

R, I, C

p2 i

1

0

0

p1 i

p2 i

1

0

Abb. 5.40.: Bondgraphen passiver (links) und aktiver (rechts) elektrischer Elemente

Elektrische Schaltung: Komponentenbasierter Ansatz Nun sind wir in der Lage, den komponentenbasierten Ansatz auf jede beliebige elektrische Schaltung anzuwenden. Betrachten wir daher im Folgenden nochmals die Schaltung aus Abb. 5.35 auf Seite 147, welche in Abb. 5.41 detaillierter dargestellt ist.

p1 i u

p3

p2

R1

L p0 R2

C

uC

Abb. 5.41.: Passive elektrische Schaltung mit eingezeichneten Potentialen Durch Anlegen der Spannung u stellen sich vier unterschiedliche Potentiale (p1 , p2 , p3 und p0 ) ein. Das Potential p1 ist vor dem Widerstand R1 , das Potential p2 stellt sich nach R1 ein und dass Potential p3 nach der Induktivität L. Das Potential p0 symbolisiert die Masse. Jedes dieser Potentiale wird im Bondgraphen durch eine 0-Junction dargestellt. Die Elemente, die sich zwischen den jeweiligen 0-Junctions befinden, werden mittels 1-Junctions dargestellt,

5.3. Komponentenbasierter Modellierungsansatz

151

welche besagen, dass der Strom, der in das Element fließt dem Strom entspricht, der aus dem Element fließt. Unsere Schaltung wird daher wie folgt modelliert (Abb. 5.42).

R:R1

p1 i

1

p2 i

0

p2 i

p0 i

1

R:R2

uC iR2

1

1 p0 iC

u i

p0 iC

Se

0

p0 iR2

p3 i

p0 iR2

1

p1 i

0

uL i

uR1 i

I:L

uC iC

C:C

0 Abb. 5.42.: Bondgraph der elektrischen Schaltung, welcher durch den komponentenbasierten Ansatz erstellt wurde Der Bondgraph der elektrischen Schaltung stellt den Energiefluss durch die Schaltung dar. Hält man sich nun den Energiefluss durch die Schaltung gedanklich vor Augen, so kann man genauso gut den in Abb. 5.42 erstellten Bondgraph grafisch über die elektrische Schaltung legen (siehe Abb. 5.43). Dieser Schritt zeigt sehr übersichtlich, wie die einzelnen Komponenten der elektrischen Schaltung im Bondgraph dargestellt werden. Anstelle des Potentials p0 , das 0 V beträgt, kann genauso gut symbolisch eine Masse eingezeichnet werden (Abb. 5.44). Anstelle der Masse könnte ferner eine Spannungsquelle Se = 0 verwenden werden. Im nächsten Schritt kann der Bondgraph vereinfacht werden. Das Potential p0 , welches die Masse (engl. ground) repräsentiert, beträgt 0 Volt. Sobald eine der beiden Variablen eines Bonds den Wert 0 aufweist, ist auch die Leistung P = e · f = 0, was bedeutet, dass kein Energiefluss stattfindet. Diese Bonds können eliminiert werden (siehe Abb. 5.45). Da zur linken und zur mittleren 0-Junction, sowie zur linken und zu den rechten zwei 1-Junctions jeweils nur ein Bond hin- und einer wegführt, also Pin = Pout ist, können diese ebenfalls eliminiert werden. Durch Eliminieren der mittleren 0-Junction sind zwei 1-Junctions direkt miteinander verbunden. Nachdem beide denselben Fluss aufweisen, verschmelzen diese zu einer 1-Junction. Abb. 5.46 veranschaulicht den vereinfachten Bondgraph der elektrischen Schaltung.

152

5. Die Theorie der Bondgraphen

R:R1

p1 i

R1 1

p2 i

0

p2 i

L 1

p3 i

R:R2

R

1

Cu C

iC

C:C

p0 iC

p0 iR2

p0 i

1

uC iR2 2 1

p0 iC

Se

u i

0 p0 iR2

p1 i

0

uL i

uR1 i

I:L

0 Abb. 5.43.: Bondgraph mit hinterlegter elektrischer Schaltung

R:R1

p1 i

1

p2 i

0

p2 i

p0 i

1

R:R2

uC iR2

1

1 p0 iC

u i

p0 iC

Se

0

p0 iR2

p3 i

p0 iR2

1

p1 i

0

uL i

uR1 i

I:L

Abb. 5.44.: Bondgraph der elektrischen Schaltung

uC iC

C:C

5.3. Komponentenbasierter Modellierungsansatz

R:R1

p1 i

1

uL i

uR1 i

I:L

p2 i

0

p2 i

u i

1

R:R2

uC iR2

1

1

uC iC

Abb. 5.45.: Reduzierter Bondgraph der elektrischen Schaltung

R:R1 uR1 i

Se

0 p0 iC

p3 i

p0 iR2

1

p1 i

0

153

Se

u i

1

uC i

0

uL i

uC iC

I:L

C:C

uC iR2

R:R2

Abb. 5.46.: Vereinfachter Bondgraph der elektrischen Schaltung

C:C

154

5. Die Theorie der Bondgraphen

5.3.2. Intensive und extensive Variablen Bevor wir mit der komponentenbasierten Modellierung von mechanischen Systemen starten, ist es ratsam sich noch etwas detaillierter mit den Schnittstellenvariablen (Potential- und Flussvariablen) auseinanderzusetzen. Im Grunde genommen gibt es zwei unterschiedliche Typen von Variablen: • Intensive Variablen • Extensive Variablen Intensive Variablen sind unabhängig, extensive Variablen sind abhängig von der Anzahl beteiligter Komponenten. Eine detaillierte Beschreibung beider Variablen ist in Kapitel 6: Einführung in die objektorientierte Modellierung in Abschnitt 6.3.1: Physikalische Schnittstellen auf Seite 299 zu finden.

p4

Die unterschiedlichen Eigenschaften beider Variablen treten zum Vorschein, sobald zwei Komponenten über ihre Schnittstellen miteinander verbunden werden. Dies soll anhand von Abb. 5.47 verdeutlicht werden.

p1

i1

uR3

R3

i3

R 2 i2

R1 p2

uR1

p3

uR2

Abb. 5.47.: Drei Widerstände die an einem Anschluss dasselbe Potential besitzen. Die Summe der Ströme muss Null ergeben

Intensive Variablen (Potentiale der elektrischen Anschlüsse) besitzen alle denselben Wert, die Summe aller extensiven Variablen (Ströme durch die elektrischen Anschlüsse) ergibt Null.

i1 − i2 − i3 = 0

(5.49)

5.3. Komponentenbasierter Modellierungsansatz

155

5.3.3. Mechanische Systeme Dieses Wissen soll nun angewendet werden, um die intensiven und extensiven Variablen mechanischer Systeme zu bestimmen. Betrachten wir dazu das System aus Abb. 5.48, welches bereits in Abb. 5.25 auf Seite 141 beschrieben wurde. Die

v

F

b

m k

Abb. 5.48.: Feder-Masse-Dämpfer Schwinger Schnittstellenvariablen mechanischer Systeme treten durch das Schnittprinzip (Freischneiden der einzelnen Elemente) in Erscheinung. Es ist ersichtlich, dass die Geschwindigkeiten bzw. die Positionen zweier miteinander verbundener Schnittstellen identisch sind und dass sich die Kräfte aufheben müssen, ΣF = 0. Bei der Kraft F handelt es sich dabei um die extensive und bei der Geschwindigkeit v um die intensive Variable. Eine Zusammenfassung aller Domänen ist in Tab. 5.6 zu finden. Domäne Elektrische Systeme Translatorische Systeme Rotatorische Systeme Hydraulische Systeme Magnetik Thermodynamik

intensive Variable (Potentialvariable)

extensive Variable (Flussvariable)

elektrisches Potential Geschwindigkeit Winkelgeschwindigkeit Druck magnetisches Potential Temperatur

Strom Kraft Drehmoment Volumenfluss magnetischer Fluss Entropiefluss

Tab. 5.6.: Intensive und extensive Variablen in den verschiedenen Domänen

Komponentenbasierter Bondgraph der Masse Nachdem die Geschwindigkeiten zweier miteinander verbundener mechanischer Schnittstellen identisch sind und sich die Kräfte aufheben, können wir dies mit einer 1-Junction beschreiben. Zwischen den beiden 1-Junctions muss sich eine

156

5. Die Theorie der Bondgraphen

weitere 1-Junction befinden, damit sich die Summe der Kräfte zu Null ergibt (Prinzip von d’Alembert) F1 − Fm − F2 = 0

(5.50)

bzw. sichergestellt ist, dass es sich überall um dieselbe Geschwindigkeit handelt. Die Masse wird mit einem I-Element beschrieben, das an die mittlere 1-Junction angeschlossen wird. Der vollständige Bondgraph ist in Abb. 5.49 zu sehen.

Fm v

I:m

1

F1 v

1

F2 v

1

Abb. 5.49.: Bondgraph einer mechanischen Masse

Komponentenbasierter Bondgraph: Feder und Dämpfer Bei Federn und Dämpfern handelt es sich um sogenannte nachgiebige Elemente, d.h. es tritt eine Geschwindigkeitsdifferenz auf. Zur Beschreibung der Schnittstellen dieser Komponenten werden ebenfalls 1-Junctions verwendet, wobei die Geschwindigkeitsdifferenz zwischen den 1-Junctions auftritt. Die Kraft, die auf der einen Seite der Feder bzw. des Dämpfers wirkt, muss dadurch auf der anderen Seite genau in die entgegengesetzte Richtung wirken, damit deren Summe Null ergibt. Wäre das nicht der Fall, würde eine zusätzliche Kraft entstehen. Dieses Verhalten kann mit einer 0-Junction zwischen den beiden 1-Junctions abgebildet werden, wobei die Feder (C-Element) bzw. der Dämpfer (R-Element) ebenfalls an die 0-Junction angeschlossen werden muss. Der dazugehörige Bondgraph ist in Abb. 5.50 dargestellt.

Komponentenbasierter Bondgraph der Quellen Mechanische Quellen (Kraft, Geschwindigkeit) können direkt an eine 1-Junction angeschlossen werden (siehe Abb. 5.51).

5.3. Komponentenbasierter Modellierungsansatz

157

F Δv

R, C

1

F v1

F v2

0

1

Abb. 5.50.: Bondgraph einer Feder bzw. eines Dämpfers

Se, Sf

F v

1

Abb. 5.51.: Bondgraph mechanischer Quellen

Um eine Wand zu modellieren wird eine Flussquelle Sf verwendet, wobei die Geschwindigkeit v gleich Null ist (siehe Abb. 5.52).

Sf

F v=0

1

Abb. 5.52.: Bondgraph einer Wand Nun sind wir in der Lage den Bondgraphen des Feder-Masse-Dämpfer Schwingers aus Abb. 5.48 anhand des komponentenbasierten Ansatzes zu modellieren.

Feder-Masse-Dämpfer Schwinger Um den Bondgraphen des in Abb. 5.48 auf Seite 155 dargestellten mechanischen Systems zu erhalten, ersetzen wir im Folgenden jede Komponente durch den dazugehörigen Bondgraphen, wobei sich berührende Schnittstellen direkt zu einer 1-Junction zusammengefasst werden können. Der Bondgraph ist in Abb. 5.53 dargestellt. Zum besseren Verständnis soll der Bondgraph über das Schema des Feder-MasseDämpfer Schwingers gelegt werden (siehe Abb. 5.54).

158

5. Die Theorie der Bondgraphen

R:b

Fm v

Fb Δv

I:m

Se

F v

1

F v

1

F2 v

Fb v

0

Fb v2

1

F Sf v=0

Fk v

0

Fk v2

1

F Sf v=0

1

Fk Δv

C:1/k Abb. 5.53.: Erstellung des Bondgraphen des Feder-Masse-Dämpfer Schwingers anhand des komponentenbasierten Ansatzes

v

R:b

Fm v

Fb Δv

I:m

Se

F v

1

F v

1

F2 v

Fb v

0

Fb v2

1

F Sf v=0

Fk v

0

Fk v2

1

F Sf v=0

1

Fk Δv

C:1/k Abb. 5.54.: Bondgraph mit hinterlegtem Schema des Feder-Masse-Dämpfer Schwingers

5.3. Komponentenbasierter Modellierungsansatz

159

Die Flussquelle garantiert, dass die Geschwindigkeit der Wand Null ist. Dies wird erreicht indem v explizit auf Null gesetzt wird. Das heißt aber auch, dass die Leistung gleich Null ist. Mit anderen Worten: Es findet kein Energiefluss statt. Die beiden Bonds können daher weggelassen werden. Damit können auch die Bonds, die sich zwischen den 0-Junctions von Feder und Dämpfer und den 1-Junctions befinden, eliminiert werden (siehe Abb. 5.55). Aufgrund der

R:b

Fm v

Fb Δv

I:m

Se

F v

1

F v

1

F2 v

Fb v

0

Fk v

0

1

Fk Δv

C:1/k Abb. 5.55.: Vereinfachter Bondgraph des Feder-Masse-Dämpfer Schwingers anhand des komponentenbasierten Ansatzes

Vereinfachungen aus Abschnitt 5.2.5 auf Seite 138 können Feder und Dämpfer direkt an die 1-Junction angeschlossen werden. Um den vollständig vereinfachten Bondgraphen aus Abb. 5.56 zu erhalten, werden die drei 1-Junctions noch zu einer zusammengefasst. Dass es sich hier genauso um einen Serienschwingkreis handelt, wie das beim RLC-Schwingkreis aus Abb. 5.41 auf Seite 150 der Fall war, ist beim Feder-MasseDämpfer Schwinger aus Abb. 5.48 auf Seite 155 nicht unbedingt ersichtlich. Im Bondgraph aus Abb. 5.56 hingegen, fällt direkt auf, dass es sich beim mechanischen System ebenfalls um einen Serienschwingkreis handelt, welcher derselben mathematischen Beschreibung wie der des RLC-Schwingkreises unterliegt.

160

5. Die Theorie der Bondgraphen

Se

F v

1 v Fm

Fk v F b v

C: 1k

R:b

I:m Abb. 5.56.: Vollständig vereinfachter Bondgraph des Feder-Masse-Dämpfer Schwingers

5.4. Kausale Bondgraphen – Kausale Analyse Ein akausaler Bondgraph entspricht der grafischen Darstellung der Komponentengleichungen und der Topologiegleichungen sowie des Energieflusses durch das physikalische System. Mit anderen Worten ist ein akausaler Bondgraph eine grafische Darstellung eines impliziten Gleichungssystems. Daher ist es nicht möglich einem akausalen Bondgraphen die Information zu entnehmen, welche unbekannte Variable in welcher Gleichung berechnet wird. Dazu muss, wie in Abschnitt 3.1.3 (Seite 59) beschrieben, das Gleichungssystem sortiert werden. In der Bondgraphenliteratur wird dieser Prozess als Kausalisieren bezeichnet. An dieser Stelle sei erwähnt, dass Simulationswerkzeuge existieren, die das Kausalisieren des Bondgraphen übernehmen. Beispielsweise lassen sich akausale Bondgraphen mittels Dymola und der frei verfügbaren BondLib13 implementieren. Auch andere Tools wie z.B. 20sim von [Bro99a] übernehmen das Kausalisieren der Gleichungen für den Benutzer. Gestattet ein Simulationswerkzeug die Implementierung von akausalen Bondgraphen bzw. des akausalen Gleichungssystems (DAE) (vgl. Abb. 3.8 auf Seite 74), so spricht man von akausaler Modellierung (siehe Abschnitt 6.2: Akausale Modellierung ab Seite 289). Ist man hingegen nicht im Besitz einer Software, welche die Implementierung von Bondgraphen zulässt, so gewinnen die kausalen Bondgraphen an Bedeutung.

13 Open-source

Library für Dymola/Modelica mit der Bondgraphen erstellt werden können. https://modelica.org/libraries.

5.4. Kausale Bondgraphen – Kausale Analyse

161

Ein einführendes Beispiel Das in Abb. 5.57 dargestellte Beispiel, soll als Motivation für kausale Bondgraphen herangezogen werden. Die Spannung u der Spannungsquelle sei 30V.

i

u

R

Abb. 5.57.: Ein Widerstand angeschlossen an eine Spannungsquelle

Dieses System lässt sich durch zwei Gleichungen und zwei Unbekannte vollständig beschreiben. u = 30V u=i·R

(5.51) (5.52)

Um das Gleichungssystem zu lösen, muss im nächsten Schritt bestimmt werden, welche Unbekannte in welcher Gleichung berechnet wird. Da die Spannung in Gleichung (5.51) 30V beträgt, wird in dieser Gleichung die unbekannte Variable u berechnet. Dadurch ist u in Gleichung (5.52) bekannt und die unbekannte Variable i kann berechnet werden. Wir erhalten folgendes sortiertes Gleichungssystem: u := 30V 1 ·u i := R

(5.53) (5.54)

Wie lässt sich dieses Beispiel anhand von Bondgraphen lösen? Wie wir bereits wissen, definiert jeder Bond zwei Variablen. Oberhalb des Bonds befindet sich die Potentialvariable e(t) und unterhalb des Bonds die Flussvariable f (t). Infolgedessen benötigen wir auch zwei Gleichungen, um die unbekannten Variablen e(t) und f (t) berechnen zu können. In Abb. 5.58 stellt Subsystem A eine Quelle dar und Subsystem B eine Senke (vgl. Abb. 5.10 auf Seite 131). Jede dieser zwei Komponenten wird durch eine Gleichung beschrieben.

162

5. Die Theorie der Bondgraphen

A

e f

B

Abb. 5.58.: Subsystem A liefert die Potentialvariable e(t), Subsystem B die Flussvariable f (t) Der Pfeil neben der Variable e(t) deutet darauf hin, dass diese von der Quelle zur Verfügung gestellt wird. Mit anderen Worten: e(t) wird in Subsystem A berechnet. Folglich wird f (t) von der Senke zur Verfügung gestellt. In der Bondgraphennotation wird anstelle der Pfeile ein vertikaler Balken zur Kausalisierung verwendet (siehe Abb. 5.59).

A

e f

B

Abb. 5.59.: Subsystem A liefert die Potentialvariable e(t), Subsystem B die Flussvariable f (t), dargestellt anhand eines vertikalen Balkens Bezogen auf unser Beispiel bedeutet das, dass A die Spannungsquelle und B den Widerstand darstellt (siehe Abb. 5.60).

Se

u i

R:R

Abb. 5.60.: Kausaler Bondgraph der einfachen elektrischen Schaltung Sobald der Bondgraph kausalisiert wurde, gelangt man sehr leicht zu einem äquivalenten Blockschaltbild oder der Zustandsraumdarstellung. Des Weiteren ist es für den Modellierer ein Vorteil, wenn die Kausalität bekannt ist, da dadurch ein noch tieferer Einblick ins System gegeben ist. Definition Der Kausalitätsbalken (in rot gekennzeichneter vertikaler Querstrich) gibt an, auf welcher Seite der Fluss berechnet wird. Mit anderen Worten: Dort, wo sich der Kausalitätsbalken befindet, ist immer der Fluss der rechnerische Output14 14 Der

rechnerische Output einer Gleichung stellt die Unbekannte dar, die in dieser Gleichung berechnet wird. Mit anderen Worten: Die Gleichung wird zu einer Zuweisung.

5.4. Kausale Bondgraphen – Kausale Analyse

163

(Flussausbreitung führt weg vom Kausalitätsbalken) und das Potential e der Input (Potentialausbreitung führt zum Kausalitätsbalken), siehe Abb. 5.61.

e

=

f e

=

f

e f e f

Abb. 5.61.: Kausaler Bond mit dazugehöriger Signalausbreitung. Links: durch Pfeile symbolisiert. Rechts: durch vertikalen Balken symbolisiert (Bondgraphennotation)

Es ist dabei wichtig zu verstehen, dass die Kausalität keine physikalischen Eigenschaften des Systems beschreibt. Sie legt fest welche Gleichungen für die Berechnung der unbekannten Variablen verwendet werden. Die Kausalisierung entspricht also der in Abschnitt 3.1.3: Gleichungssystem sortieren auf Seite 59 erwähnten horizontalen Sortierung, die in Abschnitt 6.5: Die symbolische Vorverarbeitung ab Seite 379 genauer vorgestellt wird. Befindet sich der Kausalitätsbalken also beim jeweiligen Element (egal ob das Element passiver oder aktiver Natur ist), so ist immer der Fluss der Output und das Potential der Input. Befindet sich der Kausalitätsbalken jedoch auf der anderen Seite des Elements so ist das Potential der Output und demnach der Fluss der Input (siehe Abb. 5.62).

e f

Element

Input = e Output = f Abb. 5.62.: Beispiel: Der Kausalitätsbalken befindet sich auf der Seite des Elements. Aus der Sicht des Elements (in Richtung strichlierter Linie) ist der Fluss der rechnerische Output und das Potential der rechnerische Input

Ein Bond gibt an in welche Richtung sich die Leistung ausbreitet. Der Kausalitätsbalken hingegen gibt an in welche Richtung sich die Potential-Information bzw. die Fluss-Information ausbreitet.

164

5. Die Theorie der Bondgraphen

5.4.1. Kausalisierung der Quellen Bei einer Potentialquelle berechnet die Quelle das Potential, d.h. dass sich der Kausalitätsbalken auf der Seite des Halbpfeils befinden muss (siehe Abb. 5.63). Mit anderen Worten: Bei einer elektrischen Spannungsquelle wird die Spannung von der Quelle geliefert. Daher breitet sich die Potential-Information in dieselbe Richtung wie die Leistung aus.

Se

e f

Abb. 5.63.: Kausale Potentialquelle – Signalausbreitung der Potentialvariable e(t) zeigt in Richtung des Kausalitätsbalkens (die Quelle versorgt das System mit Spannung)

Eine Flussquelle verhält sich genau umgekehrt. Hier befindet sich der Kausalitätsbalken auf der Seite der Quelle (siehe Abb. 5.46).

Sf

e f

Abb. 5.64.: Kausale Flussquelle – Signalausbreitung der Flussvariable f (t) führt weg vom Kausalitätsbalken (die Quelle versorgt das System mit Strom)

5.4.2. Kausalisierung der passiven Elemente (Kausales) R-Element Die Kausalität von R-Elementen ist frei (siehe Abb. 5.65). Je nachdem, welche Variable den Output bzw. den Input des Widerstands repräsentiert, wird der Kausalitätsbalken des R-Elements entsprechend gewählt. Dies hängt im Allgemeinen von der Topologie, welche via 0- und 1-Junctions beschrieben wird, ab.

5.4. Kausale Bondgraphen – Kausale Analyse

u i

R:R

u = i·R

165

u i i=

R:R u R

Abb. 5.65.: Kausales R-Element am Beispiel eines elektrischen Widerstands. Links: Der Kausalitätsbalken befindet sich auf der gegenüberliegenden Seite des Elements, daher ist hier die Spannung u der Output und der Strom i der Input. Rechts: Der Kausalitätsbalken befindet sich auf der Seite des Elements. Daher ist i der Output und u der Input

(Kausales) I-Element Bei energiespeichernden Elementen ergibt sich die Kausalität nach dem Wunsch Integratoren anstatt Differentiatoren zu wählen. Die Gründe dafür wurden bereits in Abschnitt 2.2: Bestimmen der Zustandsgrößen (Seite 36) erläutert. Sobald ein physikalisches System simuliert wird, wird der Integrator durch ein sogenanntes numerisches Integrationsverfahren approximiert (siehe Kapitel 8 ab Seite 493). Zu Beginn der Simulation muss daher ein Anfangswert der Zustandsgröße bekannt sein. Dieser wird auch als Anfangsbedingung bezeichnet. Der nächste Wert der Zustandsgröße wird dann ein Zeitintervall (Schrittweite) h später berechnet. Dieser Wert ergibt sich aus dem Anfangswert und dem Modell des Systems. Würde man anstatt eines Integrators hingegen einen Differentiator verwenden, so müssten Werte in der Zukunft bekannt sein, was nicht ohne weiteres möglich ist. Aus diesem Grund und in Anbetracht der Tatsache, dass es physikalisch gesehen keine (idealen) Differentiatoren gibt, werden, wann immer es möglich ist, Integratoren verwendet. In komplexeren Modellen kommt es jedoch auch vor, dass aufgrund der Topologie nicht jedes energiespeichernde Element mittels Integratoren beschrieben werden kann. Tritt solch ein Fall auf, so spricht man von einer sogenannten strukturellen Singularität (siehe Abschnitt 5.8.3: Strukturelle Singularitäten ab Seite 209). Bei einer Induktivität L, welche der Gleichung uL = L ·

diL dt

(5.55)

genügt, wird wie folgt vorgegangen: Man forme Gleichung (5.55) so um, dass der Output (Zustandsvariable) auf der linken Seite des Gleichheitszeichens steht. Dadurch, dass der Output klar definiert ist, wird aus der Gleichung unmittelbar eine Zuweisung, was wiederum

166

5. Die Theorie der Bondgraphen

durch den Zuweisungsoperator ":=“ gekennzeichnet wird: 1 iL := L

Zt uL · dt

(5.56)

0

Nun erstelle man das dazugehörige Blockschaltbild15 (siehe Abb. 5.66).

uL

1 L

1 s

iL

Abb. 5.66.: Blockschaltbild der kausalen Induktivität

Aus dem Blockschaltbild ist ersichtlich, dass die Spannung uL den Input und der Strom iL den Output darstellt. Bezogen auf Bondgraphen bedeutet das wiederum, dass der Kausalitätsbalken auf der Seite des Halbpfeils des I-Elements stehen muss (siehe Abb. 5.67).

e f

I:α

Abb. 5.67.: Kausalisiertes I-Element. Die Konstante α wird bei einer Induktivität mit L substituiert

(Kausales) C-Element Eine Kapazität C wird durch die Gleichung ic = C ·

duC dt

(5.57)

beschrieben. Werden nun dieselben Schritte wie beim I-Element durchgeführt, so ergibt sich die Kausalität des Elements wie in Abb. 5.68 dargestellt. 15 Das

Blockschaltbild dient der besseren Visualisierung des Signalflusses der rechnerischen In- und Outputs.

5.4. Kausale Bondgraphen – Kausale Analyse

167

uC

e f

C:β

iC

1 s

1 C

Abb. 5.68.: Kausalisiertes C-Element (links) mit dazugehörigem Blockschaltbild (rechts). Die Konstante β wird bei einer Kapazität mit C substituiert

5.4.3. Kausalisierung der Verzweigungen 1-Junction Wie in Abschnitt 5.2.4 auf Seite 135 bereits beschrieben wurde, besagt eine 1Junction, dass der Fluss aller Bonds, die zur Verzweigung hinführen oder von der Verzweigung wegführen, identisch ist. Bezogen auf den akausalen Bondgraphen in Abb. 5.69 gilt: f1 = f2 = f3

(5.58)

Daraus folgt, dass die Summe der Potentiale gleich 0 sein muss Σe = 0. e1 − e2 − e3 = 0

(5.59)

Nachdem in einer 1-Junction die Flussvariablen aller beteiligten Bonds gleich sind, kann der Fluss nur aus einer Gleichung berechnet werden. Wäre das nicht der Fall, so wäre das Gleichheitszeichen in Gleichung (5.58) schlichtweg falsch. An der Stelle, an welcher der Fluss berechnet wird, also den Flow-Input in die Verzweigung darstellt, muss gleichzeitig das Potential den Output darstellen. Eine 1-Junction besitzt also eine Potentialgleichung die exakt einen Output liefert.

e1 f1

1

e3 f3

f2 e2 Abb. 5.69.: Kausalisierte 1-Junction. Der Fluss f1 stellt den Input dar Im vorliegenden Beispiel (Abb. 5.69) muss das Potential e1 den Output darstellen.

168

5. Die Theorie der Bondgraphen

Die akausale Gleichung (5.59) wird zu folgender kausaler Gleichung: e1 := e2 + e3

(5.60)

Da eine 1-Junction denselben Fluss aufweist, kann dieser nur an einem Bond berechnet werden, sprich den Flow-Input in die Verzweigung darstellen. An der Verzweigung befinden sich daher genau (n − 1)-Kausalitätsbalken. Beispiel Als Beispiel wird die Serienschaltung einer Stromquelle und zweier Widerstände herangezogen (Abb. 5.70)

R1

f2

f3

f1

R2

Abb. 5.70.: Stromquelle mit zwei Serienwiderständen Die Stromquelle wird mittels einer Flussquelle Sf modelliert. Da durch alle Elemente derselbe Strom fließt (f1 = f2 = f3 ), wird eine 1-Junction verwendet. Abb. 5.71 zeigt den dazugehörigen Bondgraphen der elektrischen Schaltung. Hier ist klar ersichtlich, warum bei einer 1-Junction auch nur ein Bond für den

Sf

e1 f1

e3

1

f3

R:R

2

f2 e2

R:R

1

Abb. 5.71.: Kausaler Bondgraph der Stromquelle mit zwei Serienwiderständen Fluss verantwortlich ist, sprich diesen berechnen muss. Es kann nicht mehr als

5.4. Kausale Bondgraphen – Kausale Analyse

169

eine Stromquelle geben, welche den Fluss berechnet, d.h. die Schaltung mit diesem versorgt. Fügt man gedanklich eine zweite Stromquelle hinzu, so stellt man schnell fest, dass es einen Konflikt gibt. Die Bedingung der 1-Junction, welche besagt, dass (n − 1) Kausalitätsbalken innerhalb der Verzweigung sein müssen, ist somit nicht mehr erfüllbar. 0-Junction Anders ist dies bei einer 0-Junction. Diese weist genau eine Flussgleichung auf (f1 − f2 − f3 = 0), welche ebenfalls genau einen Output liefert. Nachdem in einer 0-Junction alle Potentiale identisch sind (e1 = e2 = e3 ) kann dieses ebenfalls nur an einer Stelle berechnet werden. Daher befindet sich an dieser Verzweigungen auch nur ein Kausalitätsbalken (siehe Abb. 5.72).

e1 f1

0

e3 f3

e2 f2 Abb. 5.72.: Kausalisierte 0-Junction. Das Potential e1 stellt den Input dar Aus Abb. 5.72 ist ersichtlich, dass der Fluss f1 den Output darstellt und sich zu f1 := f2 + f3 ergibt.

5.4.4. Anleitung zur Kausalisierung von Bondgraphen Im folgenden Abschnitt wird eine strukturierte Anleitung zur Kausalisierung von Bondgraphen vorgestellt, die im Wesentlichen auf der von Dean C. Karnopp et. al. (siehe [KMR12], Abschnitt 5.2) entwickelten Sequential Causality Assignment Procedure (SCAP) basiert. (1) Kausalität der Quellen bestimmen: Dieser Schritt wird immer als erstes durchgeführt, da diese Kausalitäten „fix“ vorgegeben sind (engl. fixed causality).

170

5. Die Theorie der Bondgraphen

(2.1) Kausalität der energiespeichernden Elemente bestimmen: Diese Kausalitäten von C- und I-Elementen ergeben sich nach dem Wunsch Integratoren anstatt Differentiatoren zu verwenden. Man spricht von bevorzugter Kausalität (engl. preferred causality). (2.2) Kausalitätsbalken der Verzweigungen16 einzeichnen: Nachdem die Kausalität der Quellen bzw. der energiespeichernden Elemente eingezeichnet wurde, wird die Kausalität der Verzweigungen bestimmt. Genau genommen ergeben sich die Kausalitätsbalken der Verzweigungen aufgrund der in (2.1) durchgeführten Kausalisierung der energiespeichernden Elemente. Man spricht von einer erzwungenen Kausalität (engl. constrained causality). (3) Kausalität der Widerstände einzeichnen: Diese sollte sich durch die Kausalisierung der Verzweigungen automatisch ergeben. Es kann dennoch vorkommen, dass der Kausalitätsbalken entweder direkt beim Element oder gegenüber des Elements eingezeichnet werden kann. In solch einem Fall ist die Kausalität des Widerstands nicht durch die Topologie des Systems (Verzweigungen) bestimmt. Es tritt eine algebraische Schleife auf. Man spricht hier von einer freien Kausalität (engl. indifferent causality). Nun sind wir in der Lage, einfache akausale Bondgraphen zu kausalisieren. Nachdem wir diesen Schritt durchgeführt haben, können wir die Gleichungen, welche den jeweiligen Elementen zugrunde liegen, aus dem Bondgraphen extrahieren. Dadurch wird eine Möglichkeit geschaffen das äquivalente Zustandsraummodell bzw. Blockschaltbild auf eine strukturierte Art und Weise zu erhalten.

5.4.5. Beispiel: Kausalisierung des Bondgraphen einer elektrischen Schaltung Zur Kausalisierung wird die in Abschnitt 5.3.1: Elektrische Schaltung auf Seite 147 vorgestellte elektrische Schaltung herangezogen. Wir werden uns dabei strikt an die in Abschnitt 5.4.4: Anleitung zur Kausalisierung von Bondgraphen auf Seite 169 vorgestellte Anleitung halten und mit der Kausalisierung der Quelle beginnen (siehe Abb. 5.73). Abb. 5.74 beinhaltet den zweiten Schritt, die Kausalisierung der energiespeichernden Elemente. Im nächsten Schritt werden die Verzweigungen kausalisiert. Der Kausalitätsbalken der Induktivität, die sich an der 1-Junction befindet, ist bereits außerhalb 16 sowie

der Elemente zur reversiblen Energieumwandlung (Transformatoren und Gyratoren) die in Abschnitt 5.5 auf Seite 175 erläutert werden.

5.4. Kausale Bondgraphen – Kausale Analyse

171

uR1 i

R:R1

Se

u i

1

uC i

0

uL i

uC iC

I:L

C:C

uC iR2

R:R2

Abb. 5.73.: Kausalisieren des Bondgraphen der elektrischen Schaltung: (1) Kausalität der Quelle bestimmen

uR1 i

R:R1

Se

u i

1

uC i

0

uL i

uC iC

I:L

C:C

uC iR2

R:R2

Abb. 5.74.: Kausalisieren des Bondgraphen der elektrischen Schaltung: (2.1) Kausalisierung der energiespeichernden Elemente

172

5. Die Theorie der Bondgraphen

uR1 i

R:R1

Se

u i

1

uC i

0

uL i

uC iC

I:L

C:C

uC iR2

R:R2

Abb. 5.75.: Kausalisieren des Bondgraphen der elektrischen Schaltung: (2.2) Kausalisierung der Verzweigungen

der Verzweigung, weshalb sich die restlichen Kausalitätsbalken innerhalb der Verzweigung befinden müssen. Somit ist die Kausalität des Widerstands R1 automatisch definiert worden. Die 0-Junction hat bereits einen Kausalitätsbalken innerhalb der Verzweigung. Daher müssen sich alle anderen Kausalitätsbalken außerhalb der Verzweigung befinden. Damit ist auch die Kausalität des zweiten Widerstands R2 definiert. Wir erhalten den kausalen Bondgraphen in Abb. 5.75. Nachdem Schritt (3) nicht durchgeführt werden musste, wissen wir sofort, dass keine algebraischen Schleifen vorliegen. Somit kann die Zustandsraumdarstellung ohne Probleme erstellt werden.

5.4.6. Aufstellen der Gleichungen anhand des Bondgraphen In diesem Abschnitt wird gezeigt, wie sich die Gleichungen aus dem Bondgraphen extrahieren lassen. Die Vorgehensweise wird exemplarisch anhand der 1-Junction beschrieben. Wie bereits bekannt ist, werden Verzweigungen zur Abbildung der Topologiegleichungen verwendet. Zur Abbildung der Kirchhoff’schen Maschenregel der elektrischen Schaltung aus Abschnitt 5.3.1 wurde deshalb eine 1-Junction verwendet (siehe Abb. 5.75). Anhand der Richtungen der Bonds, die an die Verzweigung angeschlossen sind, ergibt sich automatisch folgende Gleichung: u − uR1 − uC − uL = 0

(5.61)

5.4. Kausale Bondgraphen – Kausale Analyse

173

Anhand des kausalen Bondgraphen ist nun sofort ersichtlich, welche unbekannte Variable in dieser Gleichung bestimmt wird. Dazu schauen wir uns die Kausalitätsbalken an und stellen fest, dass der Signalfluss der Spannungen u, uR1 und uC in Richtung 1-Junction zeigt. Diese Spannungen sind „Inputs“ in die 1Junction und wurden daher bereits in anderen Gleichungen berechnet. Dadurch muss in Gleichung (5.61) die unbekannte Variable uL berechnet werden, was im Bondgraphen sofort durch den Kausalitätsbalken am I-Element ersichtlich ist. Wir erhalten: uL := u − uR1 − uC

(5.62)

Führt man dies für die restlichen Elemente durch, so erhält man folgende Tab. 5.7:

Element

Akausal

Kausal

1:

u − uR1 − uC − uL = 0

uL := u − uR1 − uC

0:

i − iC − iR2 = 0

iC := i − iR2

R : R1

uR1 = i · R1 R uC = C1 ic · dt

uR1 := i · R1 R uC := C1 ic · dt ≡ x1

uC = iR2 · R2 R i = L1 uL · dt

iR2 := R12 · uC R i := L1 uL · dt ≡ x2

C:C R : R2 I:L

Tab. 5.7.: Gleichungen ermittelt anhand des Bondgraphen

Erstellen der Zustandsraumdarstellung Wie bereits im Abschnitt zuvor wird die Zustandsraumdarstellung des Systems erstellt. Diesmal wird diese direkt aus den kausalen Gleichungen, die aus dem Bondgraph ermittelt wurden, erstellt. Die Zustandsvariablen sind wiederum die Spannung am Kondensator C (uC = x1 ) und der Strom durch die Induktivität L (i = x2 ).

174

5. Die Theorie der Bondgraphen

Erste Zustandsgleichung Hierfür wird die Gleichung in der vierten Zeile und zweiten Spalte von Tab. 5.7 abgeleitet und wir erhalten:

x˙ 1 =

1 · iC C

(5.63)

Nun wird iC mit der dazugehörigen kausalen Gleichung beschrieben, welche in diesem Fall in Zeile 2, Spalte 2 von Tab. 5.7 steht. Die Variablen werden nun solange substituiert bis nur noch Eingangsgrößen und Zustandsvariablen vorhanden sind. 1 1 (i − iR2 ) = (x2 − iR2 ) = C C    1 1 1 1 = x2 − · uC = x2 − · x1 = C R2 C R2 1 1 1 =− · · x1 + · x2 C R2 C

x˙ 1 =

(5.64)

Zweite Zustandsgleichung Hierfür wird die Gleichung in der letzten Zeile und zweiten Spalte von Tab. 5.7 abgeleitet:

x˙ 2 =

1 · uL L

(5.65)

Auch hier wird wiederum solange substituiert bis nur noch bekannte Größen (Eingangsgrößen und Zustandsgrößen) vorhanden sind. 1 1 (u − uR1 − uC ) = (u − i · R1 − x1 ) = L L 1 = (u − R1 · x2 − x1 ) = L 1 R1 1 = − · x1 − · x2 + · u L L L

x˙ 2 =

(5.66)

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

175

Bilden der Zustandsraumdarstellung Der Vollständigkeit halber werden nochmals beide Zustandsgleichungen angeführt. 1 1 1 · · x1 + · x2 C R2 C 1 R1 1 x˙ 2 = − · x1 − · x2 + · u L L L

x˙ 1 = −

In Vektor-Matrix Schreibweise erhalten wir: 

x˙ 1 x˙ 2



 =

y=

     1 1 − C·R 0 x1 C 2 · + ·u 1 x2 − L1 − R1 L  L   x1 1 0 · x2

(5.67) (5.68)

5.4.7. Blockschaltbild Das Blockschaltbild wird direkt aus den kausalen Gleichungen (Zuweisungen) gebildet. Das Ergebnis ist in Abb. 3.5 auf Seite 65 dargestellt. Ein alternativer Ansatz, um das Blockschaltbild direkt aus dem kausalen Bondgraphen zu erhalten, wird in [Bro99b], Kapitel 8 vorgestellt. Dabei wird das Blockschaltbild über den Bondgraphen gelegt (siehe Abb. 5.76).

5.5. Weitere Bondgraph-Elemente: Energieumwandlung Bisher haben wir das Speichern und das Transportieren von Energie behandelt. Ersteres wird durch C- und I-Elemente beschrieben. Letzteres durch den Bond selbst. Das R-Element wurde bis jetzt als „verlustbehaftetes“ Element behandelt, was vollkommen legitim ist, solange wir die Thermodynamik außer Acht lassen. Im Folgenden werden drei zusätzliche Elemente, welche sich mit dem Umwandeln von Energie beschäftigen, eingeführt. Während Widerstandsquellen die irreversible Umwandlung freier Energie in Wärme beschreiben, werden Transformatoren und Gyratoren verwendet, um reversible Energieumwandlungsvorgänge zwischen gleichartigen oder verschiedenartigen Energieformen zu beschreiben.

176

5. Die Theorie der Bondgraphen

R1

uR1 i

R:R1

Se

u i

uC i

1 uL i

uC iC

1 L

uC iR2

0

I:L

C:C 1 s

1 s

R:R2

1 R2

1 C

Abb. 5.76.: Blockschaltbild wird direkt aus dem kausalen Bondgraphen erstellt

5.5.1. Widerstandsquellen Bei der Widerstandsquelle (RS) wird die Energie (z.B. elektrische Leistung) irreversibel in Wärme umgewandelt (siehe Abb. 5.77).

u i

RS

T S

Abb. 5.77.: Widerstandsquelle: Die elektrische Leistung P = u·i wird irreversibel in Wärme umgewandelt Die Widerstandsquelle ist demnach eine Quelle von Entropie, was durch den zusätzlichen Buchstaben S (engl. Source) gekennzeichnet wird. Der Wärmefluss Q˙ = dQ/dt (thermische Leistung) setzt sich aus dem Produkt Temperatur T und Entropiefluss S˙ = dS/dt zusammen. Die Kausalität des Bonds auf der thermischen Seite ist immer so, dass der Widerstand dort als Quelle von Entropie

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

177

gesehen wird, nie als Temperaturquelle17 . Die Gleichungen die das RS-Element beschreiben lauten wie folgt: u=R·i u · i = T · S˙

(5.69) (5.70)

Eine Einführung in die irreversible Thermodynamik folgt in Abschnitt 5.13 ab Seite 252.

5.5.2. Transformatoren Bei Transformatoren (T F ), siehe Abb. 5.78, werden Potential- und Flussvariablen über das Übersetzungsverhältnis m in Relation gesetzt.

e1 f1

TF m

e2 f2

Abb. 5.78.: Bondgraph eines Transformators Die Potentialvariablen sind über m wie folgt verknüpft: e1 = m · e2

(5.71)

Da ein Bond einen „verlustlosen“ Energietransport darstellt, gilt aufgrund der Energieerhaltung: e 1 · f1 = e 2 · f2

(5.72)

Setzt man Gleichung (5.71) in (5.72) ein, so erhält man die Verknüpfung der Flussvariablen: f2 = m · f1

(5.73)

Für ein Übersetzungsverhältnis m > 1 gilt daher, dass die Potentialvariable e1 größer als e2 wird. Daraus folgt unmittelbar, dass die Flussvariable f1 kleiner als f2 wird. Beispiele für Transformatoren sind elektrische Transformatoren, mechanische Getriebe oder Kolben in einem hydraulischen System (siehe Abb. 5.79). 17 Temperaturquellen

existieren physikalisch betrachtet nicht.

178

5. Die Theorie der Bondgraphen

i2

i1

mechanisch-hydraulisch

rotatorisch

elektrisch

T 1, ω 1 r1

u1

v F

u2 r2

m u2 = m·u1 i1 = m·i2

q

p A

T2, ω2

F = A ·p q = A·v

T2 =(r2/r1) ·T1 ω1 = (r2/r1)· ω2

Abb. 5.79.: Beispiele für Transformatoren Kausalisierung des Transformators Da wir jeweils eine Gleichung haben, welche zwei Potential- oder Flussvariablen verknüpft, muss beim Transformator eine Potentialvariable und eine Flussvariable berechnet werden. Es ergeben sich daher, in Abhängigkeit der Topologie, folgende zwei Möglichkeiten (Abb. 5.80a und Abb. 5.80b). (b)

(a)

e1 f1

TF m

e2 f2

e1 f1

TF m

e2 f2

Abb. 5.80.: Die zwei Möglichkeiten (a) und (b) zur Kausalisierung des Transformators Aus Abb. 5.80a erhält man folgende Gleichungen: e1 := m · e2 f2 := m · f1

(5.74) (5.75)

Aus Abb. 5.80b erhalten wir: 1 · e1 m 1 f1 := · f2 m e2 :=

(5.76) (5.77)

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

179

5.5.3. Gyratoren Ein Gyrator (GY ) verknüpft Potentialvariablen mit Flussvariablen über das Übersetzungsverhältnis r (siehe Abb. 5.81).

e1 f1

GY r

e2 f2

Abb. 5.81.: Bondgraph eines Gyrators Potential- und Flussvariablen sind über r wie folgt verknüpft: e 1 = r · f2

(5.78)

Nachdem auch hier die aufgenommene Leistung der abgegebenen Leistung entspricht (siehe Gleichung (5.72)), ergibt sich die zweite dazugehörige Gleichung durch e 2 = r · f1

(5.79)

Ein Beispiel für einen Gyrator ist die elektromotorische Kraft (EMK18 ), welche z.B. im DC-Motor auftritt. Hier erzeugt der Ankerstrom i ein Drehmoment T . Daraus resultiert eine Rotationsbewegung mit der Winkelgeschwindigkeit ω. Dadurch wird eine Spannung ui induziert, welche in der Literatur als EMK bezeichnet wird (siehe Abb. 5.82).

i

T=Ψ·i ui=Ψ·ω

ui T,ω Abb. 5.82.: Beispiel für einen Gyrator: DC-Motor Das Übersetzungsverhältnis Ψ wird im Allgemeinen als Drehmomentkonstante kM in Nm/A bezeichnet. Abb. 5.83 zeigt den daraus resultierenden Bondgraphen. 18 Engl.

electromotive force (EMF) bzw. des Öfteren auch als back-electromotive force BEMF bezeichnet.

180

5. Die Theorie der Bondgraphen

ui i

GY Ψ

T ω

Abb. 5.83.: Bondgraph zur Beschreibung der elektromotorischen Kraft

Kausalisierung des Gyrators Da wir die eine Gleichung links und die andere rechts vom Gyrator berechnen müssen, können wir die Gleichungen entweder nach den beiden Potentialvariablen oder aber nach den beiden Flussvariablen auflösen. Mit anderen Worten: Der Fluss f2 ergibt sich direkt aus dem Übersetzungsverhältnis und e1 . Daher muss für den Fall, dass e1 der Input ist, f2 der Output sein, da dieser über Gleichung (5.78) festgelegt ist. Es ergeben sich wiederum zwei Möglichkeiten:

(b)

(a)

e1 f1

GY r

e2 f2

e1 f1

GY r

e2 f2

Abb. 5.84.: Die zwei Möglichkeiten (a) und (b) zur Kausalisierung des Gyrators

Aus Abb. 5.84a erhält man folgende Gleichungen: e1 := r · f2 e2 := r · f1

(5.80) (5.81)

Aus Abb. 5.84b erhalten wir: 1 · e1 r 1 f1 := · e2 r

f2 :=

(5.82) (5.83)

5.5.4. Beispiel: Permanenterregter Gleichstrommotor Abb. 5.85 zeigt den Ankerkreis eines permanenterregten Gleichstrommotors.

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

i

La

Ra

181

Rb, JM

u M,ω Abb. 5.85.: DC-Motor mit Ankerinduktivität La , Widerstand der Kupferwicklung Ra , Trägheit des Rotors JM und Lagerreibung Rb

Erstellen des akausalen Bondgraphen Wir beginnen mit der Quelle. Die Ankerspannung u wird anhand einer Potentialquelle Se beschrieben. Ankerinduktivität La und deren Wicklungswiderstand Ra sind in Serie mit der Spannungsquelle geschaltet. Um diese Topologie abzubilden, wird eine 1-Junction herangezogen. Durch Anlegen der Ankerspannung u wird der Ankerstrom i erzeugt, der auf der mechanischen Seite ein Moment M hervorruft. Dadurch wird der Rotor beschleunigt und beginnt sich mit der Winkelgeschwindigkeit ω zu drehen. Durch die Rotation wird eine Spannung ubemf induziert. Dieser Zusammenhang wird, wie bereits in Abb. 5.82 gezeigt wurde, durch einen Gyrator beschrieben. Die elektrische Seite des Gyrators ist ebenfalls in Serie geschaltet und wird daher auch an die 1-Junction angeschlossen. Auf der mechanischen Seite müssen noch die Trägheit des Rotors JM sowie die Lagerreibung Rb berücksichtigt werden. Da beide Komponenten derselben Winkelgeschwindigkeit ausgesetzt sind, werden sie mittels einer 1-Junction an den Gyrator angeschlossen. Der akausale Bondgraph ist in Abb. 5.86 dargestellt.

Erstellen des kausalen Bondgraphen Basierend auf der Anleitung zur Kausalisierung von Bondgraphen (siehe Abschnitt 5.4.4 auf Seite 169) erhalten wir den in Abb. 5.87 dargestellten kausalen Bondgraphen. Im nächsten Schritt können wir die Gleichungen aus dem Bondgraphen extrahieren (siehe Tab. 5.8).

182

5. Die Theorie der Bondgraphen

R:Rb

uRa i

MRb ω

R:Ra

Se

u i

1

Ubemf i

GY Ψ

M ω

I:La

MJM ω

uLa i

Ubemf = Ψ·ω M = Ψ·i

1

I:JM

Abb. 5.86.: Akausaler Bondgraph der permanenterregten Gleichstrommaschine

R:Rb

uRa i

MRb ω

R:Ra

Se

u i

1

GY Ψ

M ω

Ubemf = Ψ·ω M = Ψ·i

1 MJM ω

uLa i

I:La

Ubemf i

I:JM

Abb. 5.87.: Kausaler Bondgraph der permanenterregten Gleichstrommaschine

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

183

Element

Akausal

Kausal

1

u − uRa − ubemf − uLa = 0

uLa := u − uRa − ubemf

R : Ra I : La

uRa = Ra · i R i = L1a uLa · dt

uRa := Ra · i R i := L1a uLa · dt ≡ x1

GY

ubemf = Ψ · ω

ubemf := Ψ · ω

M =Ψ·i

M := Ψ · i

1

M − MRb − MJM = 0

MJM := M − MRb

R : Rb

MRb = Rb · ω R ω = J1M MJM · dt

MRb := Rb · ω R ω := J1M MJM · dt ≡ x2

I : JM

Tab. 5.8.: Akausale und kausale Gleichungen extrahiert aus dem Bondgraphen

Erste Zustandsgleichung Die erste Zustandsgleichung erhalten wir, durch ableiten der Zustandsvariable x1 . 1 1 1 · uLa = (u − uRa − ubemf ) = (u − Ra · i − Ψ · ω) La La La 1 x˙ 1 = (u − Ra · x1 − Ψ · x2 ) La

x˙ 1 =

Zweite Zustandsgleichung Analog dazu, erhalten wir die zweite Zustandsgleichung. 1 1 1 · MJ M = (M − MRb ) = (Ψ · i − Rb · ω) JM JM JM 1 x˙ 2 = (Ψ · x1 − Rb · x2 ) JM x˙ 2 =

Zustandsraumdarstellung Die Zustandsraumdarstellung erhalten wir, indem wir zusätzlich zu den Zustandsgleichungen eine Ausgangsvariable y definieren. Wir wählen die Winkel-

184

5. Die Theorie der Bondgraphen

geschwindigkeit ω als Ausgangsvariable, d.h. y = ω = x2 . 

x˙ 1







=

x˙ 2

− LΨa

Ψ JM

− JRMb 

y=



 

a −R La

0 1



·

·

x1

x1





+

x2

1 La

 ·u

0

 

x2

5.5.5. Beispiel: Mechanisches System Im System in Abb. 5.88 wirkt ein Moment T auf eine Umlenkrolle mit Trägheit J. Dadurch wird die Masse m1 in Bewegung versetzt. Die horizontale Bewegung wird durch eine weitere Umlenkrolle, deren Trägheit vernachlässigt wird, in eine vertikale Bewegung umgewandelt. Zusätzlich werden die Seile zwischen den mechanischen Komponenten als elastisch angenommen. Dies wird durch zwei Federn mit der Steifigkeit k modelliert.

k

T

m1

J

k

b

m2 Abb. 5.88.: Ein mechanisches System

Es sollen folgende Schritte durchgeführt werden: (1) Erstellen des akausalen Bondgraphen (2) Kausalisieren des Bondgraphen (3) Aufstellen der Gleichungen (4) Erstellen der Zustandsraumdarstellung

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

185

(1) Erstellen des akausalen Bondgraphen Für das Moment T wird eine Potentialquelle Se herangezogen. Dieses Moment wirkt direkt auf die Trägheit J, die sich dadurch mit der Winkelgeschwindigkeit ω zu bewegen beginnt. Se und J müssen daher beide an eine 1-Junction angeschlossen werden. Durch die Umlenkrolle wird die rotatorische in eine translatorische Bewegung umgewandelt. In der Bondgraphen-Notation wird dies durch einen Transformator T F beschrieben, wobei das Übersetzungsverhältnis m dem Radius der Umlenkrolle entspricht. Das elastische Seil, repräsentiert durch eine Feder, wird mit einem C-Element modelliert, das an eine 0-Junction angeschlossen werden muss, um die auftretende Geschwindigkeitsdifferenz abzubilden. Die Masse m1 , dargestellt durch ein I-Element, wird an eine 1-Junction angeschlossen, welche sicherstellt, dass die Summe der Kräfte gleich Null ist. Da die Umlenkrolle, die sich rechts von der Masse m1 befindet, als ideal angenommen wurde (Trägheit und mögliche Reibungseffekte wurden vernachlässigt), muss an dieser Stelle nichts gemacht werden. Die Umlenkrolle soll lediglich darauf hinweisen, dass die horizontale in eine vertikale Bewegung umgewandelt wird und damit die Schwerkraft berücksichtigt werden muss. Zwischen den Massen m1 und m2 befindet sich ebenfalls ein Seil, das analog zum ersten Seil modelliert wird. Die Masse m2 wird an eine weiter 1-Junction angeschlossen, an die zusätzlich eine Potentialquelle zur Darstellung der Schwerkraft angeschlossen werden muss. Die Reibung, die zwischen Wand und Masse auftritt, wird durch ein R-Element, das direkt die 1-Junction angeschlossen wird, beschrieben. Schlussendlich erhalten wir den in Abb. 5.89 dargestellten akausalen Bondgraphen.

T ω

1

T1 ω

TF m

Fk1 v1

0

Fk1 v2

1

I:m2

Fk2 Δv2

Fm1 v2

Fk1 Δv1

TJ ω

Se

C:1/k

I:m1

Fk2 v2

0

Fm2 v3

C:1/k

I:J

Fk2 v3

1 Fb v3

R:b Abb. 5.89.: Akausaler Bondgraph des mechanischen Systems

(2) Kausalisieren des Bondgraphen Der kausalisierte Bondgraph ist in Abb. 5.90 dargestellt.

Fg v3

Se

5. Die Theorie der Bondgraphen

C:1/k

T ω

1

T1 ω

TF m

Fk1 v1

0

Fk1 v2

1

I:m2

Fk2 Δv2

Fm1 v2

TJ ω

Se

C:1/k

I:m1

Fk1 Δv1

I:J

Fk2 v2

0

Fm2 v3

186

Fk2 v3

1

Fg v3

Se

Fb v3

R:b Abb. 5.90.: Kausalisierter Bondgraph des mechanischen Systems (3) Aufstellen der Gleichungen Analog zum vorherigen Beispiel werden wir auch hier die Gleichungen aus dem Bondgraphen extrahieren (siehe Tab. 5.9). (4) Aufstellen der Zustandsraumdarstellung 1 1 1 1 · TJ = (T − T1 ) = (u1 − m · Fk1 ) = (u1 − m · x2 ) J J J J 1 x˙ 1 = (u1 − r · x2 ) J

x˙ 1 =

Wobei m = r (Radius der Umlenkrolle). x˙ 2 = k · ∆v1 = k (v1 − v2 ) = k (r · ω − x3 ) = k (r · x1 − x3 ) x˙ 2 = k (r · x1 − x3 )

x˙ 3 =

1 1 1 · Fm1 = (Fk1 − Fk2 ) = (x2 − x4 ) m1 m1 m1

x˙ 4 = k · ∆v2 = k (v2 − v3 ) = k (x3 − x5 ) 1 1 1 · Fm2 = (Fk2 + Fg − Fb ) = (x4 + u2 − b · v3 ) m2 m2 m2 1 x˙ 5 = (x4 + u2 − b · x5 ) m2

x˙ 5 =

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

Element

Akausal

Kausal

Se

T = u1

T := u1

1 I:J

T − TJ − T1 = 0 R ω = J1 TJ · dt

TJ := T − T1 R ω := J1 TJ · dt ≡ x1

TF

T1 = m · Fk1

T1 := m · Fk1

v1 = m · ω

v1 := m · ω

0 C : 1/k 1 I : m1 0 C : 1/k

v1 − ∆v1 − v2 = 0 R Fk1 = k ∆v1 · dt Fk1 − Fm1 − Fk2 = 0 R v2 = m11 Fm1 · dt v2 − ∆v2 − v3 = 0 R Fk2 = k ∆v2 · dt

Fk1

∆v1 := v1 − v2 R := k ∆v1 · dt ≡ x2

Fm1 := Fk1 − Fk2 R v2 := m11 Fm1 · dt ≡ x3

Fk2

∆v2 := v2 − v3 R := k ∆v2 · dt ≡ x4

I : m2

Fk2 − Fm2 + Fg − Fb = 0 R v3 = m12 Fm2 · dt

Fm2 := Fk2 + Fg − Fb R v3 := m12 Fm2 · dt ≡ x5

R:b

Fb = b · v 3

Fb := b · v3

Se

Fg = −m2 · g = u2

Fg := u2

1

187

Tab. 5.9.: Akausale und kausale Gleichungen des mechanischen Systems

188

5. Die Theorie der Bondgraphen

Zum Schluss können wir die Zustandsgleichungen in Vektor-Matrix Form darstellen. Für die Zustandsraumdarstellung muss noch definiert werden, welche Variablen als Ausgänge fungieren. Wählen wir die Winkelgeschwindigkeit ω und die Geschwindigkeit v3 der Masse m2 : y1 = ω = x1 und y2 = v3 = x5 .

       

x˙ 1 x˙ 2 x˙ 3 x˙ 4 x˙ 5





      =       

− Jr 0

0 k·r 0 0 0 1

 J  0  +  0   0 0

1 m1

0 0 0 0 1 m2

0 0     ·   

0 −k 0 k 0

0 0 − m11 0 1 m2

u1 u2

! =

1 0 0 0 0 0 0 0 0 1

        ·      

x1 x2 x3 x4 x5

    +   

!

 y1 y2

0 0 0 −k − mb2

!    ·   

x1 x2 x3 x4 x5

       

5.5.6. Beispiele zu hydraulisch-mechanischen Systemen Hydraulischer Kolben Im ersten Beispiel soll der in Abb. 5.79 auf Seite 178 dargestellte ideale (masselose) hydraulische Kolben etwas realistischer beschrieben werden. Der Bondgraph des idealen hydraulischen Kolbens entspricht einem TF-Element, das in Abb. 5.78 auf Seite 177 dargestellt ist. Wirkt die Kraft dabei sowie in Abb. 5.79 auf Seite 178 eingezeichnet, so erhalten wir den in Abb. 5.91 abgebildeten Bondgraphen. Im ersten Schritt soll die Masse des Kolbens berücksichtigt werden. Dazu wird links des TF-Elements eine 1-Junction eingefügt, an welche ein I-Element zur Beschreibung der Masse angeschlossen wird. Bei einem realen hydraulischen Kolben sind die Zusammenhänge zwischen den mechanischen und hydraulischen

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

Se

F v

TF A

189

p q

Abb. 5.91.: Bondgraph eines idealen (masselosen) hydraulischen Kolbens Größen jedoch ein wenig komplexer. Am Kolbenring, der am Kolben befestigt ist und als Dichtelement fungiert, treten zwei unerwünschte Effekte auf: • Durch die Bewegung des Kolbens entsteht mechanische Reibung zwischen dem Kolbenring und dem Zylinder. • Auf der hydraulischen Seite gelangt, aufgrund des vorherrschenden Drucks und der bewegten Flüssigkeit, etwas Flüssigkeit am Kolbenring vorbei (Leckage). Die mechanische Reibung wird durch ein R-Element, das an die 1-Junction links vom TF-Element angeschlossen wird, beschrieben. Durch die 1-Junction wird sichergestellt, dass die Reibung zwischen den Materialien und die Masse dieselbe Geschwindigkeit erfahren. Die Leckage wird durch eine 0-Junction, an die ein R-Element angeschlossen wird, beschrieben. Dadurch wird sichergestellt, dass im Zylinder überall derselbe Druck herrscht, jedoch etwas Flüssigkeit „verloren“ geht. Zur Beschreibung der Kompressibilität der Flüssigkeit wird abschließend ein C-Element an die 0-Junction angeschlossen. Dabei wird die Kompressibilität anhand des Kompressionsmoduls beschrieben: K p= V0

Zt 0

1 q · dt + p0 = Ck

Zt q · dt + p0

(5.84)

0

mit K . . . Kompressionsmodul in Pa bzw. N/m2 V0 . . . Nominelles Volumen in m3 p0 . . . Gleichgewichtsdruck in Pa bzw. N/m2 Der Bondgraph des hydraulischen Kolbens ist in Abb. 5.92 dargestellt. Hydraulischer Differentialzylinder Im nächsten Beispiel soll der Bondgraph des in Abb. 5.93 dargestellten hydraulischen Differentialzylinders erstellt werden. In einem Hydraulikzylinder wird die Energie aus der Flüssigkeit in eine translatorische Kraft umgewandelt, welche den Kolben bewegt. Die Flüssigkeit wird in der Regel von einer

190

5. Die Theorie der Bondgraphen

R:Rl

Se

F v

p ql

Fb v

R:b

Fp v

1

TF A

p q

0

Fm v

p qk

I:mp

C:Ck

p qout

Abb. 5.92.: Bondgraph des hydraulischen Kolbens Hydraulikpumpe in Bewegung versetzt. Steuerventile werden verwendet, um die Flussrichtung und damit die Bewegungsrichtung des Kolbens vorzugeben. Ein typisches Einsatzgebiet für Hydraulikzylinder sind Baumaschinen, wie etwa ein Kran.

A2 -A1

A1

v p1 q1

A2

p2

q2

Abb. 5.93.: Schema eines Differentialzylinders

Der zu erstellende Bondgraph, des in Abb. 5.93 dargestellten Hydraulikzylinders, lässt sich relativ gut aus dem Bondgraphen in Abb. 5.92 ableiten. Der mechanische Teil ist identisch mit der Ausnahme, dass dieser nicht mit einer Kraft beaufschlagt wird. Der hydraulische Fluss q1 wird durch eine Flussquelle beschrieben. Der Fluss q1 gelangt in den linken Teil des Zylinders mit dem Druck p1 und bewegt den Kolben nach rechts. Da der Druck p1 überall gleich groß ist und der Fluss sich auf Grund der Leckage und der Kompressibilität der Flüssigkeit ändert, wird die Flussquelle sowie ein C-Element an eine 0-Junction angeschlossen. Die Kolbenbewegung wird durch den Fluss verursacht und mit einem TF-Element modelliert. Dadurch wird die Flüssigkeit auf der rechten Seite

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

191

ebenfalls in Bewegung verletzt, es ergibt sich der Fluss q2 . Wie für den linken Teil des Zylinders, wird auch auf der rechten Seite eine 0-Junction verwendet, an die das C-Element sowie das TF-Element angeschlossen werden. Die Leckage zwischen Zylindergehäuse und Kolbenring wird durch eine 1-Junction, an die ein R-Element angeschlossen wird, beschrieben. Diese 0-Junction wird nun mit den beiden 0-Junctions verbunden. Der Bondgraph des Hydraulikzylinders ist in Abb. 5.94 veranschaulicht.

Δp ql

R:R4

Sf

p1 q

0

p1 q1

TF

A2-A1

p1 ql

1

p2 ql

F1 v

1

F2 v

A2

p2 q2

R:

b

0 p2 q k2

Fm v

Fb v

p1 q k1

C:Ck1

TF

I:m

p

C:Ck2

Abb. 5.94.: Bondgraph des hydraulischen Differentialzylinders

Ein einfaches hydraulisch-mechanisches System Als letztes Beispiel wird ein hydraulisch-mechanisches System (siehe Abb. 5.95) modelliert. Eine Kraft F wirkt auf einen hydraulischen Kolben mit der Masse m1 . Diese Kraft erzeugt den Volumenstrom q1 . Ein Teil der Flüssigkeit wird in einem Tank gespeichert, während die restliche Flüssigkeit in Richtung des (masselosen) hydraulischen Kolbens fließt. Folglich wird die Last m2 in Bewegung versetzt. Reibungseffekte am hydraulischen Kolben, Leckagen sowie die Kompressibilität der Flüssigkeit (siehe Abschnitt 5.5.6 auf Seite 188) werden vernachlässigt. Es sollen folgende Schritte durchgeführt werden: (a) Erstellen des akausalen Bondgraphen (b) Kausalisieren des Bondgraphen

192

5. Die Theorie der Bondgraphen

A2 v1

A1

Δq

q1

F

A1 q2

v2

m2

m1

b

Abb. 5.95.: Ein einfaches hydraulisch-mechanisches System

(c) Erstellen der Zustandsraumdarstellung. Druck p sowie die Geschwindigkeit v2 sind dabei als Ausgangsvariablen zu wählen.

(a) Erstellen des akausalen Bondgraphen Die Kraft F wird anhand eines Se-Elements abgebildet. Die Masse m1 (IElement) sowie das Se-Element werden an eine 1-Junction angeschlossen, welche garantiert, dass die Summe der Kräfte gleich Null ist. Aufgrund der Kraft F wird der hydraulische Kolben in Bewegung versetzt, wodurch der Volumenstrom q1 hervorgerufen wird. Dies wird durch ein TF-Element abgebildet, wobei für die Übersetzung m die Fläche A1 in geeigneter Weise einzusetzen ist. Die Aufteilung des Volumenstroms in ∆q und q2 wird anhand einer 0-Junction modelliert, die zusätzlich sicherstellt, dass im gesamten hydraulischen System überall derselbe Druck herrscht. Der gespeicherte Volumenstrom ∆q wird durch ein C-Element beschrieben, welches an die 0-Junction angeschlossen wird. Der Volumenstrom q2 , der auf den hydraulischen Kolben mit der Fläche A1 wirkt, bewegt diesen mit der Geschwindigkeit v2 . Dazu wird ein weiteres TF-Element herangezogen, wobei für die Übersetzung n die Fläche A1 wiederum in geeigneter Weise einzusetzen ist. Die Last m2 (I-Element) sowie die Reibung b (R-Element) werden an eine 1-Junction angeschlossen, da beide Elemente dieselbe Geschwindigkeit erfahren. Der Bondgraph des hydraulisch-mechanischen Systems ist in Abb. 5.96 dargestellt.

(b) Kausalisieren des Bondgraphen Der kausalisierte Bondgraph ist in Abb. 5.97 veranschaulicht.

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

I:m1

C:Cf

F v1

1

I:m2

F1 v1

TF m

p q1

0

Fm2 v2

p Δq

Fm1 v1

Se

193

p q2

TF n

F2 v2

1

Fb v2

R:b

Abb. 5.96.: Akausaler Bondgraph des hydraulisch-mechanischen Systems

I:m1

F v1

1

F1 v1

TF m

p q1

0

Fm2 v2

p Δq

Fm1 v1

Se

I:m2

C:Cf

p q2

TF n

F2 v2

1

Fb v2

R:b

Abb. 5.97.: Kausaler Bondgraph des hydraulisch-mechanischen Systems (c) Erstellen der Zustandsraumdarstellung Die akausalen und kausalen Gleichungen, die aus dem Bondgraphen extrahiert wurden, sind in Tab. 5.10 abgebildet. Im nächsten Schritt werden die Zustandsgleichungen erstellt. 1 1 1 · Fm1 = (F − F1 ) = (u − m · p) m1 m1 m1 1 x˙ 1 = (u − A1 · x2 ) m1

x˙ 1 =

wobei für das Übersetzungsverhältnis m des TF-Elements die Querschnittfläche A1 eingesetzt wurde.   1 1 1 1 · ∆q = (q1 − q2 ) = m · v1 − · v2 x˙ 2 = Cf Cf Cf n 1 x˙ 2 = (A1 · x1 − A1 · x3 ) Cf wobei Cf = A2 /(ρ · g), m = A1 und 1/n = A1 . 1 1 1 · Fm2 = (F2 − Fb ) = m2 m2 m2 1 x˙ 3 = (A1 · x2 − b · x3 ) m2

x˙ 3 =



1 · p − b · v2 n



194

5. Die Theorie der Bondgraphen

Element

Akausal

Kausal

Se

F =u

F := u

1 I : m1

F − Fm1 − F1 = 0 R v1 = m11 Fm1 · dt

Fm1 := F − F1 R v1 := m11 Fm1 · dt ≡ x1

TF

F1 = m · p

F1 := m · p

q 1 = m · v1

q1 := m · v1

C : Cf

q1 − ∆q − q2 = 0 R p = C1f ∆q · dt

∆q := q1 − q2 R p := C1f ∆q · dt ≡ x2

TF

p = n · F2

F2 :=

v2 = n · q2

q2 :=

0

1 n 1 n

·p · v2

I : m2

F2 − Fm2 − Fb = 0 R v2 = m12 Fm2 · dt

Fm2 := F2 − Fb R v2 := m12 Fm2 · dt ≡ x3

R:b

Fb = b · v 2

Fb := b · v2

1

Tab. 5.10.: Akausale und kausale Gleichungen des hydraulisch-mechanischen Systems wobei 1/n = A1 . Im letzten Schritt werden die Zustandsgleichungen in Vektor-Matrix Schreibweise dargestellt. Für die Ausgangsgleichungen wählen wir y1 = p = x2 und y2 = v2 = x 3 .



x˙ 1





0

      A1  x˙ 2  =  C    f x˙ 3 0 

y1

 y2





=

A1 −m 1

0

0

A1 −C f

A1 Cf

0

1

0

0

− mb2   x  1 0   ·  x2  1 x3

 

x1





1 m1



           ·  x2  +  0  · u      x3 0     

5.5. Weitere Bondgraph-Elemente: Energieumwandlung

195

Haft- und Gleitreibung Im letzten Beispiel fällt auf, dass die Reibung der Masse m2 mit dem Untergrund anhand der proportionalen Beziehung Fb = b · v, analog zur Reibung in einem Dämpfer, modelliert wurde. Diese Betrachtung ist genau genommen unzulässig, da es sich bei der Reibung eines Körpers mit dessen Untergrund immer um Trockenreibung handelt. Wirkt eine Kraft auf einen stillstehenden Körper (v = 0), so muss zuerst eine Haftreibung Fh überwunden werden. Ist diese erreicht, setzt grob gesagt eine Gleitreibungsphase Fc ein. Dies ist in Abb. 5.98

F(v)

Fc=Fh. sign(v)

Fh

Fb =b .v

v

-Fh

Abb. 5.98.: Darstellung von Haft- und Gleitreibung (rote Kurve) sowie der zur Geschwindigkeit v proportionalen Reibung Fb dargestellt und kann mathematisch mit Hilfe der Signumfunktion wie folgt ausgedrückt werden: Fc = Fh · sign(v)

(5.85)

In Realität ist die Abbildung von Reibungseffekte weitaus komplexer und kann mit keiner der in Abb. 5.98 dargestellten Beschreibungen abgebildet werden. Aus Beobachtungen ist bekannt, dass die Kraft zur Überwindung der Haftreibung größer ist, als die Kraft, die benötigt wird, wenn der Körper die Haftreibungsgrenze verlässt und der Übergang zur Gleitreibung erfolgt (siehe [KMR12], Abschnitt 8.1). Dieses Phänomen wurde u.a. von Stribeck entdeckt und ist als Stribeck-Effekt bekannt. Komplexere dynamische Modelle, wie etwa das Lund-Grenoble Modell (kurz, LuGre-Modell) sind in [Hac15] beschrieben.

196

5. Die Theorie der Bondgraphen

5.6. Kausale Pfade Kausale Pfade stellen eine alternative Möglichkeit dar, um sehr einfach und strukturiert zur Zustandsraumdarstellung zu gelangen. Bisher wurden immer alle akausalen Gleichungen aus dem akausalen Bondgraphen extrahiert und anhand des kausalen Bondgraphen im nächsten Schritt kausalisiert. Anhand der kausalen Gleichungen wurde dann systematisch die Zustandsraumdarstellung erstellt (siehe Abschnitt 5.4.6 ab Seite 172 bzw. Abschnitt 5.5.4 auf Seite 180). Um nicht alle akausalen Gleichungen aus dem Bondgraphen extrahieren zu müssen, kann man sogenannten kausalen Pfaden folgen. Durch diesen Schritt werden die unbekannten Größen sukzessive durch bekannte Größen ersetzt. Wird dies für jede Gleichung, die ein energiespeicherndes Element beschreibt, durchgeführt, gelangt man so sehr strukturiert zur Zustandsraumdarstellung. Dies wird anhand des Beispiels aus Abschnitt 5.5.4 demonstriert, welches in Abb. 5.85 auf Seite 181 dargestellt ist.

5.6.1. Beispiel: Permanenterregter Gleichstrommotor Zur besseren Übersicht ist der kausale Bondgraph nochmals in Abb. 5.99 veranschaulicht. Um nun die dazugehörige Zustandsraumdarstellung zu erhalten,

R:Rb

uRa i

MRb ω

R:Ra

Se

u i

1

GY Ψ

M ω

Ubemf = Ψ·ω M = Ψ·i

1 MJM ω

uLa i

I:La

Ubemf i

I:JM

Abb. 5.99.: Kausaler Bondgraph des DC-Motors mit Ankerinduktivität La , Kupferverlusten Ra , Trägheit des Rotors JM und Lagerreibung Rb benötigen wir die Gleichungen, welche die energiespeichernden Elemente be-

5.6. Kausale Pfade

197

schreiben. 1 i= La

Zt uLa · dt = x1

(5.86)

0

1 ω= JM

Zt MJM · dt = x2

(5.87)

0

Starten wir mit Gleichung (5.86), die die Ankerinduktivität beschreibt. Durch Bilden der zeitlichen Ableitung erhalten wir: x˙ 1 =

1 · uLa La

(5.88)

Nun werden die Unbekannten auf der rechten Seite des Gleichheitszeichens so lange substituiert, bis nur noch bekannte Größen, sprich Zustandsvariablen und Eingangsgrößen vorhanden sind. Prinzipiell werden genau dieselben Schritte durchgeführt wie bisher, nur wird diesmal ein anderer Lösungsweg verwendet. Analysieren wir die Erstellung der ersten Zustandsgleichung, welche aus Gleichung (5.88) – durch Substitution der Unbekannten – erstellt wird, nun anhand des Bondgraphen. Dafür zeichnen wir im ersten Schritt für jeden Bond explizit dessen Ein- und Ausgangsgröße ein (siehe Abb. 5.100). Im nächsten Schritt gilt es uLa zu substituieren. Anhand der akausalen Gleichung u−uRa −ubemf −uLa = 0 und der eingezeichneten Pfeilrichtungen ist ersichtlich, dass uLa die Ausgangsspannung der 1-Junction darstellt. Mit anderen Worten ist uLa die unbekannte Größe, die aus der akausalen Gleichung berechnet wird. Wir erhalten: x˙ 1 =

1 · (u − uRa − ubemf ) La

(5.89)

Dieser Schritt ist noch gut nachvollziehbar und konnte zudem ohne kausale Pfade gelöst werden. Zur Erinnerung: Die 1-Junction ist eine grafische Darstellung der Kirchhoff’schen Knotenregel. Im nächsten Schritt ersetzen wir die Spannung uRa durch den algebraischen Ausdruck i · Ra . Für die induzierte Spannung ubemf ist dieser Schritt allerdings nicht mehr so trivial. Unter Betrachtung des in Abb. 5.101 eingezeichneten kausalen Pfades wird jedoch sehr gut ersichtlich wie ubemf substituiert werden muss, um die vollständige Zustandsgleichung zu erhalten. Folgt man dem kausalen Pfad, so wird ubemf zuerst durch Ψ · ω substituiert. Da die Variable ω zum einen eine Flussvariable einer 1-Junction und zum anderen eine Zustandsvariable

198

5. Die Theorie der Bondgraphen

R:Rb

uRa i

MRb ω

R:Ra

Se

u i

1

Ubemf i

GY Ψ

M ω

1

uLa i = x1

MJM ω = x2

I:La

I:JM

Abb. 5.100.: Kausaler Bondgraph des DC-Motors: Signalflussrichtungen der Variablen sind durch Pfeile dargestellt

R:Rb

uRa i

MRb ω

R:Ra

Se

u i

1

Ubemf i

GY Ψ

M ω

1

uLa i = x1

MJM ω = x2

I:La

I:JM

Abb. 5.101.: Kausaler Bondgraph des DC-Motors: Visualisierung des kausalen Pfades, um die induzierte Spannung durch eine Zustandsvariable auszudrücken

5.6. Kausale Pfade

199

ist, sind wir am Ende des kausalen Pfades angelangt und erhalten folgende Zustandsgleichung: 1 1 · (u − i · Ra − Ψ · ω) = · (u − x1 · Ra − Ψ · x2 ) (5.90) x˙ 1 = La La Nun kann die zweite Zustandsgleichung ermittelt werden. Dazu bilden wir die zeitliche Ableitung von Gleichung (5.87). 1 1 · MJM = · (M − MRb ) (5.91) x˙ 2 = JM JM Der zweite Term auf der rechten Seite des Gleichheitszeichens wird durch den algebraischen Ausdruck Rb ·ω ersetzt. Für den ersten Term müssen wir wiederum dem kausalen Pfad im Bondgraph folgen (siehe Abb. 5.102).

R:Rb

uRa i

MRb ω

R:Ra

Se

u i

1

Ubemf i

GY Ψ

M ω

1

uLa i = x1

MJM ω = x2

I:La

I:JM

Abb. 5.102.: Kausaler Bondgraph des DC-Motors: Visualisierung des kausalen Pfades, um das Moment welches auf den Rotor wirkt durch eine Zustandsvariable auszudrücken Es ist sofort ersichtlich, dass das Moment M durch den Ausdruck Ψ · i zu ersetzen ist. Wir erhalten: 1 · (Ψ · i − Rb · ω) (5.92) x˙ 2 = JM Um die zweite Zustandsgleichung zu erhalten, werden die Zustandsgrößen i und ω durch x1 und x2 ersetzt. 1 · (Ψ · x1 − Rb · x2 ) (5.93) x˙ 2 = JM

200

5. Die Theorie der Bondgraphen

5.7. Das Dualitätsprinzip – Duale Bondgraphen Es existiert zu jedem Bondgraphen ein sogenannter dualer Bondgraph. Es ist immer möglich einen Bondgraphen in sein duales Äquivalent umzuwandeln, indem alle Potential- und Flussvariablen vertauscht werden. Wenn ein Bondgraph in sein duales Äquivalent umgewandelt wird, ist Folgendes zu beachten: • Flussquellen werden in Potentialquellen umgewandelt, Kapazitäten werden zu Induktivitäten, Widerstände zu Leitwerten und umgekehrt. • Transformatoren und Gyratoren ändern sich nicht, aber deren Übersetzungsverhältnisse werden invertiert. • Ein 1-Junction wird zu einer 0-Junction und umgekehrt. • Die Kausalitätsbalken wechseln die Seite des Bonds Im Folgenden werden zwei Beispiele vorgestellt, die das Prinzip dualer Bondgraphen erläutern. Das erste Beispiel ist die Dualisierung einer kompletten elektrischen Schaltung. Im darauf folgenden Beispiel soll lediglich die Induktivität der Schaltung dualisiert werden. Abb. 5.103 veranschaulicht den kausalen Bondgraphen einer elektrischen Schaltung sowie den dazugehörigen dualen Bondgraphen.

I:L

0

u i1

C:C

1

i1 u

0

0

uC i2

R:R2

i2 uC

R:1/R2

I:L

i1 u1

iL i

u

uC i1

R:1/R1

u

Sf

1

iC uC

u i

uC iC

u1 i1

u iL

Se

C:C

R:R1

i1 uC

1

Abb. 5.103.: Duale Bondgraphen. Oben: Kausaler Bondgraph einer elektrischen Schaltung. Unten: Dazugehöriger dualer Bondgraph

5.8. Kausalitätskonflikte in Bondgraphen

201

Teilweise ist es erforderlich, nur bestimmte Teile eines Modells zu dualisieren. Im Folgenden wird die Kapazität C durch ihr duales Äquivalent ersetzt. Nachdem jetzt nur für dieses Element die Potential- und die Flussvariable vertauscht werden müssen, benötigen wir ein weiteres Element, welches diesen Schritt ermöglicht. Hierfür eignet sich ein Gyrator mit einem Übersetzungsverhältnis von r = 1. Der daraus resultierende Bondgraph ist in Abb. 5.104 dargestellt.

iC uC

I:L

I:L

u i

0

uC iC

u1 i1

u iL

Se

GY r=1

R:R1

u i1

1

uC i1

0

uC i2

R:R2

Abb. 5.104.: Duale Bondgraphen. Bondgraph einer elektrischen Schaltung in der lediglich die Kapazität C durch ihr duales Pendant ersetzt wurde

5.8. Kausalitätskonflikte in Bondgraphen Nicht immer verläuft der Prozess der Kausalisierung von Bondgraphen so reibungslos wie bisher. Oft kommt es vor, dass sogenannte Kausalitätskonflikte auftreten, welche entweder eine korrekte Platzierung des Kausalitätsbalkens nicht gestatten oder bei der an einem R-Element frei gewählt werden kann, an welcher Stelle sich der Kausalitätsbalken befindet.

5.8.1. Einblicke in das Modell mittels kausaler Analyse Bevor wir mit einem konkreten Beispiel beginnen, sollten wir uns jedoch noch ein paar Gedanken über die kausale Analyse mathematischer Modelle physikalischer Systeme machen. Dazu wird die Anleitung zum Kausalisieren von Bondgraphen, welche in Abschnitt 5.4.4 auf Seite 169 vorgestellt wurde, herangezogen.

202

5. Die Theorie der Bondgraphen

Es soll im Folgenden diskutiert werden, welche Art von Konflikten beim Kausalisieren von Bondgraphen auftreten können. • Tritt bereits bei Schritt (1) ein Konflikt auf, so wurden zu viele aktive Elemente verwendet. Es werden z.B. zwei Spannungsquellen parallel geschaltet, sprich zwei Potentialquellen an eine 0-Junction angeschlossen. Da an einer 0-Junction nur ein Element für das Potential verantwortlich sein kann, sprich dieses produziert, tritt ein Konflikt auf. Das Modell ist nicht korrekt und muss geändert (modifiziert) werden. • Tritt ein Konflikt beim Kausalisieren der energiespeichernden Elemente, also nach Schritt (2.1) auf, so spricht man von einer strukturellen Singularität. Es handelt sich um ein sogenanntes abhängiges Element, bei welchem die Anfangsbedingung daher nicht unabhängig gewählt werden kann, d.h. zusätzlich von einer anderen Anfangsbedingung abhängt. Dieses Thema wird ausführlich in Abschnitt 5.8.3 ab Seite 209 behandelt. Oft treten solche Kausalitätskonflikte auf, wenn Vereinfachungen im Modell getroffen werden. Seile werden beispielsweise als steif modelliert. Dadurch reduziert sich die Ordnung des Systems, d.h. es wird auf eine Differentialgleichung verzichtet, welche die Elastizität des Seils beschreibt. • Die Kausalität der Widerstände ergibt sich in den meisten Fällen automatisch aufgrund der Topologie (siehe Schritt (2.2)). Sobald Schritt (3) erforderlich ist, die Kausalität des R-Elements also frei wählbar ist, handelt es sich um eine algebraische Schleife (siehe Abschnitt 5.8.2). In den folgenden Abschnitten wird gezeigt, wie Kausalitätskonflikte gehandhabt werden. Durch das Kausalisieren des Bondgraphen können bereits zu einem frühen Zeitpunkt Modellannahmen identifiziert werden, die zu Konflikten führen. Natürlich funktioniert dies auch ohne Bondgraphen anhand der Gleichungen die das System beschreiben. Dieses Thema wird in Abschnitt 6.5 ausführlich behandelt. Hier werden Algorithmen vorgestellt, um die Gleichungen zu kausalisieren, sodass die Zustandsraumdarstellung erstellt werden kann. Ferner wird gezeigt, wie algebraische Schleifen und strukturelle Singularitäten anhand diverser Algorithmen eliminiert werden. Sobald algebraische Schleifen oder strukturelle Singularitäten jedoch von Hand eliminiert werden, ist dieser Schritt sehr aufwändig und fehlerbehaftet.

5.8.2. Algebraische Schleifen in Bondgraphen Abb. 5.105 zeigt eine elektrische Schaltung, welche eine algebraische Schleife beinhaltet.

5.8. Kausalitätskonflikte in Bondgraphen

i

R1

i2

203

R2

iL

C

L

u

uC

Abb. 5.105.: Elektrische Schaltung welche eine algebraische Schleife aufweist Was das genau bedeutet, wird anhand des dazugehörigen Bondgraphen verdeutlicht, welcher in Abb. 5.106 dargestellt ist.

Se

u i

1

uL i

0

uL i2

1

uR1 i

uL iL

uR2 i2

R:R1

I:L

R:R2

uC i2

C:C

Abb. 5.106.: Akausaler Bondgraph der elektrischen Schaltung, welche eine algebraische Schleife aufweist Kausalisieren wir den Bondgraphen nun wiederum Schritt für Schritt. Wir starten mit der Kausalisierung der Spannungsquelle. Anschließend kausalisieren wir die energiespeichernden Elemente. Nach den ersten zwei Schritten erhalten wir den in Abb. 5.107 dargestellten Bondgraphen. Bisher gab es keinerlei Probleme bei der Kausalisierung des Bondgraphen. Im nächsten Schritt werden die Kausalitätsbalken der Verzweigungen eingezeichnet. Dazu bedarf es einer kurzen Diskussion: Beide 1-Junctions besitzen schon einen Kausalitätsbalken. Da jede der beiden 1-Junctions drei Bonds miteinander verknüpft, muss jeweils noch ein weiterer Kausalitätsbalken innerhalb der Verzweigung sein. Da aber auch an beiden 1-Junctions ein Widerstand ist, kann dort der Kausalitätsbalken jeweils an beiden Seiten eingezeichnet werden. Wir haben demnach freie Wahl. Sobald wir an einem Widerstand (R-Element) frei wählen können, wo sich der Kausalitätsbalken befindet, wissen wir sofort, dass es sich um eine algebraische Schleife handelt. In unserem Fall ist die Lösung dieses Problems recht einfach in den Griff zu bekommen. Da wir frei wählen

204

Se

5. Die Theorie der Bondgraphen

u i

1

uL i

0

uL i2

1

uR1 i

uL iL

uR2 i2

R:R1

I:L

R:R2

uC i2

C:C

Abb. 5.107.: Teilweise kausalisierter Bondgraph der elektrischen Schaltung, welche eine algebraische Schleife aufweist können, wo sich der Kausalitätsbalken der Widerstände befinden soll, starten wir entweder mit der Kausalisierung von R1 oder aber mit R2 . Mit anderen Worten: Wir zeichnen den Kausalitätsbalken des Widerstands R1 beliebig ein. Je nachdem, wo wir den Kausalitätsbalken einzeichnen, erhalten wir unterschiedlich kausalisierte Bondgraphen. Wir zeichnen den Kausalitätsbalken im ersten Schritt innerhalb der linken 1-Junction ein und erhalten folgenden Bondgraphen (Abb. 5.108).

Se

u i

uL i

0

uL i2

1

uR1 i

uL iL

uR2 i2

Wahl

1

R:R1

I:L

R:R2

uC i2

C:C

Abb. 5.108.: Teilweise kausalisierter Bondgraph der elektrischen Schaltung, die eine algebraische Schleife aufweist

Was bedeutet dieser Schritt mathematisch? Die implizite Gleichung uR1 − i · R1 = 0

(5.94)

wurde damit kausalisiert. Wir haben angenommen, dass uR1 zu berechnen ist, sprich der Strom i bekannt ist. Daher wird die Gleichung (5.94) zu folgender

5.8. Kausalitätskonflikte in Bondgraphen

205

Zuweisung: uR1 := i · R1

(5.95)

In Kapitel 8, Abschnitt 6.5.2 auf Seite 388 wird dieser Schritt als „tearing“ bezeichnet. Die restlichen Kausalitätsbalken ergeben sich nun automatisch. Da die linke 1-Junction jetzt 2 Kausalitätsbalken besitzt (n − 1 = 3 − 1 = 2), muss der Kausalitätsbalken des letzten Bonds auf der anderen Seite angebracht werden. Damit ist die Kausalität der 0-Junctions ebenfalls definiert. Im selben Zug ist nun auch klar, dass der Bond, welcher sich zwischen der 0-Junction und der rechten 1-Junction befindet, den Kausalitätsbalken auf der rechten Seite haben muss. Da die rechte 1-Junction keine Kausalitätsbalken mehr benötigt, wird dieser auf der unteren Seite des Widerstands R2 eingezeichnet. Der vollständig kausalisierte Bondgraph ist in (Abb. 5.109) dargestellt.

Se

u i

1

uL i

0

uL i2

1

uR1 i

uL iL

uR2 i2

R:R1

I:L

R:R2

uC i2

C:C

Abb. 5.109.: Kausalisierter Bondgraph der elektrischen Schaltung, die eine algebraische Schleife aufweist Wie schon erwähnt, gibt es eine weitere Möglichkeit den Bondgraphen zu kausalisieren, indem der Kausalitätsbalken des Widerstands R1 nicht innerhalb der linken 1-Junction, sondern auf der Seite des Widerstands selbst angebracht wird (siehe Abb. 5.110). Um zur Zustandsraumdarstellung zu gelangen, gibt es demnach zwei verschiedene Möglichkeiten. Für die Erstellung des Zustandsraums wird daher der Bondgraph aus Abb. 5.110 herangezogen. Im nächsten Schritt extrahieren wir die Gleichungen aus dem Bondgraphen (siehe Tab. 5.11). Jetzt kann die Zustandsraumdarstellung erstellt werden. Die Zustandsvariablen sind: x1 = iL x2 = uC

(5.96) (5.97)

206

5. Die Theorie der Bondgraphen

u i

Se

0

uL i2

uC i2

1

uR1 i

uL iL

uR2 i2

Wahl

uL i

1

R:R1

I:L

R:R2

C:C

Abb. 5.110.: Kausalisierter Bondgraph der elektrischen Schaltung, die eine algebraische Schleife aufweist Element

Akausal

Kausal

Se :

u = 30V

u := 30V

u − uR1 − uL = 0

uR1 := u − uL

1 : links R : R1

uR1 = R1 · i

i :=

1 R1

· uR1

i − iL − i2 = 0 R iL = L1 uL · dt

i2 := i − iL R iL := L1 uL · dt ≡ x1

C:C

uL − uR2 − uC = 0 R uC = C1 i2 · dt

uL := uR2 + uC R uC := C1 i2 · dt ≡ x2

R : R2

uR2 = i2 · R2

uR2 := i2 · R2

0: I:L 1 : rechts

Tab. 5.11.: Gleichungen ermittelt anhand des Bondgraphen aus Abb. 5.110 Wir beginnen mit der ersten Zustandsgleichung: 1 1 · uL = (uR2 + uC ) L L 1 x˙ 1 = (uR2 + x2 ) L

x˙ 1 =

(5.98)

Die zweite Zustandsgleichung lautet: 1 1 · i2 = (i − iL ) C C 1 x˙ 2 = (i − x1 ) C

x˙ 2 =

(5.99)

5.8. Kausalitätskonflikte in Bondgraphen

207

Leider ist es nicht möglich, die Variablen uR2 und i durch Zustandsvariablen oder Eingangsgrößen auszudrücken. Wenn wir die Variablen durch andere Größen ausdrücken, werden die Ausdrücke immer größer und wir gelangen zu keinem Ende. In solchen Situationen sprechen wir von algebraischen Schleifen. Nachdem wir bereits im Bondgraphen bemerkt haben, dass algebraische Schleifen dann auftreten, wenn wir an einem R-Element dessen Kausalität frei wählen können, ist auch klar, dass die algebraische Schleife dort ihren Ursprung hat. Im nächsten Schritt untersuchen wir deshalb die kausalen Gleichungen an den Widerständen R1 und R2 . 1 · uR1 R1 1 1 i= (u − uL ) = (u − uR2 − uC ) R1 R1 1 i= (u − uR2 − x2 ) R1

i=

(5.100)

Problem: Gleichung (5.100) kann nicht weiter vereinfacht werden. Wir können den Strom i nicht berechnen, da wir die Spannung uR2 nicht kennen. uR2 = R2 · i2 uR2 = R2 (i − iL ) = R2 (i − x1 )

(5.101)

Auf der anderen Seite können wir uR2 in Gleichung (5.101) nicht berechnen, da wir den Strom i nicht kennen. Dies wird im Bondgraphen durch Einzeichnen der in Abschnitt 5.6 auf Seite 196 beschriebenen kausalen Pfade ersichtlich (siehe Abb. 5.111). Um dieses Problem zu umgehen, müssen wir obiges Glei-

Se

u i

1

uL i

0

uL i2

1

uR1 i

uL iL

uR2 i2

R:R1

I:L

R:R2

uC i2

C:C

Abb. 5.111.: Kausale Pfade im Bondgraphen. Durch Einzeichnen der kausalen Pfade werden algebraische Schleifen ersichtlich chungssystem, bestehend aus 2 Gleichungen (5.100), (5.101) und 2 Unbekannten (uR2 , i) lösen. Dazu wird beispielsweise Gleichung (5.101) in Gleichung (5.100)

208

5. Die Theorie der Bondgraphen

eingesetzt. 1 (u − uR2 − x2 ) R1 1 1 i= (u − R2 (i − x1 ) − x2 ) = (u − R2 · i + R2 · x1 − x2 ) R1 R1 1 i = ··· = (u + R2 · x1 − x2 ) R1 + R2

i=

(5.102)

Im nächsten Schritt können die Gleichungen (5.98) und (5.99) in die Zustandsraumdarstellung übergeführt werden. Dazu dürfen in beiden Gleichungen nur noch Zustandsvariablen, Eingangsgrößen und die Variable i vorkommen. In Gleichung (5.98) muss die Spannung uR2 daher noch mit Gleichung (5.101) substituiert werden. 1 (R2 · i − R2 · x1 + x2 ) L  1 1 x˙ 1 = R2 · (u + R2 · x1 − x2 ) − R2 · x1 + x2 L R1 + R2 R2 1 R1 · R2 1 R1 1 x˙ 1 = · · · = · ·u− · · x1 + · · x2 L R1 + R2 L R1 + R2 L R1 + R2 (5.103)

x˙ 1 =

In Gleichung (5.99) wird einfach Gleichung (5.102) eingesetzt. 1 (i − x1 ) C  1 1 x˙ 2 = (u + R2 · x1 − x2 ) − x1 C R1 + R2 1 1 R1 1 1 1 x˙ 2 = · · · = · ·u− · · x1 − · · x2 C R1 + R2 C R1 + R2 C R1 + R2 (5.104)

x˙ 2 =

In Vektor-Matrix Form (Matrizendarstellung) erhalten wir folgende Zustandsgleichung: 

x˙ 1

 x˙ 2





=

− L1 ·

R1 ·R2 R1 +R2

− C1 ·

R1 R1 +R2

1 L

·

R1 R1 +R2

− C1 ·

1 R1 +R2

  ·

x1 x2





+

1 L

·

R2 R1 +R2

1 C

·

1 R1 +R2

 ·u

(5.105) Um das System simulieren zu können, müssen wir noch definieren welche Variablen als Ausgangsvariablen verwendet werden. Als Ausgangsvariable wird

5.8. Kausalitätskonflikte in Bondgraphen die Spannung am Kondensator uC verwendet.    x1 y= 0 1 · x2

209

(5.106)

Resümee In diesem Abschnitt wurde gezeigt, dass sich Bondgraphen sehr gut dazu eignen, um bereits während der Kausalisierung algebraische Schleifen zu identifizieren. Ferner ist es bei Modellen, die eine algebraische Schleife aufweisen, nicht ohne Weiteres möglich eine lösbare Form (Zustandsraumdarstellung) zu erhalten. Eine algebraische Schleife liegt dann vor, wenn Schritt (3) der Anleitung zur Kausalisierung von Bondgraphen auf Seite 169 ausgeführt werden muss, d.h. wenn wir bei dem Bond des R-Elements die Wahl haben, an welcher Seite sich der Kausalitätsbalken befindet. Anhand kausaler Pfade wurde die algebraische Schleife lokalisiert. Dadurch wurde ersichtlich, dass eine algebraische Schleife lediglich in Gleichungen auftreten kann, die einen direkt proportionalen Zusammenhang haben, vor allem aber, zwischen welchen Elementen sich diese befindet. Im vorliegenden Beispiel waren dies die Widerstände R1 (Gleichung (5.100) auf Seite 207) und R2 (Gleichung (5.101) auf Seite 207). Durch Lösen dieses (Sub-)Gleichungssystems wird die algebraische Schleife aufgebrochen, was es ermöglicht das System in eine lösbare Form zu überführen. Für den interessierten Leser sei auf [KMR12], Abschnitt 5.4 verwiesen, in welchem dieselbe Vorgehensweise anhand eines mechanischen Beispiels demonstriert wird.

5.8.3. Strukturelle Singularitäten Sobald eine strukturelle Singularität auftritt, können die Kausalitätsbalken der energiespeichernden Elemente nicht mehr dort platziert werden wo sie vorgesehen sind. Aus der integralen Kausalität wird also zwangsweise eine differentielle Kausalität. Beispiel für eine strukturelle Singularität Abb. 5.112 veranschaulicht eine Spannungsquelle mit zwei Induktivitäten, welche in Serie geschaltet sind. Abb. 5.113 veranschaulicht den akausalen sowie den kausalisierten Bondgraphen der Schaltung. Kausalisiert man den Bondgraphen, so stellt man schnell fest, dass bei einer der beiden Induktivitäten der Kausalitätsbalken nicht an der gewünschten Stelle angebracht werden kann (siehe Abb. 5.113, rechtes Bild). An einer 1-Junction

210

5. Die Theorie der Bondgraphen

u1 i

L1 L2

u

u2

Se

I:L1

I:L1

u1 i

u1 i

Abb. 5.112.: Spannungsquelle mit zwei in Serie geschalteten Induktivitäten

u i

u2 i

1

I:L2

Se

u i

1

Konflikt

u2 i

I:L2

Abb. 5.113.: Links: Akausaler Bondgraph der Spannungsquelle mit zwei in Serie geschalteten Induktivitäten. Rechts: Kausalitätskonflikt

müssen immer (n − 1)-Kausalitätsbalken angebracht werden, wobei für n die Anzahl Bonds an der Verzweigung einzusetzen ist. Als Konsequenz wird aus der integralen eine differentielle Kausalität, d.h. die Gleichung (5.107)

1 i = i(0) + L2

Zt u2 · dt

(5.107)

0

nimmt folgende Form an:

u2 = L2 ·

di dt

(5.108)

5.8. Kausalitätskonflikte in Bondgraphen

211

Hintergrund Um die Ursache einer strukturellen Singularität zu verstehen, betrachten wir die Komponentengleichungen beider Induktivitäten: i = i(0) +

1 L1

Zt u1 · dt

(5.109)

u2 · dt

(5.110)

0

i = i(0) +

1 L2

Zt 0

In diesen kausalen Gleichungen (Zuweisungen) stellt i den Output dar. Dieser Output ist gleichzeitig der Ausgang eines Integrators und damit eine Zustandsvariable. Die Schaltung aus Abb. 5.112 besteht aus zwei Induktivitäten, von denen jede eine Zustandsvariable aufweist. Aufgrund der zwei energiespeichernden Elemente könnte man glauben, es handle sich um ein System 2. Ordnung. Da die Induktivitäten in Serie geschaltet sind, gibt es aber lediglich eine Zustandsgröße, und zwar den Strom i. In solch einem Fall sind die Anfangsbedingungen i(0)19 direkt voneinander abhängig und können aus diesem Grund nicht unabhängig (frei) bestimmt werden. Da man die beiden Anfangsbedingungen bei separaten Integratoren unabhängig voneinander bestimmen könnte, tritt eine so genannte strukturelle Singularität auf. Solange ein Programm verwendet wird, welches in der Lage ist, Bondgraphen zu implementieren, muss sich der Benutzer nicht um Kausalitätskonflikte kümmern. Dies wird im Normalfall durch geeignete Algorithmen und/oder Heuristiken, welche vom Programm zur Verfügung gestellt werden, erledigt. Das Programm Dymola, welches in Abschnitt 6.1.5 auf Seite 288 beschrieben wird, als Beispiel, verwendet zur Eliminierung struktureller Singularitäten den Algorithmus nach Pantelides (siehe Abschnitt 6.5.3 ab Seite 394). Beabsichtigt man aus dem Bondgraphen eine Zustandsraumdarstellung zu erstellen, so funktioniert dies beim Auftreten eines Kausalitätskonflikts nicht, solange dieser nicht eliminiert wurde.

Eliminieren von strukturellen Singularitäten Hier gibt es mehrere Möglichkeiten, um die strukturelle Singularität in den Griff zu bekommen. Man sollte daher das durch die Modellabstraktion erstellte mathematische Modell immer kritisch hinterfragen. 19 Da

durch beide Induktivitäten derselbe Storm fließt, werden die Anfangsbedingungen hier nicht mit iL1 (0) und iL2 (0), sondern mit i(0) bezeichnet.

212

5. Die Theorie der Bondgraphen

Durch Modifikation des Modells Der Kausalitätskonflikt, der in Abb. 5.113 auftritt, kann sehr einfach behoben werden. Die beiden Induktivitäten können beispielsweise zu einer Induktivität zusammengefasst werden (Abb. 5.114).

u i

Se

u2 i

1

I:L1+L2

Abb. 5.114.: Behebung des Kausalitätskonflikts Durch Zusammenschalten der einzelnen Induktivitäten zu einer Gesamtinduktivität wird sichergestellt, dass es nur eine Anfangsbedingung i(0) geben kann. Somit verschwindet der Kausalitätskonflikt und man erhält folgende Zustandsgleichung. 1 i = i(0) + L1 + L2

Zt u · dt ≡ x

(5.111)

0

→ x˙ =

1 ·u L1 + L2

(5.112)

Des Weiteren kann man einen (parasitären) Widerstand R parallel zu einer der beiden Induktivitäten schalten, wobei für den Widerstand R sehr große Werte (im Bereich einiger MΩ) zu wählen sind (Abb. 5.115).

R i u

L1

u1 i

L2

u2

Abb. 5.115.: Behebung des Kausalitätskonflikts durch „parallel schalten“ eines Widerstands R zur Induktivität L1 .

5.8. Kausalitätskonflikte in Bondgraphen

Se

u i

213

u iR

0 u iL1

1

uL1 iL1

I:L1

1

uL1 iR

R:R

uL2 iL1

0

iR uL2

uL2 i

I:L2 Abb. 5.116.: Kausaler Bondgraph der Schaltung aus Abb. 5.115 Der dazugehörige Bondgraph ist in Abb. 5.116 veranschaulicht. Durch das zusätzliche Element verschwindet der Kausalitätskonflikt. Probleme bei parasitären Elementen Durch das Hinzufügen parasitärer Elemente können dem System zusätzliche Pole hinzugefügt werden. Diese Pole können dabei um mehrere Zehnerpotenzen von den systemeigenen Polen entfernt sein. Das heißt, dass das System dadurch sowohl schnelle als auch langsame Zeitkonstanten beinhaltet. Man spricht dann von sogenannten steifen Systemen. Steife Systeme stellen höhere Anforderungen an den Solver, sofern die Simulation in einer vernünftigen Zeit ausgeführt werden soll (mehr dazu in Kapitel 8: Simulation und numerische Integrationsverfahren auf Seite 493). Man erkennt also schon bei sehr einfachen Beispielen, wie wichtig die Grundlagen der jeweiligen Fachgebiete sind. Es nützt der beste Modellierer nichts, wenn er nicht mit den entsprechenden Gebieten vertraut ist. In vielen Fällen ist der Grund für eine strukturelle Singularität jedoch nicht so gut ersichtlich. Im Folgenden wird gezeigt, wie eine strukturelle Singularität

214

5. Die Theorie der Bondgraphen

innerhalb des Modells behoben werden kann. Das heißt das Modell wird nicht zuerst angepasst, um die strukturelle Singularität zu eliminieren.

Anleitung (Algorithmus) zur Eliminierung struktureller Singularitäten Um strukturelle Singularitäten zu eliminieren, ohne dabei das physikalische System zu modifizieren, bedarf es einiger Punkte, die beachtet werden müssen. Ausgangspunkt ist ein mathematisches Modell unseres Systems mit dazugehörigem akausalen Bondgraphen. Beim Kausalisieren tritt dann an einem energiespeichernden Element, dessen Anfangsbedingung nicht frei gewählt werden kann, eine strukturelle Singularität auf. Nun muss folgendes getan werden: (1) Kausalisierung: Nachdem an einem energiespeichernden Element ein Konflikt auftritt, verringert sich die Anzahl der Zustandsvariablen um eins. Das heißt, wenn wir n energiespeichernde Elemente haben, muss die Anzahl der Elemente abgezogen werden an denen ein Konflikt auftritt, um eine korrekte Ordnung des Systems und damit die Anzahl der Zustandsgleichungen zu erhalten. Die Anzahl der konfliktbehafteten Elemente kann auch größer als eins sein. (2) Bilden der Zustandsgleichungen: Nun werden die Zustandsgleichungen für die energiespeichernden Elemente ohne Konflikt erstellt. Hier gilt wiederum, dass alle Variablen durch bekannte Größen, also durch Zustandsgrößen und Eingangsgrößen ausgedrückt werden müssen. Jedoch kommt es aufgrund der strukturellen Singularität innerhalb des Systems zu Problemen. Es können nicht alle unbekannten Größen durch bekannte Größen ausgedrückt werden. Dazu folgendes Beispiel: x˙ 1 =

dk + x1 − 2 · x2 dt

(5.113)

Wobei der eingerahmte Term unbekannt ist. (3) Finden einer zusätzlichen algebraischen Gleichung: Jedoch sind die Unbekannten „immer“ in abgeleiteter Form vorhanden. Dies muss so sein, da die integrale Kausalität am energiespeichernden Element durch den Konflikt zu einer differentiellen Kausalität wird. Nun gilt es für die unbekannte Größe, welche in abgeleiteter Form vorkommt (im Beispiel dk/dt), eine zusätzliche algebraische Gleichung zu finden, die die Unbekannte Größe in nicht abgeleiteter Form, also k, ermittelt. Die zusätzlich ermittelte algebraische Gleichung könnte folgendermaßen aussehen: k = 3 · x1

(5.114)

5.8. Kausalitätskonflikte in Bondgraphen

215

(4) Ableiten der zusätzlichen algebraischen Gleichung und Einsetzen in die Zustandsgleichung: Sobald diese Gleichung gefunden wurde (hier Gleichung (5.114)) und nur noch bekannte Größen enthält, wird diese abgeleitet dk = 3 · x˙ 1 dt

(5.115)

und in Gleichung (5.113) mit der unbekannten Größe der Zustandsgleichung substituiert. x˙ 1 = 3 · x˙ 1 + x1 − 2 · x2

(5.116)

(5) Ableitung der Zustandsvariable explizit darstellen: Schlussendlich erhalten wir unsere gesuchte Zustandsgleichung, welche nur noch Zustandsvariablen enthält. 1 (5.117) x˙ 1 = − · x1 + x2 2 Dieser Algorithmus wird nun anhand zweier Beispiele demonstriert. Elektrisches System Im Folgenden wird gezeigt, wie strukturelle Singularitäten anhand des in Abschnitt 5.8.3 auf Seite 214 vorgestellten Algorithmus direkt im Modell eliminiert werden, ohne dieses erst anzupassen. Dazu lösen wir die strukturelle Singularität der Schaltung aus Abb. 5.112 auf Seite 210. Die Gleichungen werden aus dem Bondgraphen in Abb. 5.113 auf Seite 210 entnommen. Aufgrund der strukturellen Singularität besitzt das System lediglich eine Zustandsvariable x, die dem Strom i entspricht. 1 i= L1

Zt u1 · dt ≡ x

(5.118)

0

Durch zeitliches Ableiten von Gleichung (5.118) erhalten wir: 1 · u1 x˙ = L1 Im nächsten Schritt substituieren wir die Spannung u1 : 1 (u − u2 ) x˙ = L1 ! 1 di x˙ = u − L2 · L1 dt

(5.119)

(5.120)

216

5. Die Theorie der Bondgraphen

Nun sind alle Variablen bis auf die Variable di/dt bekannt. Da der Strom nur als zeitliche Ableitung vorliegt, können wir nicht weiter substituieren und müssen daher den zuvor vorgestellten Algorithmus anwenden. Zunächst müssen wir für die unbekannten Variable di/dt eine zusätzliche algebraische Gleichung finden, die die unbekannte Variable in nicht abgeleiteter Form, also i, ermittelt (siehe Punkt (3) aus Abschnitt 5.8.3 auf Seite 214). In diesem Beispiel ist dieser Schritt sehr einfach, da es sich dabei um die Zustandsvariable selbst handelt. i=x

(5.121)

Im nächsten Schritt (siehe Punkt (4) aus Abschnitt 5.8.3 auf Seite 214) bilden wir die zeitliche Ableitung von Gleichung (5.121) di = x˙ dt

(5.122)

und setzen diese in Gleichung (5.120) ein. ! di 1 u − L2 · x˙ = L1 dt x˙ =

1 (u − L2 · x) ˙ L1

(5.123)

Im letzten Schritt (siehe Punkt (5) aus Abschnitt 5.8.3 auf Seite 214) muss x˙ noch explizit dargestellt werden: 1 (u − L2 · x) ˙ L1 x(L ˙ 1 + L2 ) = u 1 x˙ = ·u L1 + L2 x˙ =

(5.124)

Um zur Zustandsraumdarstellung zu gelangen, muss noch eine Ausgangsvariable definiert werden. Wir wählen den Strom i als Ausgangsvariable. 1 ·u L1 + L2 y=x

x˙ =

(5.125)

Mechatronisches System: Permanenterregte Gleichstrommaschine mit Last Dazu wird das Modell einer belasteten permanenterregten Gleichstrommaschine herangezogen. Die mechanische Seite des Motors besteht aus einer rotierenden

5.8. Kausalitätskonflikte in Bondgraphen

217

Last, welche durch deren Trägheit J modelliert wird. Durch Kontakt zum Boden tritt zusätzlich eine Reibung bτ auf. Die Last selbst ist über eine flexible Achse, beschrieben durch deren Torsionssteifigkeit kτ , am Motor befestigt. Die elektrische Seite des Motors beinhaltet die Ankerinduktivität La der Windungen und deren Kupferverluste Ra . Die Trägheit des Motors wird vernachlässigt, da diese im Vergleich zur Last sehr klein ist. Abb. 5.117 veranschaulicht den Motor mit Last.

La

i

Ra

JL kτ

u



M, ω

Abb. 5.117.: Permanenterregte Gleichstrommaschine mit rotativer Last

Der dazugehörige Bondgraph ist in Abb. 5.118 dargestellt.

R:Ra

u i

1

Ubemf i

GY Ψ

Mk ω

0

MJ ω2

Mk Δω

uRa i

Se

I:JL

C:1/kτ

Mk ω2

1

Mb ω2

R:bτ

uLa i

I:La Abb. 5.118.: Akausaler Bondgraph des DC Motors mit Last

Sobald der Bondgraph kausalisiert wird (Abb. 5.119), tritt ein Kausalitätskonflikt am C-Element auf. Die akausalen sowie die kausalen Gleichungen des Systems sind Tab. 5.12 zu entnehmen. Da unser System zwei I-Elemente und ein C-Element besitzt, würde es sich, sofern kein Kausalitätskonflikt auftritt, um ein System 3. Ordnung handeln, welches drei Zustandsvariablen besitzt und daher mit drei Zustandsgleichungen beschrieben werden kann. Aufgrund

218

5. Die Theorie der Bondgraphen

R:Ra

u i

1

Ubemf i

GY Ψ

Mk ω

0

MJ ω2

Konflikt

Mk Δω

uRa i

Se

I:JL

C:1/kτ

Mk ω2

1

Mb ω2

R:bτ

uLa i

I:La Abb. 5.119.: Kausaler Bondgraph des Motors mit Last. Der Kausalitätsbalken am C-Element befindet sich auf der falschen Seite des Bonds des Konflikts, der am C-Element auftritt, kann dort keine Zustandsvariable existieren. Aufstellen der ersten Zustandsgleichung Die Gleichung für die Ankerinduktivität La aus Tab. 5.12 lautet wie folgt: 1 i= La

Zt uLa · dt = x1

(5.126)

0

Um die erste Zustandsgleichung zu erhalten, bilden wir die zeitliche Ableitung: x˙ 1 =

1 · uLa La

(5.127)

Im nächsten Schritt werden alle unbekannten Variablen substituiert. Die Gleichungen sind ebenfalls Tab. 5.12 zu entnehmen: x˙ 1 =

1 (u − uRa − ubemf ) La

(5.128)

x˙ 1 =

1 (u − Ra · i − Ψ · ω) La

(5.129)

x˙ 1 =

1 (u − Ra · x1 − Ψ · (∆ω + ω2 )) La

(5.130)

5.8. Kausalitätskonflikte in Bondgraphen

219

Element

Akausal

Kausal

1

u − uRa − ubemf − uLa = 0

uLa := u − uRa − ubemf

R : Ra I : La

uRa = Ra · i R i = L1a uLa · dt

uRa := Ra · i R i := L1a uLa · dt ≡ x1

GY

ubemf = Ψ · ω

ubemf := Ψ · ω

Mk = Ψ · i

Mk := Ψ · i

ω − ∆ω − ω2 = 0 R Mk = kτ ∆ω · dt

ω := ∆ω + ω2

0 C : 1/kτ

∆ω :=

1 kτ

·

dMk dt

I : JL

Mk − MJ − Mb = 0 R ω2 = J1L MJ · dt

MJ := Mk − Mb R ω2 := J1L MJ · dt ≡ x2

R : bτ

Mb = bτ · ω2

Mb := bτ · ω2

1

Tab. 5.12.: Gleichungen der permanenterregten Gleichstrommaschine mit Last

Im letzten Schritt substituieren wir noch ∆ω und ω2 : !! 1 dMk 1 u − Ra · x1 − Ψ · · + x2 x˙ 1 = La kτ dt

(5.131)

Aufgrund des Kausalitätskonflikts hat diese Gleichung eine Unbekannte dMk /dt zu viel.

Anwendung des Algorithmus zur Eliminierung der strukturellen Singularität Um dieses Problem in den Griff zu bekommen, muss eine zusätzliche „algebraische“ Gleichung gefunden werden (siehe Punkt (3) aus Abschnitt 5.8.3 auf Seite 214). An dieser Stelle muss folgendes getan werden: Man suche eine Gleichung welche die Unbekannte dMk /dt in „nicht“ abgeleiteter Form beschreibt und leite diese anschließend ab. Das heißt, wir suchen eine algebraische Gleichung welche, uns die Potentialvariable Mk beschreibt. Mk = Ψ · i Mk = Ψ · x1

(5.132)

220

5. Die Theorie der Bondgraphen

Durch Bilden der zeitlichen Ableitung (siehe Punkt (4) aus Abschnitt 5.8.3 auf Seite 214) dieser Gleichung erhalten wir: dMk = Ψ · x˙ 1 dt

(5.133)

Setzt man diese Gleichung nun in Gleichung (5.131) ein, so sind nur noch bekannte Größen vorhanden.    1 1 u − Ra · x1 − Ψ · · Ψ · x˙ 1 + x2 (5.134) x˙ 1 = La kτ Jetzt muss diese Gleichung noch nach x˙ 1 aufgelöst werden (siehe Punkt (5) aus Abschnitt 5.8.3 auf Seite 214), sodass wir die korrekte Zustandsgleichung erhalten:   kτ (u − Ra · x1 − Ψ · x2 ) (5.135) x˙ 1 = La · kτ + Ψ2 | {z } Q

Aufstellen der zweiten Zustandsgleichung Nun fehlt uns noch die zweite Zustandsgleichung. 1 ω2 = JL

Zt MJ · dt = x2

(5.136)

0

Die zeitliche Ableitung dieser Gleichung liefert die zweite Zustandsgleichung. 1 1 · MJ = (Mk − Mb ) (5.137) x˙ 2 = JL JL Es wird wiederum solange substituiert, bis nur noch Eingangs- und Zustandsgrößen vorhanden sind. 1 (Ψ · i − bτ · ω2 ) x˙ 2 = JL 1 x˙ 2 = (Ψ · x1 − bτ · x2 ) (5.138) JL Aufstellen der Zustandsraumdarstellung Aus den Zustandsgleichungen (5.131) und (5.138) folgt unmittelbar die Zustandsgleichung in Vektor-Matrix Form.         −Q · Ra −Q · Ψ x1 Q x˙ 1 · + · u(t) (5.139) = Ψ − JbτL x2 0 x˙ 2 JL

5.8. Kausalitätskonflikte in Bondgraphen

221

Nun fehlt uns nur noch die Ausgangsgleichung. Wir interessieren uns für die Winkelgeschwindigkeit ω2 welche der Zustandsvariable x2 entspricht und nichts anderes ist als die Winkelgeschwindigkeit der Masse, welche durch die Trägheit J beschrieben wird.

y=

0

1



 ·

x1 x2

 (5.140)

Ist die strukturelle Singularität im Bondgraphen ersichtlich? Im vorliegenden Beispiel tritt eine strukturelle Singularität auf, die im Bondgraphen nicht ohne weiteres ersichtlich ist. Ist man aber mit den in Abschnitt 5.7 auf Seite 200 vorgestellten dualen Bondgraphen vertraut, so ist die strukturelle Singularität sehr gut ersichtlich. Abb. 5.120 veranschaulicht die strukturelle Singularität.

R:Ra

u i

1

Ubemf i

GY Ψ

Mk ω

0

MJ ω2

Mk Δω

uRa i

Se

I:JL

C:1/kτ

Mk ω2

1

Mb ω2

R:bτ

uLa i

I:La Abb. 5.120.: Veranschaulichung des Kausalitätskonflikts des (vereinfachten) mechatronischen Systems

Das duale Element einer Kapazität ist eine Induktivität. Beim Betrachten des Bondgraphen in Abb. 5.120 ist gut ersichtlich, dass die Kapazität in Kombination des Gyrators nichts anderes ist wie eine Induktivität, welche zur Induktivität L in Serie geschaltet ist, weshalb auch eine strukturelle Singularität zustande kommt.

222

5. Die Theorie der Bondgraphen

Kann die strukturelle Singularität vermieden werden? Zu Beginn des Beispiels wurde erwähnt, dass die Trägheit des Motors vernachlässigt wird, da diese viel kleiner ist als die der Last. Erstellen wir also im Folgenden den Bondgraphen des Systems mit Berücksichtigung der Trägheit des Motors JM inklusive der dazugehörigen Lagerreibung Rb (siehe Abb. 5.121). Wenn wir diesen Bondgraphen jetzt kausalisieren, verschwindet die strukturelle

I:JM

u i

1

Ubemf i

GY Ψ

M ω

1

uLa i

MbM ω

I:La

R:Rb

Mk Δω

MJM ω

uRa i

Se

I:JL

C:1/kτ

Mk ω

0

MJ ω2

R:Ra

Mk ω2

1

Mb ω2

R:bτ

Abb. 5.121.: Akausaler Bondgraph des mechatronischen Systems mit Berücksichtigung der Trägheit sowie der Lagerreibung des Motors (in grün) Singularität (siehe Abb. 5.122).

I:JM

u i

1

Ubemf i

GY Ψ

M ω

1

uLa i

MbM ω

I:La

R:Rb

Mk Δω

MJM ω

uRa i

Se

I:JL

C:1/kτ

Mk ω

0

MJ ω2

R:Ra

Mk ω2

1

Mb ω2

R:bτ

Abb. 5.122.: Kausaler Bondgraph des mechatronischen Systems mit Berücksichtigung der Trägheit sowie der Lagerreibung des Motors (in grün). Der Kausalitätskonflikt ist dadurch nicht mehr vorhanden

5.9. Die vier Grundvariablen der Bondgraphen-Modellierung

223

Resümee Strukturelle Singularitäten treten auf, wenn das System bei der Abstraktion zu stark vereinfacht wurde (vgl. Abb. 3.1 auf Seite 56). In diesem Abschnitt wurde gezeigt, wie strukturelle Singularitäten vermieden werden können. Ferner wurde eine Anleitung (Algorithmus) zur Eliminierung struktureller Singularitäten (Seite 214) vorgestellt, anhand derer es möglich ist, das Gleichungssystem derart zu modifizieren, dass die strukturelle Singularität eliminiert wird, ohne dass das Modell angepasst werden muss. Um zu verstehen wo die strukturelle Singularität ihren Ursprung hat, wurden kausale Pfade eingesetzt. Dies hat den Vorteil, dass direkt ersichtlich wird, wie das Modell modifiziert werden muss, um den Konflikt zu beheben. Dabei ist allerdings zu beachten, dass die Modifikation des Systems, etwa durch Hinzufügen parasitärer Elemente, oft zu einem steifen System (siehe Abschnitt 1.5.9 auf Seite 20) führt. In solchen Fällen ist es sinnvoll die strukturelle Singularität, anhand der in Abschnitt 5.8.3 auf Seite 214 vorgestellten Anleitung zu eliminieren. Ist es hingegen möglich – wie etwa in Abb. 5.120 dargestellt – physikalisch sinnvolle Erweiterungen durchzuführen, sodass der Konflikt nicht mehr auftritt, so kann auf die vorgestellte Anleitung zur Eliminierung der strukturellen Singularität verzichtet werden.

5.9. Die vier Grundvariablen der Bondgraphen-Modellierung Nehmen wir an, wir haben einen Feder-Masse-Dämpfer Schwinger und wollen die Position der Masse bestimmen. Mit den bisher vorgestellten Bondgraphen ist das unmöglich. Bisher wurden zwei Variablen vorgestellt, welche als Potentialvariable e(t) und Flussvariable f (t) bezeichnet wurden. Das heißt, dass wir im Falle unseres Feder-Masse-Dämpfer Schwingers nur eine Anfangsgeschwindigkeit v0 bzw. eine Anfangskraft F0 vorgeben können. In physikalischen Systemen gibt es jedoch mehr als nur zwei (systembeschreibende) Variablen. In der Mechanik spricht man beispielsweise neben Geschwindigkeiten (Flussvariable) und Kräften (Potentialvariable) des Öfteren von Positionen und Impulsen. In der Elektrotechnik hingegen nicht nur von Strömen und Spannungen, sondern auch von Ladungen und magnetischen Flüssen. In diesem Abschnitt werden zwei weitere Variablen eingeführt. Sodann wird im Abschnitt 5.10 gezeigt, wie diese Variablen in der Bondgraphen-Modellierung eingesetzt werden.

224

5. Die Theorie der Bondgraphen

In der Bondgraphen-Modellierung werden diese Variablen wiederum etwas allgemeiner formuliert. Dies soll anhand der allgemeingültigen Gleichungen aus Tab. 5.2 auf Seite 128 erläutert werden. Aus der Gleichung zur Speicherung der Flussvariablen Zt

1 f (t) = α

e(t) · dt 0

ergibt sich: Zt p(t) ≡

e(t) · dt

(5.141)

0

Wobei p(t) als generalisierter Impuls bezeichnet wird. Angewendet auf (mechanisch) translatorische Systeme erhalten wir: 1 v(t) = m

Zt F (t) · dt 0

Zt p(t) ≡

F (t) · dt

(5.142)

0

Oder anders formuliert: dp(t) = F (t) dt

(5.143)

beziehungsweise p(t) = m · v(t)

(5.144)

Diese Beziehung (Axiom) stammt aus der Newton’schen Mechanik und wird als Impulserhaltungssatz bezeichnet. Aus der Gleichung zur Speicherung der Potentialvariable 1 e(t) = β

Zt f (t) · dt 0

ergibt sich folgendes: Zt f (t) · dt

q(t) = 0

(5.145)

5.10. Sensoren und modulierte Elemente

225

Wobei q(t) als generalisierte Position bezeichnet wird. Für translatorische Systeme ergibt sich wiederum: Zt v(t) · dt = k · x(t)

F (t) = k

(5.146)

0

|

{z

}

x(t)

Zt v(t) · dt

x(t) =

(5.147)

0

Der Zusammenhang der vier Variablen wird in der Bondgraphen-Notation grafisch anhand des sogenannten Zustandstetraeders (engl. tetrahedron of state) veranschaulicht (siehe Abb. 5.123).

e

dp/dt ∫e .dt

C R p

q I

∫f. dt

f

dq/dt

Abb. 5.123.: Zustandstetraeder: Zusammenhang der Variablen e(t), f (t), p(t) und q(t) In Tab. 5.13 wird gezeigt, was die Variablen p(t) und q(t) für eine Bedeutung in den verschiedenen Domänen haben.

5.10. Sensoren und modulierte Elemente Bisher wurden Quellen vorgestellt, welche entweder einen konstanten Fluss oder ein konstantes Potential zur Verfügung stellen. Des Weiteren wurden Transformatoren und Gyratoren mit einem konstanten Übersetzungsverhältnis eingeführt. Im Folgenden wird gezeigt, wie konstante Werte bzw. Übersetzungsverhältnisse

226

Elektrische Systeme Translatorische Systeme Rotatorische Systeme Hydraulische Systeme

5. Die Theorie der Bondgraphen e(t)

f(t)

p(t)

q(t)

Spannung u (V) Kraft F (N) Drehmoment T (Nm) Druck p (N/m2 )

Strom i (A) Geschwindigkeit v (m/s) Wingkelgeschw. ω (rad/s) Volumenstrom q (m3 /s)

Magn. Fluss Φ (Vs) Impuls p (Ns) Drehimpuls L (Nms) Druckimpuls Γ (Ns/m2 )

Ladung q (As) Position x (m) Winkel ϕ (rad) Volumen V (m3 )

Tab. 5.13.: Zusammenhang der allgemeingültigen Variablen und den Variablen der verschiedenen Domäne

durch variable (modulierte) Übersetzungen ersetzt werden können. Dazu wird dieser Abschnitt in zwei Teile gegliedert. Zum einen werden Sensoren vorgestellt und zum anderen modulierte Elemente. In der Bondgraphen-Notation spricht man von sogenannten aktivierten Bonds (engl. activated bonds).

5.10.1. Sensoren Sensoren werden verwendet, um das Potential oder den Fluss an einer Verzweigung zu messen. Zum Messen dieser Signale werden keine Bonds (Energieverbindungen) verwendet, sondern Signalverbindungen. Bei einer Signalverbindung findet kein Energiefluss statt. Das Produkt aus Potential- und Flussvariable ist gleich Null. Sensoren können ausschließlich an Verzweigungen angeschlossen werden, da hier klar definiert ist, dass es sich entweder um denselben Fluss oder um dasselbe Potential handelt. Wollen wir den Fluss ermitteln, so müssen wir einen Fluss-Sensor an eine 1-Junction anschließen (siehe Abb. 5.124). Im umgekehrten Fall wird ein Potential-Sensor an eine 0-Junction angeschlossen. Sind wir nun beispielsweise an der Position eines bestimmten Teils (Masse) eines mechanischen Systems interessiert, so muss die Flussvariable f integriert werden (siehe Abb. 5.125). Wird hingegen die Potentialvariable in einen Integrator geführt, so erhalten wir den (generalisierten) Impuls (siehe Abb. 5.126).

5.10. Sensoren und modulierte Elemente

e2 f

227

e3 f

f

1 e4 = 0

e1 f

e2 f

Abb. 5.124.: Sensor zur Ermittlung des Flusses f

e3 f

f

1 e4 = 0

e1 f

1 s

q

Abb. 5.125.: Sensor zur Ermittlung der (generalisierten) Position. Dazu wird die Flussvariable f in einen Integrator geführt. Die Anfangsbedingung kann direkt im Integrator vergeben werden

5.10.2. Modulierte Elemente zur Energieumwandlung Zu den am häufigsten modulierten Elementen zählen Transformatoren und Gyratoren. Wird beispielsweise bei einem Transformator das Übersetzungsverhältnis kontinuierlich verändert, so lässt sich damit bereits ein ideales stufenloses Getriebe realisieren. Modulierte Widerstandsquelle Der Bondgraph der modulierten Widerstandsquelle ist in Abb. 5.127 veranschaulicht.

5. Die Theorie der Bondgraphen

e f2

228

e f3

f4 = 0

0 e

e f1

1 s

p

Abb. 5.126.: Sensor zur Ermittlung des (generalisierten) Impulses. Dazu wird die Potentialvariable e in einen Integrator geführt

u i

mRS

T S

R(T) Abb. 5.127.: Modulierte Widerstandsquelle, wobei R(T ) dem Wert des Widerstands bei der (aktuellen) Temperatur T entspricht

Eine Anwendung für eine modulierte Widerstandsquelle wird in Abschnitt 5.13.3: Temperaturabhängigkeit eines elektrischen Widerstands auf Seite 257 gezeigt.

Modulierte Transformatoren Der Bondgraph des modulierten Transformators ist in Abb. 5.128 veranschaulicht.

e1 f1

mTF

e2 f2

m Abb. 5.128.: Modulierter Transformator, wobei m eine beliebige kontinuierliche Funktion sein kann m = f (t)

5.10. Sensoren und modulierte Elemente

229

Modulierte Gyratoren Der Bondgraph des modulierten Gyrators ist in Abb. 5.129 veranschaulicht.

e1 f1

e2 f2

mGY r

Abb. 5.129.: Modulierter Gyrator, wobei r eine beliebige kontinuierliche Funktion sein kann r = f (t)

5.10.3. Modulierte Quellen Bei modulierten Quellen werden anstatt konstanter Werte bzw. vorgegebener Parameter externe Variablen verwendet. Sobald es sich um eine modulierte Quelle handelt, wird ein zusätzliches Kürzel hinzugefügt. • modulierte Potentialquelle: Se → mSe • modulierte Flussquelle: Sf → mSf Die modulierten Quellen sind in Abb. 5.130 dargestellt.

m

mSe

m

mSf

e f e f

Abb. 5.130.: Modulierte Quellen. Oben: modulierte Potentialquelle. Unten: modulierte Flussquelle. Wobei m eine beliebige kontinuierliche Funktion sein kann m = f (t)

5.10.4. Beispiele Im folgenden Abschnitt wird der Umgang mit Sensoren und modulierten Elementen anhand zweier Beispiele gelernt. Zu Beginn wird eine elektrische Schaltung mit einer modulierten Stromquelle, welche ihr Eingangssignal von einer abgegriffenen Spannung erhält, modelliert. Anschließend wird ein mechanischer

230

5. Die Theorie der Bondgraphen

Schockabsorber modelliert. Dieser wird nicht fremderregt, sondern über Anfangspositionen ausgelenkt.

Elektrische Schaltung mit modellierter Stromquelle Es soll der Bondgraph der elektrischen Schaltung aus Abb. 5.131 erstellt werden. Der Einfachheit halber nehmen wir zu Beginn an, es handle sich um eine gewöhnliche Stromquelle. Der Bondgraph ist in Abb. 5.132 veranschaulicht.

L

iL i1

R1 i3

R3

u

R2

i2

i4

iC

C uC

i4 = 4·uC

Abb. 5.131.: Elektrische Schaltung mit modulierter Stromquelle

Nun soll die gewöhnliche Stromquelle durch eine modulierte ersetzt werden. Hierzu muss die Spannung uC mit einem Sensor abgegriffen, dann mit dem Faktor 4 verstärkt und schlussendlich der Stromquelle zugeführt werden. Nachdem der Strom i4 aber in die Stromquelle hineinfließt, muss entsprechend ein Vorzeichen angepasst werden. Dazu wird der Faktor von 4 auf -4 geändert. Der vollständige Bondgraph ist in Abb. 5.133 dargestellt.

Mechanischer Schockabsorber Als nächstes wird der in Abb. 5.134 dargestellte mechanische Schockabsorber modelliert. Anfangsbedingungen:

5.10. Sensoren und modulierte Elemente

231

uL iL

I:L

u iL

0

u i1

1

u4 iL

1

uC i1

uC i2

0

1

u4 i2

0 u4 i4

C:C

R:R2

Sf

u i

Se

R:R3

uR2 i2

uC iC uC

i3

uR1 i1

R:R1

Abb. 5.132.: Bondgraph der elektrischen Schaltung, wobei die modulierte Stromquelle als gewöhnliche Stromquelle angenommen wurde

• Ungedehnte Länge der ersten Feder: x0,k1 = 2m • Anfangsposition der Masse m1 : x0,m1 = 2.5m, d.h. dass die Feder k1 um 0.5m ausgelenkt wird. • Länge der zweiten Feder: x0,k2 = 0.5m • Anfangsposition der Masse m2 : x0,m2 = 3.0m, d.h. dass die Feder k2 nicht ausgelenkt wird. Der mechanische Schockabsorber bewegt sich auf Grund der Angangsbedingungen, wie in Abb. 5.134 eingezeichnet, in Richtung Wand. Erstellen wir auch hier wiederum zuerst den Bondgraphen ohne modellierte Elemente (siehe Abb. 5.135). Wie können im Bondgraphen aus Abb. 5.135 die Anfangsbedingungen vorgegeben werden? Mit den bisherigen Elementen ist es nicht möglich der Feder eine Anfangslänge vorzugeben. An dieser Stelle sei nochmals explizit erwähnt, dass Bondgraphen, so wie wir sie bis jetzt verwendet haben, ausschließlich zur Beschreibung physikalischer Vorgänge geeignet sind. Um eine geometrische Beschreibung zu ermöglichen, müssen die Elemente modifiziert werden. Wir

232

5. Die Theorie der Bondgraphen

uL iL

I:L

u iL

0

u i1

1

1

uC i1

u4 iL uC i2

0

1

u4 i2

0

C:C uC

u4 i4

R:R2

4

mSf

u i

Se

R:R3

uR2 i2

uC iC uC

i3

uR1 i1

R:R1

i4 = -4·uC

Abb. 5.133.: Vollständiger Bondgraph der elektrischen Schaltung

können zwar der Masse m1 eine Anfangsposition vorgeben, indem wir an der 1-Junction den Fluss messen und diesen anschließend in einen Integrator führen, wodurch die Anfangsbedingungen vorgegeben werden können. Dadurch wird die Feder jedoch nicht ausgelenkt, sondern es wird definiert, dass die Länge der ungedehnten Feder eben genau der Anfangsposition entspricht. Natürlich können wir dem System, um es zu testen, eine Kraft vorgeben. Mit den in Abschnitt 5.10.3 auf Seite 229 eingeführten modellierten Quellen können wir mittlerweile sogar einen Kraftimpuls aufschalten, was einem Stoß entspricht. Würden wir eine Kraft mit konstantem Wert anlegen, so würde sich unser System für alle Zeiten in eine Richtung bewegen, was eher unrealistisch ist. Aus diesem Grund ist es für mechanische Systeme durchaus sinnvoll diese so zu gestalten, dass auch geometrische Beschreibungen möglich sind. Dazu muss das C-Element modifiziert werden. Anhand von Gleichung (5.146) und (5.147) auf Seite 225 wird ersichtlich, wie diese Modifikation durchzuführen ist. Da in Gleichung (5.147) die Anfangsbe-

5.10. Sensoren und modulierte Elemente

233

b

v1

v2

m2

m1

k1

k2

Abb. 5.134.: Mechanischer Schockabsorber

R:b

Fm1 v1

Fb Δv

I:m1

F

Fk1 v1

Sf v =k1 0 0 Fk1 v1 1

0

F b v2 F

0

k2

1

Fm2 v2

I:m2

v2

Fk2 Δv

C: k1

1

Fb v1 F k2 v1

C: k1

2

Abb. 5.135.: Bondgraph des Schockabsorbers ohne modellierte Elemente. Die Wand wurde mit einer Flussquelle Sf = 0 modelliert dingung x0 vernachlässigt wurde, soll diese hier nochmals in vollständiger Form angeführt werden. Zt v(t) · dt + x0

x(t) =

(5.148)

0

Die linke Feder des Bondgraphen aus Abb. 5.135 muss daher wie in Abb. 5.136 dargestellt, modifiziert werden. Zuerst wird die Geschwindigkeit v1 der Masse m1 ermittelt. Diese wird dann in einen Integrator geführt, welcher die Position (q(t) = x1 (t)) der Masse berechnet. Im Integrator selbst wird die Anfangsposition x0,m1 der Masse definiert, was der Auslenkung der Feder entspricht (vgl. Gleichung (5.148)). Mit x0,k1 kann

234

5. Die Theorie der Bondgraphen

R:b

Fm1 v1

Fb Δv

I:m1

F

Sf v =k1 0 0

Fk1 v1

Fb v1 F k2 v1

1

Fk1 v1

v1

mSe

x0,m1 x1

k1

Δx

Σ

F b v2 F

0

k2

1

Fm2 v2

I:m2

v2

Fk2 Δv

1 s

0

C: k1

2

-

x0,k1 Abb. 5.136.: Bondgraph des Schockabsorbers mit modifizierter Feder

zusätzlich die Länge der ungedehnten Feder spezifiziert werden. Die Differenz ∆x beider Werte wird mit der Federkonstante k1 multipliziert, was die Federkraft Fk1 ergibt. Da diese Kraft von der aktuellen Position x1 (t) der Masse m1 abhängt, muss diese nun mittels einer modulierten Potentialquelle mSe dem System hinzugefügt werden. Werden nun dieselben Schritte für die zweite Feder durchgeführt, so erhalten wir den vollständigen Bondgraphen des Schockabsorbers, welcher in Abb. 5.137 abgebildet ist.

5.11. Modellbasierter Systementwurf Der in Abschnitt 3.1 auf Seite 55 vorgestellte modellbasierte Systementwurf soll nun anhand der Bondgraphen-Methode durchgeführt werden. Um die Vorteile der Bondgraphen-Methode in Bezug auf den modellbasierten Systementwurf bewerten zu können, wird das in Abschnitt 4.2 ab Seite 85 vorgestellte FederMasse-Dämpfer System herangezogen. Es wird sich zeigen, dass die Bondgraphen-

5.11. Modellbasierter Systementwurf

235

R:b

F

Sf v =k1 0 0

Fk1 v1

Fb v1 F k2 v1

1

Fk1 v1

v1

mSe

x0,m1 x1

k1

Δx

Σ

-

F b v2 F

0 Fk2 Δv

1 s

0

k2

1

v2

Fm2 v2

I:m2

v2 1 s

x0,m2 x2

mSe

Fm1 v1

Fb Δv

I:m1

x0,k1 k2

Δx

- Σ

-

x0,k2 Abb. 5.137.: Vollständig modifizierter Bondgraph des Schockabsorbers

Methode, gegenüber der in Abschnitt 4.2 vorgestellten signalflussorientierten Modellierung, wesentlich übersichtlicher und dadurch weniger fehlerbehaftet ist.

5.11.1. Initialer Systementwurf Der Übersicht halber wird das Messergebnis, das anhand eines Prototyps erhalten wurde, erneut dargestellt (Abb. 5.138).

236

5. Die Theorie der Bondgraphen Messergebnis

4.0 3.0

v in m/s

2.0 1.0 0.0 -1.0 -2.0 0.0

2.5

5.0

7.5

10.0

12.5

15.0

t in s

Abb. 5.138.: Gemessene Geschwindigkeit (m/s) der bewegten Masse eines FederMasse-Dämpfer Systems

Abstraktion Analog zu den Überlegungen aus Abschnitt 4.2.1 auf Seite 86 erhalten wir den in Abb. 5.139a dargestellten initialen Systementwurf.

Erstellen des Gleichungssystems: Akausaler Bondgraph Der akausale Bondgraph wurde bereits in Abschnitt 5.3.3 auf Seite 157 hergeleitet und ist, um den Lesefluss nicht zu unterbrechen, erneut in Abb. 5.139b dargestellt.

Sortieren des Gleichungssystems: Kausaler Bondgraph Unter Anwendung der in Abschnitt 5.4.4 auf Seite 169 vorgestellten Anleitung zur Kausalisierung von Bondgraphen erhalten wir den in Abb. 5.139c gezeigten Bondgraphen.

Implementierung Um ein Blockschaltbild zu erhalten, werden nun sowohl die akausalen als auch die kausalen Gleichungen aus dem Bondgraphen extrahiert (siehe Tab. 5.14).

5.11. Modellbasierter Systementwurf

237

(b)

(a)

v

F

b

m

Se

F v

k

1 v Fm

C: 1k

Fk v F b v

R:b

I:m (c)

Se

F v

1 v Fm

(d)

Fk v F b v

C: 1k

b Fb Fm

F

R:b

I:m

1 s

1 m

k

1 s

v

Fk

Abb. 5.139.: (a) Initialer modellbasierter Systementwurf eines Feder-MasseDämpfer Systems. (b) Akausaler Bondgraph. (c) Kausaler Bondgraph. (d) Blockschalbild

Anhand der kausalen Gleichungen erhalten wir unmittelbar das in Abb. 5.139d dargestellte Blockschaltbild unseres initialen Systementwurfs.

5.11.2. Erste Modifikation Anhand der Verifikation des Simulationsergebnisses aus Abb. 4.12 auf Seite 93 ergibt sich das in Abb. 5.140 modifizierte System. Aus Abschnitt 4.2.2 auf Seite 93 ist bereits bekannt, dass eine Modifikation des bestehenden Blockschaltbilds sehr fehleranfällig ist und es ferner einiges an Erfahrung in der Modellbildung mechatronischer Systeme bedarf, um ein korrektes Modell zu erhalten. Daher wird dieser Ansatz beim modellbasierten Systementwurf mittels der Bondgraphen-Methode nicht verfolgt und der in Abschnitt 4.2.3 auf Seite 97 vorgestellte Ansatz herangezogen, sprich jede Modifikation wird direkt im aktuellen Bondgraphen durchgeführt.

238

5. Die Theorie der Bondgraphen

Element

Akausal

Kausal

1

F − Fk − Fb − Fm = 0 R Fk = k v · dt

Fm := F − Fk − Fb R Fk := k v · dt

Fb = b · v R 1 v=m Fm · dt

Fb := b · v R 1 v := m Fm · dt

C:

1 k

R:b I:m

Tab. 5.14.: Akausale und kausale Gleichungen des initialen Systementwurfs, extrahiert aus dem Bondgraphen

v2

F2

m2

v

k2

b

m k

Abb. 5.140.: Erste Modifikation des Systems

Erstellen des Gleichungssystems: Akausaler Bondgraph Um den Bondgraphen des modifizierten Systems zu erhalten, wird der bestehende Bondgraph aus Abb. 5.139b um die fehlenden Elemente erweitert. Die Kraft F2 wird durch eine Potentialquelle Se dargestellt. Die Masse m2 wird durch ein I-Element beschrieben, das sodann an eine 1-Junction angeschlossen wird, die sicherstellt, dass die Summe der Kräfte die auf die Masse wirkt, gleich Null ist. Daher wird auch die Potentialquelle an die 1-Junction angeschlossen. Die Feder mit der Steifigkeit k2 wird an eine 0-Junction angeschlossen, um die Geschwindigkeitsdifferenz zwischen beiden Massen abzubilden. Die Federkraft Fk2 wirkt sowohl auf Masse m2 als auch auf die Masse m. Daher wird die 1-Junction, an welcher sich die Masse m2 befindet, durch einen Bond mit der 0-Junction verbunden und die ursprüngliche Kraft F des Bondgraphen aus Abb. 5.139b durch die Federkraft Fk2 ersetzt und ebenfalls an die 0-Junction angeschlossen. Dies führt zu dem in Abb. 5.141 dargestellten Bondgraphen.

Sortieren des Gleichungssystems: Kausaler Bondgraph Unter Anwendung der in Abschnitt 5.4.4 auf Seite 169 vorgestellten Anleitung zur Kausalisierung von Bondgraphen erhalten wir den in Abb. 5.142 gezeigten

5.11. Modellbasierter Systementwurf

Se

F2 v2

I:m2

C: k1

Fm2 v2

Fk2 Δv

239

1

2

Fk2 v2

Fk2 v

0

1

Fk v F b v

C: 1k

Fm v

R:b

I:m Abb. 5.141.: Akausaler Bondgraph des modifizierten Systems

Se

F2 v2

I:m2

C: k1

Fm2 v2

Fk2 Δv

Bondgraphen.

1

2

Fk2 v2

0

Fk2 v

1

Fk v F b v

C: 1k

Fm v

R:b

I:m Abb. 5.142.: Kausaler Bondgraph des modifizierten Systems

Implementierung Um das Blockschaltbild des modifizierten Systems zu erhalten, werden erneut die akausalen sowie die kausalen Gleichungen aus dem Bondgraphen extrahiert (siehe Tab. 5.15). Anhand der kausalen Gleichungen erhalten wir unmittelbar das Blockschaltbild aus Abb. 4.18 auf Seite 101.

240

5. Die Theorie der Bondgraphen

Element

Akausal

Kausal

1

F2 − Fm2 − Fk2 = 0 R v2 = m12 Fm2 · dt

Fm2 := F2 − Fk2 R v2 := m12 Fm2 · dt

1 k2

v2 − ∆v − v = 0 R Fk2 = k2 ∆v · dt

∆v := v2 − v R Fk2 := k2 ∆v · dt

1 k

Fk2 − Fk − Fb − Fm = 0 R Fk = k v · dt

Fm := Fk2 − Fk − Fb R Fk := k v · dt

Fb = b · v R 1 v=m Fm · dt

Fb := b · v R 1 v := m Fm · dt

I : m2 0 C: 1 C:

R:b I:m

Tab. 5.15.: Akausale und kausale Gleichungen des modifizierten Systementwurfs, extrahiert aus dem Bondgraphen

5.11.3. Zweite Modifikation Bei der Verifikation des Simulationsergebnisses aus Abb. 4.19 auf Seite 102 stellt sich heraus, dass die überlagerte Schwingung, die durch das Teilsystem entsteht, in der Messung Abb. 5.138 (Seite 236) ein stärker gedämpftes Verhalten aufweist. Abhilfe soll ein zusätzlicher Dämpfer verschaffen, der parallel zur Feder angebracht wird (siehe Abb. 5.143).

v2

F2

b2

m2

v

b

m k2

k

Abb. 5.143.: Erweiterung des Systems um einen Dämpfer

Erstellen des Gleichungssystems: Akausaler Bondgraph Der zusätzliche Dämpfer lässt sich problemlos in den akausalen Bondgraphen aus Abb. 5.141 integrieren. Dabei wird der Dämpfer analog zur Feder an eine

5.11. Modellbasierter Systementwurf

241

0-Junction angeschlossen, die sodann mit den beiden 1-Junctions verknüpft wird (siehe Abb. 5.144).

C: k1

2

Fm2 v2

Fk2 Δv

I:m2

Se

F2 v2

1

0

0

F k v 2 F b2 v

1 Fm v

F k2 v2 F v2 b2

Fk v F b v

C: 1k

R:b

Fb2 Δv

I:m

R:b2 Abb. 5.144.: Akausaler Bondgraph des abermals modifizierten Systems

Sortieren des Gleichungssystems: Kausaler Bondgraph Bei der Kausalisierung bleiben die Kausalitätsbalken des Bondgraphen aus Abb. 5.142 unverändert. Für die verbleibenden Bonds werden die in Abschnitt 5.4.4 auf Seite 169 vorgestellten Regeln angewendet, sodass sich der in Abb. 5.145 dargestellte kausale Bondgraph ergibt.

Implementierung Die zur Erstellung des Blockschaltbild nötigen Gleichungen sind in Tab. 5.16 abgebildet. Anhand der kausalen Gleichungen erhalten wir unmittelbar das Blockschaltbild aus Abb. 4.23 auf Seite 108.

242

5. Die Theorie der Bondgraphen

C: k1

2

Fm2 v2

Fk2 Δv

I:m2

Se

F2 v2

1

F k2 v2 F b v2 2

0

F b2 v

1

Fk v

C: 1k

F v

Fm v

0

F k2 v

b

R:b

Fb2 Δv

I:m

R:b2 Abb. 5.145.: Kausaler Bondgraph des abermals modifizierten Systems

5.11.4. Dritte Modifikation In der letzten Modifikation werden sowohl die Feder als auch der Dämpfer zwischen den Massen m2 und m entfernt, um anhand eines vereinfachten Modells eine Reglerauslegung durchzuführen (Abb. 5.146).

F2

v2

v

m2

m

b

k Abb. 5.146.: Vereinfachtes System z.B. für regelungstechnische Anwendungen

Erstellen des Gleichungssystems: Akausaler Bondgraph Um den Bondgraphen des Systems aus Abb. 5.146 zu erhalten, werden sowohl das C-Element und das R-Element, als auch die beiden 0-Junctions sowie die entsprechenden Bonds aus dem Bondgraphen aus Abb. 5.144 auf Seite 241

5.11. Modellbasierter Systementwurf

243

Element

Akausal

Kausal

1

F2 − Fm2 − Fk2 − Fb2 = 0 R v2 = m12 Fm2 · dt

Fm2 := F2 − Fk2 − Fb2 R v2 := m12 Fm2 · dt

v2 − ∆v − v = 0 R Fk2 = k2 ∆v · dt

∆v := v2 − v R Fk2 := k2 ∆v · dt

R : b2

Fb2 = b2 · ∆v

Fb2 := b2 · ∆v

1

Fk2 + Fb2 − Fk − Fb − Fm = 0 R Fk = k v · dt

Fm := Fk2 + Fb2 − Fk − Fb R Fk := k v · dt

Fb = b · v R 1 v=m Fm · dt

Fb := b · v R 1 v := m Fm · dt

I : m2 0 C:

C:

1 k2

1 k

R:b I:m

Tab. 5.16.: Akausale und kausale Gleichungen des abermals modifizierten Systementwurfs, extrahiert aus dem Bondgraphen

entfernt. Die beiden 1-Junctions können nun durch eine 1-Junction ausgedrückt werden (siehe Abb. 5.147).

Sortieren des Gleichungssystems: Kausaler Bondgraph Der kausale Bondgraph ist in Abb. 5.148 dargestellt. Aufgrund der Vereinfachung tritt beim Kausalisieren eine strukturelle Singularität auf, die im folgenden Abschnitt anhand des in Abschnitt 5.8.3 auf Seite 214 vorgestellten Algorithmus, eliminiert wird. Es wird bewusst darauf verzichtet, die Massen m und m2 zusammenzufassen, um den Konflikt zu entfernen, da dieser Schritt bei komplexeren Systemen in der Regel nicht ohne Weiteres durchzuführen ist.

Implementierung Die zur Erstellung des Blockschaltbilds nötigen Gleichungen sind in Tab. 5.17 abgebildet. Anhand der kausalen Gleichungen tritt die strukturelle Singularität in der Komponentengleichung der Masse m2 sehr gut zum Vorschein. Durch die starre Verbindung der beiden Massen, besitzen beide dieselbe Geschwindigkeit v. Dies

244

5. Die Theorie der Bondgraphen

Fm2 v

I:m2

Se

F2 v

1

Fk v

C: 1k

F v

b

Fm v

R:b

I:m Abb. 5.147.: Akausaler Bondgraph des vereinfachten Systems Element

Akausal

Kausal

1

F2 − Fm2 − Fk − Fb − Fm = 0 R v = m12 Fm2 · dt R Fk = k v · dt

Fm2 := F2 − Fk − Fb − Fm R v := m12 Fm2 · dt R Fk := k v · dt

Fb = b · v R 1 v=m Fm · dt

Fb := b · v

I : m2 C:

1 k

R:b I:m

Fm := m ·

dv dt

Tab. 5.17.: Akausale und kausale Gleichungen des vereinfachten Systems, extrahiert aus dem Bondgraphen

bedeutet ferner, dass es nur eine Zustandsvariable, nämlich die Geschwindigkeit v gibt und daher auch nur an einer Stelle eine Anfangsbedienung v(0) spezifiziert werden kann. Um den Konflikt zu eliminieren, erstellen wir die Zustandsgleichung für die Zustandsvariable v und folgen den Schritten zur Eliminierung der strukturellen Singularität aus Abschnitt 5.8.3 auf Seite 214. v˙ =

1 1 · Fm2 = (F2 − Fk − Fb − Fm ) m2 m2

(5.149)

Um später ein Blockschaltbild erstellen zu können, ist es nicht nötig alle Variablen im Klammerausdruck zu substituieren. Da wir ausschließlich den Konflikt

5.11. Modellbasierter Systementwurf

245

Fm2 v

I:m2

Se

F2 v

1

Fk v F v

Fm v

Konflikt

C: 1k

b

R:b

I:m Abb. 5.148.: Kausaler Bondgraph des vereinfachten Systems lösen wollen, substituieren wir lediglich den Term Fm . ! dv 1 F2 − Fk − Fb − m · v˙ = m2 dt

(5.150)

Um den Konflikt zu lösen, muss eine zusätzliche algebraische Gleichung gefunden werden, welche die unbekannte Variable in nicht abgeleiteter Form, also v, berechnet. Nachdem es sich dabei bereits um eine Zustandsvariable handelt, entfällt dieser Schritt und wir sind direkt in der Lage v˙ explizit darzustellen. v˙ =

1 (F2 − Fk − Fb − m · v) ˙ m2

(5.151)

Daraus ergibt sich unmittelbar: v˙ =

1 (F2 − Fk − Fb ) m + m2

(5.152)

Im letzten Schritt wird Gleichung (5.152) in integraler Form dargestellt. 1 v= m + m2

Zt (F2 − Fk − Fb ) dt

(5.153)

0

Das Teil-Blockschaltbild zur grafischen Darstellung von Gleichung (5.153) ist in Abb. 5.149 veranschaulicht. Durch Hinzufügen der verbleibenden Gleichungen, wobei die Gleichung für die Feder in integraler Form dargestellt werden muss, erhalten wir das in Abb. 5.150 dargestellte Blockschaltbild.

246

5. Die Theorie der Bondgraphen

Fb F2

Fm+m2

1 s

1 m +m 2

v

Fk Abb. 5.149.: Teil-Blockschaltbilds für Gleichung (5.152)

b Fb F2

Fm+m2

1 s

1 m +m 2

k

1 s

v

Fk

Abb. 5.150.: Blockschaltbild des vereinfachten Systems

5.12. Nichtlineare Bondgraphen am Beispiel der Gleichstrom-Nebenschlussmaschine Bisher wurden ausschließlich lineare Systeme behandelt. Dieser Abschnitt widmet sich der Linearisierung nichtlinearer physikalischer Systeme, wie sie in der Praxis relativ häufig anzutreffen sind. Als Beispiel wird der Bondgraph einer Gleichstrom-Nebenschlussmaschine herangezogen. Es wird sich zeigen, dass zwei der drei Zustandsgleichungen in nichtlinearer Form vorliegen, was eine Überführung in die lineare Zustandsraumdarstellung unmöglich macht. Um eine lineare Zustandsraumdarstellung zu erhalten, werden wir von der in Abschnitt 1.5.5 auf Seite 15 vorgestellten Linearisierung dynamischer Modelle Gebrauch machen.

5.12. Nichtlineare Bondgraphen: Gleichstromnebenschlussmaschine

247

5.12.1. Erstellung des Bondgraphen Abb. 5.151 zeigt das Prinzipschaltbild einer Gleichstrom-Nebenschlussmaschine.

i

ia is

La

Ra

J

Ls

u Rs

T,ω



Abb. 5.151.: Gleichstrom-Nebenschlussmaschine Im Gegensatz zum permanenterregten Gleichstrommotor aus Abschnitt 5.5.4 (Seite 180) wird der magnetische Fluss Ψ bei der Gleichstromnebenschlussmaschine durch eine Erregerwicklung, welche parallel zur Ankerwicklung geschaltet wird, hervorgerufen. Der nichtlineare Zusammenhang Ψ = f (is )

(5.154)

zwischen dem Erregerstrom is und dem magnetischen Fluss Ψ soll dabei vereinfacht durch die lineare Beziehung Ψ = k · is

(5.155)

beschrieben werden. Da sich der magnetische Fluss Ψ in Abhängigkeit vom Erregerstrom is ändert, muss anstelle eines Gyrators GY ein modulierter Gyrator mGY herangezogen werden. Der Bondgraph des Ankerkreises wird analog zu dem des permanenterregten Gleichstrommotors erstellt. Durch die Parallelschaltung von Erregerkreis und Ankerkreis wird zwischen der Potentialquelle Se und der 1-Junction, an welcher sich die Induktivität La und der Widerstand Ra des Ankerkreises befinden, eine 0-Junction eingefügt, an welche der Erregerkreis angeschlossen wird. Dieser wird ebenfalls durch eine 1-Junction, an welche die Induktivität Ls und der Widerstand Rs angeschlossen werden, beschrieben. Der akausale Bondgraph ist in Abb. 5.152 dargestellt. Der kausalisierte Bondgraph ist in Abb. 5.153 veranschaulicht. Im nächsten Schritt werden die Gleichungen aus dem Bondgraphen extrahiert (siehe Tab. 5.18).

248

5. Die Theorie der Bondgraphen

R:Rs s

I:J

R

uLs u is

I:Ls

Se

u i

0

1

u ia

1

is

u is

k

TJ ω

is

Ψ

Ubemf ia

mGY

T ω

1

Tb ω

R:b

a

uR

ia uLa ia

R:Ra

I:La Abb. 5.152.: Akausaler Bondgraph der Gleichstrom-Nebenschlussmaschine

R:Rs s

I:J

R

uLs u is

I:Ls

Se

u i

0

1

u ia

1

is

u is

Ubemf ia

k

TJ ω

is

Ψ

mGY

T ω

1

Tb ω

R:b

a

uR

ia uLa ia

R:Ra

I:La Abb. 5.153.: Kausaler Bondgraph der Gleichstrom-Nebenschlussmaschine

5.12. Nichtlineare Bondgraphen: Gleichstromnebenschlussmaschine

249

Element

Akausal

Kausal

0

i − is − ia = 0

i := is + ia

1

u − uRs − uLs = 0

uLs := u − uRs

R : Rs I : Ls

uRs = Rs · is R is = L1s uLs · dt

uRs := Rs · is R is := L1s uLs · dt ≡ x1

1

u − uRa − ubemf − uLa = 0

uLa := u − uRa − ubemf

R : Ra I : La

uRa = Ra · ia R ia = L1a uLa · dt

uRa := Ra · ia R ia := L1a uLa · dt ≡ x2

mGY

ubemf = Ψ · ω

ubemf := Ψ · ω

T = Ψ · ia

T := Ψ · ia

Ψ = k · is

Ψ := k · is

1

T − Tb − TJ = 0

TJ := T − Tb

R:b

Tb = b · ω R ω = J1 TJ · dt

Tb := b · ω R ω := J1 TJ · dt ≡ x3

I:J

Tab. 5.18.: Gleichungen der Gleichstrom-Nebenschlussmaschine, extrahiert aus dem Bondgraphen

5.12.2. Aufstellen der Zustandsgleichungen Die Zustandsgleichungen erhalten wir durch Ableiten der Gleichungen aus Tab. 5.18, welche in integraler Form vorliegen, sprich x1 , x2 und x3 .

1 1 1 · uLs = (u − uRs ) = (u − Rs · is ) Ls Ls Ls 1 x˙ 1 = (u − Rs · x1 ) Ls x˙ 1 =

(5.156)

250

5. Die Theorie der Bondgraphen 1 1 1 · uLa = (u − uRa − ubemf ) = (u − Ra · ia − Ψ · ω) La La La 1 x˙ 2 = (u − Ra · x2 − k · is · x3 ) La 1 x˙ 2 = (u − Ra · x2 − k · x1 · x3 ) (5.157) | {z } La

x˙ 2 =

nichtlinear

1 1 1 · TJ = (T − Tb ) = (Ψ · ia − b · ω) J J J 1 x˙ 3 = (k · is · x2 − b · x3 ) J 1 x˙ 3 = (k · x1 · x2 −b · x3 ) | {z } J x˙ 3 =

(5.158)

nichtlinear

Es ist ersichtlich, dass zwei der drei Zustandsgleichungen (Gleichung (5.157) und (5.158)) nichtlinearer Natur sind. Diese Nichtlinearität tritt im vorliegenden Beispiel aufgrund der Multiplikation von zwei Zustandsvariablen auf. Folglich lässt sich das System nicht mehr direkt in die bekannte lineare Form = A · x(t) + b · u(t) x(t) ˙ überführen.

5.12.3. Linearisierung Um zur linearen Zustandsraumdarstellung zu gelangen, sind folgende Schritte erforderlich: (1) Bestimmung des Arbeitspunktes (stationärer Zustand): x˙ = 0 (2) Auslenkung um den Arbeitspunkt (3) Linearisierung um den Arbeitspunkt

(1) Bestimmung des Arbeitspunktes Für den Arbeitspunkt unseres Systems wählen wir dessen stationären Zustand für eine gegebene konstante Eingangsspannung. Ein System befindet sich im stationären Zustand, sobald der Einschaltvorgang abgeschlossen ist, d.h. sobald

5.12. Nichtlineare Bondgraphen: Gleichstromnebenschlussmaschine

251

die zeitlichen Ableitungen der Zustandsvariablen gleich Null sind: x˙ = 0. 1 (u − Rs · x1 ) Ls 1 x˙ 2 = 0 = (u − Ra · x2 − k · x1 · x3 ) La 1 x˙ 3 = 0 = (k · x1 · x2 − b · x3 ) J x˙ 1 = 0 =

(5.159) (5.160) (5.161)

Um die stationären Werte der Zustandsvariablen zu erhalten, muss das Gleichungssystem bestehend aus drei Gleichungen (5.159), (5.160) und (5.161) und drei Unbekannten (x1 , x2 und x3 ) gelöst werden. Wir erhalten folgende Lösung: x1 = x2 = x3 =

u Rs 1 · b



k·u Rs

!−1

2 + Ra

·u

k u · · x2 b Rs

(2) Auslenkung um den Arbeitspunkt Bei der Auslenkung um den Arbeitspunkt soll, grob gesagt, gezeigt werden, dass die linearisierte Zustandsraumdarstellung nur im Bereich des gewählten Arbeitspunktes korrekte Ergebnisse liefert. Aufgrund der Gleichungen (1.19) und (1.20) auf Seite 16 wissen wir, dass sich jede Zustandsvariable durch einen statischen und einen dynamischen Anteil beschreiben lässt. Durch Bilden der zeitlichen Ableitung der Zustandsvariable im Arbeitspunkt (siehe Gleichungen (1.21) und (1.22) auf Seite 17) wird dann ersichtlich, dass der statische Anteil keinen Einfluss mehr hat und nur noch der dynamische Anteil ausschlaggebend ˙ x → ∆x und u → ∆u. ist, sprich x˙ → ∆x, Die Zustandsgleichungen im Arbeitspunkt nehmen daher folgende Form an: 1 Rs · ∆x1 + · ∆u ≡ f1 Ls Ls k Ra 1 ∆x˙ 2 = − · ∆x1 · ∆x3 − · ∆x2 + · ∆u ≡ f2 La La La k b ∆x˙ 3 = · ∆x1 · ∆x2 − · ∆x3 ≡ f3 J J

∆x˙ 1 = −

(5.162) (5.163) (5.164)

252

5. Die Theorie der Bondgraphen

(3) Linearisierung um den Arbeitspunkt Um schlussendlich die Form von Gleichung (5.165) zu erhalten, müssen die partiellen Ableitungen der Zustandsgleichungen im Arbeitspunkt (Gleichung (5.162), (5.163) und (5.164)) nach den Zuständen und dem Eingang gebildet werden. Das Ergebnis ist eine vektorisierte Gleichung in folgender Form: = A · ∆x(t) + b · ∆u(t) ∆x(t) ˙

(5.165)

Bezogen auf unser Beispiel erhalten wir somit folgende linearisierte Zustandsmatrix:     ∂f1 ∂f1 ∂f1 Rs − 0 0 Ls  ∂x1 ∂x2 ∂x3    ∂f  ∂f2 ∂f2 ∂f2    Ra k k = = A=    − ·x − L a − L a · x1  ∂x x=x  ∂x1 ∂x2 ∂x3   La 3  u=u ∂f3 ∂f3 ∂f3 k k b · x · x − 2 1 ∂x1 ∂x2 ∂x3 J J J Analog dazu erhalten wir den linearisierten Eingangsvektor:     ∂f1 1 ∂u L s     ∂f  ∂f2   1  = = b=     ∂u x=x  ∂u   La  u=u ∂f3 0 ∂u Die linearen Zustandsgleichungen in Vektor-Matrix Schreibweise nehmen somit folgende Form an:         1 s 0 0 ∆x ∆x˙ 1 −R 1 Ls     Ls             k a ·    ∆x˙ 2  =  − Lk · x3 − R − L a · x1 ∆x2  +  L1a  · ∆u La a         k k b · x · x − ∆x 0 ∆x˙ 3 2 1 3 J J J

5.13. Irreversible Thermodynamik Dieser Abschnitt ist der irreversiblen Thermodynamik gewidmet und soll einen ersten Eindruck vermitteln, wie sich Wärmeleitung (Konduktion) und Wärmespeicherung anhand von Bondgraphen abbilden lässt. Die irreversible Umwandlung von z.B. elektrischer Leistung in Wärme, wurde bereits in Abschnitt 5.13 auf Seite 252 behandelt. In Abschnitt 5.1.5 auf Seite 123 wurde die Wärmeleitung

5.13. Irreversible Thermodynamik

253

sowie die Wärmespeicherung anhand von DAEs diskutiert. Noch ausstehend ist die Beschreibung beider Phänomene anhand von Bondgraphen. An dieser Stelle sei erwähnt, dass weitere Phänomene zur Wärmeausbreitung (Konvektion und Wärmestrahlung), welche ebenfalls einen fundamentalen Bestandteil der Thermodynamik darstellen, nicht behandelt werden. Eine Einführung zu diesem Thema ist z.B. in [Cel91], Kapitel 8 bzw. in [Bor10], Kapitel 2 zu finden.

5.13.1. Wärmeleitung (Konduktion) Der Bondgraph zur Beschreibung der Wärmeleitung zwischen zwei Körpern oder durch z.B. ein Kupferleitersegment (siehe Abb. 5.154) wurde erstmals von J. Thoma vorgestellt (siehe [Tho75]) und soll im Folgenden etwas genauer betrachtet werden.

T1 S1

T2 S2 - S1

S1

T1 - T2

RS

1

T2 S1

0

T2 S2

Abb. 5.154.: Bondgraph zur Darstellung der Wärmeleitung zwischen zwei Körpern

Vergleicht man Abb. 5.154 mit dem Stromfluss durch einen elektrischen Widerstand Abb. 5.39 auf Seite 149, so fällt auf, dass das R-Element im Prinzip durch ein RS-Element ersetzt wurde. In der elektrischen Domäne stellt ein RElement die Verluste dar, die irreversibel in Wärme umgewandelt werden. Auf der thermischen Seite erfolgt die Wärmeausbreitung anhand von Wärmeleitung (bzw. Konvektion oder Strahlung), wobei hier keine Verluste erzeugt werden. Aus diesem Grund kann an dieser Stelle auch kein R-Element verwendet werden. Die Wärme geht nicht verloren, sie „fließt“ vom heißeren zum kälteren Körper bzw. vom heißeren zum kälteren Ende eines Kupferleitersegments. Dies wird durch das RS-Element sichergestellt. Es ist dabei zu beachten, dass sowohl die primäre-, als auch die sekundäre Seite des RS-Elements die thermische Domäne repräsentieren. Aus Gleichung (5.39) auf Seite 127 ist bereits bekannt, dass der Widerstand Rth von der Temperatur T abhängt. Rth = θth · ∆T

(5.166)

254

5. Die Theorie der Bondgraphen

Das RS-Element, das zum besseren Verständnis in Abb. 5.155 separat dargestellt wird, lässt sich anhand der Gleichungen (5.167) und (5.168) beschreiben:

T1 S1

T2 S2

RS

Abb. 5.155.: RS-Element zur Beschreibung der Wärmeleitung

T1 = Rth · S˙ 1 T1 · S˙ 1 = T2 · S˙ 2

(5.167) (5.168)

Für den Bondgraph zur Beschreibung der Wärmeleitung aus Abb. 5.154 gilt: (T1 − T2 ) · S˙ 1 = T2 · (S˙ 2 − S˙ 1 )

(5.169)

Dies führt zu folgender Gleichung: T1 · S˙ 1 = T2 · S˙ 2

(5.170)

Das heißt, dass die Energie erhalten bleibt und die Wärmeleitung demnach korrekt abgebildet wurde. Zu beachten ist, dass der in Abb. 5.154 gezeigte Bondgraph nur dann gültig ist, wenn T1 > T2 . Für den Fall T2 > T1 ergibt sich folgender Bondgraph (siehe Abb. 5.156). Eine detaillierte Diskussion zu diesem Bondgraph ist in [Bor00], Kapitel

T1 S1

T2 - T1 S2

S1 - S2

T1

RS

0

T1 S2

1

T2 S2

Abb. 5.156.: Bondgraph zur Darstellung der Wärmeleitung zwischen zwei Körpern, wobei T2 > T1 2 bzw. in [Bor10], Kapitel 2, zu finden. Eine alternative Herleitung, anhand der räumlichen Diskretisierung der eindimensionalen Wärmeleitungsgleichung, des Bondgraphen aus Abb. 5.154 ist in [Cel91], Kapitel 8 zu finden.

5.13. Irreversible Thermodynamik

255

5.13.2. Wärmespeicherung Die Wärmespeicherung wird anhand eines C-Elements beschrieben, das an eine 0Junction angeschlossen werden muss. Dabei ist zu beachten, dass die thermische Kapazität 20 Cth ebenfalls von der Temperatur abhängig ist. Die thermische Kapazität ergibt sich, wie aus Gleichung (5.41) auf Seite 127 ersichtlich ist, wie folgt: Cth =

γth T

(5.171)

Wobei die Wärmekapazität γth bereits in Gleichung (5.34) auf Seite 124 angegeben wurde. Ein Segment eines Kupferleiters in dem zum einen Wärme gespeichert wird und zum anderen ein Wärmetransport stattfindet, ist in Abb. 5.157 dargestellt.

T1

0

S0

T1 S1

T2 S2 - S1

S1

T1 - T2

RS

1

T2 S1

0

T2 S2

T1

S0 - S1

C:Cth Abb. 5.157.: Bondgraph zur Darstellung der Wärmespeicherung sowie der Wärmeleitung in einem Kupferleitersegment, wobei T1 > T2

In Abb. 5.157 wurde zuerst die Wärmespeicherung (C-Element) und anschließend die Wärmeleitung abgebildet. Alternativ kann auch zuerst die Wärmeleitung und anschließend die Wärmespeicherung abgebildet werden (siehe Abb. 5.158). Im Bondgraphen aus Abb. 5.158 können die beiden 0-Junctions noch zusammengefasst werden, sodass sich der in Abb. 5.159 dargestellte Bondgraph ergibt. 20 In

der Literatur auch als thermische Masse bezeichnet.

256

5. Die Theorie der Bondgraphen

T1 S1

T2 S2 - S1

S1

T1 - T2

RS

1

T2

T2

0

S1

0

S2

T2

S3

S3

T2

S2

C:C Abb. 5.158.: Alternativer Bondgraph zur Darstellung der Wärmespeicherung sowie der Wärmeleitung in einem Kupferleitersegment, wobei T1 > T2

T1 S1

T2 S2 - S1

S1

T1 - T2

RS

1

T2

0

S1

T2

S3

T2

S2 - S3

C:C Abb. 5.159.: Vereinfachter alternativer Bondgraph zur Darstellung der Wärmespeicherung sowie der Wärmeleitung in einem Kupferleitersegment, wobei T1 > T2

5.13. Irreversible Thermodynamik

257

Anhand dieses Bondgraphen lässt sich nun (wie auch in [Cel91], Kapitel 8 beschrieben) die Wärmeleitung durch eine elektrische Leitung (z.B. ein Kupferleiter) modellieren. Wird ein Kupferleiter beispielsweise durch drei Segmente beschrieben, so werden drei, der in Abb. 5.157 dargestellten Bondgraphen, in Reihe geschaltet (siehe Abb. 5.160).

T2

S1

0

T2

S3

1

T3

S3

0

T3

S5

T4

S5

S6 - S5

1

T4

S5

0

T4

S7

T3

T2

C:Cth2

RS

S3

S1

1

T3

S4 - S3

S4 - S5

S1

S2 - S3

T1

C:Cth1

T1

RS

T3 - T4

0 S0 - S1

S0

T2

S2 - S1

T2 - T3

T1

T1 - T2

RS

C:Cth3

Abb. 5.160.: Bondgraph zur Darstellung der Wärmespeicherung sowie der Wärmeleitung durch einen Kupferleiter, der durch drei im Raum diskretisierte Elemente dargestellt wird Abschließend sei erwähnt, dass die Annäherung an das reale thermische Verhalten einer Kupferleitung von der Anzahl der im Modell verwendeten Kupferleitersegmente abhängig ist. Je mehr Kupferleitersegmente verwendet werden, desto besser wird auch das reale thermische Verhalten abgebildet.

5.13.3. Temperaturabhängigkeit eines elektrischen Widerstands Bisher wurde ein elektrischer Widerstand anhand eines R-Elements modelliert und dessen Wert als konstant angenommen. Genau genommen ändert sich der Wert des Widerstandes jedoch in Abhängigkeit der Temperatur, R = f (T ). Dadurch liegt ein nichtlineares Verhalten vor. In Abschnitt 1.6 auf Seite 21 wurde bereits eine lineare Approximation (Linearisierung) vorgestellt, um die Temperaturabhängigkeit zu beschreiben (siehe Gleichung (1.29) auf Seite 21). Diese Gleichung soll nochmals in einer etwas angepassten Form dargestellt werden. R(T ) = R(T0 ) · [1 + α · (T − T0 )]

(5.172)

Wobei T0 die Referenztemperatur und T die aktuelle Temperatur darstellt. Im Folgenden soll daraus ein Bondgraph abgeleitet werden. Der temperaturabhängige Widerstand wird anhand eines modulierten mRS-Elements (siehe

258

5. Die Theorie der Bondgraphen

Abschnitt 5.10.2 auf Seite 227) dargestellt. Die Temperatur T wird auf der thermischen Seite des mRS-Elements ermittelt. Dazu wird eine 0-Junction an das mRS-Element angeschlossen und die Temperatur gemessen. Die Temperatur T wird an den positiven Eingang eines Subtrahierers angeschlossen. An den negativen Eingang wird der konstante Wert T0 angeschlossen. Der Ausgang des Subtrahierers wird in einen „Gain“-Block geführt und mit dem linearen Temperaturkoeffizienten α multipliziert. Über einen Addierer wird der Wert 1 dazugezählt und dessen Ausgang wird wiederum in einen „Gain“-Block geführt und mit dem Widerstandswert R(T0 ) multipliziert. Der Bondgraph ist in Abb. 5.161 dargestellt.

u i

mRS

T S

0

R(T) R(T0)

Σ

T

α

Σ

-

T0

1 Abb. 5.161.: Bondgraph eines temperaturabhängigen Widerstands

5.13.4. Beispiel: Thermisches Modell einer permanenterregten Gleichstrommaschine Als Beispiel soll das thermische Modell einer permanenterregten Gleichstrommaschine erstellt werden. Dazu bedarf es vorab noch einigen Überlegungen. Spricht man ganz allgemein von Wärmeausbreitung, so lässt sich das Verhalten in der Mathematik nicht durch gewöhnliche Differentialgleichungen (ODE) abbilden. Wie in Abschnitt 1.5.4 (Seite 11) beschrieben, ist die Wärmeleitung in z.B. einem Kupferleiter nicht nur von der Zeit, sondern auch vom Ort abhängig. Es handelt sich dabei um ein System mit verteilten Parametern, das mit partiellen Differentialgleichungen beschrieben werden muss. Um dennoch ein Modell mit konzentrierten Parametern zu erhalten, muss wie im vorherigen Abschnitt gezeigt, eine Diskretisierung im Raum erfolgen. Dies führt zu einem thermischen Ersatzschaltbild des zu modellierenden Systems.

5.13. Irreversible Thermodynamik

259

Bei permanenterregten Gleichstrommaschinen ist es üblich zwei thermische Kapazitäten (oder Zeitkonstanten) und zwei thermische Übergangswiderstände zu definieren. Eine der beiden thermischen Massen beschreibt die Wärmekapazität der Kupferwicklung der Ankerinduktivität. Der erste Übergangswiderstand repräsentiert die Wärmeleitung zwischen Kupferwicklung und dem Gehäuse des Motors. Die zweite thermische Kapazität entspricht der Wärmekapazität des Motorgehäuses. Der zweite Übergangswiderstand stellt vereinfacht die Wärmeleitung zwischen dem Motorgehäuse und der Umgebung dar. Im Datenblatt einer Gleichstrommaschine findet man deshalb oft die in Tab. 5.19 gezeigten Parameter für das thermische Ersatzschaltbild. Thermische Daten Thermischer Widerstand Gehäuse-Umgebung

θth,ca

K/W

Thermischer Widerstand Wicklung-Gehäuse

θth,wc

K/W

Thermische Zeitkonstante der Wicklung

τth,w

s

Thermische Zeitkonstante des Motors

τth,m

s

Tab. 5.19.: Typische Datenblattangaben zu den thermischen Parametern einer Gleichstrommaschine Aus diesen Parametern lässt sich die Wärmekapazität γth anhand folgender Gleichung berechnen. τth = θth · γth

(5.173)

Bondgraph des thermischen Modells Um den Bondgraphen des thermischen Modells zu erhalten, kann der in Abb. 5.157 auf Seite 255 dargestellte Bondgraph herangezogen werden. Dieser stellt die Wärmespeicherung eines Körpers dar, sowie die Wärmeleitung von diesem zum benachbarten Körper. Somit müssen zwei dieser Bondgraphen miteinander verbunden werden, um das thermische Modell der permanenterregten Gleichstrommaschine zu erhalten. Zur Darstellung der Umgebungstemperatur Ta wird eine Potentialquelle Se verwendet und an die rechte 0-Junction angeschlossen (siehe Abb. 5.162). Dieses Modell wird nun mit dem in Abb. 5.118 auf Seite 217 dargestellten Bondgraphen der permanenterregten Gleichstrommaschine verbunden. Um die beiden Bondgraphen miteinander verknüpfen zu können, wird das R-Element durch ein RS-Element ersetzt.

260

5. Die Theorie der Bondgraphen

Tc

Sw Tc

1

Sw

Sa - Sc

Ta

1

Sc

Sc

Ta

0

Se

Sa

Tc

S1 - Sc

Sw

Tc

0

Ta

Sc

S1 - Sw

Tw

S0 - Sw

S0

Tw

0

RS Tc - Ta

Tw

Tw - Tc

RS

C:Cth,ca

C:Cth,wc

Abb. 5.162.: Bondgraph des thermischen Modells einer permanenterregten Gleichstrommaschine

RS

GY Ψ

Mk ω

0

Sc

0

Se

MJ ω2

Mk Δω Ubemf i

Ta

I:JL

C:1/kτ

uRa i

1

Tc

u i

Sc

1

C:Cth,ca

C:Cth,wc

Se

Tc

Sa

Sw

0

Sa - Sc

Sc

Sw Tc

S1 - Sc

Sw

1

Ta

Ta

Tw

RS

S1 - Sw

Tw

S0 - Sw

S0

0

Tc

Tc - Ta

Tw

Tw - Tc

RS

Mk ω2

1

Mb ω2

R:bτ

uLa i

I:La Abb. 5.163.: Bondgraph der permanenterregten Gleichstrommaschine mit thermischem Modell

5.14. Zweidimensionale mechanische Systeme

261

Was bisher noch nicht berücksichtigt wurde, ist die Temperaturabhängigkeit des Kupferwiderstands der Ankerwicklung. Diese kann aus Abb. 5.161 übernommen werden, um den in Abb. 5.163 dargestellten Bondgraphen zu erweitern (siehe Abb. 5.164).

Tc

Sw

Σ

-

T0

1

Mk Δω Ubemf i

Sc

0

Se

I:JL

C:1/kτ

uRa i u i

Ta

Σ

1

Se

1

GY Ψ

Mk ω

0

MJ ω2

mRS

R(T0)

Sc

C:Cth,ca

α R(T)

Tc

Tc

T

0

Sc

Sw

1

Sa - Sc

Sa

Sw

S1 - Sw

Ta

Ta

Tw

RS

S1 - Sc

S0

0

Tc

Tc - Ta

Tw

RS Tw - Tc

Tw

S0 - Sw

C:Cth,wc

Mk ω2

1

Mb ω2

R:bτ

uLa i

I:La Abb. 5.164.: Bondgraph der permanenterregten Gleichstrommaschine mit temperaturabhängigem Kupferwiderstand der Ankerwicklung und thermischem Modell

5.14. Zweidimensionale mechanische Systeme Der letzte Abschnitt zum Thema Bondgraphen ist der Mehrkörpermechanik gewidmet, wobei wir uns hier auf zweidimensionale Systeme beschränken werden.

262

5. Die Theorie der Bondgraphen

Bisher wurden lediglich eindimensionale mechanische Systeme betrachtet, sprich Systeme, die sich entweder in x- oder in y-Richtung bewegen können (translatorische Bewegung) bzw. Systeme, die sich um ihren eigenen Schwerpunkt drehen können (rotatorische Bewegung). Solche Systeme besitzen einen Freiheitsgrad. Zweidimensionale Systeme hingegen, das sind Systeme, die sich auf einer Ebene bewegen, besitzen drei Freiheitsgrade. Eine zweidimensionale Punktmasse kann sich beispielsweise in x- und y-Richtung bewegen und um ihren Schwerpunkt rotieren. Zur Beschreibung solcher Systeme gibt es bereits sehr gute in der Literatur veröffentlichte Ansätze. Wolfgang Borutzky widmet dieser Thematik in seinem Werk [Bor10] ein eigenes Kapitel „Multibody Systems“, in welchem Mehrkörpersysteme anhand von Multibondgraphen 21 behandelt werden. In [KMR12] werden in Kapitel 9 „Mechanical Systems with Nonlinear Geometry“ ebenfalls komplexere mechanische Systeme behandelt, wobei die meisten dieser Systeme auf sogenannten „Multiport-Feldern“ basieren, die gesondert in Kapitel 7 behandelt werden. Beide Werke sind für ein detaillierteres Studium auf diesem Gebiet zu empfehlen. In diesem Abschnitt werden weder Multiport-Felder noch vektorisierte Bondgraphen (Multibondgraphen) für die Beschreibung zweidimensionaler mechanischer Systeme herangezogen. Hier soll vielmehr eine erste Idee vermittelt werden, was für ein zusätzlicher Aufwand betrieben werden muss, um solche Systeme zu beschreiben. Zur Wiederholung werden in Abschnitt 5.14.1 die Zustandsgleichungen eines mathematischen Pendels 22 sowie eines physikalischen Pendels 23 (Abschnitt 5.14.2 ab Seite 264) anhand der Newton’schen Bewegungsgleichungen in Polarkoordinaten hergeleitet. Im Anschluss wird in Abschnitt 5.14.3 ab Seite 265 ein Bondgraph-Element vorgestellt, um das mathematische Pendel als Bondgraph in Polarkoordinaten darzustellen. Zum Abschluss werden in Abschnitt 5.14.4 ab Seite 269 zweidimensionale Mehrkörpersysteme vorgestellt, die üblicherweise in kartesischen Koordinaten beschrieben werden. Es wird sich zeigen, dass die Konstruktion von Bondgraphen für Systeme mit mehr als einem Freiheitsgrad nicht mehr so intuitiv ist, wie bei eindimensionalen Bondgraphen. Bei solchen Systemen tendiert man in der Regel dazu, zuerst die systembeschreibenden Gleichungen aufzustellen, um daraus den Bondgraphen abzuleiten. Dies macht wenig Sinn, wenn man bedenkt, dass 21 Um

komplexere Systeme überschaubar darzustellen, werden vektorisierte Bondgraphen verwendet, die in der Literatur als Multibondgraphen bekannt sind. 22 Ein Pendel bestehend aus einer Punktmasse, die reibungslos an einem masselosen Faden befestigt ist. 23 Ein reales reibungsloses Pendel, z.B. ein homogener Stab. Dadurch ergibt sich ein zusätzliches Moment, um den körpereigenen Schwerpunkt.

5.14. Zweidimensionale mechanische Systeme

263

Bondgraphen dazu gedacht sind, den Prozess bei der Modellerstellung durch deren grafischen Ansatz zu erleichtern. Aus diesem Grund wird in Abschnitt 5.14.4 auf Seite 274 ein Ansatz vorgestellt, der es ermöglicht Bondgraphen zweidimensionaler Systeme strukturiert zu erstellen.

5.14.1. Das mathematische Pendel Das „klassische“ mathematische Pendel ist in Abb. 5.165 dargestellt.

T

P(0|0)

φ l

Fr m. g .sin(φ)

m

m .g Abb. 5.165.: Mathematisches Pendel Aufgrund der Gravitationskraft m · g wird ein Moment T im Drehpunkt P erzeugt. Die Gravitationskraft kann im Folgenden vektoriell durch zwei Komponentenkräfte ausgedrückt werden. Eine Komponente kompensiert die Seilkraft Fr (Reaktionskraft), während die zweite Komponente m · g · sin(ϕ) das Moment T erzeugt. Die Newton’sche Bewegungsgleichung für rotatorische Systeme kann wie folgt dargestellt werden: T = JP ·

dω = JP · ϕ¨ dt

(5.174)

Mit T = −m · g · sin(ϕ) · l und JP = m · l2 erhalten wir24 : −m · g · sin(ϕ) · l = m · l2 · ϕ¨ 24 Das

(5.175)

negative Vorzeichen ergibt sich aufgrund der dem Drehsinn (positiver Winkel ϕ im Gegenuhrzeigersinn) entgegengesetzten Richtung von T .

264

5. Die Theorie der Bondgraphen

Dies führt schlussendlich zur Differentialgleichung des mathematischen Pendels: g ϕ¨ = − · sin(ϕ) l

(5.176)

Um zu den Zustandsgleichungen zu gelangen, muss ϕ¨ durch die Winkelgeschwindigkeit ω ausgedrückt werden. Nachdem ϕ˙ = ω

(5.177)

ist, kann ϕ¨ durch ω˙ ersetzt werden und wir erhalten: g ω˙ = − · sin(ϕ) l ϕ˙ = ω

(5.178) (5.179)

5.14.2. Das physikalische Pendel Das physikalische Pendel ist in Abb. 5.166 abgebildet.

T

P(0|0)

φ

l Fr

m. g .sin(φ)

m S m .g

Abb. 5.166.: Physikalisches Pendel Die Punktmasse m des physikalischen Pendels wird dabei durch einen homogenen Stab ersetzt. Die Gravitationskraft wirkt dadurch im Schwerpunkt S des

5.14. Zweidimensionale mechanische Systeme

265

Stabs, welcher sich an der Stelle l/2 befindet. Somit muss nun zusätzlich das Trägheitsmoment JS um den Stabschwerpunkt berücksichtigt werden: 1 · m · l2 12

JS =

(5.180)

Dadurch ergibt sich folgendes Trägheitsmoment Jp . JP =

1 · m · l2 + m · 12

 2 l 1 = · m · l2 2 3

(5.181)

Durch Einsetzen des Trägheitsmoments in die Bewegungsgleichung erhalten wir:

−m · g · sin(ϕ) ·

1 l = · m · l2 · ϕ¨ 2 3

(5.182)

3 g ϕ¨ = − · · sin(ϕ) 2 l

(5.183)

5.14.3. Bondgraph des Pendels Um den Bondgraphen des mathematischen bzw. des physikalischen Pendels zu erhalten, bedarf es einiger Überlegungen, die anhand des in Abb. 5.167 gezeigten masselosen Stabs durchgeführt werden sollen.

F v

φ T

l P(0|0)

Abb. 5.167.: Eine Kraft wirkt auf einen masselosen Stab Eine Kraft F wirkt auf einen masselosen Stab25 mit der Länge l, der an einen 25 Daher

hat die Schwerkraft keinen Einfluss (es tritt keine Gewichtskraft auf).

266

5. Die Theorie der Bondgraphen

Drehpunkt P befestigt ist. Diese Kraft erzeugt das Moment T : T = F · sin(ϕ) · l | {z }

(5.184)

x

Daraus ergibt sich folgender Zusammenhang zwischen Winkelgeschwindigkeit ω und Geschwindigkeit v: v = ω · sin(ϕ) · l | {z }

(5.185)

x

Gleichung (5.184) und (5.185) können anhand eines modulierten Transformators beschrieben werden, wobei das Übersetzungsverhältnis m = sin(ϕ) · l ist (siehe Abb. 5.168).

F v

T ω

mTF m l

φ

sin

Abb. 5.168.: Bondgraph eines modulierten Transformators zur Modellierung des masselosen Stabs Im Bondgraph aus Abb. 5.168 wird die Potentialquelle Se zur Beschreibung der Kraft F bewusst weggelassen, um anzudeuten, dass dieser den Zusammenhang der Variablen F und T sowie v und ω anhand eines mTF-Elements abbildet.

Wie erhält man den Winkel ϕ des masselosen Stabs? Dazu wird eine 1-Junction an den rechten Bond aus Abb. 5.168 angeschlossen und die Winkelgeschwindigkeit abgegriffen. Durch Integration erhält man schlussendlich den Winkel (siehe Abb. 5.169)

F v

T ω

mTF

1

1 s

φ

m l

ω

sin

Abb. 5.169.: Bondgraph des masselosen Stabs

5.14. Zweidimensionale mechanische Systeme

267

Um den Bondgraphen des Pendels aus Abb. 5.165 auf Seite 263 zu erhalten, muss die Kraft F durch die Schwerkraft m·g ersetzt werden und die Trägheit des Pendels berücksichtigt werden. Die Schwerkraft wird durch eine Potentialquelle Se beschrieben. Die Trägheit JP des Pendels durch ein I-Element, das an die 1-Junction angeschlossen wird. Der Bondgraph des Pendels in Polarkoordinaten ist in Abb. 5.170 zu sehen26 .

T ω

I:JP

Se

mg v

mTF

T ω

1

m

1 s

-l

sin

φ

Abb. 5.170.: Bondgraph des Pendels

Erstellen der Zustandsgleichungen Zur Verifikation des Bondgraphen des Pendels erstellen wir im nächsten Schritt die Zustandsgleichungen. 1 ω= JP

Zt T · dt = x1

(5.186)

0

Die erste Zustandsgleichung erhalten wir durch Bilden der zeitlichen Ableitung von Gleichung (5.186): 1 1 ·T =− · m · g · l · sin(ϕ) JP JP 1 · m · g · l · sin(x2 ) x˙1 = − JP x˙1 =

26 Das

(5.187)

negative Vorzeichen ergibt sich wiederum aufgrund der dem Drehsinn entgegengesetzten Richtung von T .

268

5. Die Theorie der Bondgraphen

Mit JP = m · l2 erhalten wir: g x˙1 = − · sin(x2 ) l

(5.188)

Die zweite Zustandsgleichung erhalten wir durch Integration der Winkelgeschwindigkeit: Zt ω · dt = x2

ϕ= 0

Dies ergibt schlussendlich folgende Zustandsgleichungen des Pendels. g x˙1 = − · sin(x2 ) l x˙2 = x1

(5.189) (5.190)

Berücksichtigung von Reibungseffekten Bei dem im vorherigen Abschnitt vorgestellten Pendel handelt es sich um ein ungedämpftes System, sprich ein System in dem keine Reibungseffekte (etwa Lagerreibung im Drehpunkt) betrachtet werden. In der Realität müssten solche Effekte genau genommen ebenfalls berücksichtigt werden. Im Bondgraphen in Abb. 5.171 werden Reibungseffekte im Drehpunkt mit einem zusätzlichen R-Element, das über einen Bond an die 1-Junction angeschlossen wird, berücksichtigt.

I:JP

ω

T

b

TJ ω

R:b

Se

mg v

mTF

T ω

1

m

1 s

-l

sin

φ

Abb. 5.171.: Bondgraph des Pendels mit Berücksichtigung von Reibungseffekten im Drehpunkt

5.14. Zweidimensionale mechanische Systeme

269

Die Zustandsgleichungen ergeben sich wie folgt (Herleitung analog zu Abschnitt 5.14.3 auf Seite 267): g b x˙1 = − · sin(x2 ) − · x1 l m · l2 x˙2 = x1

(5.191) (5.192)

Linearisierung Es ist zu beachten, dass es sich beim Pendel um ein nichtlineares System handelt, das nur über eine Linearisierung in die bekannte lineare Form x(t) ˙ = A · x(t) + b · u(t) überführt werden kann. Um zu den linearen Zustandsgleichungen zu gelangen, müssen jedoch nicht die in Abschnitt 5.12.3 auf Seite 250 vorgestellten Schritte durchgeführt werden. Befindet sich das System in dessen Ruhelage, so ist sowohl der Winkel ϕ = 0 als auch sin(ϕ) = 0, d.h. ϕ = sin(ϕ). Dies gilt näherungsweise auch für kleine Auslenkungen, sodass wir folgende lineare Zustandsgleichungen erhalten: b g · x1 x˙1 = − · x2 − l m · l2 x˙2 = x1 bzw. in Vektor-Matrix Schreibweise:       b x1 x˙ 1 − gl − m·l 2 · = x2 x˙ 2 1 0

(5.193) (5.194)

(5.195)

5.14.4. Beispiel: Verladebrücke Der folgende Abschnitt widmet sich einfachen Mehrkörpersystemen mit der Einschränkung, dass sich diese lediglich in einer Ebene bewegen können. Anhand des Beispiels zur Modellierung einer Verladebrücke wird ersichtlich, dass sich die Darstellung in kartesischen Koordinaten für das vorliegende Beispiel besser eignet, als die bisher gewählte Darstellung in Polarkoordinaten. Dies wird anhand des mathematischen Pendels gezeigt, welches zuvor in Polarkoordinaten beschrieben wurde. Anschließend wird ein Ansatz zur Erstellung zweidimensionaler Mehrkörpersysteme vorgestellt, der sodann auf zwei Beispiele (Verladebrücke und Doppelpendel) angewendet wird. Die in Abb. 5.172 dargestellte Verladebrücke besteht aus der Wagenmasse mc und der Pendelmasse mp , die über einen masselosen Stab miteinander verbunden sind. Durch die Wagenmasse besitzt das System einen zusätzlichen

270

5. Die Theorie der Bondgraphen

mc

F x y

P(0|0)

φ F r l -Fr -Fx

-Fy mp mp. g

Abb. 5.172.: Verladebrücke mit Visualisierung der Schnittkräfte. Die Komponentenkräfte sind exemplarisch an der Punktmasse mp dargestellt Freiheitsgrad in x-Richtung. Im nächsten Schritt werden, wie auch schon beim mathematischen Pendel, die Bewegungsgleichungen hergeleitet, beginnend mit der Wagenmasse: mc · x ¨c = F + sin(ϕ) · Fr = F + Fx

(5.196)

Die Bewegungsgleichungen des Pendels ergeben sich wie folgt: mp · x ¨p = − sin(ϕ) · Fr = −Fx mp · y¨p = mp · g − cos(ϕ) · Fr = mp · g − Fy

(5.197) (5.198)

Als Nächstes bilden wir die Momentenbilanz um den Drehpunkt P : 0 = −Fx · l · cos(ϕ) − Fy · l · sin(ϕ)

(5.199)

Wird anstelle der Punktmasse ein homogener Stab verwendet, so ergibt sich folgende Momentenbilanz: JP · ϕ¨ = −Fx ·

l l · cos(ϕ) − Fy · · sin(ϕ) 2 2

(5.200)

Die Position der Punktmasse mp ergibt sich aus: xp = xc + l · sin(ϕ) yp = l · cos(ϕ)

(5.201) (5.202)

Mit den Gleichungen (5.196) bis (5.202) ist die Verladebrücke vollständig beschrieben. In den Gleichungen fällt auf, dass das System in kartesischen Koordinaten vorliegt. Um Systeme, die in kartesischen Koordinaten beschrieben sind,

5.14. Zweidimensionale mechanische Systeme

271

anhand von Bondgraphen zu modellieren, muss der in Abb. 5.169 auf Seite 266 gezeigte modulierte Transformator erweitert werden. In Abb. 5.167 auf Seite 265 wirkt eine Kraft F in y-Richtung auf einen masselosen Stab. In Abb. 5.173 hingegen, wirkt dieselbe Kraft in x-Richtung.

x

v F

y

φ T

l P(0|0)

Abb. 5.173.: Eine Kraft (in x-Richtung) wirkt auf einen masselosen Stab Um den in Abb. 5.174 dargestellten Bondgraphen zu erhalten, muss in den Gleichungen (5.184) und (5.185) auf Seite 266 lediglich die Sinus- durch eine Kosinusfunktion ersetzt werden.

F v

T ω

mTF

1

1 s

φ

m l

ω

cos

Abb. 5.174.: Bondgraph des masselosen Stabs Wirkt nun eine beliebige Kraft F auf den masselosen Stab (siehe Abb. 5.175), so erhält man den dazugehörigen Bondgraphen (siehe Abb. 5.176) durch Kombination der Bondgraphen aus Abb. 5.169 auf Seite 266 und Abb. 5.174. Aufgrund der Kräfte Fx und Fy werden die Momente Tx und Ty erzeugt. Im Drehpunkt P , der durch eine 1-Junction abgebildet wird, ist die Momentenbilanz erfüllt (vgl. Gleichung (5.199)). Im nächsten Schritt wird der Bondgraph des Pendels in kartesischen Koordinaten erstellt. Dazu muss die Reaktionskraft (Seilkraft) Fr in kartesischen Koordinaten ausgedrückt werden (siehe Abb. 5.177). Um den Bondgraphen des mathematischen Pendels in kartesischen Koordinaten zu erhalten, wird anstelle der Trägheit JP um den Drehpunkt P , die Masse

272

5. Die Theorie der Bondgraphen

x y

Fy

F

Fx l

φ T

P(0|0)

Abb. 5.175.: Eine Kraft (in beliebige Richtung) wirkt auf einen masselosen Stab

Fx vx

mTF x

Tx ω

Ty ω

1 ω

mTF y

1 s

l

Fy vy

l φ

cos

sin

Abb. 5.176.: Bondgraph des masselosen Stabs in kartesischen Koordinaten

x T y

P(0|0)

φ l -Fr

-Fy

-Fx

m m .g

Abb. 5.177.: Mathematisches Pendel wobei die Seilkraft durch deren x- und y-Komponenten ausgedrückt wird

5.14. Zweidimensionale mechanische Systeme

273

m verwendet. Anstelle der Newton’schen Bewegungsgleichung für rotatorische Systeme (siehe Gleichung (5.174) auf Seite 263) werden nun die Bewegungsgleichungen für translatorische Systeme in x- und y-Richtung herangezogen (vgl. Gleichung (5.197) und (5.198)), was im Bondgraphen jeweils durch ein I-Element auf der linken und rechten Seite bewerkstelligt wird (siehe Abb. 5.178).

Fm y

vx

Fm x

1

Fx vx

mTF x

Tx ω

1 ω

Ty ω

1 s

l

mTF y

Fy vy

vy

I:m

I:m

1

mg vy

Se

-l φ

cos

sin

Abb. 5.178.: Bondgraph des mathematischen Pendels in kartesischen Koordinaten Um den Bondgraphen des physikalischen Pendels zu erhalten, muss zusätzlich das Trägheitsmoment um den Stabschwerpunkt berücksichtigt werden. Dies erreicht man durch ein weiteres I-Element, das an die mittlere 1-Junction angeschlossen wird (siehe Abb. 5.179).

Fx vx

mTF x

Tx ω

1 ω

Ty ω

1 s

l

mTF y

Fy vy

vy

ω

TJ

vx

Fm x

1

I:m Fm y

I:JP

I:m

1

mg vy

Se

-l φ

cos

sin

Abb. 5.179.: Bondgraph des physikalischen Pendels in kartesischen Koordinaten Für derartige Systeme lässt sich daraus folgende Anleitung zur Konstruktion von Bondgraphen zweidimensionaler Systeme ableiten:

274

5. Die Theorie der Bondgraphen

Anleitung zur Konstruktion von Bondgraphen zweidimensionaler Systeme (1) Verwende den Bondgraphen eines masselosen Stabs in kartesischen Koordinaten zur Modellierung eines Körpers, der einen rotatorischen Freiheitsgrad um einen Drehpunkt besitzt. (2) Erweitere den Bondgraphen aus Schritt (1) um die Masse des Systems (beschrieben durch dessen Bewegungsgleichung in kartesischen Koordinaten). (3) Sind zwei Körper miteinander verbunden, so füge 0-Junctions zur Beschreibung der Reaktionskräfte ein. Dabei muss eine 0-Junction zwischen dem modulierten Transformator und der 1-Junction (jeweils für x- und y-Richtung) bei einem der zwei Körper eingefügt werden. Zum Schluss muss die 0-Junction mit der 1-Junction des gegenüberliegenden Körpers (wiederum für x- und y-Richtung) verbunden werden. Erstellung des Bondgraphen der Verladebrücke In Schritt (1) der Anleitung zur Konstruktion von Bondgraphen zweidimensionaler Systeme wird der Bondgraph des masselosen Stabs herangezogen (siehe Abb. 5.176). In Schritt (2) wird der Bondgraph um die Masse des Pendels (beschrieben durch deren Bewegungsgleichung in kartesischen Koordinaten) erweitert (siehe Abb. 5.178). Schritt (3) wird hier etwas ausführlicher behandelt: Im Prinzip wird der Bondgraph des Systems „Kraft F wirkt auf Wagenmasse mc “ mit dem Bondgraphen aus Schritt(2) verbunden. Eine Kraft, die auf eine Masse wirkt, lässt sich durch eine Potentialquelle Se und einem I-Element für die Masse mc , die beide an eine 1-Junction angeschlossen werden, beschreiben. Um nun beide Systeme miteinander zu verbinden, wird zwischen der linken 1-Junction und dem modulierten Transformator eine 0-Junction eingefügt. An diese Verzweigung wird dann der Bondgraph des Systems „Kraft F wirkt auf Wagenmasse mc “ angeschlossen. Der Bondgraph der Verladebrücke ist in Abb. 5.180 dargestellt. Durch die in Abschnitt 5.2.5 auf Seite 138 beschriebenen Vereinfachungen erhalten wir schlussendlich den in Abb. 5.181 dargestellten Bondgraphen. In diesem Beispiel tritt eine gegenseitige Beeinflussung der Bewegung des Wagens und der des Pendels auf. Da sich der Wagen nur in x-Richtung bewegen kann, ist lediglich die x-Komponente der Reaktionskraft im Stab für die gegenseitige Beeinflussung verantwortlich. Daher war auch nur eine 0-Junction zur Beschreibung der Schnittkräfte erforderlich. Um die Konstruktion von Bondgraphen zweidimensionaler Systeme noch etwas

5.14. Zweidimensionale mechanische Systeme

275

Fm y

Fm x vx

Fx vx

Se

F vc

0

Fx vx'

mTF

Tx ω

Ty ω

1

mTF

Fy vy

1

mg vy

Se

Fx vc

1

vy

I:mp

I:mp

1 Fm c vc

I:mc Abb. 5.180.: Bondgraph der Verladebrücke in kartesischen Koordinaten

I:mp

Fx vx

Fm y

Verladekran (Laufkatze) Pendel

Fx vx'

Fx vc

0

Se

F vc

1

mTF x

Tx ω

1 ω

Ty ω

1 s

l cos

mTF y

Fy vy

vy

I:mp

1

mg vy

Se

-l

φ sin

Fm c vc

I:mc Translatorisch (x-Richtung)

Rotatorisch

Translatorisch (y-Richtung)

Abb. 5.181.: Vereinfachter Bondgraph der Verladebrücke in kartesischen Koordinaten

276

5. Die Theorie der Bondgraphen

besser verstehen zu können, wird im Folgenden der Bondgraph eines Doppelpendels erstellt.

5.14.5. Beispiel: Doppelpendel Das Doppelpendel ist schematisch in Abb. 5.182 dargestellt. Es besteht aus zwei masselosen Stäben und zwei Punktmassen (zwei mathematische Pendel die miteinander verbunden sind).

x y

P(0|0)

φ1

l1

-Fr1 -Fx1 m1 .g

-Fy1 m1 φ2 l2 -Fx2

-Fr2 -Fy2 m2 m2 .g

Abb. 5.182.: Doppelpendel mit Visualisierung der Schnittkräfte Bei der Erstellung des Bondgraphen halten wir uns wiederum an die Anleitung zur Konstruktion von Bondgraphen zweidimensionaler Systeme. In Schritt (1) wird für jeden masselosen Stab der Bondgraph aus Abb. 5.176 auf Seite 272 verwendet. Das Resultat ist in Abb. 5.183 zu sehen. In Schritt (2) wird jeder der beiden Bondgraphen (zur Beschreibung der masselosen Stäbe) um die Masse des Pendels (beschrieben durch deren Bewegungsgleichung in kartesischen Koordinaten) erweitert (siehe Abb. 5.184). In Schritt (3) müssen bei einem der beiden Bondgraphen jeweils zwischen 1-Junction und modulierten Transformator, 0-Junctions eingefügt werden, um die Reaktionskräfte (die gegenseitige Beeinflussung der Teilsysteme) zu beschreiben. Dabei wird eine 0-Junction zur Beschreibung der x-Komponente der Reaktionskraft im Stab und eine weitere

5.14. Zweidimensionale mechanische Systeme

Fx1 vx1

mTF x1

Tx1 ω1

1 ω1

Ty1 ω1

mTF y1

1 s

l1

mTF x2

Fy1 vy1

l1 φ1

cos

Fx2 vx2

277

sin

Tx2 ω2

1 ω2

Ty2 ω2

mTF y2

1 s

l2

Fy2 vy2

l2 φ2

cos

sin

Abb. 5.183.: Schritt (1) der Konstruktion des Bondgraphen eines Doppelpendels

mTF x1

Tx1 ω1

1 ω1 1 s

l1

vx2

Fmx2

I:m2

Fx2 vx2

mTF x2

Tx2 ω2

cos

y1

Fy1 vy1

m 1g vy1

1

Se

-l1 sin

1 ω2

Ty2 ω2

1 s

l2

mTF

φ1

cos

1

Ty1 ω1

mTF y2

-l2 φ2

sin

Fy2 vy2

1

m 2g vy2

Se

vy2

Fx1 vx1

Fmy2

1

vy1

Fmy1

I:m1

vx1

Fmx1

I:m1

I:m2

Abb. 5.184.: Schritt (2) der Konstruktion des Bondgraphen eines Doppelpendels

278

5. Die Theorie der Bondgraphen

für die Beschreibung der y-Komponente verwendet. Daher muss jeweils ein Bond von einer 0-Junction zur 1-Junction des anderen Teilsystems geführt werden. Der vollständige Bondgraph ist in Abb. 5.185 veranschaulicht.

vx2

mTF x2

Tx2 ω2

vx2

I:m2

cos

1

m1 g vy1

Se

m2g vy2

Se

sin

1 ω2

Ty2 ω2

mTF y2

-l2

Fy2 vy2'

vy1

-l1

1 s

l2

y1

Fy1 vy1

0 vy2

vx1

Fx2 Fx2

Fx2 vx2'

mTF

φ1

cos

1 Fmx2

ω1

Ty1 ω1

1 s

l1

0

1

φ2

sin

1 vy2

x1

Tx1 ω1

Fy2

mTF

Fy2

Fx1 vx1

Fmy2

1

vy1

Fmy1

I:m1

vx1

Fmx1

I:m1

I:m2

Abb. 5.185.: Schritt (3) der Konstruktion des Bondgraphen eines Doppelpendels

5.14.6. Resümee In diesem Abschnitt wurden zweidimensionale mechanische Systeme anhand von Bondgraphen modelliert. Dabei wurde ersichtlich, dass die in den vorangegangenen Abschnitten vorgestellte strukturierte Modellierung der BondgraphenMethodik, hier teilweise an ihre Grenzen stößt. • Die direkte Erstellung des Bondgraphen aus dem mechanischen Schema ist nicht mehr so intuitiv wie etwa bei eindimensionalen mechanischen Systemen.

5.14. Zweidimensionale mechanische Systeme

279

• Dies zeigt sich bereits bei einfachen Mehrkörpersystemen, wie etwa einem Verladekran oder einem Doppelpendel. • Aus diesem Grund wurde ein Ansatz zur Erstellung von Bondgraphen zweidimensionaler Systeme vorgestellt, der zumindest für einfache Systeme problemlos angewandt werden kann. Für dreidimensionale mechanische Systeme ist daher eher eine Modellierung anhand der zu Beginn dieses Abschnitts erwähnten Multibondgraphen zu empfehlen ([Bor10], Kapitel 8). Um Mehrkörpersysteme nicht „von Hand“ erstellen zu müssen, sei vor allem auf die in Kapitel 6 ab Seite 281 vorgestellte objektorientierte Modellierung verwiesen. In Abschnitt 7.3.5 ab Seite 483 wird ein Beispiel eines dreidimensionalen mechanischen Systems vorgestellt.

6. Einführung in die objektorientierte Modellierung In diesem Kapitel soll der Leser schrittweise an die objektorientierte Modellierung herangeführt werden. Dazu werden zuerst einige verfügbaren Sprachen grob vorgestellt, um dann das Beispiel des Feder-Masse-Dämpfer Schwingers aus Abschnitt 4.2 und dessen Modifikationen mit der Modellierungssprache Modelica umzusetzen (Abschnitt 6.2). Darauf folgend wird in Abschnitt 6.3 erläutert, weshalb die direkte Umsetzung über akausale Gleichungen nicht ideal ist. Um die beschriebenen Nachteile zu überwinden, werden allgemeingültige Teilmodelle des Feder-Masse-Dämpfer Schwingers erstellt. Eine weitere Verbesserung der Modellierung im Sinne der Objektorientierung wird in Abschnitt 6.4 eingeführt. Für die Implementierungen wird aus den in Abschnitt 6.1 angeführten Gründen Modelica verwendet. Obwohl in Abschnitt 4.2 bereits ein Eindruck vermittelt wird, wie die Überführung von Gleichungen in ausführbare Zuweisungen funktioniert, wird in Abschnitt 6.5 auf Schwierigkeiten eingegangen, welche bei der Erstellung von Modellen wichtig sein können. Ein grundlegendes Verständnis von algebraischen Schleifen und strukturellen Singularitäten soll dazu beitragen, die Fähigkeiten der Modellierungssprache auszunützen und ggf. Fehlermeldungen interpretieren zu können. Im folgenden Kapitel 7 werden Funktionalitäten von Modelica aufgezeigt, die nicht in direktem Zusammenhang mit der Objektorientierung stehen, teilweise allerdings trotzdem von essentieller Wichtigkeit für die Erstellung von Modellen sind.

6.1. Verfügbare Sprachen Für die in diesem Buch gezeigten Implementierungen wird zwar Modelica verwendet, allerdings sollen in diesem Abschnitt zusätzlich zwei populäre Alternativen vorgestellt werden. Daraus soll klar werden, dass es weniger wichtig ist die Syntax einer Sprache zu beherrschen, als die Grundprinzipien der objektorientierten

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8_6

281

282

6. Einführung in die objektorientierte Modellierung

Modellierung zu verstehen.

6.1.1. Modelica Die Modelica Sprachdefinition wird durch die im Jahr 1996 gegründete Modelica Association gewartet und stetig erweitert. Sie baut auf den Erfahrungen vieler Versuche der Definition einer objektorientierten Modellierungssprache auf (Allan, Dymola, NMF, ObjectMath, Omola, SIDOPS+, Smile). Einen Überblick zur geschichtlichen Entwicklung von Modelica wird in [ÅEM98] gegeben. Zusätzlich erstellt und wartet die Modelica Association die Modelica Standard Library (MSL), welche viele der grundlegenden Elemente für die Modellierung technischer Systeme zur Verfügung stellt1 . Die Erstellung weiterer notwendiger Teile der Simulationsumgebung, welche eine komfortable Modellierung und Simulation möglich machen, bleibt den Erstellern der jeweiligen Software-Pakete überlassen. Dazu gehören unter anderem eine GUI, mögliche Visualisierungstools, die Umwandlung von der Modelica Hochsprache in einen ausführbaren Code, die Implementierung verschiedener Lösungsalgorithmen usw. Um einen Eindruck zu vermitteln, wie ein in Modelica erstelltes Modell aufgebaut werden kann, wird das in Abb. 4.10 auf Seite 86 dargestellte Feder-MasseDämpfer System verwendet. Über Drag und Drop können aus der in Abb. 6.1 dargestellten MSL vorhandene Komponenten in einer Modellierungsansicht zu Modellen kombiniert bzw. verbunden werden. Das Modell des eingangs erwähnten Feder-Masse-Dämpfer Systems ist in Abb. 6.2 dargestellt und auch gut als solches erkennbar. Um die verschiedenen im Folgenden präsentierten Sprachen etwas vergleichen zu können, wird die Beschreibung einer Komponente etwas genauer beleuchtet. Dies soll anhand einer Feder (bzw. eines Feder-Elements) demonstriert werden. Die Beschreibung der Feder ist in Code 6.1 ersichtlich. Dabei werden im Teil des Codes vor dem Keyword equation die nötigen Parameter, Variablen sowie physikalische Schnittstellen2 (Flange) der Komponente definiert. Die Modellgleichungen befinden sich nach dem equation Keyword.

1 Mehr

Informationen zur MSL sind in Abschnitt 7.3 ab Seite 469 zu finden. zu Schnittstellen wird in Abschnitt 6.3.1 erläutert

2 Genaueres

6.1. Verfügbare Sprachen

283

Abb. 6.1.: MSL im Dymola Package Browser spring c=100

force

wall

250

mass m=30

damper d=25

Abb. 6.2.: Die grafische Ansicht des Feder-Masse-Dämpfer Systems aus Abb. 4.10 (Seite 86) umgesetzt mit der MSL in Dymola

284

1 2 3 4 5 6 7 8 9 10 11 12 13 14

6. Einführung in die objektorientierte Modellierung

model Spring import SI = Modelica.SIunits; parameter SI.TranslationalSpringConstant k = 1 "Spring constant"; SI.Force f "Force between flanges"; SI.Distance s_rel "Relative distance"; Flange flange_l, flange_r; equation s_rel = flange_r.s - flange_l.s; flange_r.f = f; flange_l.f = -f; f = k*s_rel; end Spring;

Code 6.1: Definition einer translatorischen Feder in Modelica

6.1.2. Simscape Simscape wird als Erweiterung zu Simulink von The MathWorks angeboten und bietet eine dementsprechend gute Anbindung an Simulink. Die Basis von Simscape bildet die Foundation Library und die grundlegenden Elemente technischer Domänen beinhaltet. Weitaus komplexere Systeme sind in den auf Simscape basierenden Erweiterungen (Power Systems, Electronics, Fluids, Multibody und Driveline) zu finden. Ein Screenshot der Foundation Library ist in Abb. 6.3 zu sehen. Das grafische Modell des Feder-Masse-Dämpfer Schwingers ist in Abb. 6.4 abgebildet. Verglichen mit dem Modelica Modell beinhaltet es zusätzliche Komponenten für die Konfiguration des Solvers und die Konvertierung von Simulinks Signalgrößen (in diesem Fall ein Sprung am Eingang) in die physikalische Schnittstelle von Simscape. Der für die Beschreibung der Feder verwendete Code ist in Abb. 6.5 aufgeführt. Dabei lässt sich eine gewisse Ähnlichkeit mit dem Modelica Code erkennen. Man erkennt mit parameters und equations ähnliche Keywords, die auch sehr ähnliche Funktionen erfüllen.

6.1.3. VHDL-AMS In Abb. 6.6 ist eine mögliche Beschreibung einer Feder in VHDL-AMS dargestellt Auch in diesem Fall sind ähnliche mit Modelica, Simscape und auch Bondgraphen verwandten Konzepte zu erkennen. Die offensichtlichen Beispiele sind der equation Abschnitt, definierte parameter und die across und

6.1. Verfügbare Sprachen

285

Abb. 6.3.: Foundation Library in Simscape

Abb. 6.4.: Die grafische Ansicht des Feder-Masse-Dämpfer System aus Abb. 4.10 auf Seite 86 umgesetzt in Simulink mit Simscape

286

6. Einführung in die objektorientierte Modellierung

component spring5= 1 ein Import für .mat, .txt, .sdf und .csv Dateien ermöglicht. Diese werden importiert und im Modelica Code hinterlegt. • Die in Dymola verfügbare SDF Library erweitert die Funktionalität der MSL mit dem SDF Format um z. B. Einheitenchecks und einen für die Bearbeitung der Dateien vorgesehenen SDF-Editor. Das SDF Format basiert auf HDF5 und ist dementsprechend performant. Zusätzlich wird für die Visualisierung und Bearbeitung der Daten der SDF Editor mit Dymola ausgeliefert. Mehr Informationen dazu finden sich in [SAD14]. Bedingte Instanziierung Neben der Möglichkeit die replaceable/redeclare-Funktionalität zu verwenden gibt es in Modelica auch das Konzept der bedingten Instanziierung (Conditional Instantiation). Dabei wird wie in Code 6.45 dargestellt, abhängig von einem parameter ausgewählt, welche Klasse instanziiert werden soll. Hier spielt die Variabilität eine zentrale Rolle, weil die Umschaltung zwischen den Modellen nicht während der Simulation erfolgen darf. Grund dafür ist, dass Modelica derzeit die daraus resultierenden strukturvariablen Systeme nicht unterstützt. Daher darf die Größe, welche die Modellauswahl bestimmt, keine höhere Variabilität als die eines Parameters haben. 1 2 3

parameter Integer level=1; Class1 component1 if level==1 "first conditional component"; Class2 component2 if level==2 "second conditional component";

Code 6.45: Beispiel zur bedingten Instanziierung

Ein in der MSL verfügbares Beispiel für die bedingte Instanziierung ist das Modell LimPID wie es in Abb. 6.38 dargestellt ist. In diesem Modell ist über einen Parameter auswählbar, um welchen Typen von Regler es sich handeln soll und dementsprechend werden Teile des Modells deaktiviert. Wichtig ist bei der Anwendung der bedingten Instanziierung zu wissen, dass es für die Modelica Umgebung vergleichsweise kompliziert ist, das Modell auf Korrektheit zu überprüfen. In Dymola wird das Modell z. B. nur für die Default-Werte der Parameter auf Konsistenz hin überprüft. Zusätzlich gelten einige Einschränkungen. So darf z. B. ein bedingtes Modell nur über connect Statements an den Rest des Modells angebunden werden. Diese werden vom

368

6. Einführung in die objektorientierte Modellierung

Abb. 6.38.: Limitierter PID Regler aus der MSL implementiert über bedingte Instanziierung (leicht modifiziert für bessere Leserlichkeit)

Modelica Tool entfernt, wenn die entsprechende Komponente nicht instanziiert ist. Das ist für Zugriffe über Gleichungen nicht ohne Weiteres möglich.

Resümee Werden die in diesem Abschnitt demonstrierten Techniken kombiniert, ergibt sich daraus ein hohes Maß an Flexibilität. Bei einem Doppelklick auf ein Modell kann zuerst dessen interne Struktur gewählt werden. Über einen Klick auf den Edit-Button, neben dem Pull-Down Menü, öffnet sich das Fenster für die Auswahl der zu dem vorab gewählten Modell passenden Parametersätze. Dazu passende Screenshots sind in Abb. 6.39 dargestellt. Dadurch wird es auch für Anwender ohne tieferes Wissen zu den verwendeten Modellen ermöglicht diese zu verwenden.

6.4. Objektorientierung in der Modellbildung

369

(a)

(b)

Abb. 6.39.: Kombinierte Auswahl von Modell und Daten mit (a) Auswahl des Modells und (b) Auswahl der zu dem Modell passenden Parameter nach Klick auf den Edit Button (rot umrandet)

370

6. Einführung in die objektorientierte Modellierung

6.4.10. Entwurf und Modifikation des Feder-Masse-Dämpfer Systems über Objekte Über die in diesem Abschnitt vorgestellten Konzepte der Abstraktion (Abschnitt 6.4.4, Seite 335) und der Komposition (Abschnitt 6.4.5, Seite 337) wird es sehr einfach den Entwurf und die Modifikation des vorliegenden Systems durchzuführen. Dazu müssen lediglich die entsprechenden Komponenten aus der MSL instanziiert, mit den richtigen Parametern versehen und untereinander verknüpft werden. Das Ergebnis dieser Vorgehensweise wird in Abb. 6.40 dargestellt. Daher wird nicht weiter auf die Erstellung der Modelle eingegangen. Dabei wird innerhalb der Objekte das Konzept der Vererbung angewandt. Dies ist z. B. bei der Masse der Fall, welche auf Code 6.36 (Seite 347) basiert. Der Anwender der Modelle muss diese Konzepte aber für die Anwendung der Modelle nicht verstehen, was wiederum dem Konzept der Abstraktion entspricht. Zusammenfassend lässt sich sagen, dass für diesen Fall die Verwendbarkeit für den Anwender verglichen mit den vorangehend vorgestellten Konzepten (Signalflussorientierte Modellbildung: Blockschaltbilder ab Seite 75, Akausale Modellierung ab Seite 289 und Komponentenbasierte Modellierung ab Seite 298) teils enorm verbessert wurde.

6.4.11. Objektorientierte Modellierung und Bondgraphen Die Methodik der Bondgraphen (Kapitel 5 ab Seite 113) wurde 1959 von Paynter entwickelt und von Karnopp und Rosenberg weiterentwickelt. Dies geschah während einer Zeit, zu der die objektorientierte Modellierung noch nicht existierte. Trotzdem lassen sich zwischen den beiden Modellierungstechniken viele Gemeinsamkeiten feststellen. Borutzky [Bor10] und Broenik [Bro99a] vertreten daher die Ansicht, dass es sich bei der Bondgraphen Methodik um einen Spezialfall der objektorientierten Modellierung handelt. Tatsächlich lassen sich viele Parallelen mit den in diesem Kapitel vorgestellten Eigenschaften der Modellierung ziehen. So ist etwa das Konzept von Flow und Effort Variablen sehr ähnlich zu dem Konzept der physikalischen Schnittstellen. Auch sind die erstellten Modelle in ihrer Grundform akausal. Im Kontext dieses Dokuments würde das eher der komponentenbasierten, als der objektorientierten Modellierung entsprechen (siehe Abschnitt 6.3, Seite 298). Begründen lässt sich diese Ansicht dadurch, dass die Methodik der Bondgraphen an sich kaum objektorientierte Eigenschaften im Sinne der hier verwendeten Abgrenzung umfasst. Diese können teilweise durch die Modellierungsumgebung hinzugefügt werden, sind allerdings nicht Teil der Methodik selbst.

6.4. Objektorientierung in der Modellbildung

371

(a) k c=100

F m

wall

250

m=30

b d=25

(b) b d=25

F2 k2

m

m=13.5

c=1000

m=16.5

wall

250

m2

k c=100

(c) b2 d=15

F2

d=25

m2

m wall

250

b

m=13.5

m=16.5

k2

k

c=1000

c=100

(d) k c=100

F

wall

250

m m=16.5 + 13.5

b d=25

Abb. 6.40.: Darstellung der in Abschnitt 4.2 aufgezeigten Entwicklungsstufen des Feder-Masse-Dämpfer Systems aus Modelica-Objekten, mit (a) initialem Entwurf des Feder-Masse-Dämpfer Systems, (b) erster Modifikation des Systems, (c) zweiter Modifikation des Systems und (d) dem vereinfachen System

372

6. Einführung in die objektorientierte Modellierung

Eine Implementierung, welche die Simulation basierend auf Bondgraphen in einer Modelica Umgebung ermöglicht, ist die von Prof. Cellier erstellte BondLib37 [CN05]. Es gibt dabei zwei Herangehensweisen die bei der Verwendung der BondLib üblich sind.

e

B4

f

R

R

R=25

In der BondLib ist es einerseits möglich Bondgraphen aus deren Grundelementen zu erstellen. Auf diesem Weg ergibt sich das Feder-Masse-Dämpfer System aus Abb. 4.10 (Seite 86) zu dem in Abb. 6.41 dargestellten Bondgraphen. Als nachteilig ergibt sich dabei, dass die in Modelica verwendeten connect Statements nicht dem Bond der Bondgraphen Methode entsprechen. Dadurch sind Bonds extra Modelle, welche über connect Statements mit den entsprechenden Elementen verbunden werden müssen. In Abb. 6.41 sind diese nicht sichtbar, da die Konnektoren von Elementen und Bonds direkt übereinander liegen. Andere Tools, wie etwa 20-sim 38 , bieten hier mit einer direkten Unterstützung der Bondgraphen Methodik eine deutlich komfortablere Modellerstellung, weil dort Verbindungen als Bond erstellt werden.

1

F

Se

e

B1

f

e0=250

k

e

B3

f

C

C=1/100

e

B2 f

I

m

I=30

Abb. 6.41.: Feder-Masse-Dämpfer umgesetzt mittels BondLib in Dymola Andererseits wird für Anwender ohne tieferes Wissen zu Bondgraphen eine – in diesem Fall – intuitivere Nutzung über standardisierte Symbole aus den verschiedenen technischen Domänen ermöglicht. Die Anpassungen umfassen dabei unter anderem die Verwendung der in der jeweiligen Domäne üblichen Schnittstellen, Parameter und visuellen Darstellung. In der Bondgraphen-Welt wird diese Vorgehensweise oft wrappen genannt. Dabei wird dem eigentlichen Modell (siehe Abb. 6.42) eine grafische Darstellung überlagert. Die Tr/BG Elemente dienen dabei der Überführung der Schnittstellengrößen von Bondgraphen hin zu den translatorischen Schnittstellen und umgekehrt. Diese Vorgangsweise ist sehr 37 Die

Library kann unter www.modelica.org/libraries heruntergeladen werden. Informationen zu 20-sim sind unter http://www.20sim.com/ einsehbar.

38 Mehr

6.4. Objektorientierung in der Modellbildung

373

ähnlich zu dem Konzept der Abstraktion, welche in Abschnitt 6.4 vorgestellt wurde. flange_a

Tr

f

BG

B1

0

e

B2

f

Tr s

f

s

flange_b

BG e

B3 e

R

R=d

R

Abb. 6.42.: Modell des Dämpfers aus Abb. 6.43

Die Umsetzung des Feder-Masse-Dämpfer Systems mittels der BondLib ist in Abb. 6.43 dargestellt. Wie direkt zu erkennen ist, wurden dabei nicht die Grundelemente der Bondgraphen verwendet, sondern die für die translatorische Domäne angepassten Elemente. Unter dem mit b gekennzeichneten Dämpfer Element befindet sich dabei das Modell aus Abb. 6.42. Durch die Verfügbarkeit der Modelle mit Wrapper, ist die Erstellung der Modelle analog zu der in Abschnitt 6.4.10 vorgestellten und es wird daher nicht auf die Erweiterungen des Systems eingegangen. k

k=250

m wall

F

const

f

b

Abb. 6.43.: Umsetzung des Feder-Masse-Dämpfer Systems (Abb. 4.10, Seite 86) basierend auf der BondLib

Neben der Anwendung zur Modellierung bietet die Bondgraphen Methodologie vor allem einen didaktisch und inhaltlich sehr guten Einstieg in die Welt der Modellierung. Sie ist speziell für Ingenieure, welche vor domänenübergreifenden, z. B. mechatronischen Problemstellungen stehen, wertvoll und verbessert oft das Basisverständnis über die Ähnlichkeit der verschiedenen Domänen (siehe Abschnitt 5.1 ab Seite 114).

374

6. Einführung in die objektorientierte Modellierung

6.4.12. Von objektorientierten Modellen zu einem Simulationsergebnis In diesem Abschnitt soll erläutert werden, wie eine Simulationsumgebung vorgehen kann, um aus Modelica Code ein ausführbares Modell zu erstellen.

Der Übersetzungsprozess Der erste Schritt in der Übersetzung besteht aus dem Flattening des objektorientierten Codes. Hierbei werden die einzelnen bisher über objektorientierte Features verknüpfte und teilweise mehrfach verwendeten Codeteile zu einem großen monolithischen Codeblock vereint. Während diesem Prozess wird ein Code-Abschnitt erstellt, welcher die Modellgleichungen beinhaltet. Diese Gleichungen werden nun von der symbolischen Vorverarbeitung in einen Satz Zuweisungen überführt. Dieser nun vorhandene kausalisierte Block aus Modelica Code wird üblicherweise in C übersetzt und dann von einem Standard C-Compiler in eine für die Plattform passende ausführbare Datei übersetzt. Dabei werden normalerweise noch Informationen zu Lizenzierung und Ähnlichem im Code hinterlegt. In Tab. 6.5 findet sich eine Liste der Dateien die Dymola für die Simulation generiert und eine kurze Beschreibung ihres Inhalts. Die Dateien werden im Arbeitsverzeichnis von Dymola erstellt. Daher ist es sinnvoll (aber nicht zwingend nötig) ein anderes Arbeitsverzeichnis zu wählen, als das, in dem das Modell gespeichert ist. In den anschließenden Abschnitten werden Beispiele für die in den Zwischenschritten generierten Dateien präsentiert.

Ein grundlegendes Beispiel In diesem Beispiel soll ein möglichst einfaches Modell übersetzt werden, um ein grundlegendes Verständnis aufzubauen. Das Modell ist in Code 6.46 definiert. Da in Code 6.46 keine objektorientierten Features verwendet wurden, ist der Unterschied, welcher sich zu Code 6.47 durch das Flattening ergibt, minimal. In Code 6.48 sind die sortierten (kausalisierten) Gleichungen nach der symbolischen Vorverarbeitung dargestellt. Es werden zuerst die nötigen Variablen Fb und Fm berechnet und danach die Zustandsgleichungen definiert. Dieser Code wird in C übersetzt und anschließend von einem C-Compiler in eine für das Betriebssystem ausführbare Datei kompiliert.

6.4. Objektorientierung in der Modellbildung

Datei

Inhalt

buildlog.txt

Optionale Nachrichten vom C-Compiler

dsfinal.txt

Werte der Zustandsvariablen zum Ende der Simulation

dsin.txt

Initialwerte, Solverauswahl, Start- und Stopzeit etc.

dslog.txt

Simulations Log, Log des Solvers

dsmodel.c

C-Code des Modells (Code Export Lizenz nötig)

dsmodel.mof

Geflatteter Modelica Code des simulierten Modells (sofern die entsprechende Option aktiviert wurde)

dymosim.exe

Das .exe Datei, welches das kompilierte Modell beinhaltet

dymosim.exp

Informationen für den Linker

dymosim.lib

Library für den Kompilierungsprozess

#modelName#.mat

Ergebnisdatei, welche die Zeitreihen für (mit Defaulteinstellungen) alle Variablen im Modell beinhaltet

#otherFunction#.exe

Externe Funktionen die übersetzt werden mussten, um das Modell lauffähig zu machen

Tab. 6.5.: Von Dymola für die Simulation generierte Dateien

375

376

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

6. Einführung in die objektorientierte Modellierung

model SpringDamperSystem // Parameters parameter Real F = 10; parameter Real m = 1; parameter Real b = 2; parameter Real k = 100; // Unknowns Real Fm; Real Fb; Real Fk; Real v; equation Fm = m * der(v); v = 1/k * der(Fk); Fb = b * v; F - Fm - Fk - Fb = 0; end SpringDamperSystem;

Code 6.46: Textuell definiertes Feder-Masse-Dämpfer System aus Abb. 4.10 (Seite 86)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

model SpringDamperSystem parameter Real F = 10; parameter Real m = 1; parameter Real b = 2; parameter Real k = 100; Real Real Real Real

Fm; Fb; Fk; v;

// Equations and algorithms // Component equation Fm = m*der(v); v = 1/k*der(Fk); Fb = b*v; F-Fm-Fk-Fb = 0; end SpringDamperSystem;

Code 6.47: Geflatteter Code aus Code 6.46

6.4. Objektorientierung in der Modellbildung

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

// Translated Modelica model generated by Dymola from Modelica model // SpringDamperSystem

// -----------------------------------------------------// Initial Section

// ------------------------------------------------------

// Dynamics Section Fb := b*v; Fm := -(Fb-F+Fk); // Linear system of equations // Symbolic solution /* Original equation -m*der(v) = -Fm; */ der(v) := Fm/m; // End of linear system of equations

// Linear system of equations // Symbolic solution /* Original equation -der(Fk)/k = -v; */ der(Fk) := v*k; // End of linear system of equations

Code 6.48: Kausalisierter Code aus Code 6.47

377

378

6. Einführung in die objektorientierte Modellierung

Ein fortgeschrittenes Beispiel Hier wird der bereits mehrfach diskutierte Feder-Masse-Dämpfer Schwinger (Abb. 4.10, Seite 86) aus Klassen der MSL aufgebaut. Durch den vergleichsweise intensiven Einsatz der Objektorientierung, erzeugt das Flattening deutlich mehr Code als im vorherigen Beispiel. Siehe dazu Code B.1 ab Seite 611, welcher sich wegen des Umfangs in Anhang B befinden. Der sich daraus ergebende Code für die Übersetzung in C, ist verglichen mit dem vorangegangen Beispiel nicht viel umfangreicher, was an der ähnlichen Komplexität des Modells liegt. Natürlich müssen die von Schnittstellen etc. eingeführten Variablen berechnet werden, was den Code etwas umfangreicher macht (Code B.2, zu finden ebenfalls in Anhang B ab Seite 614). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

model SpringDamperSystem import Modelica.Mechanics.Translational; Translational.Components.Fixed fixed; Translational.Components.Mass mass(m=1, v(fixed=true, start=1)); Translational.Components.Spring spring(c=100); Translational.Components.Damper damper(d=2); Translational.Sources.ConstantForce constantForce(f_constant=10); equation connect(mass.flange_b, spring.flange_a); connect(mass.flange_b, damper.flange_a); connect(damper.flange_b, fixed.flange); connect(fixed.flange, spring.flange_b); connect(constantForce.flange, mass.flange_a); end SpringDamperSystem;

Code 6.49: Über Komponenten aus der MSL definiertes Feder-Masse-Dämpfer System, wie es in Abb. 4.10 auf Seite 86 zu sehen ist

Strukturvariabilität Wie in den letzten Abschnitten klar geworden sein sollte, ist es eine große Herausforderung der aktuellen Forschung strukturvariable Systeme zu simulieren. Die grundlegende Eigenschaft solcher Systeme ist es, dass sich die Anzahl der Zustandsvariablen während der Simulation und auch abhängig von anderen Zuständen ändern kann. Dadurch verändern sich die Dimensionen der zu lösenden Matrizengleichungen und diese müssen unter Umständen auch neu aufgebaut werde. Diese Aufgabe ist äußerst schwierig zu bewältigen und daher noch Gegenstand aktueller Forschung. Weitere Informationen und ein möglicher Ansatz zur Lösung dieser Herausforderungen sind in [Zim10] beschrieben.

6.5. Die symbolische Vorverarbeitung

379

In Modelica könnte eine solche Änderung der Anzahl über das Auftrennen bzw. Erzeugen von Verbindungen z. B. über ideale Schalter geschehen. Eine andere eher offensichtliche Variante ergibt sich über die Verwendung der bedingten Instanziierung, die in Abschnitt 6.4.9 auf Seite 367 erläutert wird. Eine einfache Lösung dieses Problems ist folgende: Es kann für jede mögliche Kombination von Submodellen ein eigenständiges Modell erstellt werden. Diese können separat kompiliert werden und in verschiedene Ordner auf der Festplatte gespeichert werden. Es muss anschließend definiert werden, unter welchen Umständen welches Modell gültig ist. Dazu werden in Modellen Abbruchbedingungen definiert39 . Wird ein Modell ungültig, kann ein anderes Modell – das nun gültig sein muss – mit den letzten Zuständen des terminierten Modells initialisiert werden. Nun kann das neue Modell so lange simuliert werden, bis dieses ungültig wird. Zu diesem Zeitpunkt muss wiederum auf ein anderes gültiges Modell umgeschaltet werden. Dieser Vorgang wird mit so vielen Modellen wie nötig, so lange fortgesetzt, bis die Gesamtsimulationszeit erreicht ist. Die Umschaltung zwischen den beiden Modellen kann dabei über verschiedenste Methoden erfolgen. Denkbar sind Modelica Funktionen oder Skripte, aber auch MATLAB oder eine generelle Programmiersprache wie C oder Python. Grundsätzlich muss nicht mehr getan werden, als die von Dymola erstellten dymosim.exe Dateien mit den richtigen Initialwerten aufzurufen und die von den einzelnen Simulationen gelieferten Ergebnisse zu einer Ergebnisdatei zusammenzusetzen. Diese Lösung wird allerdings schnell unhandlich und somit fehleranfällig. Diese Vorgehensweise wird z. B. in [Meh15] eingehend diskutiert.

6.5. Die symbolische Vorverarbeitung Unabhängig von der Methode, welche bisher zur Modellierung angewandt wurde, war das Ziel zu einer Zustandsraumdarstellung bzw. einem Satz gewöhnlicher Differenzialgleichungen 1. Ordnung (engl. ordinary differential equation, ODE) des zu modellierenden Systems zu gelangen40 . Diese stellt in der objektorientierten Modellierung oft die Schnittstelle zum Solver dar, welcher benötigt wird, um Experimente am Modell durchzuführen. Wie allerdings in diesem Kapitel klar wird, ist es in der objektorientierten Modellierung unumgänglich, Komponenten in Form von akausalen Gleichungen zu beschreiben. Aus der Notwendigkeit nach Akausalität ergibt sich, dass ein objektorientiertes Modell üblicherweise aus einer Mischung von Differenzialgleichungen41 und algebraischer Gleichun39 In

Modelica kann das über ein terminate erreicht werden. Zustandsraumdarstellung entspricht einer ODE kombiniert mit der (vektorisierten) Ausgangsgleichung. 41 Diese sind im Fall von Modelica Modellen immer 1. Ordnung, da sich der der() Operator nicht mehrfach anwenden lässt. 40 Die

380

6. Einführung in die objektorientierte Modellierung

gen besteht, welche wir hier als DAEs (engl. differential-algebraic system of equations) bezeichnen. Genauer handelt es sich um eine implizite DAE, weil zusätzlich nicht klar ist, welche Größen aus den Gleichungen berechnet werden sollen. Es bieten sich nun grundsätzlich zwei Möglichkeiten an mit diesen DAEs umzugehen. Man kann Lösungsalgorithmen (Solver) verwenden, welche DAEs direkt lösen und somit vergleichsweise wenig Aufwand für die Umformulierung des Gleichungssystems aufgebracht werden muss. Da diese Methodik aktuell in der Modelica-Welt eher die Ausnahme darstellt, wird darauf nur kurz in Abschnitt 6.5.4 eingegangen. Der interessierte Leser wird auf [CK06], Kapitel 8 verwiesen. Alternativ zu der direkten Lösung der DAEs, können diese symbolisch in ODEs umgeformt und dann einem ODE Solver übergeben werden. In den folgenden Abschnitten wird daher vor allem die Umformung von DAEs auf ODEs erläutert. Dieser Vorgang wird als symbolische Vorverarbeitung bezeichnet und bringt einige Schwierigkeiten mit sich. Sie ist gegenwärtig noch Forschungsgegenstand und wegen der großen Unterschiede in der Effizienz der erzeugten Lösungen auch eines der Unterscheidungsmerkmale der verschiedenen objektorientierten Modellierungstools. In den folgenden Abschnitten wird klar, dass es bei der Umformung von DAEs in ODEs verschiedene Stufen von Komplexität gibt. Diese werden üblicherweise über den Index des Systems beschrieben. Dabei gibt es verschiedene Definitionen des Index, die in diesem Anwendungsgebiet gängig sind. • Der Differential Index beschreibt wie oft die ungünstigste Gleichung im System differenziert werden muss, um das System umformen zu können. • Der Pertubation Index entspricht im Prinzip dem Differential Index, nur erhöht er den Index um eins, wenn sich nach dem Differenzieren noch eine algebraische Schleife ergibt. Im Folgenden wird der Pertubation Index verwendet, wobei mit einem System des Index 0 begonnen wird, um das Prinzip zu erläutern. Dabei handelt es sich um die gleiche Vorgehensweise, welche schon in Abschnitt 4.2.1 ab Seite 88 verwendet wurde, nur die Darstellungsform ist eine andere. In den darauffolgenden Abschnitten werden Systeme mit höherem Index vorgestellt. Das Sortieren der Gleichungen hat die Aufgabe aus den Gleichungen des objektorientierten Modells Zuweisungen zu machen, damit diese in einer für den Computer verständlichen Sprache (üblicherweise C) als Zuweisungen formuliert werden können. Dies könnte grundsätzlich auch manuell durchgeführt werden, wie es in Kapitel 3 angedeutet wurde. Diese Prozedur ist allerdings bereits für Modelle mit niedriger Komplexität aufwändig und fehleranfällig.

6.5. Die symbolische Vorverarbeitung

381

Bei der Umformung von Gleichungen auf Zuweisungen spricht man von der horizontalen Sortierung, weil dabei Variablen über symbolische Umformung von der linken auf die rechte Seite des Gleichheitszeichens (und umgekehrt) gebracht werden. Auf diese Weise wird aus der Gleichung eine Zuweisung. Jetzt könnten diese Zuweisungen verwendet werden, um sie z. B. in Simulink zu implementieren, da es sich bei Simulink nicht um eine prozedurale Sprache handelt und somit die Reihenfolge der Zuweisungen keine Rolle spielt. Damit diese Zuweisungen in einer prozeduralen Programmiersprache funktionsfähig implementiert werden können, müssen die Zuweisungen noch vertikal sortiert werden. Dabei wird dafür gesorgt, dass keine Variable verwendet wird, bevor ihr ein Wert zugewiesen wurde. Sind horizontale und vertikale Sortierung abgeschlossen, kann das Gleichungssystem in einer prozeduralen Programmiersprache (C, C++, MATLAB M-Code. . . ) implementiert werden. Es gibt auch Algorithmen, welche die horizontale und vertikale Sortierung in einem einzelnen Schritt vornehmen, ein solcher Algorithmus wird in diesem Abschnitt vorgestellt. Zusätzlich sei erwähnt, dass diese Algorithmen sehr effizient sind und Gleichungssysteme mit mehreren 10.000 Gleichungen in wenigen Sekunden sortieren können.

6.5.1. Symbolische Vorverarbeitung: „Index 0“ Systeme Im Folgenden sollen die hier bereits theoretisch vorgestellten Vorgänge, an einem Beispiel erläutert werden. Dazu betrachten wir ein Beispiel aus Kapitel 3, welches in Abb. 6.44 erneut dargestellt ist.

R1 iR1 i u

L

iL iR2

R2

iC

C

uC

Abb. 6.44.: Passive elektronische Schaltung

Es ergeben sich folgende Gleichungen für eine komplette Beschreibung des Systems. Parameter, welche vom Anwender vorgegeben und über die Dauer der Simulation konstant sind, werden grau dargestellt, um Verwechslungen

382

6. Einführung in die objektorientierte Modellierung

vorzubeugen. u = 30V uR1 − iR1 · R1 = 0 uL − L · uR2 − iR2

diL =0 dt · R2 = 0

(6.24) (6.25) (6.26) (6.27)

duC =0 iC − C · dt i − iR1 = 0

(6.29)

iR1 − iL = 0

(6.30)

(6.28)

uR2 − uC = 0

(6.31)

u − uR 1 − uL − uC = 0

(6.32)

iL − iR2 − iC = 0

(6.33)

Ein Lösungsalgorithmus für explizite Gleichungssysteme (also ein ODE Solver) kann mit dieser Formulierung des Systems, obwohl diese absolut korrekt ist, nichts anfangen. Wir müssen dafür sorgen, dass diese Gleichungen horizontal und vertikal sortiert werden. Dafür können zwei einfache Regeln anwendet werden42 : • Kommt eine Variable nur in einer Gleichung vor, muss diese Gleichung verwendet werden, um diese Variable zu berechnen (z. B. Gleichung (6.26)). • Kommt in einer Gleichung nur eine unbekannte Variable vor, muss die Variable aus dieser Gleichung berechnet werden (z. B. Gleichung (6.31)). Dabei ist es noch wichtig zu beachten, dass Zustandsvariablen im aktuellen Simulationsschritt bekannt sind. Der Grund dafür ist relativ einfach zu erklären. Im ersten Simulationsschritt zum Zeitpunkt t = 0 müssen Zustandsvariablen initialisiert werden. Der Initialwert beschreibt den Verlauf der Eingangsgröße des Integrators in der Vergangenheit bis zum aktuellen Zeitpunkt und somit die Vorgeschichte des Systems. Für die nächsten Schritte sorgt der Lösungsalgorithmus dafür, dass die Zustandsvariablen bekannt sind, da dieser grundsätzlich die Zustandsgrößen des nächsten Simulationsschrittes errechnet. Mathematisch beschrieben haben die Lösungsalgorithmen immer die Aufgabe x(t + h) = f (x(t), u(t)) zu berechnen. Sie stellen also aus dem Simulationsergebnis x(t) und x(t) ˙ die zukünftigen Werte x(t + h) zur Verfügung. Somit sind 42 Das

Ergebnis dieser Vorgehensweise wurde zwar in Kapitel 3 gezeigt, der Weg dorthin allerdings nicht erläutert. Oft wird diese Umformung manuell und über langwieriges Versuchen erstellt. Hier soll eine algorithmische Methode zur Sortierung der Gleichungen erläutert werden.

6.5. Die symbolische Vorverarbeitung

383

diese im nächsten Schleifendurchlauf, welcher x(t + 2h) aus x(t + h) berechnet, bekannt. Im ersten Schritt sind daher Eingänge, die vom Anwender vorgegeben werden müssen, und Zustandsvariablen bekannt. Diese bekannten Variablen werden doppelt unterstrichen und somit als bekannt markiert. Die Variablen, nach welchen eine Gleichung gelöst werden muss, weil sie nur in dieser Gleichung vorkommen, werden mit einer Umrahmung gekennzeichnet. Wendet man nun die beiden Regeln an, ergibt sich nach dem ersten Schritt das folgende Bild. u = 30V

(6.34)

uR1 − iR1 · R1 = 0

(6.35)

diL =0 dt

(6.36)

uR2 − iR2 · R2 = 0

(6.37)

duC =0 dt

(6.38)

uL − L ·

iC − C ·

i = iR1

(6.39)

iR1 − iL = 0

(6.40)

u R2 − u C = 0

(6.41)

u − u R1 − u L − u C = 0

(6.42)

iL − iR2 − iC = 0

(6.43)

Dabei ist die Klemmenspannung 30 V offensichtlich bekannt, da es sich bei u um den Eingang in die Simulation handelt. Die Zustandsvariablen iL und uC sind bekannt, weil sie initialisiert werden müssen. Die beiden Ableitungen diL /dt und duC /dt sowie der Strom i sind umrahmt, weil sie nur in den jeweiligen Gleichungen vorkommen. Somit haben wir begonnen die horizontale Sortierung vorzunehmen. Dabei ist es aber auch wichtig, Regeln für die vertikale Sortierung festzulegen, um einen prozedural ausführbaren Code zu erhalten. Diese ergeben sich zu: • Wird die Kausalität einer Gleichung dadurch festgelegt, dass nur eine einzelne unbekannte Variable vorkommt, wird diese Gleichung mit einer aufsteigenden Nummer beginnend bei eins versehen. Oder in anderen Worten: Tritt in einer Gleichung nur eine unbekannte Variable auf, so muss sie in dieser Gleichung berechnet werden. Diese Gleichung wird dann mit einer aufsteigenden Nummer beginnend bei eins versehen.

384

6. Einführung in die objektorientierte Modellierung

• Wird die Kausalität einer Gleichung dadurch festgelegt, dass eine Unbekannte nur in dieser Gleichung vorkommt, wird diese von der Anzahl der Gleichungen startend mit einer sinkenden Nummer markiert. Oder in anderen Worten: Tritt eine unbekannte Variable nur in einer Gleichung auf, so kann sie nur in dieser Gleichung berechnet werden. Diese Gleichung wird dann von der Anzahl der Gleichungen startend mit einer sinkenden Nummer versehen. • Werden durch eine der obenstehenden Regeln in einem Schritt mehrere Gleichungen kausalisiert, ist die Reihenfolge der Nummerierung irrelevant. Werden mehrere Gleichungen in einem Schritt kausalisiert, ist es unerheblich in welcher Reihenfolge, die in einem Schritt kausalisierten Gleichungen nummeriert werden. Daher ergibt sich für die bisher markierten Unbekannten folgende Auswertungsreihenfolge.

u = 30V

(6.44)

uR1 − iR1 · R1 = 0 uL − L ·

diL =0 dt

(6.45) →

10k

uR2 − iR2 · R2 = 0 iC − C ·

duC =0 dt i = iR1

(6.46) (6.47)



9k

(6.48)



8k

(6.49)

iR1 − iL = 0

(6.50)

uR2 − uC = 0

(6.51)

u − uR 1 − uL − uC = 0

(6.52)

iL − iR2 − iC = 0

(6.53)

Durch die Anwendung der Regeln ergeben sich Auswirkungen auf die restlichen Gleichungen. Der Strom iL ist eine Zustandsvariable und daher eine Bekannte, wodurch iR1 in Gleichung (6.50) die einzige Unbekannte ist. Die Regeln werden

6.5. Die symbolische Vorverarbeitung

385

nun solange angewandt, bis alle Variablen bekannt sind.

u = 30V



1k

uR1 − iR1 · R1 = 0 uL − L ·

diL =0 dt

(6.54) (6.55)



10k

u R2 − i R2 · R 2 = 0

(6.56) (6.57)



9k

(6.58)



8k

(6.59)

iR1 − iL = 0



2k

(6.60)

u R2 − u C = 0



3k

(6.61)

iC − C ·

duC =0 dt i = iR1

u − u R1 − u L − u C = 0

(6.62)

iL − iR2 − iC = 0

(6.63)

Im nächsten Schritt können die nun bestimmten Variablen in den anderen Gleichungen als bekannte Variablen angenommen werden.

u = 30V



1k

uR1 − iR1 · R1 = 0 uL − L ·

diL =0 dt

(6.64) (6.65)



10k

u R2 − i R2 · R 2 = 0

(6.66) (6.67)



9k

(6.68)



8k

(6.69)

iR1 − iL = 0



2k

(6.70)

u R2 − u C = 0



3k

(6.71)

iC − C ·

duC =0 dt i = iR1

u − u R1 − u L − u C = 0

(6.72)

iL − iR2 − iC = 0

(6.73)

386

6. Einführung in die objektorientierte Modellierung

Dadurch können wieder neue Variablen berechnet werden.

u = 30V



1k

uR1 − iR1 · R1 = 0

(6.74) (6.75)

diL =0 dt



10k

(6.76)

u R2 − i R2 · R 2 = 0



4k

(6.77)

duC =0 dt



9k

(6.78)



8k

(6.79)

iR1 − iL = 0



2k

(6.80)

u R2 − u C = 0



3k

(6.81)

uL − L ·

iC − C ·

i = iR1

u − u R1 − u L − u C = 0

(6.82)

iL − iR2 − iC = 0

(6.83)

Im nächsten Schritt ergibt sich folgendes Bild.



1k

(6.84)

uR1 − iR1 · R1 = 0



5k

(6.85)

diL =0 dt



10k

(6.86)

uR2 − iR2 · R2 = 0



4k

(6.87)

duC =0 dt



9k

(6.88)



8k

(6.89)

iR1 − iL = 0



2k

(6.90)

u R2 − u C = 0



3k

(6.91)

u − u R1 − u L − u C = 0



6k

(6.92)

iL − iR2 − iC = 0



7k

(6.93)

u = 30V

uL − L ·

iC − C ·

i = iR1

6.5. Die symbolische Vorverarbeitung

387

Nach dem letzten Schritt ergeben sich die fertig sortierten Gleichungen. →

1k

(6.94)

uR1 − iR1 · R1 = 0



5k

(6.95)

diL =0 dt



10k

(6.96)

uR2 − iR2 · R2 = 0



4k

(6.97)

duC =0 dt



9k

(6.98)



8k

(6.99)

iR1 − iL = 0



2k

(6.100)

u R2 − u C = 0



3k

(6.101)

u − u R1 − u L − u C = 0



6k

(6.102)

iL − iR2 − iC = 0



7k

(6.103)

u = 30V

uL − L ·

iC − C ·

i = iR1

Jetzt ergeben sich noch zwei Aufgaben. Einmal müssen die Gleichungen vertikal umsortiert werden, was der vertikalen Sortierung entspricht. Etwas komplizierter ist die horizontale Sortierung, weil dabei eine symbolische Umformung der Gleichungen nötig wird. Auch diese Aufgabe wird von der symbolischen Vorverarbeitung der Modellierungsumgebung übernommen. Das Gleichungssystem ergibt sich also zu: u := 30V iR1 := iL uR2 := uC u R2 iR2 := R2 uR1 := iR1 · R1 uL := u − uR1 − uC iC := iL − iR2 i := iR1 duC iC := dt C diL uL := dt L



1k

(6.104)



2k

(6.105)



3k

(6.106)



4k

(6.107)



5k

(6.108)



6k

(6.109)



7k

(6.110)



8k

(6.111)



9k

(6.112)



10k

(6.113)

388

6. Einführung in die objektorientierte Modellierung

Somit haben wir das implizite Gleichungssystem (implizite DAE) auf einem algorithmischen Weg in eine explizite Form (explizite DAE) überführt. Diese Form ist in einer Programmiersprache direkt implementierbar. Diese Vorgehensweise wird Tarjan-Algorithmus [Tar72] genannt. Über das Ersetzen der Variablen in Gleichung (6.112) und (6.113) über die darüberstehenden Gleichungen, kann aus der expliziten DAE eine ODE Form erzeugt werden, wobei hier eine einfache Substitution ausreicht. Es sind keine weiteren Umformungen nötig. Werden Ausgangsgleichungen hinzugefügt, erhält man die Zustandsraumdarstellung. Wichtig ist es zu erkennen, dass jetzt keine Variable mehr verwendet wird, bevor dieser ein Wert zugewiesen wurde. Das Ergebnis der Gleichungen (6.104) bis (6.113) entspricht exakt dem der in Abschnitt 3.1.3 auf Seite 59 dargestellten Gleichungen. Die Reihenfolge der vertikalen Sortierung ist im Vergleich zu Abschnitt 3.1.3 teilweise unterschiedlich. Dies kommt daher, dass in einem Schritt oft mehrere Gleichungen vertikal sortiert werden können und sich somit ein gewisser Spielraum für diese Sortierung ergibt, der allerdings für die Berechnung keine Rolle spielt. Anschließend kann dieses Gleichungssystem beispielsweise über die in Abschnitt 3.1.4 vorgestellten Verfahren implementiert werden.

6.5.2. Algebraische Schleifen: „Index 1“ Systeme Wir versuchen noch einmal den vorher erfolgreich angewandten Algorithmus an einem anderen, ähnlich einfachen Beispiel anzuwenden. Als Beispiel wird die in Abb. 6.45 dargestellte und bereits auf Seite 203 in Abschnitt 5.8.2 verwendete Schaltung verwendet.

R1 iR1 iL

i u

R2 iR2

L

uL

iC C

uC

Abb. 6.45.: Elektrische Schaltung mit einer algebraischen Schleife

6.5. Die symbolische Vorverarbeitung

389

Dabei ergeben sich folgende Modellgleichungen43 . u = 30V uR1 − iR1 · R1 = 0 diL =0 uL − L · dt uR2 − iR2 · R2 = 0

(6.114) (6.115) (6.116) (6.117)

duC =0 iC − C · dt i − iR1 = 0

(6.119)

(6.118)

iC − iR2 = 0

(6.120)

iR1 − iL − iR2 = 0

(6.121)

u − uR1 − uL = 0

(6.122)

uL − uR2 − uC = 0

(6.123)

Führt man jetzt wieder die im vorherigen Abschnitt eingeführte Vorgangsweise aus, kommt der Algorithmus bereits nach dem ersten Schritt ins Stocken, weil keine der beiden Regeln mehr anschlägt. Jede Variable kommt mindestens in zwei Gleichungen vor und jede Gleichung hat mindestens zwei Unbekannte. u = 30V

(6.124)

uR1 − iR1 · R1 = 0

(6.125)

diL =0 dt

(6.126)

uR2 − iR2 · R2 = 0

(6.127)

duC =0 dt

(6.128)

i − iR1 = 0

(6.129)

iC − iR2 = 0

(6.130)

iR1 − iL − iR2 = 0

(6.131)

u − uR1 − uL = 0

(6.132)

uL − uR2 − uC = 0

(6.133)

uL − L ·

iC − C ·

Wir sind also auf eine sogenannte algebraische Schleife gestoßen, wie sie in sehr vielen Systemen zu finden ist. Wie in dem Beispiel gut zu erkennen ist, treten diese Schwierigkeiten auch schon bei relativ kompakten Systemen auf. 43 Bei

der Bondgraphendarstellung in Abschnitt 5.8.2 ergaben sich nur acht Gleichungen, weil die trivialen Gleichungen (6.119) und (6.120) nicht explizit aufgeführt sind, sondern eine Umbenennung der Variablen vorgenommen wurden.

390

6. Einführung in die objektorientierte Modellierung

Es gibt verschiedene Möglichkeiten diesem Problem zu entgegnen. Man kann den Teil des Gleichungssystems, der nicht direkt lösbar ist, über eine NewtonIteration lösen. Das ist allerdings in Bezug auf die Simulationsperformance nicht immer die effizienteste Variante. Eine oft effizientere, wenn auch kompliziertere Variante ist das Tearing. Dabei wird eine Variable als bekannt angenommen und mit dem Algorithmus fortgefahren, als ob diese Variable wirklich bekannt wäre. Dabei werden die Variablen, welche auf dieser sogenannten Tearing Variable44 beruhend berechnet werden, als einzeln unterstrichen dargestellt. Die Zuweisungen, welche sich daraus ergeben, werden nicht von einem Kreis, sondern von einem Viereck umrandet. Dabei wird die als residual equation bezeichnete Gleichung (also die eigentlich nicht berechenbare Gleichung) mit einem doppelten Rahmen

gekennzeichnet. In diesem Fall wählen wir uR2 als be-

kannt und legen fest, dass diese aus Gleichung (6.137) errechnet wird. Daraus ergibt sich folgender Zusammenhang:

u = 30V



1k

uR1 − iR1 · R1 = 0

(6.134) (6.135)

diL =0 dt



10k

(6.136)

uR2 − iR2 · R2 = 0



2

(6.137)

duC =0 dt



9k

(6.138)

i − iR1 = 0



8k

(6.139)



7k

(6.140)

uL − L ·

iC − C ·

iC − iR2 = 0 iR1 − iL − iR2 = 0

(6.141)

u − uR1 − uL = 0

(6.142)

uL − uR2 − uC = 0

(6.143)

Setzen wir die Sortierung nun fort, kann diese ohne weitere Schwierigkeiten

44 Eine

Tearing Variable entspricht in Deutsch etwa einer „Aufbrech-Variablen“.

6.5. Die symbolische Vorverarbeitung

391

abgeschlossen werden und es ergibt sich folgendes Bild. →

1k

(6.144)

uR1 − iR1 · R1 = 0



5

(6.145)

diL =0 dt



10k

(6.146)

uR2 − iR2 · R2 = 0



2

(6.147)

duC =0 dt



9k

(6.148)

i − iR1 = 0



8k

(6.149)

iC − iR2 = 0



7k

(6.150)

iR1 − iL − iR2 = 0



6

(6.151)

u − u R1 − u L = 0



4

(6.152)

u L − u R2 − u C = 0



3

(6.153)



1k

(6.154)



2

(6.155)



3

(6.156)

uR1 := u − uL u R1 iR1 := R1



4

(6.157)



5

(6.158)

iR2 := iR1 − iL



6

(6.159)

iC := iR2



7k

(6.160)

i := iR1



8k

(6.161)



9k

(6.162)



10k

(6.163)

u = 30V

uL − L ·

iC − C ·

Dies entspricht dem folgenden Satz an Zuweisungen. u := 30V u R2

:= iR2 · R2

uL := uR2 + uC

duC iC := dt C diL uL := dt L

Nun findet sich allerdings die Tearing Variable uR2 bereits in der zweiten Gleichung wieder, was nicht anders zu erwarten war, da wir vor der Wahl dieser Variable nur eine Gleichung kausalisieren konnten, welche am Beginn des Gleichungssystems steht. Es ist aber durch die Kausalisierung des Systems jetzt einfach, einen gültigen Ausdruck über die vorhandenen Zuweisungen zu finden. Genauer gesagt sind dazu diese Zuweisungen nötig, welche im vorherigen Schritt

392

6. Einführung in die objektorientierte Modellierung

mit einem Viereck gekennzeichnet wurden. Dabei ist von den Gleichungen 2 bis 8 die Rede45 . Setzt man diese in umgekehrter Reihenfolge ineinander ein, ergibt sich folgende Gleichung: uR2 = iR2 · R2 = (iR1 − iL ) · R2   uR1 − iL · R2 = R1   u − uL = − iL · R2 R1   u − (uR2 + uC ) = − iL · R2 R1

(6.164) (6.165) (6.166) (6.167) (6.168)

Der letzte Ausdruck besteht nur noch aus in diesem Rechenschritt bekannten Größen: Eingänge, Zustandsvariablen, Parametern und der Tearing Variable selbst. Daher kann daraus nun die Tearing Variable uR2 bestimmt werden. Eine einfache Umformung führt zu der Lösung: uR2 =

R2 · (u − uC − iL · R1 ) R1 + R2

(6.169)

Woraus sich nun das folgende berechenbare Gleichungssystem ergibt. u := 30V R2 · (u − uC − iL · R1 ) uR2 := R1 + R2 uL := uR2 + uC

(6.170)

uR1 := u − uL uR1 iR1 := R1 iR2 := i − iL

(6.173)

(6.171) (6.172)

(6.174) (6.175)

iC := iR2

(6.176)

i := iR1

(6.177)

duC iC := dt C diL uL := dt L

(6.178) (6.179)

Für eine gute Verständlichkeit wurde hier auf ein relativ einfaches Beispiel zurückgegriffen. Bei größeren Systemen stellt sich schnell die Frage, welche 45 Wobei

nicht alle zwingend nötig sein müssen.

6.5. Die symbolische Vorverarbeitung

393

der möglichen Variablen eine „gute“ Tearing Variable ist. Leider ist die analytische Lösung dieses Problems mit einem exponentiell wachsenden Aufwand mit steigender Variablenanzahl verbunden. Daher werden für die Lösung dieser Aufgabe Heuristiken eingesetzt, welche Eigenschaften bewerten, wie z. B. „Man wähle eine Tearing Variable, mit der sich in weiterer Folge möglichst viele Gleichungen kausalisieren lassen“, oder ähnliches. Dabei wird zwar nicht in allen Fällen die ideale, aber zumindest eine gute Tearing Variable gefunden. Die Qualität der Heuristiken ist ein entscheidendes Merkmal für die Performance der Modellierungsumgebung. Es können auch verschachtelte Schleifen auftreten, bei denen mehrere Tearing Variablen gewählt werden müssen. In diesem Abschnitt wurde das Tearing Verfahren in Kombination mit der Substitutionstechnik angewandt. Dieser Vorgang kann zu sehr großen und unhandlichen Gleichungen führen. Daher ist es in vielen Fällen auch sinnvoll, die residual equation, an das Ende der algebraischen Schleife zu schreiben (die mit x gekennzeichneten) und über dieses Gleichungssystem eine NewtonIteration anzuwenden (was z. B. auch Dymola macht). Trotzdem bleibt es wichtig eine gute Tearing Variable zu wählen. Dadurch verkleinert sich das System, über welches eine Newton-Iteration durchgeführt wird, wodurch die Performance der Simulation verbessert wird.

Lösen von algebraischen Schleifen in signalflussbasierten Programmen Probleme mit algebraischen Schleifen ergeben sich nicht nur in der objektorientierten Modellierung. Sie sind eine Eigenschaft des zu modellierenden Systems und ergeben sich somit in jeder Art der Modellierung. Dabei ergeben sich für das Programm oft unlösbare algebraische Schleifen. Diese können auch ohne eine neue Modellierung des Systems umgangen werden46 . Dies ist oft hilfreich, da eine erneute Modellierung des Systems oft sehr viel Zeit in Anspruch nehmen kann. Eine Möglichkeit eine algebraische Schleife aufzubrechen ist es, eine der Variablen in der Schleife zum aktuellen Simulationszeitpunkt künstlich bekannt zu machen. Dazu bieten sich üblicherweise zwei Möglichkeiten: 1. Delay Block 2. Filter - z. B. Tiefpass Beide Möglichkeiten beinhalten Anfangsbedingungen, welche den Ausgang 46 Hier

wird bewusst nicht das Wort behoben verwendet, da die Schleife im eigentlichen Sinne über nicht-physikalische Elemente unterbrochen wird.

394

6. Einführung in die objektorientierte Modellierung

des jeweiligen Blocks während des ersten Simulationsschrittes auf einen Wert festlegen. Somit ist diese Ausgangsvariable als bekannt anzunehmen. Liegt diese Variable innerhalb der algebraischen Schleife, ist diese unterbrochen und die Simulation funktioniert. Nachteilig im Vergleich zur vorangehenden symbolischen Variante über Tearing ist, dass das physikalische System verändert wird. Dies kann zu beträchtlichen Abweichungen in den Simulationsergebnissen führen. Es stellt sich noch die Frage, ob der Delay Block oder etwa ein Tiefpass die bessere Wahl sind. Pauschal kann diese Frage nicht beantwortet werden. Beide beeinflussen das Systemverhalten. Abhängig vom modellierten System kann man aber für den Delay Block oder den Tiefpass argumentieren. Dabei kann ein Delay Block etwa die Verzögerung einer Abtastung modellieren, was durchaus als realistisch angesehen werden kann. Der Tiefpass könnte etwa die Filterung in einem verwendeten Sensor abbilden. Auf jeden Fall aber stellen beide Blöcke den numerischen Lösungsalgorithmus vor eine schwierige Aufgabe. Um den Einfluss auf die Simulation klein zu halten, sollte die Verzögerungszeit im Delay Block, wie auch die Zeitkonstante des Filters gegenüber den Zeitkonstanten des modellierten Systems klein gehalten werden. Im Falle eines Tiefpasses wird ein neuer Pol im System erzeugt, welcher durch die kleine Zeitkonstante ein steifes System erzeugen kann. Hier kann mit einem Integrationsalgorithmus, welcher steife Systeme behandeln kann, entgegengewirkt werden. Ein Delay Block ist numerisch gesehen etwas komplexer zu behandeln. Welche Variante in einem spezifischen Problem zu bevorzugen ist, bleibt dem Modellierer überlassen. In Simulink gibt es die Möglichkeit einen Memory- oder einen z −1 Block zu verwenden. Dabei entspricht der z −1 Block einem Sample and Hold-Block mit einer gewissen Frequenz. Durch diesen werden zeitgesteuerte Events in einem konstanten zeitlichen Raster ausgelöst, wodurch die Simulation deutlich verlangsamt werden kann. Über den Memory Block, wird der letzte vom Solver berechnete Lösungspunkt verwendet, was bei Solvern mit Schrittweitensteuerung zu einem variablen Delay Block führt. Dieser ist zwar in Bezug auf Simulationsperformance deutlich besser, kann aber zu schwer nachvollziehbaren Problemen mit der Modellstabilität führen.

6.5.3. Strukturelle Singularitäten: „höhere Index“ Systeme An dem in Abb. 6.46 dargestellten Beispiel soll eine weitere Hürde für den Tarjan Algorithmus erläutert werden. Dabei handelt es sich um ein sehr einfaches Modell, um nicht von dem eigentlichen Fokus dieses Abschnittes abzulenken.

6.5. Die symbolische Vorverarbeitung

395

u1 i

L1 u

L2

u2

Abb. 6.46.: Spannungsquelle mit zwei in Serie geschalteten Induktivitäten Die Gleichungen aus diesem Beispiel ergeben sich zu: u = 30V diL1 dt diL2 uL2 − L2 · dt u − uL1 − uL2 i − iL1 iL1 − iL2

uL1 − L1 ·

(6.180)

=0

(6.181)

=0

(6.182)

=0 =0 =0

(6.183) (6.184) (6.185)

Beginnt man nun wieder mit der Prozedur des Tarjan Algorithmus, ergibt sich schon nach dem Beenden des ersten Schrittes folgende Konstellation. u = 30V

(6.186)

uL1 − L1 ·

diL1 =0 dt

(6.187)

uL2 − L2 ·

diL2 =0 dt

(6.188)

u − uL1 − uL2 = 0

(6.189)

i − iL1 = 0

(6.190)

iL1 − iL2 = 0

(6.191)

Dabei sticht ins Auge, dass in Gleichung (6.191) keine Variable berechnet werden kann, da diese alle schon bekannt sind. Der Fall entspricht einer Zwangsbedingung (engl. constraint equation), welche sich durch die Serienschaltung der Induktivitäten, und den daher zwangsweise identischen Strom, ergibt. Die Probleme im Gleichungssystem ergeben sich daraus, dass beide Ströme Zustandsvariablen sind und daher bekannt sind.

396

6. Einführung in die objektorientierte Modellierung

In [CK06] wird der Pantelides Algorithmus [Pan88] erweitert und damit wird die strukturelle Singularität gelöst. Dieser Weg ist effizient und wird z. B. auch von Dymola verwendet. Die Zwangsbedingung wird abgeleitet und zum ursprünglichen Satz von Differenzialgleichungen hinzugefügt. Das Hinzufügen der Gleichung entspricht dabei der Erweiterung des ursprünglichen Pantelides Algorithmus. u = 30V

(6.192)

uL1 − L1 ·

diL1 =0 dt

(6.193)

uL2 − L2 ·

diL2 =0 dt

(6.194)

u − uL1 − uL2 = 0

(6.195)

i − iL1 = 0

(6.196)

iL1 − iL2 = 0

(6.197)

diL1 diL2 − =0 dt dt

(6.198)

Durch die Anwendung des erweiterten Algorithmus ergibt sich eine zusätzliche Gleichung in dem Gleichungssystem und somit ist die Anzahl der Unbekannten zu gering. Um dies auszugleichen wird ein Integrator entfernt und der bekannte Zusammenhang zwischen di/dt und i wird quasi „verschwiegen“. In diesem Fall entscheiden wir uns den Integrator zwischen diL2 /dt und iL2 zu entfernen47 . Dies hat zur Folge, dass jetzt sowohl iL2 wie auch diL2 /dt als unbekannt angenommen werden und somit iL2 eine zusätzliche Variable wird. Somit ist das Gleichungssystem wieder ausgeglichen. Die Kennzeichnung eines solchen eliminierten Integrators in den Gleichungen erfolgt über das Entfernen von /dt. So soll darauf hingewiesen werden, dass es sich hierbei um eine „normale“ algebraische Variable handelt. Durch diese Vorgehensweise ergibt sich gegenüber dem originalen Modell der Vorteil, dass dieses System 1. Ordnung tatsächlich nur einen Integrator enthält. Ein wichtiger Aspekt dieser Vorgangsweise ist, dass durch die Eliminierung des Integrators eine der beiden Initialisierungen entfällt. Durch das Eliminieren des Integrators entfällt die Zwangsbedingung und das

47 In

dem gegebenen Beispiel ist es unerheblich, welcher Integrator entfernt wird.

6.5. Die symbolische Vorverarbeitung

397

Gleichungssystem wird sortierbar. u = 30V

(6.199)

diL1 =0 dt

(6.200)

uL2 − L2 · diL2 = 0 u − uL1 − uL2 = 0

(6.201) (6.202)

i − iL1 = 0

(6.203)

iL1 − iL2 = 0

(6.204)

diL1 − diL2 = 0 dt

(6.205)

uL1 − L1 ·

Die Sortierung des erweiterten Systems liefert folgendes Ergebnis: u = 30V

(6.206)

diL1 =0 dt

(6.207)

uL2 − L2 · diL2 = 0

(6.208)

u − uL1 − uL2 = 0

(6.209)

i − iL1 = 0

(6.210)

iL1 − iL2 = 0

(6.211)

diL1 − diL2 = 0 dt

(6.212)

uL1 − L1 ·

Wichtig zu erkennen ist, dass das Verhalten des Systems durch die vorangegangenen Modifizierungen nicht verändert wird. Dieser Zusammenhang soll durch Abb. 6.47 verdeutlicht werden. In Abb. 6.47 ist dargestellt, dass Eingang und Ausgang des verbleibenden Integrators mit dem eliminierten Integrator gleichgesetzt werden. Wie bereits eingangs erwähnt, ist das Beispiel für die Demonstration absichtlich einfach gewählt. Kommen in der Zwangsbedingung zusätzliche Variablen vor, werden diese durch das Anwenden des modifizierten Pantelides Algorithmus ebenfalls differenziert und werden zu neuen Unbekannten. Folglich müssen auch die Gleichungen, mit welchen diese Variablen berechnet werden, differenziert werden, um das Gleichgewicht zwischen Gleichungen und Unbekannten

398

6. Einführung in die objektorientierte Modellierung

x1-0 x1

1 s

x1

x2-0 x2

1 s

x2

Abb. 6.47.: Zusammenhänge mit einem eliminierten Integrator

beizubehalten. Daher müssen u.U. viele Variablen differenziert werden48 . Systeme, die eine strukturelle Singularität enthalten, werden Systeme von höherem Index (engl. higher index Systems oder Index ≥ 2) genannt. Wird der hier beschriebene Algorithmus auf ein System höherer Ordnung angewandt, wird das System üblicherweise lösbar. Oft entsteht aus einem System mit einer strukturellen Singularität eines mit einer algebraischen Schleife, auf welches anschließend die entsprechenden Verfahren zum Lösen dieser Schleife angewandt werden müssen. Genauso kann es vorkommen, dass das System nach dem Lösen der strukturellen Singularität direkt kausalisierbar ist. Vor allem in der dreidimensionalen Mechanik sind Systeme mit einem Index größer 2 üblich. Dabei muss der Pantelides Algorithmus mehrmals angewandt werden, da sich der Index eines Systems mit der Anwendung des Pantelides Algorithmus jeweils nur um eins reduziert. Speziell in der dreidimensionalen Mechanik ist im Fall von planaren Schleifen ein händischer Eingriff, über so genannte cut joints nötig, weil diese Form von strukturellen Singularitäten nicht automatisch gelöst werden können.

48 Wichtig

ist es dabei, dass alle Variablen abgeleitet werden können. Ergeben sie sich aus Funktionen, muss dies gegebenenfalls durch den Modellierer sichergestellt werden (siehe Abschnitt 7.1.5 ab Seite 429).

6.5. Die symbolische Vorverarbeitung

399

6.5.4. Eine Alternative: Direkte Lösung von impliziten Gleichungssystemen Neben der symbolischen Vorverarbeitung, welche ein System von DAEs zu einem gleichwertigen System von ODEs macht, ist es auch möglich die implizit formulierten Gleichungen direkt zu lösen. Wir betrachten hier nur die skalare Form, wodurch die DAEs in der Form f (x, ˙ x, u, t) = 0

(6.213)

vorliegen. Verwendet man einen geeigneten Solver wie z. B. die BackwardDifference Formulae (siehe Abschnitt 8.6.3 ab Seite 569) xt+h =

18 9 2 6 h · x˙ t+h + xt − xt−h + xt−2h 11 11 11 11

lässt sich daraus die Ableitung zu   3 1 1 11 xt+h − 3xt + xt−h − xt−2h x˙ t+h = h 6 2 3

(6.214)

(6.215)

berechnen. Diese kann nun verwendet werden, um die Ableitung in (6.213) zu ersetzen. Man erhält dadurch ein Gleichungssystem, welches nur noch von dem aktuellen Zustandswert und von vergangenen Zustandswerten abhängt. Daher kann auf dieses direkt eine Newton-Iteration (siehe Abschnitt 8.2.3 ab Seite 517) angewandt werden. F (xt+h ) = 0

(6.216)

Somit lässt sich die neue Lösung xt+h finden. Wichtig ist es dabei, dass die Stabilitätseigenschaften (siehe Abschnitt 8.2.2, Seite 508) der verwendeten Algorithmen durch diese Umformulierung nicht beeinflusst werden. Mehr dazu ist in [CK06], Kapitel 8 zu finden. Hat das Modell Eigenschaften, welche ein Lösen durch einen DAE Solver sinnvoll erscheinen lassen, gibt Dymola dazu einen Hinweis aus. Üblicherweise ist das bei großen nichtlinearen Gleichungssystemen der Fall. Dann kann der Nutzer das in verschiedenen Solvern (z. B. DASSL, Radau IIa, Esdirk23a, Esdirk34a, Esdirk45a und Sdirk34hw) vorhandene DAE Interface ansprechen49 . Wichtig zu beachten ist, dass durch die nötigen Umformulierungen des zu lösenden Gleichungssystems die Stabilität beeinträchtigt werden kann. Es ist daher möglich, dass ein Modell mit einem ODE Solver funktioniert, mit einem DAE Solver allerdings nicht. 49 In

Dymola 2019 über das Setzen von Advanced.Define.DAEsolver = true

400

6. Einführung in die objektorientierte Modellierung

6.5.5. Resümee Wieso hat die Überführung in eine ODE Darstellung (bzw. im linearen Fall die Zustandsraumdarstellung) in der Modellbildung und Simulation so eine große Bedeutung? Die Antwort auf diese Frage ist historisch begründet. Da zu Beginn der Simulationstechnik ausschließlich explizite Lösungsalgorithmen (ODE Solver) verwendet wurden, war für eine Simulation ein Kausalisieren des Gleichungssystems zwingend nötig. Daraus ergab sich, dass sich auf der einen Seite Personen mit der Erstellung der Modelle beschäftigten, die anderen kümmerten sich darum, diese numerisch zu lösen also zu simulieren. Mit der Zustandsraumdarstellung wurde hier eine sehr gute Schnittstelle zwischen diesen beiden Fachgebieten eingeführt. Für ODE Solver ist nur die kausalisierte Form eines Modells verwertbar, weshalb Algorithmen zur Überführung von DAEs in ODEs entwickelt wurden. Dazu war es auch nötig, die Algorithmen zur Indexreduktion zu entwickeln. Eine Übersicht zu den hier vorgestellten Varianten ist in Abb. 6.48 dargestellt. Dabei gibt es noch andere Wege die Indexreduktion durchzuführen. Eine vollständigere Aufstellung dazu ist in [CK06] zu finden.

6.5. Die symbolische Vorverarbeitung

401

implizite DAEs (Gleichungen welche das physikalische System beschreiben)

Index 1

Symbolische Vorverarbeitung

Index ≥ 2

Index 0

Indexreduktion „Pantelides“

(Strukturelle Singularitäten)

Index 1

Indexreduktion „Tearing“

(Algebraische Schleifen)

direktes Lösen

Index 0

explizite DAEs (Zuweisungen welche das physikalische System beschreiben)

ODEs (Zustandsraumdarstellung)

ODE Solver

DAE Solver

Simulationsergebnis

Abb. 6.48.: Mögliche Wege zur Überführung von DAEs zum Simulationsergebnis

7. Modelica Eine erste Einführung in die Modellierungssprache Modelica wird in Abschnitt 6.2 gegeben. Dabei findet Modelica Anwendung, um das Konzept der Modellierung über Gleichungen zu erläutern. Die Erweiterung um das Konzept der Komponenten wird in Abschnitt 6.3 erklärt, um die Erstellung komplexer Modelle zu vereinfachen. In Abschnitt 6.4 werden die objektorientierten Konzepte der Sprache vorgestellt. Diese bringen vor allem Vorteile in den Bereichen Wartbarkeit und Anwendbarkeit mit sich. In Abschnitt 7.1 wird ein Auswahl von Funktionalitäten vorgestellt, welche Modelica abseits der Objektorientierung bietet. Diese können für den Modellierer von zentraler Wichtigkeit sein, um zuverlässige und gut verständliche Modelle zu erstellen. Weiters werden in Abschnitt 7.2 Tipps gegeben, wie die Fehlersuche oder Untersuchungen der Modelleigenschaften etwa bezüglich Simulationsgeschwindigkeit in Modelica bzw. Dymola funktionieren kann. In Abschnitt 7.3 wird die Modelica Standard Library (MSL) über einige der darin verfügbaren Beispiele erläutert, um mögliche Einsatzgebiete von Modelica abzustecken. Auf andere Libraries wird nicht eingegangen, da dies durch deren schiere Anzahl praktisch unmöglich ist. Abschließend wird das sich in jüngerer Zukunft rasant entwickelnde Functional Mock-Up Interface in Abschnitt 7.4 oberflächlich beleuchtet. Trotz der Kompaktheit des Abschnittes enthält es wichtige grundlegende Eigenschaften und Begrifflichkeiten.

7.1. Modelica Funktionalität Die hier vorgestellten Funktionalitäten bilden eine Auswahl wichtiger Funktionalitäten, die vom Modelica Sprachstandard angeboten werden. Sie ermöglichen beispielsweise eine kompakte Formulierung von Gleichungen über Vektoren oder Matrizen oder steigern die Zuverlässigkeit von Modellen über das Unterdrücken von Diskontinuitäten. Es wird hier keine Vollständigkeit angestrebt, sondern versucht die Themen-

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8_7

403

404

7. Modelica

gebiete von großer Wichtigkeit zu erläutern. Eine deutlich vollständigere und dadurch umfangreichere Darstellung wird in [Fri15] gegeben. Alternativ kann die frei verfügbare Modelica Sprachdefinition [Ass17] herangezogen werden.

7.1.1. Vektoren, Matrizen und Schleifen In diesem Abschnitt wird auf die Anwendung von Vektoren und Matrizen, sowie den Einsatz von Schleifen in Modelica eingegangen. Anwendung auf Variablen und Parameter Anders als viele andere Tools wie z. B. MATLAB unterscheidet Modelica zwischen Vektoren und Matrizen. Die Unterteilung erfolgt bei der Definition der Variablen wie in Code 7.1 dargestellt. 1 2 3 4 5

Real v[5]; Real m1[3,4]; Real m2[5,1]; kein Vektor) Real m3[5,3]; Real m4[2,3,4];

// Vektor mit fünf Elementen // Matrix mit drei Zeilen und fünf Spalten // Matrix mit fünf Zeilen und einer Spalte (aber // Matrix mit fünf Zeilen und drei Spalten // dreidimensionalen Array

Code 7.1: Definition von Vektoren und Matrizen in Modelica.

Auf den ersten Blick ist nicht ersichtlich was der Unterschied zwischen einem Vektor und einer Matrix mit einer Spalte ist. Diese werden aber vom Modelica Compiler unterschiedlich behandelt. Vektoren können über geschwungene Klammern {...} Werte zugewiesen werden. Diese werden immer durch Kommas getrennt. Im Gegensatz dazu können Matrizen über eckige Klammern [...] befüllt werden. Bei der Zuweisung von Werten in eine Matrix werden Elemente einer Zeile mit Kommas „,“ getrennt, ein Zeilensprung erfolgt über ein Semikolon „;“, also gleich wie in MATLAB. Bei der Multiplikation zweier Vektoren wird automatisch ein Skalarprodukt angewandt. Da Vektoren als solche definiert sind, muss nicht transponiert werden. Über cross(v1,v2) kann ein Vektorprodukt berechnet werden. Bei der Rechnung mit Matrizen muss man sich händisch um die korrekten Dimensionen kümmern. Es ist nicht möglich einer Matrix direkt die Werte eines Vektors zuzuweisen. Die Gleichung m2 = v führt daher zu einer Fehlermeldung, obwohl die Dimensionen an sich korrekt wären. Vektoren können allerdings über den Matrizen-Operator

7.1. Modelica Funktionalität

405

in Matrizen umgewandelt werden. Demzufolge ist m2 = [v] ein gültige1 Gleichung. Es können auch mehrere Vektoren zu einer Matrix zusammengefasst werden, indem sie durch Kommas getrennt werden. Ein Beispiel dafür wäre m3 = [v,2*v,3*v]. Das Zugreifen auf einzelne Elemente von Vektoren und Matrizen funktioniert über eckige Klammern „[]“, wie in Code 7.2 demonstriert. Dabei können über den „:“ Operator mehrere Indizes auf einmal angesprochen werden. Über „[:]“ greift man auf alle Elemente eines Vektors zu. 1 2 3 4 5 6

Real v{5};

// Vektor mit fünf Elementen // Zugriff auf alle Elemente des Vektors mit v[:]

equation v[1] = 1; v[2] = 3; v[3:5] = {1,2,3};

Code 7.2: Zugreifen auf Elemente eines Vektors

Als ein Beispiel dafür, dass auch Gleichungen in einer vektorisierten Form angeschrieben werden können, soll die Clark und Park Transformation aus der feldorientierten Regelung elektrischer Maschinen herangezogen werden. Die Gleichungen     2 Ba 1 1  − − Bα 3  Bb  · (7.1) = 3 √13 1 0 − √3 Bβ 3 Bc und    Id cos (ϕr ) = Iq − sin (ϕr )

   sin (ϕr ) i · α cos (ϕr ) iβ

(7.2)

könnten in Modelica wie in Code 7.3 dargestellt werden. 1 2 3 4 5

[B_alpha; B_beta] =

[2/3, -1/3, -1/3; 0, 1/sqrt(3), -1/sqrt(3)] * [Ba; Bb; Bc];

[Id; Iq] = [cos(angle), sin(angle); -sin(angle), cos(angle)] * [I_alpha; I_beta];

Code 7.3: Clark und Park Transformation als vektorisierte Gleichungen in Modelica 1 Genau

genommen entstehen daraus fünf Gleichungen

406

7. Modelica

Treten viele Gleichungen mit einer sehr ähnlichen Struktur auf, können diese über Schleifen kompakt definiert werden. Einige Bespiele für die Definition von Schleifen kann in Code 7.4 eingesehen werden. Sehr nützlich kann das z. B. für diskretisierte Systeme sein. 1 2 3

for i in 1:10 loop for r in 1.0 : 1.5 : 5.5 loop 5.5 an for i in {1,3,6,7} loop

// i nimmt die Werte 1,2,3,...,10 an // r nimmt die Werte 1.0, 2.5, 4.0, // i nimmt die Werte 1, 3, 6, 7 an

Code 7.4: Verschiedene For Schleifen, z. B. für die Definition von Vektoren

Anzahl Dimensionen Bei der Erstellung von Modellen, welche Vektoren und Matrizen enthalten, werden oft Fehlermeldungen in Bezug auf die Dimensionality ausgegeben. Der Begriff Dimensionality bezieht sich hier auf die Anzahl der Dimensionen eines Elements. Daher soll hier kurz ein Überblick gegeben und die dazugehörige Begrifflichkeit geklärt werden. • Vektoren: 1 Dimension x[2]

// eine Dimension mit zwei Elementen

• Matrizen: 2 Dimensionen x[3,5]: // zwei Dimensionen mit zwei bzw. drei Elementen

• Array: n Dimensionen x[1,7,3]: //drei Dim. mit eins, sieben und drei Elementen

Um die Dimensionalität eines Elements zu überprüfen, bietet sich die size() Funktion an. Die Anzahl der Elemente im zurückgegebenen Vektor gibt die Dimensionalität an. Die Anzahl der Elemente in einer Dimension ergibt sich aus dem Zahlenwert des jeweiligen Eintrages im zurückgegebenen Vektor. Umgang mit Vektoren und Matrizen Modelica unterscheidet strikt zwischen Skalaren, Vektoren, Matrizen usw. Daher kann etwa einem Vektor der Größe 1 nicht direkt einen Skalar zuweisen. Dieser muss zuerst in einen Vektor umgewandelt werden, damit die Anzahl der Dimensionen übereinstimmt. Einige der nützlichen Funktionen dafür sind unterhalb aufgeführt. • Skalar in Vektor:

v = {s}

oder

v = vector(s)

7.1. Modelica Funktionalität • Array in Vektor:

407

v = vector(a)

• Vektor oder Skalar in Matrix/Array:

a = [v], a = array(v)

oder

m =

matrix(v)2

• Vektor oder Array in Skalar:

s = scalar(v)

In Code 7.5 werden einige Beispiele aufgezeigt, wie die Dimensionalität beeinflusst werden kann. Dabei sind nicht funktionierende Zeilen auskommentiert und mit ERROR: markiert. 1 2 3 4 5 6 7 8 9 10 11 12

model VectorAndMatrices parameter Integer n = 3; parameter Real v1[n] = {1,2,3}; parameter Real v2[n] = linspace(1,2,n); // Real m1[1,n] = transpose(v1); Richtung Real m1[1,n] = transpose([v1]); Real m2[n,2] = [v1, v2]; Real m3[3+n,1] = [v1; v2]; // Real v3[size(m3,1)] = m3; Real v3[size(m3,1)] = vector(m3); end VectorAndMatrices;

// ERROR: Vektor hat keine // // // // //

= [1,2,3] (klappt wegen []) = [1,1; 2,1.5; 3,2] = [1; 2; 3; 4; 5; 6] ERROR: Dimensionalitaet = {1,2,3,4,5,6}

Code 7.5: Einige Beispiel zur Dimensionalität in Modelica

Vektoren von Komponenten Das Konzept der Vektoren kann auch verwendet werden, um Vektoren von Komponenten zu definieren. Dabei wird genau wie bei der Definition einer Variablen an die Definition der Komponente eine geschwungene Klammer {} angefügt. Es ist, wie in Code 7.6 dargestellt, auch möglich mehr als eine Dimension zu verwenden – also eine Matrix von Komponenten zu erstellen. Somit kann eine Anzahl von Modellen auf einmal definiert und die Anzahl der Modelle als Parameter vorgegeben werden. Ein Beispiel dafür ist in [Ein+11] zu finden. Hier wird ein Vektor von Modellen einer Batteriezelle definiert. Somit können die einzelnen Zellen über deren Indizes angesprochen werden. Anschließend werden die Batteriezellen wie in Code 7.7 verschalten. Zusätzlich ist auch noch die Möglichkeit gegeben diese seriell und parallel zu verschalten. 2 Wobei

sich die ergebenden Dimensionen unterscheiden.

408

1 2 3 4 5 6

7. Modelica

... parameter Integer ns = 100 "Anzahl serieller Zellen im Pack"; parameter Integer np = 72 "Anzahl paralleler Zellen im Pack"; CellModel cell[ns,np]; ...

Code 7.6: Definition eines Arrays von Komponenten vom Typ cellModel

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

... equation // series connection for s in 1:ns-1 loop connect(cell[s,1].pin_n,cell[s+1,1].pin_p); end for; // parallel connection for p in 1:np-1 loop for s in 1:ns loop connect(cell[s,p].pin_p,cell[s,p+1].pin_p); connect(cell[s,p].pin_n,cell[s,p+1].pin_n); end for; end for; // terminal connection for s in 1:ns loop connect(cell[s,1].pin_p,pin_pCell[s]); connect(cell[s,1].pin_n,pin_nCell[s]); end for; // top, bottom and heatPort connection connect(cell[1, 1].pin_p, pin_pPackage); connect(cell[ns, np].pin_n, pin_nPackage); connect(cell[:,:].heatPort,heatPort[:,:]); ...

Code 7.7: Verschaltung der Komponenten per Schleife

7.1. Modelica Funktionalität

409

So können Batteriepacks mit unterschiedlich parametrierten Zellen (etwa verschiedene Innenwiderstände oder Kapazitäten) definiert werden. Sind alle Zellen zumindest in der Simulation exakt gleich, kann die Spannung bzw. der Strom mit der Anzahl an seriell bzw. parallel geschalteten Zellen multipliziert werden. Das beschleunigt die Simulation durch die entfallenden Gleichungen und Zustände deutlich. Hier bleibt anzumerken, dass für diese Art der Modelldefinition üblicherweise kein grafisches Modell erstellt wird. Dies geschieht, weil zu dem aus dem Code erstellten Modell keine grafische Information hinterlegt wird. Diese wird bei der grafischen Modellierung von der Modellierungsumgebung automatisch erstellt und fehlt deshalb hier komplett3 . Enumerations Eine Enumeration oder Auflistung ist eigentlich nichts anderes, als ein Vektor, in welchem den einzelnen Einträgen Namen gegeben werden. Ein Beispiel findet sich in der MSL in Modelica.Blocks.Continuous.LimPID. Darin wird der Type SimpleController als Parameter verwendet (siehe Code 7.8). 1 2 3 4 5 6

type SimpleController = enumeration( P "P controller", PI "PI controller", PD "PD controller", PID "PID controller") "Enumeration defining P, PI, PD, or PID simple controller type";

Code 7.8: Definition eines Enumeration Types für die Auswahl von Reglerstrukturen

Diese Enumeration wird in der GUI üblicherweise als Pull-Down Menü angezeigt, in welchem die hinter den Einträgen zu sehenden Strings für den Nutzer zur Auswahl stehen. Dies bringt gegenüber der Verwendung reiner Integer-Werte den Vorteil einer erhöhten Lesbarkeit. Da sich hinter der Enumeration in der Implementierung tatsächlich eine Integer verbirgt, können die beiden Datentypen ineinander konvertiert werden. Dies ist in Code 7.9 aufgezeigt. Beispielsweise kann für eine verbesserte Verständlichkeit der Modelle eine Enumeration für mögliche Typen von Antriebsarten definiert werden (Code 7.10). 3 Etwas

mehr Information zu der grafischen Darstellung von Modellen ist in Abschnitt 6.4.2 einsehbar.

410

1 2 3 4 5

7. Modelica

model ConvertEnum parameter SimpleController x = SimpleController.PI; parameter Integer i = Integer(x); // i = 2 parameter SimpleController y = SimpleController(3); // y = SimpleController.PD end ConvertEnum;

Code 7.9: Konvertierung von Enumerations in Integers und umgekehrt

Diese können später im Modell (Code 7.11) anstatt einer Integer in die Abfragen eingebunden werden, was sich besser interpretieren lässt. 1 2 3 4

type Propulsion = enumeration( electric "Electric motor provides torque", combustion "Combustion engine provides torque") "Indicates how torque is generated";

Code 7.10: Definition des eines Enumeration Types für die Auswahl eines Antriebs

Zusätzlich werden die in der Enumeration definierten Strings in dem Ergebnis angezeigt, wie es in Abb. 7.1 dargestellt ist. In den Zeilen 20 und 21 wird das assert Statement verwendet, um einen Fehler zu generieren, falls das Modell nicht vorgesehene Antriebsmodi verarbeiten muss. Dazu mehr im folgenden Abschnitt.

7.1.2. Warnungen und Fehler Das assert() Statement in Code-Zeile 20 und 21 von Code 7.11 kann für mehrere Zwecke eingesetzt werden. Unter anderem für die Fehlersuche, um Warnungen auszugeben oder um fehlerhafte Eingaben zu verhindern. Definiert ist es in der Modelica Spezifikation als: assert(condition, message, level = assertionLevel);

Es beinhaltet: • Eine boolsche condition die immer true ist, solange kein Fehlerzustand gegeben ist. • Ein String message, welcher ausgegeben wird, wenn die condition = false ist. • Der assertionLevel kann entweder level = AssertionLevel.

7.1. Modelica Funktionalität

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

411

model TorqueController parameter Modelica.SIunits.DimensionlessRatio SOC_min = 0.2; Modelica.Blocks.Interfaces.RealInput SOC "State of charge of Battery"; Modelica.Blocks.Interfaces.RealInput tau_ref "Reference torque"; Modelica.Blocks.Interfaces.RealOutput tau_el "Torque for electric machine"; Modelica.Blocks.Interfaces.RealOutput tau_ce "Torque for combustion engine"; Propulsion mode "Currently active propulsion type"; equation mode = if SOC > SOC_min then Propulsion.electric else Propulsion.combustion; // dangerous check, hysteresis is needed if mode == tau_el = tau_ce = else tau_el = tau_ce = end if;

Propulsion.electric then tau_ref; 0; 0; tau_ref;

assert(mode==Propulsion.electric or mode==Propulsion.combustion, "Unknown propulsion mode"); end TorqueController;

Code 7.11: Verwendung des Enumeration Types in einem Modell, (assert Statement, siehe Abschnitt 7.1.2)

412

7. Modelica

Abb. 7.1.: Ergebnis des Models in Code 7.11 (leicht modifiziert für bessere Leserlichkeit)

error oder AssertionLevel.warning sein. Wenn die condition = false ist, wird die Simulation im Fall von level = AssertionLevel.error abgebrochen und die message ausgegeben. Dies ist das Standardverhalten, wenn der AssertionLevel nicht gesetzt wird. Im Unterschied dazu läuft die Simulation mit level = AssertionLevel. warning weiter und es wird eine Warnung ausgegeben. Das in Code 7.11 angeführte Beispiel entspricht einer Überprüfung des Modells gegen nicht zulässige Betriebszustände. Als eine zweite Anwendung kann das Modell Modelica.Blocks.Logical.Hysteresis herangezogen werden. Darin ist die Zeile assert(uHigh > uLow,"Hysteresis limits wrong (uHigh 0, if heat is flowing out of component)"; Modelica.SIunits.Length constantForce.s "Distance between flange and support (= flange.s - support.s)"; Modelica.SIunits.Position constantForce.flange.s "Absolute position of flange"; Modelica.SIunits.Force constantForce.flange.f "Cut force directed into flange"; protected Modelica.SIunits.Length constantForce.s_support "Absolute position of support flange"; public Modelica.SIunits.Force constantForce.f "Accelerating force acting at flange (= flange.f)"; // Equations and algorithms // Component fixed // class Modelica.Mechanics.Translational.Components.Fixed equation fixed.flange.s = fixed.s0;

B. Generierter Code des Feder-Masse-Dämpfer Modells 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

613

// Component mass // class Modelica.Mechanics.Translational.Components.Mass // extends Modelica.Mechanics.Translational.Interfaces. PartialRigid equation mass.flange_a.s = mass.s-mass.L/2; mass.flange_b.s = mass.s+mass.L/2; // end of extends equation mass.v = der(mass.s); mass.a = der(mass.v); mass.m*mass.a = mass.flange_a.f+mass.flange_b.f; // Component spring // class Modelica.Mechanics.Translational.Components.Spring // extends Modelica.Mechanics.Translational.Interfaces. PartialCompliant equation spring.s_rel = spring.flange_b.s-spring.flange_a.s; spring.flange_b.f = spring.f; spring.flange_a.f = -spring.f; // end of extends equation spring.f = spring.c*(spring.s_rel-spring.s_rel0); // Component damper // class Modelica.Mechanics.Translational.Components.Damper // extends Modelica.Mechanics.Translational.Interfaces. PartialCompliantWithRelativeStates equation damper.s_rel = damper.flange_b.s-damper.flange_a.s; damper.v_rel = der(damper.s_rel); damper.flange_b.f = damper.f; damper.flange_a.f = -damper.f; // end of extends equation damper.f = damper.d*damper.v_rel; damper.lossPower = damper.f*damper.v_rel; // Component constantForce // class Modelica.Mechanics.Translational.Sources.ConstantForce // extends Modelica.Mechanics.Translational.Interfaces. PartialElementaryOneFlangeAndSupport2 equation constantForce.s = constantForce.flange.sconstantForce.s_support; if ( not constantForce.useSupport) then constantForce.s_support = 0; end if; // extends Modelica.Mechanics.Translational.Interfaces. PartialForce equation constantForce.f = constantForce.flange.f;

614 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

8. Simulation und numerische Integrationsverfahren // end of extends equation constantForce.f =

-constantForce.f_constant;

// Component // class SpringDamperSystem equation constantForce.flange.f+mass.flange_a.f = 0.0; mass.flange_a.s = constantForce.flange.s; damper.flange_a.f+mass.flange_b.f+spring.flange_a.f = 0.0; mass.flange_b.s = damper.flange_a.s; spring.flange_a.s = damper.flange_a.s; damper.flange_b.f+fixed.flange.f+spring.flange_b.f = 0.0; fixed.flange.s = damper.flange_b.s; spring.flange_b.s = damper.flange_b.s; end SpringDamperSystem;

Code B.1: Geflatteter Code aus Code 6.49 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

// Translated Modelica model generated by Dymola from Modelica model // VirtualPhysics.Semester1.Prerequisites.SpringDamperSystem

// ---------------------------------------------------// Initial Section mass.stateSelect := StateSelect.default; damper.stateSelect := StateSelect.prefer; damper.s_nominal := 0.0001; damper.useHeatPort := false; constantForce.useSupport := false; constantForce.s_support := 0; damper.v_rel := -mass.v;

// ---------------------------------------------------// Dynamics Section der(damper.s_rel) := damper.v_rel; damper.f := damper.d*damper.v_rel; mass.flange_b.s := fixed.s0-damper.s_rel; spring.s_rel := fixed.s0-mass.flange_b.s; spring.flange_a.f := -spring.c*(spring.s_rel-spring.s_rel0); mass.flange_b.f := damper.f-spring.flange_a.f; // Linear system of equations // Symbolic solution /* Original equation mass.m*der(damper.v_rel) = mass.flange_b.f); */

-(constantForce.f_constant+

C. Lineare Analyse des Feder-Masse-Dämpfer Modells 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

615

der(damper.v_rel) := -(constantForce.f_constant+ mass.flange_b.f)/mass.m; // End of linear system of equations

// ---------------------------------------------------// Conditionally Accepted Section mass.v := -damper.v_rel; mass.s := mass.flange_b.s-mass.L/2; fixed.flange.f := spring.flange_a.f-damper.f; mass.flange_a.s := mass.s-mass.L/2; damper.lossPower := damper.f*damper.v_rel; // ---------------------------------------------------// Eliminated alias variables // To have eliminated alias variables listed, set // Advanced.OutputModelicaCodeWithAliasVariables = true // before translation. May give much output.

Code B.2: Kausalisierter Code aus Code B.1

C. Lineare Analyse des Feder-Masse-Dämpfer Modells Die in Abb. C.2 und Abb. C.3 angeführte Analyse, ist die „Full linear analysis“ (Modelica_LinearSystems2.ModelAnalysis.FullAnalysis) des Feder-Masse-Dämpfer Systems aus Abb. 6.40a (Seite 371), welches in Abb. C.1 erneut dargestellt ist. Darin werden Matrizen der Zustandsraumdarstellung angegeben. Die Matrizen b und c leer, weil auf der obersten Modellebene keine Ein- und Ausgänge definiert wurden. In Abb. C.3 werden zusätzliche Informationen zur Lage der Pole und deren Zusammensetzung aus den Zuständen gegeben.

616

8. Simulation und numerische Integrationsverfahren

k c=100

F

wall

250

m m=30

b d=25

Abb. C.1.: Feder-Masse-Dämpfer System von Seite 371.

C. Lineare Analyse des Feder-Masse-Dämpfer Modells

617

System report General information Matrices The system described in the state space representation der(x) = Ax + Bu y

= Cx + Du

is defined by uNames = [ ], empty vector yNames = [ ], empty vector

xNames =

A=

b.s_rel b.v_rel 0

1

-3.33955 -0.833333

B = [ ], empty matrix: 2 by 0 C = [ ], empty matrix: 0 by 2 D = [ ], empty matrix: 0 by 0 Note, that the system has neither inputs nor outputs (and therefore matrices B, C, and D are empty matrices)!

Characteristics The system is stable.

Abb. C.2.: Analyse des Feder-Masse-Dämpfer mittels LinearSystems2 Library (1/2).

618

8. Simulation und numerische Integrationsverfahren

Eigenvalues analysis The system has no real eigenvalues. The system has the following complex conjugate pairs of eigenvalues. Complex conjugate pairs of eigenvalues number

1/2

eigenvalue

-4.1667e-01 ± 1.7793e+00j

freq. [Hz]

0.2908

damping

characteristics

stable, not 0.2280 controllable, not observable

contribution to states

z[1/2] contribute to b.v_rel with 64.6 % z[1/2] contribute to b.s_rel with 35.4 %

In the tables above, the column contribution to states lists for each eigenvalue the states to which the corresponding modal state z[i] contributes most. This information is based on the two largest absolute values of the corresponding right eigenvector (if the second large value is less than 5 % of the largest contribution, it is not shown). Note the right eigenvector vj and the left eigenvector uj of A satisfy the following relationships with regards to eigenvalue λj, state vector x and modal state vector z (ujH denotes the conjugate transpose of uj): A * vj = λj * vj;

ujH * A = λj * ujH;

x = V * z;

V = [v1, v2, ...]

In the next table, for each state in the column correlation to modal states, the modal states z[i] which contribute most to the corresponding state are summarized, that is the state is mostly composed of these modal states. This information is based on the two largest absolute values of row i of the eigenvector matrix that is associated with eigenvalue i (if the second large value is less than 5 % of the largest contribution, it is not shown). This only holds if the modal states z[i] are in the same order of magnitude. Otherwise, the listed modal states might be not the most relevant ones.

state

correlation to modal states

eigenvalue # freq. [Hz] damping T [s]

b.s_rel is composed of 100.0% by z[1/2]

1/2

0.2908

0.2280

---

b.v_rel is composed of 100.0% by z[1/2]

1/2

0.2908

0.2280

---

The system has no invariant zeros.

Abb. C.3.: Analyse des Feder-Masse-Dämpfer mittels LinearSystems2 Library (2/2).

Literatur [ÅEM98]

Karl J. Åström, Hilding Elmqvist und Sven E. Mattsson. „Evolution of Continuous-Time Modeling and Simulation“. In: The 12th European Simulation Multiconference, ESM’98, Manchester. 1998.

[ANV00]

Ryuichi Ashino, Michihiro Nagase und Remi Vaillancourt. Behind and Beyond the MATLAB ODE Suite. 2000.

[Ass14]

Modelica Association. Modelica 3.3 Language Specification, Revision 1. date: 11.07.2014. 2014.

[Ass17]

Modelica Association. Modelica 3.4 Language Specification, date: 10.04.2017. 2017.

[AZC09]

Markus Andres, Dirk Zimmer und François E. Cellier. „ObjectOriented Decomposition of Tire Characteristics based on semiempirical Models“. In: Proceedings 7th Modelica Conference. 2009, S. 9–18.

[Blo+11]

T. Blochwitz u. a. „The Functional Mockup Interface for Tool independent Exchange of Simulation Models“. In: Proceedings 8th Modelica Conference. 2011, S. 105–114.

[Blo+12]

T. Blochwitz u. a. „Functional Mockup Interface 2.0: The Standard for Tool independent Exchange of Simulation Models“. In: Proceedings 9th Modelica Conference. 2012, S. 173–184.

[Bor00]

W. Borutzky. Bondgraphen. Eine Methodologie zur Modellierung multidisziplinärer dynamischer Systeme. SCS - The Society for Computer Simulation International in cooperation with ASIM Arbeitsgemeinschaft Simulation, 2000.

[Bor10]

W. Borutzky. Bond Graph Methodology, Development and Analysis of Multidisciplinary Dynamic Systems Models. Springer, 2010.

[BOT09]

Marcus Baur, Martin Otter und Bernhard Thiele. „Modelica Libraries for Linear Control Systems“. In: Proceedings 7th Modelica Conference. 2009, S. 20–22.

[Bro99a]

Jan F. Broenink. „20-sim software for hierarchical bond-graph/blockdiagram models“. In: Simulation Practice and Theory. 1999, S. 481– 492.

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8

619

620

Literatur

[Bro99b]

Jan F. Broenink. Introduction to Physical Systems Modelling with Bond Graphs. [letzter Zugriff am 29.08.2018]. 1999.

[BU16]

Christian Bohn und Heinz Unbehauen. Identifikation dynamischer Systeme. Methoden zur experimentellen Modellbildung aus Messdaten. 1. Auflage. Springer Vieweg, 2016.

[Bus31]

V. Bush. „The Differential Analyzer: A new machine for solving differential equations“. In: Journal of the Franklin Institute, 212. 1931, S. 447–488.

[Car+67]

A. Carlson, G. Hannauer, T. Carey und P. J. Holsberg. EAI Handbook of Analog Computation. 2nd edition. Electronic Associates, Inc., 1967.

[Cel79]

François E. Cellier. „Combined Continuous/Discrete System Simulation by Use of Digital Computers: Techniques and Tools“. Diss ETH No 6483. Diss. ETH Zürich, Switzerland, 1979.

[Cel91]

François E. Cellier. Continuous System Modeling. Springer, 1991.

[CK06]

François E. Cellier und Ernesto Kofman. Continuous System Simulation. Springer, 2006.

[CN05]

François E. Cellier und À. Netbot. „The Modelica Bond-Graph Library“. In: Proceedings of the 4th International Modelica Conference, Hamburg. 2005, S. 57–65.

[DSA14]

Patrick Denz, Thomas Schmitt und Markus Andres. „Behavioral Modeling of Power Semiconductors in Modelica“. In: Proceedings of the 10th International Modelica Conference. 2014, S. 343–352.

[Ein+11]

M. Einhorn u. a. „A Modelica Library for Simulation of Elecric Energy Storages“. In: Proceedings of the 8th Modelica Conference. 2011.

[Elm78]

Hilding Elmqvist. „A Structured Model Language for Large Continuous Systems“. Diss. Department of Automatic Control, Lund Institute of Technology, Lund, Sweden, 1978.

[Föl08]

Otto Föllinger. Regelungstechnik, Einführung in die Methoden und ihre Anwendungen. 10. Auflage. Hüthig, 2008.

[Fra+09]

Rüdiger Franke u. a. „Stream Connectors – An Extension of Modelica for Device-Oriented Modeling of Convective Transport Phenomena“. In: Proceedings of the 7th International Modelica Conference. 2009.

[Fri15]

P. Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica 3.3. Second Edition. Wiley, 2015.

[Gil67]

Maxwell C. Gilliland. Handbook of Analog Computation. Systron Donner Corp., 1967.

Literatur

621

[Grü10]

Lars Grüne. Numerische Methoden für gewöhnliche Differentialgleichungen. Lehrstuhl für Angewandte Mathematik, Mathematisches Institut, Universität Bayreuth. 2010.

[Gus92]

Kjell Gustafsson. „Control of Error and Convergence in ODE Solvers“. Diss. Lund Institute of Technology, 1992.

[Hac15]

C. M. Hackl. Dynamische Reibungsmodellierung: Das Lund-Grenoble Reibmodell, pp. 1615-1657 in D. Schröder, Elektrische Antriebe Regelung von Antriebssystemen. 4. Auflage. Springer-Verlag, 2015.

[KMR12]

Dean C. Karnopp, Donald L. Margolis und Ronald C. Rosenberg. System Dynamics: Modeling, Simulation and Control of Mechatronic Systems. 5th edition. John Wiley & Sons, 2012.

[KMR75]

Dean C. Karnopp, Donald L. Margolis und Ronald C. Rosenberg. System Dynamics: A Unified Approach. John Wiley & Sons, 1975.

[KS59]

Walter J. Karplus und Walter W. Soroka. Analog Methods: Computation and Simulation. 2nd edition. McGraw-Hill, 1959.

[LG16]

Lennart Ljung und Torkel Glad. Modeling and Identification of Dynamic Systems. Studentlitteratur AB, 2916.

[LG94]

Lennart Ljung und Torkel Glad. Modeling of Dynamic Systems. Prentice-Hall, 1994.

[Lju99]

Lennart Ljung. System Identification. Theory for the User. 2. Auflage. Prentice Hall, 1999.

[Mal+08]

Martin Malmheden u. a. „ModeGraph - A Modelica Library for Embedded Control Based on Mode-Automata“. In: Proceedings of the 6th International Modelica Conference. 2008.

[Mat+12]

Sven Erik Mattsson u. a. Synchronous Control and State Machines in Modelica. date: 22.10.2015. 2012.

[Meh15]

Alexandra Mehlhase. „Konzepte für die Modellierung und Simulation strukturvariabler Modelle“. Diss. Technische Universität Berlin, 2015.

[Mey06]

Martin Meyer. Signalverarbeitung: Analoge und digitale Signale, Systeme und Filter. 4., überarbeitete und aktualisierte Auflage. Vieweg-Verlag, 2006.

[OÅD05]

Martin Otter, Karl-Erik Årzén und Isolde Dressler. „StateGraph – A Modelica Library for Hierarchical State Machines“. In: Proceedings of the 4th International Modelica Conference, Hamburg. 2005.

[OEM03]

Martin Otter, Hilding Elmqvist und Sven Erik Mattsson. „The New Modelica MultiBody Library“. In: Proceedings of the 3rd International Modelica Conference. 2003.

622

Literatur

[Opp72]

Winfried Oppelt. Kleines Handbuch technischer Regelvorgänge. Fünfte, neubearbeitete und erweiterte Auflage. Verlag Chemie, 1972.

[OTE12]

Martin Otter, Berhard Thiele und Hilding Elmqvist. „A Library for Synchronous Control Systems in Modelica“. In: Proceedings of the 9th International Modelica Conference. 2012.

[Pan88]

Constantinos Pantelides. „The Consistent Initialization of DiffertialAlgebraic Systems.“ In: SIAM Journal of Scientific and Statistical Computating. 1988, S. 213–231.

[Pap01]

L. Papula. Band 2: Mathematik für Ingenieure und Naturwissenschaftler. 10., durchgelesene Auflage. Vieweg, 2001.

[Pay61]

H.M. Paynter. Analysis and Design of Engineering Systems. M.I.T. Press, 1961.

[Rod13]

Werner Roddeck. Grundprinzipien der Mechatronik: Modellbildung und Simulation mit Bondgraphen. Springer Vieweg, 2013.

[SAD14]

Torsten Sommer, Markus Andres und Stephan Diehl. „A new Implementation of the N-D Lookup Tables“. In: Proceedings of the 10th International ModelicaConference. 2014.

[Sch+01]

Peter Schwarz, Christoph Clauß, Joachim Haas und André Schneider. „VHDL-AMS und Modelica ein Vergleich zweier Modellierungssprachen“. In: 15. Symposium Simulationstechnik ASIM. 2001.

[Sch+15]

Thomas Schmitt, Markus Andres, Stephan Ziegler und Stephan Diehl. „A Novel Proposal on how to Parameterize Models in Dymola Utilizing External Files under Consideration of a Subsequent Model Export using the Functional Mock-Up Interface“. In: Proceedings of the 11th International Modelica Conference. 2015.

[Sch09]

D. Schröder. Elektrische Antriebe - Regelung von Antriebssystemen. 3. Auflage. Springer, 2009.

[Sel55]

R. G. Selfridge. „Coding a general purpose digital computer to operate as a differential analyzer“. In: In Proceedings 1955 Western Joint Computer Conference, IRE. 1955.

[Str+67]

J. C. Strauss u. a. „The SCi continuous system simulation language (CSSL)“. In: Simulation 9. 1967, S. 281–303.

[Sue04]

Dieter Suess. „Kapitel 1 Gewöhnliche Differentialgleichungen“. In: Skriptum der TU Wien. 2004.

[SZC09]

Thomas Schmitt, Dirk Zimmer und François E. Cellier. „A Virtual Motorcycle Rider Based on Automatic Controller Design“. In: Proceedings 7th Modelica Conference. 2009, S. 19–28.

[Tar72]

Robert Tarjan. „Depth-first search and linear graph algorithms.“ In: SIAM Journal of Computation. 1972, S. 146–160.

Literatur

623

[Tho75]

Jean U. Thoma. Introduction to Bond Graphs and their Applications. Pergamon International Library of Science, Technology, Engineering und Social Studies, 1975.

[Ulm10]

Bernd Ulmann. Analogrechner: Wunderwerke der Technik - Grundlagen, Geschichte und Anwendung. Oldenbourg, 2010.

[Ulm13]

Bernd Ulmann. Analog Computing. Oldenbourg, 2013.

[Unb00a]

Heinz Unbehauen. Regelungstechnik II, Zustandsregelung, digitale und nichtlineare Regelsysteme. 8. Auflage. Vieweg, 2000.

[Unb00b]

Heinz Unbehauen. Regelungstechnik III, Identifikation, Adaption, Optimierung. 6. Auflage. Vieweg, 2000.

[Unb05]

Heinz Unbehauen. Regelungstechnik I, Klassische Verfahren zur Analyse und Synthese linearer kontinuierlicher Regelsysteme, FuzzyRegelsysteme. 13. Auflage. Vieweg, 2005.

[Zim10]

Dirk Zimmer. „Equation-Based Modeling of Variable-Structure Systems“. Diss ETH No 18924. Diss. ETH Zürich, Switzerland, 2010.

Sachwortverzeichnis Symbole 0-Junction, 137 1-Junction, 136 A Abstraktion, 335 − Modell-, 56 Across Variable, siehe Intensive Variable Adams-Bashforth, siehe Mehrschrittverfahren Akausal, 59 − Bsp. Widerstand, 290 − Gleichungssystem, 59 − Komponentenbasierte Modellierung, 299 − Modellierung, 289 Akausale Bondgraphen, 129 Algebraische Schleife, 388 − Bondgraph, 202 − Bsp. elektrische Schaltung, 202, 388 – kausale Pfade, 207 − in signalflussbasierten Programmen, 393 − Objektorientierte Modellierung, 388 algorithm, siehe Modelica Analoge Simulation, 76 − Ball-and-disk integrator, 76 − Disk-and-wheel integrator, 76 − Elektronische Analogrechner, 79 – Beispiel Abb. 4.4, 80

– Beispiel Abb. 4.3, 79 − Kugel-Scheiben-Integrator, 76 − Mechanischer Analogrechner, 77 – Differentialanalysator, 77 − Mechanischer Integrator, 76 − Reibradintegrator, 76 Analogrechner, 76 Analytische Lösung der Zustandsgleichung, 47 − Fundamentalmatrix, 53 − homogen, Frequenzbereich, 50 − homogen, Zeitbereich, 47 − inhomogen, Frequenzbereich, 51 Anfangsbedingungen, Zustandsraum, 39 Annäherung an die Realität, 572 Annotations, siehe Modelica Anzahl Dimensionen, siehe Dimensionality assert, siehe Modelica Attribute, siehe Modelica Aufstellen der Gleichungen anhand des Bondgraphen, 172 Ausgangsgleichung, Zustandsraum, 45 Ausgangsmatrix, 39 Automatisierte Simulation, siehe Dymola

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019 T. L. Schmitt, M. Andres, Methoden zur Modellbildung und Simulation mechatronischer Systeme, https://doi.org/10.1007/978-3-658-25089-8

625

626 B Backward Euler, siehe Rückwärts-Euler Backward-Difference Formulae, siehe Mehrschrittverfahren Ball-and-disk integrator, 76 Bedingte Instanziierung, siehe Modelica Beobachtungsmatrix, siehe Ausgangsmatrix Black-Box Modell, siehe Systemidentifikation Blockschaltbild, 72, 75 − anhand Bondgraph, 175 Bond, 130 Bondgraphen, 73 − 0-Junction, 137 − 1-Junction, 136 − akausal, 129 – Beispiele, 138 − Aktive Elemente, 135 − Aktive Elemente, moduliert, 229 − algebraische Schleife, 202 − Anleitung – zur Eliminierung struktureller Singularitäten, 214 – zur Kausalisierung von Bondgraphen, 169 – zur Konstruktion von Bondgraphen zweidim. Systeme, 274 − Beispiele – Feder-Masse-Dämpfer Schwinger, 141 – Doppelpendel, 276 – elektrischer RLC-Schwingkreis, 139 – Fluss-System, 145 – Gleichstromnebenschlussmaschine,

Sachwortverzeichnis 246 – hydraulisch-mechanische Systeme, 188 – mechanisch-rotatorisches System, 143 – mechanisches System, 184 – Pendel, 265 – Permanenterregter Gleichstrommotor, 180 – Thermisches Modell einer permanenterregten Gleichstrommaschine, 258 – Verladebrücke, 269 − C-Element, 134 − Dualitätsprinzip, 200 − Elemente – 0-, 137 – 1-, 136 – C-, 134 – GY-, 179 – I-, 132 – mGY-, 229 – mRS-, 227 – mSe-, 229 – mSf-, 229 – mTF-, 228 – R-, 131 – RS-, 176 – Se-, 135, 164 – Sf-, 135, 164 – TF-, 177 − Energieerhaltung, 129 − Energiespeichernde Elemente, 132 – C-Element, 134 – I-Element, 132 − Energieumwandlung, 175 − Feder-Masse-Dämpfer in Modelica, 372 − Gerichteter Halbpfeil, siehe Bond

Sachwortverzeichnis − Grundvariablen, 223 – Tabelle, 225 − Gyrator, 179 – moduliert, 229 − I-Element, 132 − Irreversible Thermodynamik, 252 − kausal, 160 – Aufstellen der Gleichungen, 172 – Bond, 162 – C-Element, 166 – einführendes Beispiel, 161 – Kausalitätsbalken, 162 – passive Elemente, 164 – Verzweigungen, 167 − kausale Analyse, 160 − kausale Pfade, 196 − Kausalisierung – Anleitung, 169 – der 0-Junction, 169 – der 1-Junction, 167 – der passiven Elemente, 164 – der Quellen, 164 − Kausalitätskonflikte, 201 − komponentenbasiert, 146 – aktive Elemente, 150 – Bsp. Feder-Masse-Dämpfer Schwinger, 157 – Bsp. elektrische Schaltung, 150 – Dämpfer, 156 – elektrische Systeme, 147 – elektrischer Widerstand, 149 – elektrisches Potential, 148 – Feder, 156 – mechanische Masse, 155 – mechanische Quellen, 156 – mechanische Systeme, 155 – passive Elemente, 150 – Potentialdifferenz, 149

627 − − − −

Modulierte Elemente, 225 mSe-Element, 229 mSf-Element, 229 objektorientierte Modellierung, in der, 370 − Potentialdifferenz, 149 − Quellen, siehe Aktive Elemente − R-Element, 131 − Se-Element, 135 − Sensoren, 226 − Sf-Element, 135 − strukturelle Singularität, 209 – Zusammenfassung, 223 − Tetrahedron of state, 225 − Transformator, 177 – moduliert, 228 − Vereinfachungen, 138 − Verlustbehaftete Elemente, 131 − Verzweigungen, 135 – 0-Junction, 137 – 1-Junction, 136 − Widerstandsquelle, 176 − Widerstandsquelle, moduliert, 227 − Zweidimensionale mech. Systeme, 261 BondLib, 372 − Beispiel – Dämpfer mit Wrapper, 373 – Feder-Masse-Dämpfer, 372 – Feder-Masse-Dämpfer System über Wrapper, 373 Butcher Tableau, 537 − Explizite Mittelpunktsregel, 538 − Heun, 538 − HW-SDIRK(3)4, 541 − Lobatto IIIC 4. Ordnung, 540 − Rückwärts-Euler, 539 − Radau IIA 3. Ordnung, 539

628 − Radau IIA 5. Ordnung, 539 − Runge-Kutta 4. Ordnung, 538 − Runge-Kutta 4. und 5. Ordnung, 581 − Vorwärts-Euler, 538 C C-Code − in Modelica, siehe Externer Code in Modelica C-Element − akausal, 134 − kausal, 166 Chattering, 421 Co-Simulation FMU, siehe Functional Mockup Interface Conditional Instantiation, siehe Bedingte Instanziierung D d’Alembert, Prinzip von, 117, 136, 142, 156 DAE, 59, 114 − aus akausalem Bondgraphen, 140 − Bondgraph kausalisieren, 160 − Direkte Lösung von, 399 − Umwandlung in ODE, siehe Symbolische Vorverarbeitung – Übersicht, 401 Das Analoge Erbe, 83 − Information hiding, 83 − Kausale Modellbildung, 83 DASSL, siehe Backwards Difference Formulae − Solverausgabe, 595 DDE, siehe Fernsteuerung von Dymola Dense Output, siehe Integrationsverfahren

Sachwortverzeichnis Detaillierungsgrad, Modell, 21 Deterministisch, Modell, 18 Differential Index, 380 Differentialanalysator, 77 Digitale Simulation, 82 − Blockschaltbilder, 83 − grafisch, 83 − textuell, 82 Digraph, 88 Dimensionality, siehe Modelica DIRK, siehe S-, E-, ES-, DIRK Disk-and-wheel integrator, 76 Diskontinuitäten, siehe Unstetigkeiten Diskrete Modelle, 9 Diskretisierungsfehler, 573 Domänenunabhängige Gleichungen, 124 − Tabelle, 128 Doppelpendel, 276 − Bondgraph, 278 Dot-Notation, siehe Punkt-Notation Duale Bondgraphen, 200 Dualitätsprinzip, 200 Dymola, 288, 435 − Automatisierte Simulation, 437 – function, über, 437 – Skript, über, 437 − Encryption, 436 − Ergebnisdateien, 440 − Erzeugte Dateien, 375 − Fehlersuche, 440, 454 – Arbeitsverzeichnis, 441 – Compiler, 441 – Dimensionalität, 444 – Events, 449 – Fehlereingrenzung, 455 – Initialisierung, 448 – Keine Lösung, 449 – Keine Simulation, 450

Sachwortverzeichnis – – – – – –

Mehrfache Lösungen, 448 Min/Max Assertions, 456 Modifier, 441 Online Debugging, 455 Solvereinstellungen, 450 Strukturelle Singularitäten, 447 – Unbekannte und Gleichungen, 445 – Variabilität, 441 – Warnungen und Fehler, 454 − Fernsteuerung, 438 − Modelleigenschaften, 456 − Performancesteigerung, 464 – Events, 466 – Große Gleichungssysteme, 467 – Initialisierung, 466 – Numerik, 469 – Numerische Jacobi-Matrix, 467 – Zuweisungen, 469 − Profiling, 459 – Einfach, 460 – Fortgeschritten, 462 − Solverausgabe, Interpretation von, 595 − Zustandsvariablen, 458 Dynamische Modelle, 8 E Echtzeitsimulation, 600 EDIRK, siehe S-, E-, ES-, DIRK Effort Variable, siehe Intensive Variable Eingangsmatrix, 39 Eingrößensystem, Zustandsraum, 40 Einheiten, siehe Modelica Einschrittverfahren, siehe Integrationsverfahren Elektrische Schaltung

629 − Zustandsraumdarstellung, 35–39 Elektronische Analogrechner, 79 − Beispiel Abb. 4.4, 80 − Beispiel Abb. 4.3, 79 Encryption, siehe Dymola Energieerhaltung, 129 Energiefluss, Leistung, 125 Entropie, 126 Ergebnisdateien, siehe Dymola Ergebnisinterpolation, siehe Dense Output ESDIRK, siehe S-, E-, ES-, DIRK Events, siehe Unstetigkeiten Experiment, 3 − Probleme, 4 Explizite DAEs, 59 Explizite Mittelpunktregel, siehe Einschrittverfahren Explizites Euler Verfahren, siehe Vorwärts-Euler Extensive Variable, 154, 301 − in Modellierungssprachen, 303 − in technischen Domänen, 303 Externer Code in Modelica, siehe Modelica Extrahieren der Gleichungen aus dem Bondgraphen, 172 F Faustregeln − Solverwahl, 593 − Wahl der Schrittweite, 593 Feder-Masse-Dämpfer System, siehe Modellbasierter Systementwurf, Beispiel Fehler bei der Integration − Fehlerfortpflanzung, 575 − Fehlerquellen, siehe Genauigkeit

630 − Globaler, siehe Integrationsverfahren − Lokaler, siehe Integrationsverfahren Fehlersuche in Dymola, siehe Dymola Fernsteuerung von Dymola, siehe Dymola Flüssigkeit − Speichern, 121 − Trägheit, 119 − Widerstand, 122 Flow Variable, siehe Extensive Variable Flussvariable, 125, siehe Extensive Variable − Bondgraphen, 130 − komponentenbasierte Modellierung, 302 FMI, siehe Functional Mockup Interface FMU, siehe Functional Mockup Interface Fortran − in Modelica, siehe Externer Code in Modelica Forward Euler, siehe Vorwärts-Euler function, siehe Modelica Functional Mockup Interface, 491 − Co-Simulation, 492 − Model Exchange, 492 Fundamentalmatrix, 53 Funktionen, siehe function G Genauigkeit der Simulation, 572 − Diskretisierungsfehler, 573 − Fehlerfortpflanzung, 575 − Fehlerquellen, 572 − Numerisch, 573 − Rundungsfehler, 574 − und des Modells, 572

Sachwortverzeichnis Gewöhnliche Differentialgleichung, siehe Konzentrierte Parameter, Modell GleichstromNebenschlussmaschine, 246 Gleichungen und Unbekannte, 58 Gleichungssystem erstellen, 57 Gleichungssystem implementieren, 61 − Übertragungsfunktion, 63 − Blockschaltbild, 63 − Zustandsraumdarstellung, 61 Gleichungssystem sortieren, 59 − Algorithmus, 88, 382 – anhand Digraph, 88 – anhand Gleichungen, 382 − Digraph, 88 − horizontal, 59, 382 − vertikal, 59, 382 Globale Variablen, siehe inner/outer Globaler Fehler, siehe Integrationsverfahren Gray-Box Modell, 7 Grenzstabil, Modell, 19 Grundvariablen, Bondgraphen, 223 GY-Element, 179 − elektromotorische Kraft, 180 Gyrator, Bondgraph, 179 Gyrator, moduliert, Bondgraph, 229 H Haft- und Gleitreibung, 195 Hardware in the Loop, siehe Echtzeitsimulation Hess’sche Matrix, 525 Heun, siehe Einschrittverfahren Hierarchische Modellierung, 338 HiL, siehe Hardware in the Loop Homogene Lösung

Sachwortverzeichnis − Frequenzbereich, 50 − Zeitbereich, 47 Horizontale Sortierung, 59, 91, 382 Hydraulisch-mechanische Systeme, 188 − einfaches System, 191 − hydraulischer Kolben, 188 − hydraulischer Zylinder, 189 Hydraulisch-mechanisches System, 191 Hydraulische Induktivität, 120 Hydraulischer Kolben, 188 Hydraulischer Zylinder, 189 I I-Element − akausal, 132 − kausal, 165 Icon, siehe Annotations if Statement, siehe Modelica Implizite Runge-Kutta Verfahren, 537 Implizites Euler-Verfahren, siehe Rückwärts-Euler Index − Differential, 380 − Pertubation, 380 − Systeme mit höherem, siehe Strukturelle Singularität Index ≥ 2 Systeme, siehe Strukturelle Singularität Index 0 Systeme, 381 Index 1 Systeme, siehe Algebraische Schleife Inheritance, siehe Vererbung Inhomogene Lösung − Frequenzbereich, 51 − Zeitbereich, 52 initial equation, siehe Modelica Initialisierung, siehe Modelica − initial equation, siehe Modelica

631 − start Attribut, siehe Modelica − während der Simulation, siehe reinit Inline Integration, 605 inner/outer, siehe Modelica Instabil, Modell, 19 Integrationsverfahren − Ablauf Veranschaulichung – Vorwärts-Euler, 504 – Vorwärts-Euler mit Event, 589 – Allgemein, 498 – Rückwärts-Euler, nichtlinear, 522 – Rückwärts-Euler, 515 − Behandlung von Unstetigkeiten, 585 − Einschrittverfahren – Vorwärts-Euler, 502 – Explizite Mittelpunktregel, 532 – Heun, 530 – Lobatto, 540 – Rückwärts-Euler, 511 – Radau, 539 – Runge-Kutta 4. Ordnung, 532 – Runge-Kutta höherer Ordnung, 536 – S , E , ES , DIRK, 540 − Erweiterungen, 577 – Anpassung der Ordnung, 582 – Dense Output, 584 – Schrittweitensteuerung, 578 – Startup, 583 – Unstetigkeiten, 585 − Fehlerquellen, 572 − Genauigkeit, 572 − Globaler Fehler, 576 − Grafische Interpretation

632 – Vorwärts-Euler, 503 – Newton-Iteration, 518 – Predictor-Corrector, 528 – Rückwärts-Euler, 513 − Grundlagen – Newton-Gregory Polynome, 556 – Taylorreihe, 498 − Linear-Implizite, 603 − Lokaler Fehler, 575 − Mehrschrittverfahren – Adams-Bashforth, 565 – Backward-Difference Formulae, 569 − Optimistische, 580 − Pessimistische, 580 − Schrittweitensteuerung, 578 – Algorithmen, 579 – Mehrschrittverfahren, und, 581 − Stabilitätsbereich – Vorwärts-Euler, 509 – Runge-Kutta-Verfahren 1. bis 4. Ordnung, 535 – Runge-Kutta-Verfahren 4. Ordnung, 551 – Adams-Bashforth, 568 – Algorithmus zur Bestimmung, 546 – Analytisch, 506 – Backward-Difference Formulae, 571 – Rückwärts-Euler, 514 − Startup, siehe Erweiterungen − Unstetigkeiten, siehe Erweiterungen Intensive Variable, 154, 301 − in Modellierungssprachen, 303 − in technischen Domänen, 303 Irreversible Thermodynamik, 252 − Wärmeleitung, 253

Sachwortverzeichnis − Wärmespeicherung, 255 − Widerstand, temperaturabhängig, 257 J Jacobi-Matrix, 525 Junctions, siehe Verzweigungen K Kausale Analyse − Einblicke in das Modell, 201 – algebraische Schleife, 202 – Modell fehlerhaft, 202 – strukturelle Singularität, 202 Kausale Bondgraphen, 160 − Anleitung zur Kausalisierung, 169 − Aufstellen der Gleichungen, 172 − einführendes Beispiel, 161 − Kausalisierung einer elektrischen Schaltung, 170 − Passive Elemente – C-Element, 166 – I-Element, 165 – R-Element, 164 − Quellen, 164 − Verzweigungen, 167 – 0-Junction, 169 – 1-Junction, 167 – Beispiel, 168 Kausale Modellbildung, 72, 75 − Analoge Simulation – Ball-and-disk integrator, 76 – Disk-and-wheel integrator, 76 – Elektronische Analogrechner, 79 – Kugel-Scheiben-Integrator, 76

Sachwortverzeichnis – Mechanischer Analogrechner, 77 – Mechanischer Integrator, 76 – Reibradintegrator, 76 − Ausblick – Motivation Bondgraphen, 111 – Motivation objektorientierte Modellierung, 111 − Das Analoge Erbe, 83 – Information hiding, 83 − Digitale Simulation, 82 – Blockschaltbilder, 83 – grafisch, 83 – textuell, 82 − Diskussion, 110 − Entwicklung, 76 – Analoge Simulation, 76 – Digitale Simulation, 82 Kausale Pfade, 196 − Algebraische Schleife, 207 − Permanenterregter Gleichstrommotor, 196 − strukturelle Singularität, 221 Kausalisieren − eines Bondgraphen, 160 – Anleitung, 169 – Bsp. elektrische Schaltung, 170 − eines Gleichungssystems, 59 Kausalitätskonflikte, 201 − algebraische Schleife, 202 − Kausale Analyse – Einblicke in das Modell, 201 − strukturelle Singularität, 202 Klasse, siehe Objektorientierte Modellierung Komponenten − Einteilung in, 307 − Erstellung von, 307 − in Modelica, siehe Modelica Komponentenbasierte

633 Modellierung, 298 Akausalität, 299 Erstellung von Modellen, 307 mittels Bondgraphen, 146 Physikalische Schnittstellen, 299 − Voraussetzungen, 299 Komponentengleichungen, 58 Komposition, 337 Konduktion, siehe Wärmeleitung Kontinuierliche Modelle, 9 Konzentrierte Parameter, Modell, 11 Kugel-Scheiben-Integrator, 76 − − − −

L Laplace-Transformation, 50, 52 − der Zustandsraumdarstellung, 65 − inverse, 51, 52 Linear-Implizite Solver, 603 Linearisierung, 11–18 − Bsp. GleichstromNebenschlussmaschine, 250 − Bsp. Progressive Feder, 13 − dynamische Modelle, 15 – Taylorreihe, Gl. (1.17), 16 − Kennlinie – Taylorreihe, Gl. (1.9), 13 − Zustandsgleichung – Jacobi-Matrizen, 18 – skalare Form, Gl. (1.23), 17 – Terme, 16 – vektorielle Form, Gl. (1.25), 17 Lobatto, siehe Einschrittverfahren Löser, siehe Solver Log des Solvers, siehe Solverausgabe Lokaler Fehler, siehe Integrationsverfahren

634 LTI-System, 18 Lund-Grenoble Modell, siehe Haftund Gleitreibung M Masseloser Stab, 265, 272 − Bondgraph, 266 − Bondgraph in kart. Koordinaten, 272 Mathematisches Pendel − Bondgraph, 272 − kartesische Koordinaten – Bondgraph, 273 − Linearisierung, 269 − Polarkoordinaten, 263 – Bondgraph, 267 – Bondgraph mit Reibung, 268 – Differentialgleichung, 263 – Zustandsgleichungen, 264 Mechanischer Analogrechner, 77 − Differentialanalysator, 77 Mechanischer Integrator, 76 Mehrgößensystem, Zustandsraum, 41 Mehrschrittverfahren, siehe Integrationsverfahren Methoden zur Modellbildung, 71 mGY-Element, 229 MIMO-System, Zustandsraum, 41 Min/Max Assertions, siehe Fehlersuche Model Exchange FMU, siehe Functional Mockup Interface Modelica − algorithm, 429 − Annotations, 326 – Dokumentation, 329 – Icon, 328 – Objekte, 328 − assert, 410

Sachwortverzeichnis − Attribute, 330 – Übersicht, 331 − Attribute von Variablen, 331 − Balanced Model, siehe Unbekannte und Gleichungen zählen − Bedingte Instanziierung, 367 − Beispiel – Batterie/Zelle, 354 – Dämpfer aus BondLib, 373 – Feder-Masse-Dämpfer, 370 – Feder-Masse-Dämpfer über BondLib mit Bonds, 372 – Feder-Masse-Dämpfer über BondLib mit Wrapper, 373 – Hochpass, 342 − Dimensionality, 406 − Diskontinuitäten, siehe Unstetigkeiten − Dokumentation, 434 − Einheiten, 330 − Encryption, siehe Dymola − Enumerations, 409 − Events, siehe Unstetigkeiten − Externer Code, 432 − function, 429 – Ableitung von, 431 – Invertierung von, 432 − Gruppieren von Komponenten, 314 − if Statement, 413 – Vergleich zu when, 418 − initial equation, 424 − Initialisierung, 423 − inner/outer, 340 − Klassen, 325 − Komponenten, 309 − Komponenten, direkt in Modelica – Dämpfer, 312 – Feder, 311

Sachwortverzeichnis – Kraft, 313 – Masse, 309 – Wand, 312 − Libraries, 491 − Modifier, 317 − noEvent Statement, 420 − OnePort, 345 − Package, 314 – Strukturieren von, 315 – Unterschied zu Libraries, 315 − Parameter – aus Dateien, 363 – Auswahl über GUI, 362 – Verwaltung, 359 − Parameter propagieren, 338 − partial – OnePort, 345 − Propagieren von Parametern, 338 − Punkt-Notation, 342 − reinit, 427 − Replaceable – Bedienbarkeit, 353 – Modelle anpassen, 353 – Templates, 357 − Replaceable Class, 350 − Replaceable/Redeclare, 348 − Schnittstellen, 308 − smooth Statement, 420 − Standard Library, siehe Modelica Standard Library − start Attribut, 424 − Strukturvariabilität, siehe Objektorientierte Modellierung − Templates, 357 − Typen, 330 − Unbekannte und Gleichungen zählen, 445 − und Dymola, 288

635 − Unstetigkeiten, 413 – Chattering, 421 – Funktionen, 419 – if Statement, 413 – Operatoren, 419 – Unterdrücken gefährlicher, 420 – Unterdrücken unnötiger, 419 – Unterdrücken von, 419 – when Statement, 414 − Variablen – Attribute, siehe Modelica – Einheiten, 330 – Typen, 330 − Variabler Struktur, Systeme mit, siehe Objektorientierte Modellierung − Vektoren, 404 – Enumerations, 409 – von Komponenten, 407 – von Variablen, 404 − Vererbung, 343 − when Statement (Initialisierung), 426 − when Statement (Modellierung), 414 – Beispiel Hysterese, 416 – Vergleich zu if, 418 Modelica Standard Library, 469 − Domänenübergreifende Komponenten, 488 − Erweitern der, 488 − Expandable Connectors, 482 − Packages – Blocks, siehe Kausale Blocks – Detaillierte Fluide, 487 – Elektrisch Einphasig, 477 – Elektrisch Mehrphasig, 480 – Fluide mit Wärmetransport,

636 480 – Kausale Blocks, 470 – Magnetik, 478 – Mechanisch Rotatorisch, 475 – Mechanisch Translatorisch, 475 – Mehrkörpermechanik, siehe Multibody – Multibody, 483 – Rotational, siehe Mechanisch Rotatorisch – State Graphs, siehe Zustandsgraphen – Translational, siehe Mechanisch Translatorisch – Wärmeleitung, 479 – Zustandsgraphen, 473 Modellbasierter Systementwurf, Beispiel − Akausal, 291–297 − Blockschaltbild, 85–109 − Bondgraph, 234–245 − Komponentenbasiert, 316–319 − Objektorientiert, 370 Modellbildung, 5 − Abstraktion, Modell-, 56 − Akausal, 289 − akausale Gleichungen, 59 − DAE, 59 − Explizite DAEs, 59 − Gleichungen und Unbekannte, 58 − Gleichungssystem erstellen, 57 − Gleichungssystem implementieren, 61 – Übertragungsfunktion, 63 – Blockschaltbild, 63 – Zustandsraumdarstellung,

Sachwortverzeichnis 61 − Gleichungssystem sortieren, 59 − implizite DAEs, 59 − kausale Gleichungen, 59 − Kausalisieren, 59 − Komponentengleichungen, 58 − Methoden im Überblick, 71 – Blockschaltbilder, 72 – Bondgraphen, 73 – kausale Modellbildung, 72 – objektorientiert, 73 – signalflussorientiert, 72 − Modifikation, 71 − Objektorientiert, siehe Objektorientierte Modellierung − physikalisch, theoretisch, 5 − semi-empirisch, 7 − Simulation – Übertragungsfunktion, 69 – Blockschaltbild, 67 – Zustandsraumdarstellung, 67 − Systemidentifikation, 7 − Topologiegleichungen, 58 − Verifikation, 70 − Vorgehensweise, 55 − Warum?, 4 − Wege, 5 Modelleigenschaften, 8 − Bsp. nichtlinearer Widerstand, 15 − Detaillierungsgrad, 21 − deterministisch, stochastisch, 18 − diskontinuierlich, 10 – Bsp. Reibung, 10 − kontinuierlich, diskret, 9 − konzentrierte Parameter, 11 − Linearisierung, 11–18 – Bsp. Progressive Feder, 13

Sachwortverzeichnis – dynamische Modelle, 15 – statische Modelle, 12 − LTI-System, 18 − nichtlinear, 11 − stabil, instabil, grenzstabil, 19 − statisch, dynamisch, 8 − steif, 20 − verteilte Parameter, 11 − zeitvariant, zeitinvariant, 18 − zeitvariantes System – Akku, 18 – Halbleiter, 18 Modellierung − Komponentenbasiert, 298 Modellierungssprachen − Modelica, 282, siehe Modelica – Bsp. Feder-Masse-Dämpfer System, 283 – Feder, in, 282 − Simscape, 284 – Bsp. Feder-Masse-Dämpfer System, 285 – Feder, in, 286 − VHDL-AMS, 284 – Feder, in, 287 Modellierungstools, siehe Simulationsumgebung Modellparametrierung, 22 − Bsp. Leistungshalbleiter, 22 − Datenblatt, 23 − Finite Elemente Methode, 27 − Messtechnische Ermittlung, 24 − Parameterberechnung, 24 − Parameterschätzung, 25 − Parametervariation, 26 – Parameter-Sweep, 27 – Versuchs-und-IrrtumMethode, 27

637 Modifier, siehe Modelica Modifikation des Modells, 71 Modulierte Elemente, 225 mRS-Element, 227 MSL, siehe Modelica Standard Library mTF-Element, 228 Multi-Rate Simulation, 604 N Newton-Gregory Polynome, 556 Newton-Iteration, 517 − Alternativen, 523 − Anwendung auf Rückwärts-Euler, 518 − Beispiel, 520 − Grafische Interpretation, 518 − im Simulationsablauf, 521 Nichtlineare Bondgraphen, 246 − GleichstromNebenschlussmaschine, 246 – Linearisierung, 250 noEvent Statement, siehe Modelica Nordsieck Vektor, 582 Numerische Integrationsverfahren, siehe Integrationsverfahren O Objekt, siehe Objektorientierte Modellierung Objektorientierte Modellierung, 321 − Beispiel – Feder-Masse-Dämpfer System, 370 – Feder in Modelica, 282 – Feder in Simscape, 286 – Feder in VHDL-AMS, 287 – Feder-Masse-Dämpfer System in Modelica, 283

638 – Feder-Masse-Dämpfer System in Simscape, 285 – Kondensator, 346 – Widerstand, 346 − Einführung, 281 − Flattening, 374 − Klasse, 322 − Konzepte, 321 – Abstraktion, 335 – Hierarchische Modellierung, 338 – Komposition, 337 – Redeclare, siehe Modelica – Replaceable, siehe Modelica − Objekt, 322 − Sprachen, 281 – Modelica, 282 – Simscape, 284 – VHDL-AMS, 284 − Strukturvariabilität, 378 − Symbolische Vorverarbeitung, siehe Symbolische Vorverarbeitung − Überblick, 73 − Übersetzungsprozess, 374 − und Bondgraphen, 370 − Variabler Struktur, Systeme mit, 378 − Vererbung, 343 ODE, 33, 61 − Erzeugung aus DAE, siehe Symbolische Vorverarbeitung – Übersicht, 401 Online Debugging, siehe Fehlersuche Optimistische Integrationsverfahren, 580 Ordnung anpassen, siehe Integrationsverfahren Ordnungssteuerung, siehe

Sachwortverzeichnis Integrationsverfahren outer, siehe inner/outer P Package, siehe Modelica Pantelides Algorithmus, 396 Parameter, siehe Modelica Parameter propagieren, siehe Modelica Parameter, Modell − aus Datenblatt, 23 − berechnen, 24 − messtechnische Ermittlung, 24 − Parameterschätzung, 25 − Parametervariation, 26 Parameterberechnung, 24 Parameterschätzung, 25 Partielle Differentialgleichung, siehe Verteilte Parameter, Modell Pendel − Mathematisches, siehe Mathematisches Pendel − Physikalisches, siehe Physikalisches Pendel Performancesteigerung, siehe Dymola Permanenterregte Gleichstrommaschine − Bondgraph mit thermischem Modell, 260 − Bondgraph mit thermischem Modell und tempabh. Widerstand, 261 − thermisches Modell, 258–261 – Bondgraph, 260 Permanenterregte Gleichstrommaschine mit Last, 216 Permanenterregter Gleichstrommotor, 180–184, 196–199

Sachwortverzeichnis − − − − −

Bondgraph, akausal, 181 Bondgraph, kausal, 181 Gleichungen, 181 kausale Pfade, 196 Zustandsraumdarstellung, 181 Pertubation Index, 380 Pessimistische Integrationsverfahren, 580 Physikalische Modellbildung, 5 Physikalische Systeme, Grundlegende Zusammenhänge, 114 − elektrische Systeme, 115 − entwickeln allgemeingültiger Gleichungen, 124 − Fluss-Systeme, 119 – Flüssigkeitsspeicher, 121 – Flüssigkeitswiderstand, 122 – Trägheit einer Flüssigkeit, 119 − Mechanische Systeme – rotatorisch, 118 – translatorisch, 117 − Thermodynamische Systeme, 123 Physikalisches Pendel − kartesische Koordinaten – Bondgraph, 273 − Polarkoordinaten, 264 – Differentialgleichung, 264 Potentialvariable, 125, siehe Intensive Variable − Bondgraphen, 130 − komponentenbasierte Modellierung, 302 Profiling, siehe Dymola Propagieren von Parametern, siehe Modelica Prozeduraler Code, siehe algorithm

639 − in Modelica, 428 Punkt-Notation, siehe Modelica Python Interface, siehe Fernsteuerung von Dymola Q QSS, siehe Quantized State Simulation Quantized State Simulation, 606 Quellen, Bondgraph, 135 Quellen, moduliert, Bondgraph, 229 R R-Element − akausal, 131 − kausal, 164 Radau, siehe Einschrittverfahren Real-Time Simulation, siehe Echtzeitsimulation Redeclare, siehe Replaceable Reibradintegrator, 76 Reibung, 195 reinit, siehe Modelica Reinitialsierung, siehe reinit Replaceable/Redeclare, siehe Modelica Resultfiles, siehe Ergebnisdateien RK4, siehe Runge-Kutta 4. Ordnung Root Finding, siehe Unstetigkeiten RS-Element, 176 − Wärmeleitung, 254 Rückwärts-Euler, siehe Einschrittverfahren Rundungsfehler, 574 Runge-Kutta 4. Ordnung, siehe Einschrittverfahren Runge-Kutta höherer Ordnung, siehe Einschrittverfahren Runge-Kutta Verfahren, 527

640 − Implizit, 537 S S-, E-, ES-, DIRK, siehe Einschrittverfahren SCAP, 169 Schnittstelle Modellbildung Simulation, 46 Schnittstellen − Kausale, 304 − Physikalische, 299 − Signale, 304 − Zustandsvariablen, 305 − Zustandsvariablen, Bondgraphen, und, 305 Schrittweite, 497 − Faustregeln zur Wahl der , 593 Schrittweitensteuerung, siehe Integrationsverfahren SDIRK, siehe S-, E-, ES-, DIRK Se-Element − akausal, 135 − kausal, 164 Semi-empirische Modellbildung, 7 Sequential Causality Assignment Procedure, 169 Sf-Element − akausal, 135 − kausal, 164 Signalflussorientierte Modellbildung, 72, 75 Simscape, 284 − Bsp. Feder, 286 − Bsp. Feder-Masse-Dämpfer System, 285 Simulation − Übertragungsfunktion, 69 − Blockschaltbild, 67 − Zustandsraumdarstellung, 67 Simulation: Grundidee, 28–30

Sachwortverzeichnis − Euler-Verfahren, Gl. (1.34), 29 − Taylorreihe, Gl. (1.35), 30 Simulationsumgebung, 287 SISO-System, Zustandsraum, 40 Skalares System, siehe Eingrößensystem Skripten in Modelica, siehe function Skripten von Simulationen, siehe Dymola smooth Statement, siehe Modelica Solver, 493, siehe Integrationsverfahren − DAE, 399 Solverausgabe, Interpretation der, 595 Stabil, Modell, 19 Stabilität − Vorwärts-Euler, 512 − Vorwärts-Euler und Runge-Kutta, 542 − Runge-Kutta-Verfahren 4. Ordnung, 534 − Algorithmus zur Bestimmung, 546 − Modell, 19 − numerischer Lösungsverfahren, 541 − Rückwärts-Euler, 516 − und Genauigkeit, 549 Stabilitätsbereich, siehe Integrationsverfahren start Attribut, siehe Modelica Startup, siehe Integrationsverfahren State-Events, siehe Zustandsgesteuerte Events Statische Modelle, 8 Steife Systeme, 552

Sachwortverzeichnis − Modell, 20 Steuermatrix, siehe Eingangsmatrix Stochastisch, Modell, 18 Stribeck-Effekt, siehe Haft- und Gleitreibung Struktur-Digraph, siehe Digraph Strukturelle Singularität, 394 − Anleitung zur Eliminierung, 214 − Bondgraph, 202 − Bsp. elektrische Schaltung, 209, 394 − Bsp. elektrisches System, 215 − Bsp. Modellbasierter Systementwurf, 243 − Bsp. Permanenterregte Gleichstrommaschine mit Last, 216 – Abhilfe, 222 – kausale Pfade, 221 − Eliminieren, 211 – Anleitung, 214 – durch Modifikation des Modells, 212 − Objektorientierte Modellierung, 394 Strukturvariabilität, siehe Objektorientierte Modellierung Symbolische Vorverarbeitung, 379 − Direkte Lösung von DAEs, 399 − Index ≥ 2 Systeme, 394 − Index 0 Systeme, 381 − Index 1 Systeme, 388 − Resümee, 400 System, 1 − Ausgang, 2 − Eingang, 2 − Steif, 552

641 − Systemgrenze, 2 − Umgebung, 2 − Ungedämpft, 554 Systemidentifikation, 7 Systemmatrix, 38 T Tarjan Algorithmus, 388 Taylorreihe − Vorwärts-Euler, 502 − Runge-Kutta-Verfahren, 527 − Beispiel Polynom, 500 − Beispiel Widerstand, 21 − Integrationsverfahren, 498 − Linearisierung, 13 Templates, siehe Modelica Tetrahedron of state, 225 TF-Element, 177 − hydraulischer Kolben, 189 Theoretische Modellbildung, siehe Physikalische Modellbildung Through Variable, siehe Extensive Variable Time-Events, siehe Zeitgesteuerte Events Topologiegleichungen, 58 Trajektorie, Zustandsraum, 43 − eines Serienschwingkreises, 44 Transformator, Bondgraph, 177 Transformator, moduliert, Bondgraph, 228 Trockenreibung, 195 Troubleshooting in Dymola, siehe Fehlersuche Typen, siehe Modelica U Übertragungsfunktion, 63 − aus Quotient Ausgang/Eingang, 66 − aus Zustandsraumdarstellung, 65

642 Ungedämpfte Systeme, 554 Unstetigkeiten − Behandlung durch Integrator, siehe Integrationsverfahren − Mehrschrittverfahren, bei, 591 − Modelica, in, siehe Modelica − Modell, 10 − Typen von, 588 − Zeitgesteuert, 588 − Zustandsgesteuert, 588 V Variabilität, 335 Variability, siehe Variabilität Variablen − extensiv, 154, siehe Extensive Variable − intensiv, 154, siehe Intensive Variable Variabler Struktur, Systeme mit, siehe Objektorientierte Modellierung Vererbung, siehe Objektorientierte Modellierung − Elektrischer Widerstand, Beispiel, 343 − Kondensator, Beispiel, 343 Verifikation des Simulationsergebnisses, 70 Verladebrücke, 269 − Bondgraph, 275 − Gleichungen, 269 Verteilte Parameter, Modell, 11 Vertikale Sortierung, 59, 89, 382 Verzweigungen, 135 − 0-Junction – akausal, 137 – kausal, 169 − 1-Junction – akausal, 136

Sachwortverzeichnis – kausal, 167 VHDL-AMS, 284 − Bsp. Feder, 287 Vorwärts-Euler, siehe Einschrittverfahren − Stabilität, 508 W Wärmeleitung, 123, 253 − Bondgraph – T1 > T2 , 253 – T2 > T1 , 254 − Diskretisierung im Raum, 11 − Gleichung, eindimensional, 11 Wärmeleitung und Wärmespeicherung − Bondgraph – Element, 255 – Kupferleiter, 257 Wärmespeicherung, 124, 255 when Statement, siehe Modelica White-Box Modell, siehe Physikalische Modellbildung Widerstand, temperaturabhängig, 257 − Bondgraph, 258 Widerstandsquelle, Bondgraph − moduliert, mRS-Element, 227 − RS-Element, 176 Z Zeitgesteuerte Events, siehe Events Zeitinvariant, Modell, 18 Zeitvariant, Modell, 18 Zero Crossings, siehe Unstetigkeiten Zustandsgesteuerte Events, siehe Events Zustandsgleichung, Zustandsraum, 43 Zustandsraumdarstellung, 39

Sachwortverzeichnis − allgemeine Form, 39 − Analytische Lösung, 47 – Fundamentalmatrix, 53 – homogen, Frequenzbereich, 50 – homogen, Zeitbereich, 47 – inhomogen, Frequenzbereich, 51 − Ausgangsgleichung – Interpretation, 45 − Beispiel, 35 − Eingrößensysteme, 40 − Grafische Interpretation, 45 − Grafische Interpretation bezüglich Solver, 496 − Mehrgrößensysteme, 41 − Schnittstelle zur Simulation, 46 − Systemmatrix

643 – Eigenwerte, Gl. (2.28), 44 − Zustandsgleichung – Autonomes System, Gl. (2.27), 44 – Interpretation, 43 – Trajektorie, 43 − Zustandsvariablen, 34 Zustandstetraeder, siehe Tetrahedron of state Zustandsvariablen, 34 Zweidimensionale mechanische Systeme, 261 − Anleitung zur Konstruktion von Bondgraphen, 274 − Doppelpendel, 276 − masseloser Stab, 265 − Mathematisches Pendel, 263 − Physikalisches Pendel, 264 − Verladebrücke, 269