07.03.2014 Aufrufe

Modellbildung und Simulation eines Dieselmotors unter Dymola und ...

Modellbildung und Simulation eines Dieselmotors unter Dymola und ...

Modellbildung und Simulation eines Dieselmotors unter Dymola und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Richert, F.; Rückert, J.; Schloßer, A.; Abel, D.: <strong>Modellbildung</strong> <strong>und</strong> <strong>Simulation</strong> <strong>eines</strong> <strong>Dieselmotors</strong> <strong>unter</strong> <strong>Dymola</strong><br />

<strong>und</strong> Matlab, Steuerung <strong>und</strong> Regelung von Fahrzeugen <strong>und</strong> Motoren - AUTOREG 2004, VDI-Berichte 1828, VDI-<br />

Verlag, Düsseldorf 2004, ISBN 3-18-091828-4, S. 331-341<br />

<strong>Modellbildung</strong> <strong>und</strong> <strong>Simulation</strong> <strong>eines</strong> <strong>Dieselmotors</strong><br />

<strong>unter</strong> <strong>Dymola</strong> <strong>und</strong> Matlab<br />

F. Richert, J. Rückert, A. Schloßer, D. Abel, RWTH Aachen<br />

1 Kurzfassung:<br />

In diesem Beitrag wird die <strong>Modellbildung</strong> <strong>eines</strong> <strong>Dieselmotors</strong> mit einem VTG-Turbolader <strong>und</strong><br />

Abgasrückführung <strong>unter</strong> <strong>Dymola</strong> <strong>und</strong> Matlab/Simulink vorgestellt. Außerdem wird auf die<br />

Möglichkeit des kombinierten Einsatzes von <strong>Dymola</strong> <strong>und</strong> Matlab/Simulink eingegangen.<br />

Für die Entwicklung einer Modellgestützten Prädiktiven Regelung (MPR) zur Regelung von<br />

Ladedruck <strong>und</strong> AGR-Rate wurde ein Mittelwertmodell des Motors basierend auf physikalischen<br />

Ansätzen erstellt. Dieses Modell dient als Prüfstandsersatz in der durchgängigen Entwicklungskette<br />

bei der Reglerentwicklung (Rapid Control Prototyping). Die geringere Genauigkeit<br />

gegenüber kurbelwinkel-aufgelösten Ansätzen wird durch den Laufzeit-Vorteil der<br />

echtzeitfähigen <strong>Simulation</strong> aufgewogen <strong>und</strong> ist für den Regelungsentwurf unproblematisch,<br />

da alle für die Regelung relevanten Effekte abgebildet werden.<br />

.In diesem Beitrag wird der Einsatz der <strong>Simulation</strong>smodelle für die Reglerentwicklung vorgestellt.<br />

Die Unterschiede der Werkzeuge Matlab/Simulink <strong>und</strong> <strong>Dymola</strong> bei der <strong>Modellbildung</strong>,<br />

beim Einsatz <strong>und</strong> der Benutzerführung werden aufgezeigt <strong>und</strong> bewertet. Schwerpunktmäßig<br />

werden die Besonderheiten beider Modelle <strong>und</strong> die Kombination der Programme vorgestellt.<br />

Insbesondere auf den kombinierten Einsatz der Programme <strong>und</strong> die sich daraus ergebenden<br />

Vorteile wird ausführlich eingegangen.<br />

2 Einleitung<br />

<strong>Modellbildung</strong> <strong>und</strong> <strong>Simulation</strong> werden heute in allen Bereichen der Motorenentwicklung eingesetzt..<br />

Die dazu verwendeten Software-Werkzeuge sind zahlreich <strong>und</strong> <strong>unter</strong>stützen den<br />

Anwender bei seiner Arbeit üblicherweise mit einer graphischen Oberfläche. Dabei orientieren<br />

sich viele Programme an der aus der Regelungstechnik bekannten, signalbasierten Darstellung<br />

von Systemen mittels Wirkungsplänen. Zusätzlich existieren objekt-orientierte Ansätze,<br />

die eine andere Herangehensweise an die Modellierung verfolgen. Eines der bekanntesten<br />

signal-orientierten <strong>Simulation</strong>spakete ist Matlab/Simulink, das in zahlreichen Arbeitsgebieten<br />

zum Einsatz kommt. Demgegenüber steht <strong>Dymola</strong> als objekt-orientiertes, noch relativ<br />

junges Programm, das in den letzten Jahren eine starke Verbreitung gef<strong>und</strong>en hat.


Üblicherweise ist <strong>Modellbildung</strong> nicht nur eine Suche nach Gleichungen, die das jeweilige<br />

System beschreiben; die Erfahrung hat gezeigt, dass ein großer Teil der Arbeit mit programmspezifischen<br />

Implementierungen zu tun hat. So muss eine Gleichung für eine signalorientierte<br />

Darstellung jeweils passend zur gewünschten Ausgangsgröße umgeformt werden.<br />

Für eine objekt-orientierte Darstellung ist dies nicht nötig, dafür kann es <strong>unter</strong> Umständen<br />

schwierig sein, eine allgemeine Formulierung zu finden, so dass eine Gleichung für alle<br />

denkbaren Ein-/Ausgangsgrößen-Kombinationen verwendet werden kann.<br />

Um die <strong>unter</strong>schiedlichen Ansätze der beiden Programme miteinander vergleichen zu können,<br />

wurde ein bestehendes Modell <strong>eines</strong> Motors <strong>unter</strong> <strong>Dymola</strong> umgesetzt. Es zeigte sich,<br />

dass <strong>Dymola</strong> im Bereich der reinen <strong>Modellbildung</strong> <strong>und</strong> Systemsimulation Vorteile aufweist,<br />

<strong>und</strong> so gerade im Verb<strong>und</strong> mit den Analysefunktionen von Matlab seine Stärken ausspielen<br />

kann. Im diesem Beitrag werden einige ausgewählte Modellierungsansätze für einzelne<br />

Funktionen des Motors gezeigt sowie deren spezifische Umsetzung erläutert.<br />

3 Zielsetzung der Modellierung<br />

Ziel des Projektes, aus dem diese Arbeiten hervorgegangen sind, war die Entwicklung einer<br />

kombinierten Regelung für Ladedruck <strong>und</strong> Abgasrückführrate an einem Schwerlast-<br />

Dieselmotor mit AGR <strong>und</strong> Turbolader mit variabler Turbinengeometrie [4], [5].<br />

Die hierfür erstellten <strong>Simulation</strong>smodelle dienen als Ersatz für die Regelstrecke „Motor“, an<br />

der gr<strong>und</strong>legende Untersuchungen zum Systemverhalten durchgeführt <strong>und</strong> neue Regelungskonzepte<br />

erprobt werden können. Hierfür ist weniger eine detailgetreue Abbildung der<br />

Realität im Rahmen des technisch Möglichen notwendig. Vielmehr ist eine gute Wiedergabe<br />

des charakteristischen Verhaltens bei möglichst geringem Rechenzeitbedarf erwünscht, um<br />

auf einem modernen PC echtzeitfähig zu sein. Neben der Möglichkeit, das Modell auch für<br />

Hardware-in-the-Loop (HIL)-<strong>Simulation</strong>en einsetzen zu können, dient dies vor allem dem<br />

Komfort bei der täglichen Arbeit, um schnell neue Ansätze testen zu können. Weiterhin wurde<br />

Wert auf eine hohe Übertragbarkeit der Modellierungsansätze auf andere Motoren gelegt.<br />

Bestehende Ansätze sollten möglichst nur durch Übernahme von Motorkenngrößen wie Hubraum<br />

etc. sowie Anpassung möglichst weniger „Freier Optimierungsparameter“ auf andere<br />

Motoren adaptiert werden.<br />

Entwickelt wurden die Ansätze am Beispiel <strong>eines</strong> 12-Liter-Volvo-Motors, zur Verfikation<br />

stand ein 5,7-Liter-Deutz-Motor zur Verfügung.<br />

Es wurde durchgängig eine sogenannte „Grey-Box-Modellierung“ verwendet, d.h. soweit wie<br />

möglich wurden bekannte physikalische Zusammenhänge verwendet. Wo dies aufgr<strong>und</strong> zu<br />

hoher mathematischer Komplexität nicht möglich war, wurden halbempirische Ansätze ver-


wendet, die durch eine Optimierung der jeweiligen freien Parameter an die spezifischen Motordaten<br />

angepasst wurden. Details hierzu finden sich in [1], [6] <strong>und</strong> Abschnitt 4. Eine für<br />

den hier gewünschten Einsatzzweck übliche Besonderheit findet sich bei Betrachtung des<br />

Motorblocks: Hier wurde eine Mittelwertmodellierung gewählt, d.h. es werden nicht die einzelnen<br />

Arbeitsspiele der Zylinder berücksichtigt, sondern der Motor wird als kontinuierlich<br />

durchströmt angesehen <strong>und</strong> durch Mitteldrücke <strong>und</strong> mittlere Massenströme <strong>und</strong> Temperaturen<br />

repräsentiert. Dies bringt immense Vorteile beim Rechenzeitbedarf, so dass die gewünschte<br />

Echtzeitfähigkeit erhalten bleibt, ohne die gewünschte Genauigkeit im Bereich von<br />

5-10% Abweichung zu verletzen<br />

Für die Entwicklung der Ansätze wurde zu Beginn eine detaillierte Vermessung aller Motor-<br />

Komponenten durchgeführt, um eine fein aufgelöste Untersuchung der Modelle gewährleisten<br />

zu können. Für einen Transfer der Ansätze, die als gut übertragbar verifiziert wurden,<br />

sind deutlich geringere Datenmengen ausreichend. Bei vorliegenden Daten zum gewünschten<br />

Motor ist so eine Modellierung des gesamten Systems in 2-3 Wochen möglich.<br />

4 Modellierungsbeispiele<br />

Das vorliegende Modell ist von der Gr<strong>und</strong>struktur aus modular <strong>und</strong> hierarchisch aufgebaut.<br />

Eine Unterteilung in Teilmodelle erfolgt sowohl anhand physikalischer Baugruppen, wie z.B.<br />

„Verdichter“, „Motorblock“, Luftsystem“ oder „Turbine“ auf der obersten Ebene, als auch in<br />

logische Einheiten, wie z.B. „Hochdruck-Prozess“ <strong>und</strong> „Ladungswechsel“ innerhalb des Motorblocks.<br />

Im Folgenden werden exemplarisch einige Ansätze vorgestellt.<br />

4.1 Hochdruck-Prozess im Motorblock<br />

Für Motormodelle sind diverse Vergleichsprozesse bekannt, wie z.B. der Seiliger-Prozess<br />

oder der Verbrennungsverlauf nach Vibe <strong>und</strong> Woschni. Diesen Ansätzen bilden jedoch alle<br />

den Druckverlauf über ein Arbeitsspiel des Motors ab <strong>und</strong> sind daher zunächst für ein Mittelwertmodell<br />

nicht verwendbar. Der über einen Zyklus analytisch gebildete Mittelwert einer<br />

solchen Gleichung sollte allerdings in der Lage sein, entsprechende Werte zu beschreiben<br />

<strong>und</strong> sich mit entsprechend „langsam“ gemessenen Daten decken. Problematisch hierbei ist<br />

aber genau die analytische Mittelwertbildung, da sich längst nicht für alle Gleichungen eine<br />

geschlossene, rein algebraische Form finden lässt. Für den indizierten Mitteldruck am Motor<br />

ergibt sich aus dem Leistungsgleichgewicht folgener Zusammenhang:<br />

p<br />

mi<br />

η ⋅m&<br />

⋅H<br />

=<br />

inV ⋅ ⋅<br />

thVP , B u<br />

H<br />

(4.1)


Neben messbaren Größen der zugeführten Brennstoffmenge<br />

m&<br />

B<br />

<strong>und</strong> der Motordrehzahl n<br />

sowie den Systemparametern „Arbeitsspiel pro Zylinderumlauf“ i, Hubraum V H , <strong>und</strong> dem<br />

Heizwert H u ist die einzige unbekannte Größe der thermodynamische Wirkungsgrad η<br />

thVP ,<br />

,<br />

der zunächst nicht so einfach bestimmbar ist. Beschränkt man sich aber auf den Seiliger-<br />

Prozess (siehe Bild 4-1) als einen der einfachsten thermodynamischen Vergleichsprozesse<br />

für Dieselmotoren, so ist dafür die Formel für bereits bekannt. In einschlägigen Lehrbüchern<br />

[3] ist findet man die Gleichung gemäß Formel (4.2).<br />

η<br />

thVP ,<br />

mit<br />

κ κ −1<br />

1 ⎡<br />

⎛<br />

⎞<br />

⎛ 1 p p ⎞ p ⎤<br />

å<br />

⎜ 3 κ ⎟<br />

⎛ ⎞<br />

3 1<br />

= 1− ⎢ q − ⋅⎜<br />

− ε ⎟+ ⋅ −1⎥<br />

å<br />

κ⋅q ⎜<br />

κ ε<br />

⎜<br />

p<br />

⎟<br />

⎝ 1 ⎠ ε p<br />

⎟<br />

⎢⎝<br />

⋅ ⋅ ⎜<br />

1⎠<br />

⎝ p ⎟<br />

3⎠<br />

⎣<br />

⎥<br />

⎦<br />

q<br />

å<br />

=<br />

q<br />

q<br />

=<br />

m&<br />

⋅H<br />

b<br />

cp<br />

⋅ T <strong>und</strong> B u<br />

b<br />

1 m&<br />

4⋅cp<br />

⋅T1<br />

(4.2)<br />

Bild 4-1: Seiliger-Prozess im p-V-Diagramm [3]<br />

In dieser Gleichung ist lediglich das Druckverhältnis p 3 /p 1 unbekannt. Mit der Annahme, dass<br />

dieses Druckverhältnis über das Motorkennfeld konstant ist <strong>und</strong> die Lastabhängigkeit des<br />

Wirkungsgrades über den Einfluss der Brennstoffmenge abgedeckt ist, wird dieser Quotient<br />

als freier Parameter definiert.<br />

So ergibt sich <strong>unter</strong> Berücksichtigung von motorischem Basiswissen eine Formel mit nur<br />

einem freien Parameter, die bereits erstaunlich gute Ergebnisse deutlich <strong>unter</strong>halb der gewünschten<br />

10% Abweichung zeigt. Mit einem zweiten Faktor zur besseren Berücksichtigung<br />

der Lastabhängigkeit über den Einfluss der pro Arbeitsspiel eingespritzten Brennstoffmenge<br />

m B,Hub ergibt sich die Formel<br />

η<br />

⎡<br />

κ κ −1<br />

⎛ å 1<br />

⎛ κ ⎞<br />

x1<br />

⎞ ⎛ 1⎞<br />

thopt ,<br />

= ⎢⎜q − ⋅⎜<br />

⎝x1− ε ⎟<br />

⎠<br />

+ ⋅ − 1⎥<br />

1+ x2 ⋅m<br />

,<br />

⎝ κ ⋅ε<br />

ε<br />

⎟⎠<br />

⎜⎝x<br />

⎟<br />

1⎠<br />

⎢⎣<br />

⎤<br />

⎥⎦<br />

( bHub )<br />

mit den daraus resultierenden Ergebnissen in Bild 4-2. Gleichzeitig lies sich eine sehr gute<br />

Übertragbarkeit auf den anderen zur Verfügung stehenden Motor zeigen.<br />

(4.3)


25<br />

Vergleich von P MIHP<br />

20<br />

Relativer Fehler von P MIHP<br />

P =10 %<br />

ME_rel<br />

P =20 %<br />

ME_rel<br />

P ME_rel<br />

=30 %<br />

15<br />

P ME_rel<br />

=40 %<br />

20<br />

10<br />

P =50 %<br />

ME_rel<br />

P =60 %<br />

ME_rel<br />

P =70 %<br />

ME_rel<br />

P =80 %<br />

ME_rel<br />

P =90 %<br />

ME_rel<br />

P MIHP / (bar)<br />

15<br />

10<br />

rel. Abweichung / %<br />

5<br />

0<br />

-5<br />

P ME_rel<br />

=100 %<br />

-10<br />

5<br />

gemessen<br />

berechnet<br />

0<br />

1000 1100 1200 1300 1400 1500 1600 1700<br />

N / (U/min)<br />

Motor<br />

-15<br />

-20<br />

1000 1100 1200 1300 1400 1500 1600 1700<br />

N Motor<br />

/ (U/min)<br />

Bild 4-2: Indizierter HD-Mitteldruck P MIHP , Vergleich Messung – Rechnung <strong>und</strong> Abweichung<br />

4.2 Ladeluft- <strong>und</strong> AGR-Kühler<br />

Eine anderes Beispiel, das von der Herangehensweise noch direkter auf bekannten Zusammenhängen<br />

aufbaut, aber in der Umsetzung einige Besonderheiten zeigt (siehe Abschnitte 5<br />

<strong>und</strong> 6), sind die Kühler, d.h der Ladeluftkühler <strong>und</strong> der AGR-Kühler. Beide beruhen auf identischen<br />

Modellvorstellungen. Ein solcher Behälter setzt sich zusammen aus je einer Drossel<br />

am Ein- <strong>und</strong> Auslass sowie einem ungedrosselten Behälter, der die Speichereffekte abbildet,<br />

siehe Bild 5-2 <strong>und</strong> Bild 6-2. Des weiteren besteht eine Möglichkeit zum Wärmeaustausch,<br />

der mittels einer mittleren spezifischen Wärmekapazität berechnet wird.<br />

Exemplarisch soll hier die Drossel in den Kühlern näher betrachtet werden. Sie wird mit der<br />

bekannten Drosselgleichung für kompressible Medien modelliert; einziger Parameter zur<br />

Anpassung ist der reduzierte Strömungsquerschnitt A red .<br />

2κ<br />

p<br />

m&<br />

A c c<br />

2<br />

=<br />

( κ −1)<br />

R<br />

⋅ κ −1 2<br />

2<br />

ein<br />

⋅ ⎛<br />

⎞<br />

κ κ<br />

mit 1 red<br />

p p ⎜<br />

⎟<br />

T<br />

⎝<br />

⎠<br />

ein<br />

(4.4)<br />

Eine Anpassung an die jeweils verwendeten Kühler über A red gelingt durch die Verwendung<br />

einer uneingeschränkt physikalisch basierten Gleichung mühelos. Mit Blick auf die Umsetzung<br />

fällt schon hier auf, dass zwischen den hier interessierenden Größen &m <strong>und</strong> Π eine<br />

nicht eindeutig invertierbare Beziehung besteht. Für einen gegebene Massenstrom existiert<br />

jeweils eine Über- <strong>und</strong> eine Unterschall-Lösung. Selbst bei Beschränkung auf die Unterschall-Lösung<br />

muss ggf. beträchtlicher Aufwand betrieben werden, um die benötigte inverse<br />

Darstellung zu erhalten, Details hierzu siehe Abschnitte 5 <strong>und</strong> 6.<br />

5 Umsetzung in Matlab/Simulink<br />

Die Umsetzung in Simulink orientiert sich zunächst an der Struktur der Systeme, d.h. solange<br />

durch die grafische Verknüpfung Informationen über das System vermittelt werden, wird


diese genutzt. Rein algebraische Gleichungen, die ggf. durch empirische Ansätze entstanden<br />

oder ergänzt worden sind, werden hingegen in c-Code in s-functions gekapselt. in Bild<br />

5-1 ist dies für P MIHP zu sehen.<br />

Bild 5-1: P MIHP in Simulink<br />

Andere Ansätze, wie z.B. alle Komponenten der Kühler, werden durchgängig mit Simulink-<br />

Blöcken umgesetzt. Auch hier könnte man auf Gleichungsebene s-functions eingesetzen; im<br />

vorliegenden Fall wurden diese zur Abgrenzung nur für Modelle mit datenbasiert optimierten<br />

Parametern verwendet.<br />

#define S_FUNCTION_LEVEL 2<br />

#define S_FUNCTION_NAME P_MIHP_v14_dll<br />

//[...] andere s -function Unter-Funktionen<br />

static void mdlOutputs(SimStruct *S, int_T tid){<br />

//Deklarationen etc.[...]<br />

qstern=MF_FUEL*hu/(MF_AE*T_BE*cp);<br />

eta=1-(1/(qstern*kappa))<br />

*((pow((qstern-(1/(kappa*epsylon))<br />

*(x1-(pow(epsylon,kappa)))<br />

+x1/epsylon),kappa))<br />

*(pow(x1,(1-kappa)))-1)<br />

*(1+x2*MF_FUEL_stroke);<br />

P_MIHP=(eta*MF_FUEL*hu)/(I*N_ENGINE*VH);<br />

y[0]= P_MIHP;<br />

}<br />

Bild 5-2: Kühlermodul in Simulink<br />

Wie zu sehen ist, wird die Drossel in zwei verschiedenen Ausführungen benötigt; für die signalorientierte<br />

Darstellung in Simulink bedeutet dies automatisch zwei separate Umsetzungen.<br />

Die Drossel mit dem Massenstrom als Ausgangsgröße kann exakt gemäß Formel (4.4)<br />

umgesetzt werden. Diejenige mit dem Druck als Ausgangsgröße benötigt jedoch eine Umstellung<br />

dieser Gleichung, die rein analytisch nicht möglich ist. Für den vorliegenden Fall<br />

wurde dies relativ einfach gelöst, da ein konstantes Verhältnis der spezifischen Wärmekapazitäten<br />

κ angenommen wurde, so dass der Verlauf von c p zu Beginn der <strong>Simulation</strong> für dieses<br />

feste κ berechnet <strong>und</strong> zur Laufzeit tabellarisch invertiert wird. Dies führt zwar zu einer<br />

praktikablen Umsetzung, entfernt sich aber aufgr<strong>und</strong> der angenommenen Voraussetzungen<br />

von einer verallgemeinerten Einsetzbarkeit.


6 Umsetzung in <strong>Dymola</strong><br />

Eigene Gleichungen werden in <strong>Dymola</strong> am einfachsten über den Modelica-Code-Layer implementiert.<br />

Eine grafische Darstellung mathematischer Zusammenhänge sowie die signalorientierte<br />

Umsetzung sind hier ebenfalls möglich, dabei werden die darüber hinausgehenden<br />

Möglichkeiten von <strong>Dymola</strong> aber nicht ausgeschöpft. In Bild 6-1 fällt auf, dass die Gleichungen<br />

nicht aufbauend auf einer sequentiellen Logik programmiert werden müssen, sondern<br />

in beliebiger Reihenfolge <strong>und</strong> fast beliebiger Umformung notiert werden können. <strong>Dymola</strong><br />

analysiert ein Modell vor der eigentlichen <strong>Simulation</strong> analytisch; das dazugehörige Gleichungssystem<br />

wird soweit wie möglich umgeformt <strong>und</strong> Zwischengrößen werden eliminiert.<br />

Details hierzu sind an zahlreichen anderen Stellen nachzulesen [7], daher wird hierauf im<br />

Folgenden nicht näher eingegangen.<br />

model Engine<br />

import SI = Modelica.SIunits;<br />

extends Icons.Engine;<br />

//Deklarationen etc.[...]<br />

equation<br />

//andere Größen.[...]<br />

mech_pin.M=-M_EFFECT;<br />

M_EFFECT = M_IHP + M_GE - M_FRIC;<br />

qstern=MF_FUEL*hu/(MF_AE*T_BE*cp);<br />

eta=1-(1/(qstern*kappa))*<br />

((pow((qstern-(1/(kappa*epsylon))<br />

*(x1-(pow(epsylon,kappa)))<br />

+x1/epsylon),kappa))<br />

*(pow(x1,(1-kappa)))-1)<br />

*(1+x2*MF_FUEL_stroke);<br />

P_MIHP=(eta*MF_FUEL*hu)/(I*N_ENGINE*VH);<br />

M_IHP = i*V_Engine*P_MIHP/(2*Constants.pi);<br />

end Engine;<br />

Bild 6-1: Ausschnitt aus dem Motormodul in <strong>Dymola</strong><br />

Die schon im Gr<strong>und</strong>gedanken verankerte Kombination von Grafik <strong>und</strong> Modell-Code erleichtert<br />

auf der einen Seite das Modellieren durch voll grafische Unterstützung; auf der anderen<br />

Seite bleiben auch nicht selbst erstellte Modelle vollständig transparent, da alle Gleichungen<br />

auf Code-Ebene einsehbar sind. Simulink bietet im Gegensatz hierzu zwar die (rein signalorientierten)<br />

s-functions für benutzerdefinierte Blöcke an, ein Zugriff auf den Code aller bestehenden<br />

Simulink-Blöcke ist jedoch nicht gegeben.<br />

Weiterhin bestehen aufgr<strong>und</strong> der <strong>unter</strong>schiedlichen Herangehensweise auch deutlich Unterschiede<br />

in der Handhabung. Durch die objekt-orientierte <strong>Modellbildung</strong> bei <strong>Dymola</strong> ähneln<br />

die Modelle den realen Komponenten deutlich stärker (Bild 6-2), was eine intuitive <strong>Modellbildung</strong><br />

erleichtert.


Bild 6-2: Kühler in <strong>Dymola</strong><br />

Auch die Möglichkeit, Gleichungen in beliebiger Form zu implementieren, hilft bei der Verallgemeinerung.<br />

Es wird unabhängig von eventuell bekannten Wirkungsrichtungen modelliert,<br />

so dass im Fall der Drossel beispielsweise für beide im Abschnitt 1 erwähnten Varianten<br />

dasselbe Modell verwenden lässt. Ganz den Vorgaben folgend, werden selbst komplizierte<br />

Gleichungen wie z.B. Gleichung (4.4) ohne Anwendereingriff invertiert. Etwas schwierig ist<br />

bei diesem Beispiel die Umsetzung der gewünschten Gleichung dennoch. Die Inversion von<br />

c p alleine bewältigt der <strong>Dymola</strong>-Solver gut, in der Kombination mit dem Wurzelterm ist es<br />

jedoch notwendig, die Wurzel in der Nähe des Nullpunktes des Radikanten durch einen Polynom-Ansatz<br />

zu substituieren. Als programmspezifische Besonderheit ist dies jedoch länger<br />

bekannt <strong>und</strong> existiert in der frei verfügbaren ThermoFluid-Bibliothek bereits als fertig nutzbare<br />

Umsetzung [8].<br />

Durch die symbolische Analyse <strong>und</strong> analytische Umformung <strong>eines</strong> Modells vor der <strong>Simulation</strong><br />

werden deutliche Vorteile beim Rechenzeitbedarf <strong>und</strong> der numerischen Stabilität erzielt.<br />

Bei beiden Programmen treten sowohl systematische als auch programmspezifische Besonderheiten<br />

auf. Wenn Teilmodelle in <strong>Dymola</strong> allerdings einmal umgesetzt sind, sind diese<br />

aufgr<strong>und</strong> der Objektorientierung deutlich universeller einsetzbar. Dies führt dazu, dass zahlreiche,<br />

großteils frei verfügbare Bibliotheken für <strong>Dymola</strong> in Modelica-Syntax existieren; neue<br />

kommen ständig hinzu [10]. Gerade im Automotive-Bereich sind durch Veröffentlichung der<br />

PowerTrain- <strong>und</strong> der VehicleDynamics weithin nutzbare Arbeiten geleistet worden.<br />

7 Gekoppelte <strong>Simulation</strong><br />

Beide <strong>Simulation</strong>sprogramme haben in <strong>unter</strong>schiedlichen Bereichen deutliche Stärken. Für<br />

die reine <strong>Modellbildung</strong> <strong>und</strong> <strong>Simulation</strong> bietet <strong>Dymola</strong> nahezu alle Möglichkeiten; mit darüber<br />

hinaus gehenden Fähigkeiten bezüglich benutzerdefinierter Bedienelemente, Werkzeuge zur<br />

Reglerauslegung <strong>und</strong> zahlreichen weiteren Toolboxen ist Matlab hingegen ungeschlagen. So<br />

liegt es nahe, beide Programme im Verb<strong>und</strong> einzusetzen. Matlab bietet hierfür die offene<br />

Schnittstelle der s-function, in denen beliebiger c-Code eingeb<strong>und</strong>en werden kann. <strong>Dymola</strong><br />

nutzt diese, um mittels des <strong>Dymola</strong>-Simulink-Interfaces <strong>Dymola</strong>-Modelle in Simulink einbin-


den zu lassen (Bild 7-1). Hierfür muss das Modell lediglich über die entsprechende Schnittstelle<br />

aus Simulink heraus neu übersetzt werden, so dass eine dll anstatt einer allein stehenden<br />

ausführbaren Datei beim Compilieren erzeugt wird. Anschließend stehen die <strong>unter</strong> <strong>Dymola</strong><br />

als Ein- <strong>und</strong> Ausgänge des Teilmodells definierten Größen als Schnittstellen zu dem<br />

<strong>Dymola</strong>-Block zur Verfügung, ebenso wie alle Parameter auf der obersten Ebene des <strong>Dymola</strong>-Modells<br />

automatisch aus Simulink heraus belegt werden können.<br />

Bild 7-1: <strong>Dymola</strong>-Motor in Simulink-Umgebung<br />

Gerade mit dem Einsatz einer <strong>unter</strong> <strong>Dymola</strong> modellierten Regelstrecke, die in eine bestehende<br />

Simulink-Umgebung eingeb<strong>und</strong>en wird (Bild 7-1), sind sehr gute Erfahrungen gemacht<br />

worden. So kann die gesamte <strong>Modellbildung</strong> in <strong>Dymola</strong> erfolgen, alle notwendigen<br />

Werkzeuge zur Systemanalyse, Identifikation <strong>und</strong> Reglersynthese stehen anschließend in<br />

der bekannten Umgebung von Matlab zur Verfügung. In der aktuellen Version 5.1b hat <strong>Dymola</strong><br />

einige Anstrengungen <strong>unter</strong>nommen, um die Bedienung <strong>und</strong> Visualisierung der <strong>Simulation</strong><br />

komfortabler zu gestalten, bis ein Vergleich mit Matlab hier bestanden werden kann wird<br />

sicherlich noch einige Zeit vergehen.<br />

8 Hardware-Anbindung der <strong>Simulation</strong>sprogramme<br />

Gerade im Motorbereich ist es interessant, Teile <strong>eines</strong> <strong>Simulation</strong>smodells mit realen Komponenten<br />

zu einer Hardware-in-the-Loop- oder Software-in-the-Loop-<strong>Simulation</strong> zusammenzuschließen.<br />

Für den vorliegenden Fall ist die nächstliegende Variante, die entwickelten<br />

Regler per Steuergeräte-Emulation am realen Motor zu verifizieren. Hierfür stehen prinzipiell


mehrere Möglichkeiten zur Verfügung, die sich aufgr<strong>und</strong> ihrer <strong>unter</strong>schiedlichen Herkunft<br />

stark <strong>unter</strong>scheiden.<br />

Eine führende Rolle spielen hier die Plattformen von dSpace, die mit Targetlink eine sehr<br />

enge Anbindung an Matlab bieten <strong>und</strong> mit automatischer, hardwarespezifischer Code-<br />

Generierung eine durchgängige Werkzeugkette von der grafischen Entwicklungsumgebung<br />

Matlab/Simulink bis hin zur Hardware bieten. Auch Mathworks selbst bietet mit dem Realtime-Workshop<br />

<strong>und</strong> xPC-Target ähnliche Möglichkeiten. Betrachtet man <strong>Dymola</strong> diesbezüglich,<br />

ist zu erwarten, dass die Voraussetzunge hier gerade zu ideal sind; schließlich erzeugt<br />

<strong>Dymola</strong> für jede <strong>Simulation</strong> zunächst c-Code des Modells. Auch die gut funktionierende Einbindung<br />

in Matlab per s-function nutzt diesen zur Verfügung stehenden Zwischenschritt. Umso<br />

mehr verw<strong>und</strong>ert es, dass kein eigener Weg direkt zur Hardware-Anbindung seitens <strong>Dymola</strong><br />

zur Verfügung steht. Der offiziell im <strong>Dymola</strong>-Handbuch empfohlene Weg läuft per Einbindung<br />

in ein Simulink-Modell <strong>und</strong> anschließender Verwendung des Realtime-Workshops.<br />

Hier wäre eine Verbesserung der direkten Anbindung von <strong>Dymola</strong> an mögliche Zielplattformen<br />

wünschenswert.<br />

Literatur<br />

[1] Schloßer, A.: <strong>Modellbildung</strong> <strong>und</strong> <strong>Simulation</strong> zur Ladedruck- <strong>und</strong> Abgasrückführregelung<br />

an einem Dieselmotor, Dissertation RWTH Aachen 2000<br />

[2] Rückert, J.; Kinoo, B.; Krüger, M.; Schloßer, A.; Rake, H.; Pischinger, S.: Simultane<br />

Regelung von Ladedruck <strong>und</strong> AGR-Rate beim Pkw-Dieselmotor, Motortechnische<br />

Zeitschrift 62, 2001, 11, 956-965<br />

[3] Pischinger, S.: Verbrennungsmotoren, Band I & II, Umdruck zur Vorlesung, 23.<br />

Auflage, 2002<br />

[4] Pfeifer, M. Smeets, H.-O. Herrmann, D. Tomazic, F. Richert, A. Schloßer: A New<br />

Approach to Boost Pressure and EGR Rate Control Development for HD Truck<br />

Engines with VGT, SAE World Congress 2002, SAE 2002-01-0964<br />

[5] Rückert, J., Richert, F., Schlosser, A., Abel, D., Herrmann, O., Pfeifer, A., Pischinger,<br />

S.: Konzepte zur Regelung von Ladedruck <strong>und</strong> AGR-Rate beim Nutzfahrzeug-Dieselmotor,<br />

atp - Automatisierungstechnische Praxis, 45 (2003) Heft 7<br />

[6] F. Richert, A. Schloßer, ,<strong>Modellbildung</strong> <strong>eines</strong> Schwerlastdieselmotors mit Abgasrückführung<br />

<strong>und</strong> Turbolader mit variabler Turbinengeometrie, Workshop ASIM-<br />

Fachgruppe 4.5.1, 04./05.03. 2001, Bielefeld.<br />

[7] Elmqvist, H.; Mattson, S.E.;: An Introduction to the Physical Modelling Language<br />

Modelica, Proceedings of the 9th European <strong>Simulation</strong> Symposium (ESS97),<br />

1997<br />

[8] Richert, F.; Rückert, J.; Schloßer A.: Vergleich von Modelica <strong>und</strong> Matlab anhand<br />

der <strong>Modellbildung</strong> <strong>eines</strong> <strong>Dieselmotors</strong>, at-Automatisierungstechnik 51 (2003) Nr. 6<br />

[9] Silverlind, D.: Mean Value Engine Modeling with Modelica, Master Thesis Dept. of<br />

Electrical Engineering, Univerity of Linköping, 2001.<br />

[10] Modelica-Bibliotheken: http://www.modelica.org/libraries.shtml

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!