17
MATLAB/Simulink/Stateflow Tutorial für Entwickler MATLAB/Simulink/Stateflow Wenger Engineering GmbH, Einsteinstrasse 55, 89077 Ulm B [email protected] m www.wenger-engineering.com +49 731 / 159 37 - 500 v +49 731 / 159 37 - 501 Zusammenfassung—MATLAB/Simulink/Stateflow ist eine Software aus dem Hause The MathWorks zur Lösung vielfältiger Problemstellungen und eignet sich daher hervorragend für den Einsatz im Ingenieurbereich. Dabei liegt der Schwerpunkt des Programmsystems auf der numerischen Lösung von mathematischen Gleichungen. Eine Besonderheit ist, dass das Programmsystem neben der reinen textbasierten Programmierung auch eine grafische bzw. blockschaltbildorientierte Programmierung zur Verfügung stellt. Beide Programmierebenen können sowohl unabhängig als auch in Kombination miteinander genutzt werden. Dadurch ist es möglich viele Frage- und Problemstellungen auf verschiedenen Wegen zu lösen. Dieser Übungskatalog beinhaltet eine Auswahl aus verschiede- nen Aufgaben. Sie dienen als Einstieg in das Programmsystem und sollen nach Möglichkeit alleine oder in der Gruppe gelöst werden. Ziel ist es den Einsteiger einen Überblick über die Möglichkeiten von MATLAB/Simulink/Stateflow zu verschaffen und ihn mit den wichtigsten Befehlen und Bausteinen vertraut zu machen. Zu allen Aufgaben finden sich Hinweise und Hilfestellungen zur Lösungsfindung. Daher wird empfohlen die Aufgaben sorg- fältig durchzulesen. Im Anhang finden Sie zudem ausführlich gelöste Musterlösungen als Hilfe. „Eine wirklich gute Idee erkennt man daran, dass ihre Verwirkli- chung von vornherein ausgeschlossen erschien.“ - Albert Einstein Viel Spaß und Erfolg beim Lösen der Aufgaben! - Ihr Team von Wenger Engineering - I. BEFEHLSÜBERSICHT ZU MATLAB Die nachfolgende Befehlsübersicht soll den Einsteiger mit ei- nem Grundgerüst von Befehlen ausstatten. Um Informationen zu einem Befehl zu erhalten nutzen Sie die doc oder help Funktion, z.B. doc plot oder help plot. doc, help, close (all), clear (all), clc, whos, load, save, print, saveas, format, pretty(), single(), vpa(), tic, toc sin(), cos(), tan(), asin(), acos(), cot(), atan(), exp(), log(), log10(), sqrt(), pi, inf, nan, i, j, eps sign(), rem(), round(), fix(), factorial(), abs(), norm(), linspace() mean(), max(), min(), sum(), sort(), det(), dot(), cross() eye(), zeros(), ones(), rand(), randn(), magic(), pascal() fliplr(), flipud(), flipdim(), permute(), repmat(), reshape(), size(), length() transpose(), inv(), pinv(), rank(), eig(), trace(), diag(), cond() find(), isnan(), isinf(), isempty() figure(), plot(), subplot(), stem(), bar(), stairs(), surf(), mesh(), meshgrid(), xlabel(), ylabel(), zlabel(), legend(), title(), grid on/off, hold on/off, xlim(), ylim(), zlim() int(), diff(), syms, subs(), ezplot() for, while, break, if, elseif, else, end function [Ausgabe] = Name(Eingabe), disp(), error(), input(), return, nargin, nargout poly(), polyval(), polyfit(), conv(), deconv(), polyder(), roots() tf(), zpk(), ss(), step(), impulse(), lsim(), initial(), margin(), bode(), nyquist(), rlocus(), sisotool(), dcgain(), place(), acker(), lqr(), kalman(), ctrb(), obsv() ode45(), ode113(), ode15(), ode15s(), ode23(), ode23tb() xlsread(), xlswrite(), csvread(), csvwrite() Operator Bedeutung % Kommentar == ist gleich ~= ist ungleich < ist kleiner als > ist größer als <= ist kleiner gleich >= ist größer gleich & und | oder ~ nicht Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 1/ 35

MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

  • Upload
    lelien

  • View
    243

  • Download
    10

Embed Size (px)

Citation preview

Page 1: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

Tutorial für EntwicklerMATLAB/Simulink/Stateflow

Wenger Engineering GmbH, Einsteinstrasse 55, 89077 UlmB [email protected] m www.wenger-engineering.com

� +49 731 / 159 37 − 500 v +49 731 / 159 37 − 501

Zusammenfassung—MATLAB/Simulink/Stateflow ist eineSoftware aus dem Hause The MathWorks zur Lösungvielfältiger Problemstellungen und eignet sich daherhervorragend für den Einsatz im Ingenieurbereich. Dabeiliegt der Schwerpunkt des Programmsystems auf dernumerischen Lösung von mathematischen Gleichungen.Eine Besonderheit ist, dass das Programmsystem neben derreinen textbasierten Programmierung auch eine grafische bzw.blockschaltbildorientierte Programmierung zur Verfügung stellt.Beide Programmierebenen können sowohl unabhängig als auchin Kombination miteinander genutzt werden. Dadurch ist esmöglich viele Frage- und Problemstellungen auf verschiedenenWegen zu lösen.

Dieser Übungskatalog beinhaltet eine Auswahl aus verschiede-nen Aufgaben. Sie dienen als Einstieg in das Programmsystemund sollen nach Möglichkeit alleine oder in der Gruppe gelöstwerden. Ziel ist es den Einsteiger einen Überblick über dieMöglichkeiten von MATLAB/Simulink/Stateflow zu verschaffenund ihn mit den wichtigsten Befehlen und Bausteinen vertrautzu machen.

Zu allen Aufgaben finden sich Hinweise und Hilfestellungenzur Lösungsfindung. Daher wird empfohlen die Aufgaben sorg-fältig durchzulesen. Im Anhang finden Sie zudem ausführlichgelöste Musterlösungen als Hilfe.„Eine wirklich gute Idee erkennt man daran, dass ihre Verwirkli-chung von vornherein ausgeschlossen erschien.“ - Albert EinsteinViel Spaß und Erfolg beim Lösen der Aufgaben!

− Ihr Team von Wenger Engineering −

I. BEFEHLSÜBERSICHT ZU MATLAB

Die nachfolgende Befehlsübersicht soll den Einsteiger mit ei-nem Grundgerüst von Befehlen ausstatten. Um Informationenzu einem Befehl zu erhalten nutzen Sie die doc oder helpFunktion, z.B. doc plot oder help plot.

• doc, help, close (all), clear (all),clc, whos, load, save, print, saveas,format, pretty(), single(), vpa(), tic,toc

• sin(), cos(), tan(), asin(), acos(),cot(), atan(), exp(), log(), log10(),sqrt(), pi, inf, nan, i, j, eps

• sign(), rem(), round(), fix(),factorial(), abs(), norm(), linspace()

• mean(), max(), min(), sum(), sort(),det(), dot(), cross()

• eye(), zeros(), ones(), rand(), randn(),magic(), pascal()

• fliplr(), flipud(), flipdim(),permute(), repmat(), reshape(), size(),length()

• transpose(), inv(), pinv(), rank(),eig(), trace(), diag(), cond()

• find(), isnan(), isinf(), isempty()

• figure(), plot(), subplot(), stem(),bar(), stairs(), surf(), mesh(),meshgrid(), xlabel(), ylabel(),zlabel(), legend(), title(), gridon/off, hold on/off, xlim(), ylim(),zlim()

• int(), diff(), syms, subs(), ezplot()

• for, while, break, if, elseif, else, end

• function [Ausgabe] = Name(Eingabe),disp(), error(), input(), return,nargin, nargout

• poly(), polyval(), polyfit(), conv(),deconv(), polyder(), roots()

• tf(), zpk(), ss(), step(), impulse(),lsim(), initial(), margin(), bode(),nyquist(), rlocus(), sisotool(),dcgain(), place(), acker(), lqr(),kalman(), ctrb(), obsv()

• ode45(), ode113(), ode15(), ode15s(),ode23(), ode23tb()

• xlsread(), xlswrite(), csvread(),csvwrite()

Operator Bedeutung% Kommentar== ist gleich~= ist ungleich< ist kleiner als> ist größer als<= ist kleiner gleich>= ist größer gleich& und| oder~ nicht

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 1/ 35

Page 2: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

II. ÜBUNGSAUFGABEN ZU MATLAB

A. Erstellen einfacher Funktionen in MATLAB

Öffnen Sie ein neues Skript und erstellen Sie einen Zeitvektort, der in 0.5-Schritten die Werte von 0 bis 10 enthält. Berech-nen Sie für den Zeitvektor die Funktion y = sin(3t) und dieFunktion z = 1

2 t2. Nennen Sie die Datei Aufgabe.m.

Hinweis: MATrix LABoratory rechnet mit Vektoren und Matrizen.Beachten Sie dies bei der Berechnung der Funktion z undsetzen Sie an geeigneter Stelle einen Punkt.

B. Erstellen einfacher Matrizen in MATLAB

Öffnen Sie ein neues Skript und erstellen Sie die Matrizen

I =

1 0 00 1 00 0 1

A =

1 1 11 1 11 1 1

O =

0 0 00 0 00 0 0

B =

2 1 00 3 65 0 9

und eine Zufallsmatrix Z. Berechnen Sie zu den Matrizen dieInverse, die Pseudoinverse, die Determinante, die Eigenwerte,die Transponierte und die Diagonalelemente. Berechnen Siezudem die Matrixmultiplikation und die elementweise Matrix-multiplikation zu den Matrizen B und Z. Nennen Sie die DateiMatrizen.m.Hinweis: Nutzen Sie die Befehle eye(), ones(),zeros(), rand(), inv(), pinv(), transpose() unddiag(). Bei der elementweisen Matrixmultiplikation wirdElement 1 der Matrix 1 mit Element 1 der Matrix 2 multipli-ziert, Element 2 der Matrix 1 wird mit Element 2 der Matrix2 multipliziert usw.

C. Vektoroperationen in MATLAB

Öffnen Sie ein neues Skript und erstellen Sie eine Zufalls-matrix W mit 80 Zeilen und 80 Spalten. Erzeugen Sie einenVektor a, der die erste Spalte und einen Vektor b der die letzteZeile der Matrix W enthält. Prüfen Sie die Dimensionen derVektoren a und b und bilden Sie anschließend Skalar- unddyadisches Produkt. Nennen Sie die Datei Vektoren.mHinweis: Der Befehl size() zur Ausgabe der Dimensionliefert die Anzahl der Zeilen und die Anzahl der Spaltenin der genannten Reihenfolge. Das Skalarprodukt liefert aus2 Vektoren eine Zahl, das dyadische Produkt liefert aus 2Vektoren eine Matrix.

D. Plotten einfacher Funktionen in MATLAB

Schreiben Sie ein Skript, dass die mathematische Funktionf(x) = x2−2x+1 grafisch im Definitionsbereich (x-Bereich)von x = −10 bis x = 10 darstellt. Beschriften Sie die Achsen,fügen Sie eine Legende und eine Diagrammüberschrift ein.Zusätzlich soll das Diagramm eine Gitterung zur besserenÜbersicht erhalten. Nennen Sie die Datei Plot.m.Hinweis: Nutzen Sie zur Bearbeitung der Aufgabe sowohl denBefehl plot() als auch den Befehl ezplot(). Im Fallevon ezplot() müssen Sie eine symbolische Variable mittelssyms einführen.

E. Mehrere Plots in einem Fenster in MATLAB

Fügen Sie die Plots aus der vorigen Aufgabe in ein gemein-sames Figure ein. Beide Plots sollen horizontal nebeneinandererscheinen.Hinweis: Nutzen Sie den Befehl subplot().

F. Berechnung einer Kugelfunktion in MATLAB

Schreiben Sie eine Funktion zur Berechnung der Oberflächeund des Volumens einer Kugel. Die Funktion soll den Kugel-radius in Meter als Eingabewert entgegennehmen. Nennen Siedie Datei Kugel.m.Hinweis: AKugel = 4πr2, VKugel =

43πr

3

G. Bestimmung der Dichte eines idealen Gases in MATLAB

Schreiben Sie eine Funktion mit der Sie die Dichte einesidealen Gases bestimmen können. Als Eingabewerte dienender Druck p in bar, die Temperatur in ◦C und die spezifischeGaskonstante in J

kgK . Nennen Sie die Datei Dichte.m.

Hinweis: ρ = pRT

H. Bestimmung einer mechanischen Leistung in MATLAB

Schreiben Sie eine Funktion, die aus Drehmoment (EinheitNm) und Drehzahl (Einheit U

min ) eine Leistung (Einheit kW)berechnet. Nennen Sie die Datei Leistung.m.Hinweis: P =Mω

I. Ermittlung eines Vorzeichens in MATLAB

Schreiben Sie eine Funktion, die das Vorzeichen einer Zahl er-mittelt und einen entsprechenden Text im Command Windowausgibt. Berücksichtigen Sie, dass die Null nicht vorzeichen-behaftet ist. Nennen Sie die Datei Vorzeichen.m.Hinweis: Nutzen Sie die Befehle sign(), disp() underror()

J. Bestimmung der Fakultät einer Zahl in MATLAB

Schreiben Sie eine Funktion, die die Fakultät einer Zahlmittels einer for-Schleife berechnet. Berücksichtigen Sie dieSonderfälle 0!, x! für x < 0 und x! für x /∈ N. Nutzen Siehierfür eine if-Abfrage. Im Command Window soll für diegenannten Sonderfälle eine Textausgabe erfolgen. Nennen Siedie Datei Fak.m.Hinweis: Für die Fakultät der Zahl 3 gilt 3! = 3 · 2 · 1 = 6.Ausserdem gilt 0! = 1. Die Fakutät existiert nur für postiveganze Zahlen. Nutzen Sie die Befehle error() und fix().

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 2/ 35

Page 3: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

K. Erstellen eines Polynoms in MATLAB

Erstellen Sie das Polynom f(x) = 15x

3 − 43x

2 − 2x +5 und bestimmen Sie den Vektor der Funktionswerte fürx=-2:0.1:2. Speichern Sie die Daten aus dem Workspaceunter dem Namen Polynom.mat ab.Hinweis: Erstellen Sie kein Skript, sondern bearbeiten Siedie Aufgabe direkt im Command Window. Schauen Sie sichdie Hilfe zum Befehl poly() an. Nutzen Sie die Befehlepolyval() und save.

L. Ausgleichspolynom in MATLAB

In dieser Aufgabe sollen Sie ein Ihnen noch unbekann inMATLABtes Polynom an gegebene Messdaten fitten. ErstellenSie ein Skript namens Polynomfit.m und gehen Sie wiefolgt vor:• Bereinigen Sie den Arbeitsspeicher.

• Laden Sie die Datei Polynom.mat in den Arbeitsspeicher.

• Geben Sie die Ordnung (max. 3) des Polynoms an, welchesan die Messwerte gefittet werden soll. Idealerweise fitten SiePolynome unterschiedlicher Ordnungen an die Messdaten.Hierfür eignet sich eine for-Schleife.

• Plotten Sie das gefittete Polynom bzw. die gefitteten Poly-nome. Nutzen Sie auch hier nach Möglichkeit eine for-Schleife

• Fügen Sie in den Plot mit dem gefitteten Polynom bzw. dengefitteten Polynomen 5 beliebigen Wertepaare aus dem ur-sprünglichen Messdatenvektoren ein. Die Wertepaare sollenim Plot als Kreuz oder Punkt visualisiert werden.

• Zusatz: Stellen Sie die betragliche Abweichungen zwischendem Polynom 2. und 3. Ordnung als Strichlinie in einemseperaten Plot dar.Hinweis: Nutzen Sie den Befehl abs().

M. Arbeiten mit Excel in MATLAB

Erstellen Sie eine kleine Excel-Tabelle mit folgendem Inhalt

Tag Aufgabe1 Schleifen2 Sägen3 Feilen4 Stanzen5 Bohren6 Pause7 Pause

und speichern Sie die Datei unter dem NamenArbeitsplan.xls ab. Schreiben Sie ein Skript(Excel.m), dass die Excel-Datei Arbeitsplan.xlszunächst in MATLAB einliest. Schreiben Sie anschliessendeine Routine, welche die eingetragenen Werte periodisch fürein Jahr (52 Wochen) fortsetzt und diese Werte in eine neueExcel-Datei (Arbeitsplan_Jahr.xls) schreibt.Hinweis: Nutzen Sie die Befehle xlsread, xlswrite undzwei for-Schleifen. Denken Sie daran, dass die Felder Tagund Aufgabe nur einmal ganz oben auftauchen.

N. Übertragungsfunktionen in MATLAB

In dieser Aufgabe sollen Sie das dynamische Verhalten fol-gender Übertragungsfunktionen betrachten:

G(s) =K

s2(1)

G1(s) =K1

sT1 + 1(2)

G2(s) =K2

s2 + 2Dw0s+ w20

(3)

Gleichung (1) beschreibt einen Doppelintegrierer (z.B. einereine Masse) , Gleichung (2) beschreibt ein Verzögerungsglied1. Ordnung (z.B. ein passives Tiefpassfilter) und Gleichung (3)ein Verzögerungsglied 2. Ordnung (z.B. ein Feder-Dämpfer-Masse-System).Implementieren Sie die Übertragungsfunktionen in MATLAB(Verhalten.m) und schauen Sie sich folgende Verläufe undWerte an:• Impulsantwort

• Sprungantwort

• Ortskurve

• Bodediagramm

• Stationäre VerstärkungWählen Sie als Systemparameter

K = 2

K1 = 10

T1 = 2

K2 = 5

D = 0.3

w0 = 2

und eine maximale Simulationsdauer von t = 20s.Hinweis: Nutzen Sie die Befehle impulse(), step(),nyquist(), bode() und dcgain(). Geben Sie den Plotseine Überschrift, fügen Sie eine Legende ein um die Verläufeeindeutig zuordnen zu können und versehen Sie die Diagram-me jeweils mit einem Gitter zur besseren Übersicht.

Eigene Notizen

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 3/ 35

Page 4: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

Thermodynamik und CFD-Simulation für Pioniere.

Unser Team wächst stetig, deshalb sind wir immer auf der Suche nach Ingenieuren und Naturwissenschaftlern, die mit uns die Welt verändern und ihre Spuren hinterlassen wollen. Flache Hierarchien ermöglichen viel Handlungsspielraum und Verantwortung für diejenigen, die sie übernehmen wollen.

Starten Sie durch und werden Sie Teil unseres Teams!

Erfahrener Berechnungsingenieur mit Projektleitung (m/w)

Wir bieten Ihnen steile Karrierechancen, leistungsgerechte Vergütung, abwechslungsreiche Projekte mit hohem In-novationsgrad, sowie ein attraktives, leistungsorientiertes Arbeitsumfeld, in dem Sie viel Gestaltungsspielraum haben und Verantwortung übernehmen.

Lassen Sie uns über Ihre Möglichkeiten bei Wenger Engineering sprechen. Schicken Sie uns Ihre Bewerbung mit möglichem Eintrittstermin und Gehaltsvorstellung per E-Mail an unsere Zentrale

Mail: [email protected] Tel. 0731 / 159 37 - 500 www.wenger-engineering.de

In Ihrer Funktion als Berechnungsingenieur (FEM-Simulation) und Projektleiter agieren Sie als „Face to Customer“ und sind somit direkter Ansprechpartner für unsere internationalen Kunden.

Sie konzipieren für unsere Kunden Lösungen und führen diese gemeinsam mit unseren Ingenieuren zum Erfolg.

Sie übernehmen die Budget- und Kapazitätenplanung sowie das dazugehörige Controlling.

Mit Ihrer fachlichen Kompetenz fungieren Sie als Coach für unsere Ingenieure und übernehmen deren fachliche Führung.

Sie leisten mit Ihrer weit überdurchschnittlichen Arbeit einen entscheidenden Beitrag zum weiteren Wachstum unseres Ingenieurbüros.

Sie haben ein Studium der Fachrichtung Physik, Maschinenbau oder Ähnliches erfolgreich ab- geschlossen und bereits Berufserfahrung gesammelt.

Sie sind Experte auf dem Gebiet Thermodynamik, haben hervorragende Kenntnisse im Bereich Simulation und keine Scheu vor Kunden.

Sie wollen Verantwortung übernehmen und verfügen über ein ausgeprägtes Selbstbewusstsein.

Eine hohe Kommunikationsfähigkeit zählt zu Ihren Stärken und Sie verfügen über sehr gute Präsentations- und Englischkenntnisse.

Sie haben bereits Erfahrungen im Zeit- und Projekt-management gesammelt.

Ihr Einsatz: Ihr Profil:

Page 5: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

Thermodynamik und CFD-Simulation für Pioniere.

Praktikum Simulation Thermodynamik (m/w)

Sie haben idealerweise ein Grundstudium in Chemie-Ingenieurwesen oder aber Verfahrenstechnik, Physikali-scher Technik, Maschinenbau, Technomathematik, Energie-technik oder ähnliches erfolgreich abgeschlossen.

Sie verfügen über MATLAB-Kenntnisse oder haben Erfahrung in einer vergleichbaren Programmiersprache.

Sie haben erste Kenntnisse im Bereich FEM-Simulation und/oder CFD-Simulation.

Sie haben sehr gute Deutsch- und gute Englischkenntnisse.

Ihr Profil:

Sie unterstützen uns bei der Entwicklung von innovativen Technologien im Bereich Wasserstofftechnik, Lithium-Ionen-Batterien oder Anlagenbau.

Sie erzeugen komplexe Simulationsprogramme.

Sie führen FEM-Simulationen durch.

Sie leisten Pionierarbeit in neuen Projekten.

Ihre Aufgaben:

Ein abwechslungsreiches Aufgabengebiet und eine sehr steile Lernkurve.

Die Möglichkeit sich stark in Kundenprojekten zu engagieren.

Flexible Arbeitszeiten.

Eine überdurchschnittliche Vergütung (750 Euro/mtl.).

Ein motiviertes Team und ein sehr gutes Arbeitsklima.

Wir bieten:

Als Ingenieurbüro mit 20 Mitarbeitern in der Ulmer Weststadt realisieren wir spannende Kundenprojekte in den Bereichen Erneuerbare Energien, Alternative Antriebstechnik, Prozess- und Produktoptimierung. Von Kalifornien bis Japan helfen wir Firmen mit unseren Simulationen, ihre Technologie kostengünstiger, technisch zuverlässiger und somit noch markt- fähigerer zu machen. Dabei sehen wir uns als das „Bayern München der Ingenieurbüros“: Wir wollen immer in der „Champions League der Projekte“ spielen und die besten „Spieler“ bei uns unter Vertrag haben.

Deshalb suchen wir immer engagierte Praktikanten, die die Welt mit uns verbessern und während ihres Praktikums etwas bewegen möchten. Drei unserer ehemaligen Praktikanten gehören mittlerweile zu unserem Team.

Thermodynamik und CFD-Simulation für Pioniere.

Bei Fragen vorab steht Ihnen unsere Zentrale gerne zur Verfügung. Wir freuen uns auf Ihre Bewerbung per E-Mail:

Mail: [email protected] Tel. +49 731 / 159 37 500

Wenger Engineering GmbH Einsteinstraße 5589077 Ulmwww.wenger-engineering.de

Page 6: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

Thermodynamik und CFD-Simulation für Pioniere.

Praktikum Berechnungsingenieur (m/w)

Sie haben idealerweise ein Grundstudium in Verfahrens-technik oder aber Physikalischer Technik, Maschinen-bau, Chemie-Ingenieurwesen, Technomathematik oder ähnliches erfolgreich abgeschlossen.

Sie verfügen über MATLAB-Kenntnisse oder haben Erfahrung in einer vergleichbaren Programmiersprache.

Sie haben sehr gute Deutsch- und gute Englischkennt-nisse.

Ihr Profil:

Sie unterstützen uns bei der Entwicklung von innovativen Technologien im Bereich Wasserstofftechnik, Lithium-Ionen-Batterien oder Anlagenbau.

Sie erstellen und optimieren Simulationsprogramme.

Sie helfen unseren Projektteams bei der Realisierung von neuen Komponenten und Systemen und bringen neue Ideen dazu ein.

Ihre Aufgaben:

Ein abwechslungsreiches Aufgabengebiet und eine sehr steile Lernkurve.

Die Möglichkeit sich stark in Kundenprojekten zu engagieren.

Flexible Arbeitszeiten.

Eine überdurchschnittliche Vergütung (750 Euro/mtl.).

Ein motiviertes Team und ein sehr gutes Arbeitsklima.

Wir bieten:

Thermodynamik und CFD-Simulation für Pioniere.

Als Ingenieurbüro mit 20 Mitarbeitern in der Ulmer Weststadt realisieren wir spannende Kundenprojekte in den Bereichen Erneuerbare Energien, Alternative Antriebstechnik, Prozess- und Produktoptimierung. Von Kalifornien bis Japan helfen wir Firmen mit unseren Simulationen, ihre Technologie kostengünstiger, technisch zuverlässiger und somit noch markt- fähigerer zu machen. Dabei sehen wir uns als das „Bayern München der Ingenieurbüros“: Wir wollen immer in der „Champions League der Projekte“ spielen und die besten „Spieler“ bei uns unter Vertrag haben.

Deshalb suchen wir immer engagierte Praktikanten, die die Welt mit uns verbessern und während ihres Praktikums etwas bewegen möchten. Drei unserer ehemaligen Praktikanten gehören mittlerweile zu unserem Team.

Bei Fragen vorab steht Ihnen unsere Zentrale gerne zur Verfügung. Wir freuen uns auf Ihre Bewerbung per E-Mail:

Mail: [email protected] Tel. +49 731 / 159 37 500

Wenger Engineering GmbH Einsteinstraße 5589077 Ulmwww.wenger-engineering.de

Page 7: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

III. AUFGABEN ZU SIMULINK

A. Ermittlung von Signaleigenschaften in SIMULINK

Erzeugen Sie in Simulink ein Zufallssignal mit der Sampletime Ts = 1s. Ermitteln Sie mit einem geeigneten Block dasVorzeichen des Signals und addieren Sie den Wert 0.5 dazu.Plotten Sie das Ergebnis in Simulink(!).Hinweis: Suchen Sie in der Math Operations Bibliothek undin der Source Bibliothek nach geeigneten Blöcken.

B. Signale blocken in SIMULINK

Erzeugen Sie in Simulink das Signal f(t) = Asin(ωt) mitder Frequenz ω = 10 rad

s und der Amplitude A = 5 und dasSignal g(t) = −1. Jedesmal wenn gilt f(t) < 0, soll eineSignalsperre für f(t) erfolgen und g(t) aktiv werden. PlottenSie das Ergebnis in Simulink (!) für eine Simulationsdauer von20 Sekunden.Hinweis: Suchen Sie in der Signal Routing Bibliothek nacheinem geeigneten Block.

C. Simulation eines FDM-Systems in SIMULINK

Die Bewegungsdifferentialgleichung für ein einfaches FDM-System (Feder-Dämpfer-Masse-System) nach Abbildung 1lautet

mx+ rx+ cx = F (t).

F(t) c

r

x(t)

m

Abbildung 1. FDM-System

Dabei bezeichnet x die Auslenkung, x die Geschwindigkeitund x die Beschleunigung der Masse m. r ist die Dämpferkon-stante und c die Federkonstante. F (t) ist die äußere Erregungauf das System.Bestimmen Sie die Lösung x(t) der Differentialgleichung fürden Fall einer sprungförmigen äußeren Erregung (F (t) = 1)und stellen Sie diese in einem Plot dar. Wählen Sie verschwin-dende Anfangsbedingungen, d.h.

x(t = 0) =0,

x(t = 0) =0.

Wählen Sie als Systemparameter m = 2, c = 5 und r = 2und als Simulationsdauer 10 Sekunden. Nennen Sie die DateiFDM.slx.Hinweis: Stellen Sie die Differentialgleichung nach der höchs-ten Ableitung um und bilden Sie diese dann in Simulink nach.Nutzen Sie die Blöcke Integrator, Sum, Gain, Step undScope.

D. Simulation eines 1-Tank-Systems in SIMULINK

Ziel dieser Aufgabe ist die Beschreibung eines z.B. mitWasser gefüllten 1-Tank-Systems, welches über eine Öffnungentleert wird, siehe Abbildung 2.

h

H1

Abbildung 2. 1-Tank-System

Exkurs: Die Modellierung des 1-Tank-Systems soll Sie zu-nächst mit der Form der Differentialgleichung vertraut ma-chen. Dabei wird Gebrauch von der Kontinuitätsgleichungund der Ausflussformel von Torricelli gemacht. Der Behälterbesitzt die Grundfläche A1 und die Austrittsfläche Aaus.

vA1 =− vausAaus. (4)

Setzt man nun in (4) die Ausflussformel von Torricelli ein undformt nach der zeitlichen Ableitung des Füllstands h(t) um,erhält man

dh(t)

dt=− Aaus

A1

√2gh(t). (5)

Aufgabe: Bilden Sie die Differentialgleichung (5) in Simulinknach und plotten Sie das Ergebnis in MATLAB(!). BeschriftenSie die Achsen sinnvoll. Wählen Sie folgende Systemparame-ter in SI-Einheiten:

A1 =1

Aaus =0.1

H1 =10

g =9.81

t =20

Speichern Sie das Modell unter dem Namen Eintank.slxab.Hinweis: Nutzen Sie die Blöcke Integrator,Gain und Scope. Schreiben Sie zudem einSkript (Init_Eintank.m) in MATLAB, dass dieSystemparameter an Simulink übergibt und die Simulationdurchführt (sim(’Eintank.slx’,t)). Ändern Siezudem die Systemparameter, um das Systemverhalten fürverschiedene Werte zu simulieren.

E. Erweiterung des 1-Tank-Systems in SIMULINK

In der letzten Aufgabe, haben Sie die analytische Lösungdes Ausflussvorgangs visualisiert. Nun soll angenommen wer-den, dass im Tank ein Messfühler angebracht ist, der ei-ne Abtastzeit Tabt hat. Der Füllstand ist damit nur zu dis-kreten Zeitpunkten bekannt. Verändern Sie die das Modell

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 7/ 35

Page 8: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

Eintank.slx entsprechend und speichern Sie es unterEintank_diskret.slx ab. Wählen Sie als AbtastzeitTabt = 1s. Lassen Sie sich den diskreten Füllstandsverlauf inMATLAB(!) ausgeben. Nennen Sie das zugehörige MATLAB-Skript Init_Eintank_diskret.m.Hinweis: Schauen Sie in der Discrete Bibliothek nach einemgeeigneten Block. Visualisieren Sie den Füllstandsverlauf mitdem Befehl stairs() oder stem().

F. Simulation eines 2-Tank-Systems in SIMULINK

In dieser Aufgabe soll das dynamische Verhalten einesZweitanksystems simuliert werden. Das Zweitanksystem wirdbeschrieben durch 2 Behälter mit den Grundflächen A1 undA2, welche über eine Rohrleitung mit der QuerschnittsflächeAr verbunden sind. Die Initialfüllstände werden durch H1

und H2 beschrieben, siehe Abbildung 3.

h

H1

H2

Abbildung 3. 2-Tank-System

Bei der Modellbildung ist eine Fallunterscheidung hinsichtlichdes Behälters mit dem höheren Füllstand zu treffen, da dieserBehälter die für eine Bewegung notwendige Energie bereit-stellt.1. Fall: H1 > H2

Nach der Kontinuitätsgleichung gilt für beide Behälter

v1A1 =− vrAr (6)v2A2 =vrAr. (7)

Erweitert man (6) und (7) mit der Ausflussformel von Torri-celli erhält man die Ausdrücke

dh1(t)

dt=− Ar

A1

√2g(h1(t)− h2(t)) (8)

dh2(t)

dt=Ar

A2

√2g(h1(t)− h2(t)). (9)

2. Fall: H1 < H2

Für den Fall, dass der Füllstand des zweiten Tanks höher istals der des ersten Tanks gilt

dh1(t)

dt=Ar

A1

√2g(h2(t)− h1(t)) (10)

dh2(t)

dt=− Ar

A2

√2g(h2(t)− h1(t)). (11)

Aufgabe: Bilden Sie die Differentialgleichungen (8), (9), (10)und (11) in Simulink nach und plotten Sie das Ergebnis in

MATLAB(!). Beschriften Sie die Achsen sinnvoll. Wählen Siefolgende Systemparameter in SI- Einheiten:

A1 = 1

A2 = 1

Ar = 0.1

H1 = 10

H2 = 0

g = 9.81

t = 10

Speichern Sie das Modell unter dem Namen Zweitank.slxab.Hinweis: Nutzen Sie die Blöcke Integrator, Gain, Mux,Abs, Switch und Scope. Schreiben Sie zudem ein Skript(Init_Zweitank.m) in MATLAB, dass die Systempara-meter an Simulink übergibt und die Simulation durchführt(sim(’Zweitank.slx’,t)). Ändern Sie zudem die Sy-stemparameter, um das Systemverhalten für verschiedene Wer-te zu simulieren.

G. Umformung des 2-Tank-Systems zu einem Subsystem inSIMULINK

Formen Sie das Zweitanksystem aus der vorherigen Aufgabezu einem eigenständigen Block (Subsystem) um. Das Subsys-tem soll als Ausgangswert die Füllstände liefern. Erweitern Siedas Subsystem um eine Eingabemaske, die bei Doppelklick aufdas Subsystem erscheint und die Eingabeparameter• Füllstand Tank 1 [m]

• Füllstand Tank 2 [m]

• Querschnittsfläche Tank 1 [m2]

• Querschnittsfläche Tank 2 [m2]

• Querschnitt Rohrleitung [m2]

• Fallbeschleunigung [m/s2]entgegennimmt.Hinweis: Speichern Sie zunächst das Modell desZweitanks aus der vorigen Aufgabe unter dem NamenZweitank_Mask.slx ab. Nutzen Sie die Befehle CreateSubsystem und Edit Mask.

H. Erweiterung des 2-Tank-Systems in SIMULINK

In Aufgabe III-F, haben Sie die analytische Lösung desAusflussvorgangs für den Zweitank visualisiert. Nehmen sienun wiederum an, dass beide Behälter im Tankinneren jeeinen Messfühler besitzen. Die Abtastzeit des Messfüh-lers im Tank mit dem Initialfüllstand H1 beträgt Tabt1 =1s. Für den zweiten Messfühler gilt Tabt2 = 2s. Pas-sen Sie das Modell Zweitank.slx an und speichernSie es unter dem Namen Zweitank_diskret.slx ab.Lassen Sie sich den diskreten Füllstandsverlauf in MAT-LAB(!) ausgeben. Nennen Sie das zugehörige MATLAB-Skript Init_Zweitank_diskret.m.Hinweis: Nutzen Sie neben dem Ihnen bereits bekannten Block

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 8/ 35

Page 9: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

Zero Order Hold den Block Demux. Visualisieren Sie dieFüllstandsverläufe mit dem Befehl stairs() oder stem().

I. Entwurf eines PID-Reglers in SIMULINK

Bilden Sie in Simulink einen idealen PID-Regler nach undformen Sie diesen zu einem Subsystem um. Erstellen Sieanschliessend eine Eingabemaske für das Subsystem mit denEingabeparametern• P-Anteil

• I-Anteil

• D-Anteilund nennen Sie die Datei PID_Regler.slx.Hinweis: Die Gleichung für einen idealen PID-Regler lautet

u =KP e+KI

∫edt+KD

de

dt,

mit dem Eingang e (Regelabweichung) und dem Aus-gang u (Stellsignal). Nutzen Sie die Blöcke Integrator,Derivative, Gain, In und Out.

J. Entwurf einer Gleichstrommaschine in SIMULINK

Das dynamische Verhalten einer Gleichstrommaschine lässtsich über die Gleichungen

di

dt=

1

L(U − ωk − iR) (12)

dt=

1

J(ik −MLast) (13)

beschreiben. Es gilt:

i := AnkerstromL := AnkerinduktivitätR := AnkerwiderstandU := Klemmenspannungω := Kreisfrequenz der MotorwelleJ := Massenträgheitsmoment der Motorwellek := Motorkonstante

MLast := Last- und Reibmoment an der Motorwelle

Bilden Sie Gleichung (12) und (13) in Simulink nach undplotten Sie das Ergebnis in MATLAB(!). Der Eingang auf dasSystem ist die Klemmenspannung U , der Systemausgang istdie Kreisfrequenz ω. Nutzen Sie folgende Systemparameter inSI-Einheiten:

U = 20

L = 0.11

R = 9

J = 0.1

k = 2

MLast = 2

t = 20

Nennen Sie die Datei Gleichstrommaschine.slx.Erstellen Sie zudem eine zweite Datei namens

Gleichstrommaschine_Mask.slx, in der derGleichstrommotor zu einem Subsystem umgeformt istund eine Eingabemaske enthält.Hinweis: Nutzen Sie im ersten Teil der Aufgabe die BlöckeStep, Gain, Integrator und Scope. Im zweiten Teilder Aufgabe benötigen Sie zudem die Blöcke In und Out.

K. Entwurf einer Bibliothek in SIMULINK

In dieser Aufgabe sollen Sie eine eigene Bibliothek erstellen,welche die folgenden Blöcke enthält:• Gleichstrommotor

• PID-ReglerNutzen Sie zur Erstellung der Bibliothek die bereits vonIhnen erstellten und mit einer Maske versehenen Modelleaus den vorigen Aufgaben. Die Bibliothek soll im Simulink-Library-Browser unter dem Namen Meine Bibliothekerscheinen. Der Dateiname der Bibliothek soll MyLib.slxsein.Hilfestellung:• Öffnen Sie den Simulink-Library-Browser und erstellen Sie

eine neue Bibliothek (File → New → Library).

• Fügen Sie die besagten Blöcke ein.

• Speichern Sie die Bibliothek unter dem NamenMyLib.slx in einem Ordner Ihrer Wahl ab. Vorzugsweiseerstellen Sie einen neuen Ordner Namens library.

• Fügen Sie in den Ordner Ihrer Bibliothek die Dateislblocks.m ein. Sie finden die Datei regulär unter demPfad MATLAB\toolbox\simulink\blocks.

• Öffnen Sie die Datei slblocks.m und tragen Sie denNamen Ihrer Bibliothek ein. Lesen Sie sich als Hilfe hierzuden auskommentierten Programmcode durch.

• Starten Sie die Datei slblocks.m und klicken Sie an-schliessend im Simulink-Library-Browser unter dem ReiterView auf Refresh Tree View.

L. Entwurf eines einschleifigen Regelkreises in SIMULINK

Erstellen Sie einen Regelkreis in Simulink mit den Blö-cken PID-Regler und Gleichstrommaschine ausIhrer eigenen Bibliothek und nennen Sie die DateiRegelkreis.slx. Ihr Ziel ist es, die Drehzahl des Motorsauf einen festen Wert zu regeln. Nutzen Sie folgende System-parameter in SI-Einheiten:

R = 9

L = 0.11

J = 0.1

k = 2

MLast = 1

t = 20

Die Führungsgröße ist in Abbildung 4 zu sehen.

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 9/ 35

Page 10: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

0 5 10 150

10

20

30

40

50

60

70

80

90

100

110

Zeit in s

Dre

hzah

l in

U/m

inSollwertvorgabe

Abbildung 4. Führungsgröße

Die Regelung soll stationär genau arbeiten, d.h. die Regelgrö-ße (hier Drehzahl) soll der Führungsgröße entsprechen. DieAusregelzeit soll unter 2 Sekunden liegen, zudem soll dieRegelgröße max. 5% überschwingen. Schreiben Sie ein Skript(Init_Regelkreis.m), dass die Systemparameter an Si-mulink übergibt, die Simulation durchführt und das Ergebnisin MATLAB(!) plottet. Stellen Sie im Plot die Regelgröße derFührungsgröße gegenüber, um die Regelkreisdynamik besserbewerten zu können.Hinweis: Die Ausgangsgröße des Gleichstrommotors ist eineKreisfrequenz in SI-Einheiten. Ihr Ziel ist es jedoch die Dreh-zahl in U

min zu regeln. Finden Sie geeignete Regelparameterdurch „geschicktes Probieren“. Der prinzipielle Aufbau eineseinschleifigen Regelkreises ist in Abbildung 5 zu sehen.

Abbildung 5. Einschleifiger Regelkreis (Quelle: Wikipedia)

Eigene Notizen

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 10/ 35

Page 11: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

Thermodynamik und CFD-Simulation für Pioniere.

Starten Sie durch und werden Sie Teil unseres Teams!

Projektleiter CFD-Berechnung (m/w)Projektleiter Thermodynamik / Simulation (m/w)

Wir bieten Ihnen steile Karrierechancen, ein attraktives Arbeitsumfeld, sowie eine überdurchschnittliche Leistungsver-gütung. Nutzen Sie die Chance für Ihr persönliche Weiterentwicklung in einer wachsenden Firma und werden Sie Teil unseres Teams. Leiten Sie anspruchsvolle Projekte aus den Gebieten Thermodynamik, Fluidmechanik, Multiphysik-Simulation mit typischerweise 1-3 Mitarbeitern. Wir freuen uns darauf Sie kennenzulernen!

Lassen Sie uns über Ihre Möglichkeiten bei Wenger Engineering sprechen. Schicken Sie uns Ihre Bewerbung mit möglichem Eintrittstermin und Gehaltsvorstellung per E-Mail an unsere Zentrale

Mail: [email protected] Tel. 0731 / 159 37 - 500 www.wenger-engineering.de

Ihnen obliegt die fachliche Leitung von höchst anspruchsvollen Projekten aus den Gebieten Thermo-dynamik, Fluidmechanik, Multiphysik-Simulation .

Ihre Leidenschaft für Erneuerbare Energien, Elektromobilität und Ressourceneffizienz ist die Grundlage für die Übernahme von Verantwortung, Ihr persönliches Wachstum und die Lust, auch die har-ten Nüsse zu knacken.

Mit Ihren hervorragenden Präsentations- und Englischkenntnissen konzipieren Sie für unsere inter-nationalen Kunden Lösungen und führen diese ge-meinsam mit unseren Ingenieuren zum Erfolg.

Auf Basis Ihrer Projekterfahrung übernehmen Sie die Verantwortung für das Projektcontrolling sowie die Ka-pazitätenplanung.

Sie übernehmen das fachliche Coaching unserer hervorragenden jungen Ingenieure.

Sie haben ein Studium der Fachrichtung Physik, Ver-fahrenstechnik, Chemieingenieurwesen, Maschinen-bau oder Ähnliches erfolgreich abgeschlossen und gegebenenfalls promoviert.

Sie haben bereits 3-5 Jahre Berufserfahrung gesam-melt, idealerweise in einem vergleichbaren Umfeld.

Sie sind Experte auf dem Gebiet der Thermodynamik und haben hervorragende Kenntnisse in den Berei-chen CFD- und/oder Multiphysik-Simulation.

Sie haben bereits Erfahrung im direkten Kundenkon-takt, bestenfalls erste Vertriebs-/Akquiseerfahrung.

Sie kennen sich bereits in der Automobilbranche aus und bringen ein relevantes Netzwerk mit.

Sie haben bereits Erfahrungen im Zeit- und Projekt-management gesammelt.

Ihr Einsatz: Ihr Profil:

Page 12: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

Thermodynamik und CFD-Simulation für Pioniere.

Als Ingenieurbüro mit 20 Mitarbeitern in der Ulmer Weststadt realisieren wir spannende Kundenprojekte in den Bereichen Erneuerbare Energien, Alternative Antriebstechnik, Prozess- und Produktoptimierung. Von Kalifornien bis Japan helfen wir Firmen mit unseren Simulationen, ihre Technologie kostengünstiger, technisch zuverlässiger und somit noch markt- fähigerer zu machen. Dabei sehen wir uns als das „Bayern München der Ingenieurbüros“: Wir wollen immer in der „Champions League der Projekte“ spielen und die besten „Spieler“ bei uns unter Vertrag haben.

Deshalb suchen wir immer engagierte Praktikanten, die die Welt mit uns verbessern und während ihres Praktikums etwas bewegen möchten. Drei unserer ehemaligen Praktikanten gehören mittlerweile zu unserem Team.

Praktikum Verfahrenstechnik (m/w)

Sie haben idealerweise ein Grundstudium in Verfahrens-technik oder aber Physikalischer Technik, Maschinenbau, Chemie-Ingenieurwesen, Technomathematik oder ähnliches erfolgreich abgeschlossen .

Sie verfügen über MATLAB-Kenntnisse oder haben Erfahrung in einer vergleichbaren Programmiersprache.

Sie haben sehr gute Deutsch- und gute Englischkenntnisse.

Ihr Profil:

Sie unterstützen uns bei der Entwicklung von innovativen Technologien im Bereich Wasserstofftechnik, Lithium-Ionen-Batterien oder Anlagenbau.

Sie erstellen und optimieren Simulationsprogramme.

Sie helfen unseren Projektteams bei der Realisierung von neuen Komponenten und Systemen und bringen neue Ideen dazu ein.

Ihre Aufgaben:

Ein abwechslungsreiches Aufgabengebiet und eine sehr steile Lernkurve.

Die Möglichkeit sich stark in Kundenprojekten zu engagieren.

Flexible Arbeitszeiten.

Eine überdurchschnittliche Vergütung (750 Euro/mtl.).

Ein motiviertes Team und ein sehr gutes Arbeitsklima.

Wir bieten:

Thermodynamik und CFD-Simulation für Pioniere.

Bei Fragen vorab steht Ihnen unsere Zentrale gerne zur Verfügung. Wir freuen uns auf Ihre Bewerbung per E-Mail:

Mail: [email protected] Tel. +49 731 / 159 37 500

Wenger Engineering GmbH Einsteinstraße 5589077 Ulmwww.wenger-engineering.de

Page 13: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

Thermodynamik und CFD-Simulation für Pioniere.

Praktikum Physikalische Technik (m/w)

Sie haben idealerweise ein Grundstudium in Physik, Physikalischer Technik oder aber Verfahrenstechnik,Maschinenbau, Chemie-Ingenieurwesen, Technoma-thematik oder ähnliches erfolgreich abgeschlossen.

Sie verfügen über MATLAB-Kenntnisse oder haben Erfahrung in einer vergleichbaren Programmiersprache.

Sie haben sehr gute Deutsch- und gute Englischkennt-nisse.

Ihr Profil:

Sie unterstützen uns bei der Entwicklung von innovativen Technologien im Bereich Wasserstofftechnik, Lithium-Ionen-Batterien oder Anlagenbau.

Sie erstellen und optimieren Simulationsprogramme.

Sie helfen unseren Projektteams bei der Realisierung von neuen Komponenten.

Sie leisten Pionierarbeit in neuen Projekten.

Ihre Aufgaben:

Ein abwechslungsreiches Aufgabengebiet und eine sehr steile Lernkurve.

Die Möglichkeit sich stark in Kundenprojekten zu engagieren.

Flexible Arbeitszeiten.

Eine überdurchschnittliche Vergütung (750 Euro/mtl.).

Ein motiviertes Team und ein sehr gutes Arbeitsklima.

Wir bieten:

Als Ingenieurbüro mit 20 Mitarbeitern in der Ulmer Weststadt realisieren wir spannende Kundenprojekte in den Bereichen Erneuerbare Energien, Alternative Antriebstechnik, Prozess- und Produktoptimierung. Von Kalifornien bis Japan helfen wir Firmen mit unseren Simulationen, ihre Technologie kostengünstiger, technisch zuverlässiger und somit noch markt- fähigerer zu machen. Dabei sehen wir uns als das „Bayern München der Ingenieurbüros“: Wir wollen immer in der „Champions League der Projekte“ spielen und die besten „Spieler“ bei uns unter Vertrag haben.

Deshalb suchen wir immer engagierte Praktikanten, die die Welt mit uns verbessern und während ihres Praktikums etwas bewegen möchten. Drei unserer ehemaligen Praktikanten gehören mittlerweile zu unserem Team.

Thermodynamik und CFD-Simulation für Pioniere.

Bei Fragen vorab steht Ihnen unsere Zentrale gerne zur Verfügung. Wir freuen uns auf Ihre Bewerbung per E-Mail:

Mail: [email protected] Tel. +49 731 / 159 37 500

Wenger Engineering GmbH Einsteinstraße 5589077 Ulmwww.wenger-engineering.de

Page 14: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

IV. AUFGABEN ZU STATEFLOW

A. Entwurf eines Zweipunktreglers mit Hysterese in STATE-FLOW

In dieser Aufgabe sollen Sie einen Zweipunktregler mit Hys-terese für ein Bügeleisen in Simulink mit Hilfe von Stateflowsimulieren.Exkurs: Ein handelsübliches Bügeleisen wird mittels einesBimetalls, welches ein temperaturabhängiges Formverhaltenaufweist gesteuert. Ist das Bimetall unterhalb einer bestimm-ten Temperatur, befindet es sich in seinem unverformtenAusgangszustand und schließt einen Stromkreis. Über diesenStromkreis werden die Heizspulen des Bügeleisens bestromtund erfahren dadurch eine Temperaturzunahme, ebenso dasBimetall. Steigt die Temperatur über einen bestimmten Wert,verformt sich das Bimetall und der Stromkreis wird unterbro-chen. Das System kühlt so lange ab, bis das Bimetall wieder inseine Ausgangsposition springt und den Stromkreis schließt.Das nichtlineare Verhalten des Bimetalls für diese Aufgabe istin Abbildung 6 zu sehen.

T

P

TSoll Tsoll-10°C

PB

0 Tumg

Abbildung 6. Bimetall als Zweipunktregler mit Hysterese

Steigt die Temperatur T über TSoll verformt sich das Bitmetallund es wird keine elektrische Leistung eingebracht. Sinktdie Temperatur T unter TSoll − 10◦C wird der Stromkreisgeschlossen und die elektrische Leistung PB wird auf dasSystem geschaltet. Das Bügeleisen lässt sich über

dT

dt=PB − Qab

mcp(14)

beschreiben. Für die Wärmeabgabe an die Umgebung gilt

Qab = αA (T − Tumg) (15)

mit

A := Fläche der Wärmeabgabem := Masse der Spulencp := spez. Wärmekapazität der Spulenα := Wärmeübergangskoeffizient

Tumg := UmgebungstemperaturT := SpulentemperaturPB := elektr. Leistung

Setzt man nun Gleichung (15) in (14) ein erhält man

dT

dt=PB − αA (T − Tumg)

mcp. (16)

Aufgabe: Bilden Sie Gleichung (16) in Simulink nach undspeichern Sie diese unter Buegeleisen.slx ab. SchreibenSie ein Skript in MATLAB (Init_Buegeleisen.m), dassdie Systemparameter an Simulink übergibt. Für die System-parameter gelte

A = 0.05m2

m = 0.5kg

cp = 449J

kgK

α = 15W

m2KTumg = 20◦CPB = 1000Wt = 500s

Im nächsten Schritt folgt die Modellierung des Zweipunktreg-lers. Der Zweipunktregler kann die Zustände ZU und AUF an-nehmen. Erweitern Sie Ihr Simulink-Modell um einen ChartBlock aus der Stateflow Bibliothek und fügen Sie in dasChart zwei States ein. Benennen Sie die States mitZU und AUF. Das Chart besitzt die Eingangswerte T , TSollund PB.Ist der Zustand ZU aktiv, soll der Ausgangswert der Leis-tung P = PB sein. Ist der Zustand AUF aktiv, soll derAusgangsswert P = 0 sein. Das Chart besitzt somit dreiEingangswerte und einen Ausgangswert. Gehen Sie im Chartoben auf den Reiter Add → Data → Input fromSimulink/Output from Simulink und tragen Sie dieEin- und Ausgangsgrößen ein. Verbinden Sie die Statesim Chart mit Pfeilen und geben Sie auf den Pfeilen dieBedingungen für den Wechsel von einem State in denanderen an. Die Bedingungen müssen in eckigen Klammernangegeben werden, z.B. [x <= y]. Setzen Sie anschließenddie Transitionsbedingung.Fügen Sie nun in Simulink einen weiteren Block ein, umdie Temperatur TSoll vorzugeben und schließen Sie die nochoffenen Verbindungen. Erweitern Sie anschließend Ihr SkriptInit_Buegeleisen.m um die Ausgabe eines Plots in demder Temperaturverlauf des Bügelseisens zu sehen ist. StartenSie die Simulation mittels sim(’Buegeleisen.slx’,t)aus dem Skript.Hinweis: Sie brauchen die Gleichung nicht in Kelvin zu lösen.Rechnen Sie von Beginn an mit ◦C.

Eigene Notizen

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 14/ 35

Page 15: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

Thermodynamik und CFD-Simulation für Pioniere.

Unser Team wächst stetig, deshalb sind wir immer auf der Suche nach Ingenieuren und Naturwissenschaftlern, die mit uns die Welt verändern und ihre Spuren hinterlassen wollen. Flache Hierarchien ermöglichen viel Handlungsspielraum und Verantwortung für diejenigen, die sie übernehmen wollen.

Starten Sie durch und werden Sie Teil unseres Teams!

Projektleiter FEM Simulation (m/w)Projektleiter Multiphysics Simulation (m/w)

Wir bieten Ihnen steile Karrierechancen, ein attraktives Arbeitsumfeld, sowie eine überdurchschnittliche Leistungsver-gütung. Nutzen Sie die Chance für Ihr persönliche Weiterentwicklung in einer wachsenden Firma und werden Sie Teil unseres Teams. Leiten Sie anspruchsvolle Projekte aus den Gebieten Thermodynamik, Fluidmechanik, Multiphysik-Simulation mit typischerweise 1-3 Mitarbeitern. Wir freuen uns darauf Sie kennenzulernen!

Lassen Sie uns über Ihre Möglichkeiten bei Wenger Engineering sprechen. Schicken Sie uns Ihre Bewerbung mit möglichem Eintrittstermin und Gehaltsvorstellung per E-Mail an unsere Personalverantwortliche Anja Weitpert.

Mail: [email protected] Tel. 0731 / 15937-500

In Ihrer Funktion als Projektleiter konzipieren Sie für unsere nationalen und internationalen Kunden Lösun-gen aus den Gebieten Multiphysik / FEM-Simulation und Thermodynamik und führen diese gemeinsam mit unseren Ingenieuren zum Erfolg.

Ihre Leidenschaft für Erneuerbare Energien, alternative Antriebstechnik sowie Produkt- und Prozessoptimierung ist die Grundlage für die Über-nahme von Verantwortung, Ihr persönliches Wachs-tum und die Lust, auch die harten Nüsse zu knacken.

Sie übernehmen die Budget- und Kapazitätenplanung sowie das dazugehörige Projektcontrolling.

Sie fungieren als Coach für unsere Ingenieure und übernehmen deren fachliche Führung.

Sie haben ein Studium der Fachrichtung Energiesys-temtechnik, Physik, Maschinenbau oder Ähnliches erfolgreich abgeschlossen, gegebenenfalls promoviert und bereits 3-5 Jahre Berufserfahrung gesammelt.

In einem vergleichbaren Umfeld haben Sie bereits Projekterfahrung gesammelt, idealerweise in der Automobilbrache.

Sie sind Experte in den Bereichen Strömungsmecha-nik und/oder Thermische Multiphysik-Simulation

Sie haben bereits Erfahrung im direkten Kundenkon-takt, bestenfalls erste Vertriebs-/Akquiseerfahrung.

Eine hohe Kommunikationsfähigkeit zählt zu Ihren Stärken und Sie verfügen über sehr gute Präsentations- und Englischkenntnisse.

Sie haben bereits Erfahrungen im Zeit- und Projekt-management gesammelt.

Ihr Einsatz: Ihr Profil:

Page 16: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

Thermodynamik und CFD-Simulation für Pioniere.

Praktikum Softwareentwicklung (m/w)

Sie haben ein Grundstudium in Informatik oder Computational Science and Engineering.

Sie verfügen über Kenntnisse in Datenbankprogrammierung, VB, JAVA, etc.

Sie haben sehr gute Deutsch- und gute Englischkenntnisse.

Ihr Profil:

Sie unterstützen uns beim Aufbau einer neuen Softwareplatt-form, auf welcher Programme zur Lösung thermodynamischer Aufgabenstellungen und Probleme angeboten werden.

Sie bereichern unser Wissen im Bereich objektorientierter Softwareentwicklung.

Sie unterstützen uns im Aufbau einer fachspezifischen Klas-senbibliothek.

Ihre Aufgaben:

Ein abwechslungsreiches Aufgabengebiet und eine sehr steile Lernkurve.

Die Möglichkeit sich stark in Kundenprojekten zu engagieren.

Flexible Arbeitszeiten.

Eine überdurchschnittliche Vergütung (750 Euro/mtl.).

Ein motiviertes Team und ein sehr gutes Arbeitsklima.

Wir bieten:

Als Ingenieurbüro mit 20 Mitarbeitern in der Ulmer Weststadt realisieren wir spannende Kundenprojekte in den Bereichen Erneuerbare Energien, Alternative Antriebstechnik, Prozess- und Produktoptimierung. Von Kalifornien bis Japan helfen wir Firmen mit unseren Simulationen, ihre Technologie kostengünstiger, technisch zuverlässiger und somit noch markt- fähigerer zu machen. Dabei sehen wir uns als das „Bayern München der Ingenieurbüros“: Wir wollen immer in der „Champions League der Projekte“ spielen und die besten „Spieler“ bei uns unter Vertrag haben.

Deshalb suchen wir immer engagierte Praktikanten, die die Welt mit uns verbessern und während ihres Praktikums etwas bewegen möchten. Drei unserer ehemaligen Praktikanten gehören mittlerweile zu unserem Team.

Thermodynamik und CFD-Simulation für Pioniere.

Bei Fragen vorab steht Ihnen unsere Zentrale gerne zur Verfügung. Wir freuen uns auf Ihre Bewerbung per E-Mail:

Mail: [email protected] Tel. +49 731 / 159 37 500

Wenger Engineering GmbH Einsteinstraße 5589077 Ulmwww.wenger-engineering.de

Page 17: MATLAB/Simulink/Stateflow Tutorial für Entwickler · PDF fileMATLAB/Simulink/Stateflow II. ÜBUNGSAUFGABEN ZU MATLAB A. Erstellen einfacher Funktionen in MATLAB Öffnen Sie ein

MATLAB/Simulink/Stateflow

EMPFEHLUNGEN

Sie möchten aus der Sprungantwort für ein Verzögerungsglied1. oder 2. Ordnung die Systemparameter identifizieren? Sieplanen die Auslegung eines Wärmeübertragers oder benötigendie relative Luftfeuchte? Sie sind am thermodynamischenVerhalten eines bestromten Leiters interessiert, benötigen Hilfebei der Dimensionierung eines Druckbehälters oder dimensi-onslose Kennzahlen? Kein Problem!Unter• http://www.wenger-engineering.de/software.html

• http://www.simulations-plattform.definden Sie zahlreiche kostenlose Berechnungstools, die Sie undIhr Projekt vorantreiben!

Abbildung 7. Simulationsplattform SimpPL

Soll es etwas spezieller sein? Dann sprechen sie uns an! Wirhelfen Ihnen gerne weiter und finden für jedes Problem eineLösung!Sie erreichen uns unter:B [email protected] www.wenger-engineering.com� +49 731 / 159 37 − 500

v +49 731 / 159 37 − 501

Ihr Dr. David Wenger

Die Wenger Engineering GmbH wurde im Jahre2007 von Dr. David Wenger gegründet. Als kleinesIngenieurbüro mit 20 Mitarbeitern in der UlmerWeststadt realisieren wir spannende Kundenprojektein den Bereichen Erneuerbare Energien, alternati-ve Antriebe, Prozess- und Produktoptimierung. Dierenommiertesten Firmen aus Europa, Amerika undAsien zieren unsere Referenzliste. Zweidrittel davonsind Bestandskunden.Viele Themen sind neu für uns, selten ist eineAufgabenstellung wie die andere. Pionierarbeit statt

08/15, Ärmel hochkrempeln und rauchende Köpfe statt langweilige Routine.Die Spezialisierung liegt dabei auf dem Finite Element Modeling und FiniteVolume Modeling in den Fachbereichen Thermodynamik, CFD-Simulation,Wasserstoffbetankung und elektrische Antriebstechnik.Mit unseren Simulationen führen wir unsere Kunden auf direktem Wegzum Ziel. Irrwege kosten nur unnötig Zeit, Geld und Nerven. Und weilwir das richtig gut machen, lässt unser drittgrößter Kunde aus Japan maleben drei unserer Ingenieure für eine Woche einfliegen. Solche genialenProjekte machen Spaß und treiben uns an. Es gibt nichts Besseres als einenbegeisterten und zufriedenen Kunden nach der Abschlusspräsentation undglückliche Wenger-Projektleiter.

Wir fangen da an, wo der VDI-Wärmeatlas aufhört. 17/ 35