02.08.2013 Aufrufe

2.3. Kurvendarstellung mit Excel

2.3. Kurvendarstellung mit Excel

2.3. Kurvendarstellung mit Excel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Praktikum Ingenieurinformatik<br />

Termin 6<br />

Felder,<br />

<strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

1


Praktikum Ingenieurinformatik<br />

Termin 6<br />

1. Felder<br />

2. <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

3. Zusatzaufgaben<br />

2


1.1. Mining-Truck TR 100 (Terex)<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

3


F bes<br />

1.2. Beschleunigung Mining-Truck (SLKW)<br />

α<br />

F str<br />

F gew<br />

F mot<br />

• Die Kraft F mot ergibt sich aus der Motorleistung (abzüglich der<br />

gesamten Verluste in Getriebe, Lagern usw.)<br />

• Die Gegenkraft F bes = m·a ergibt sich aus der Beschleunigung<br />

der trägen Fahrzeugmasse m<br />

• Die Gewichtskraft F gew = m·g <strong>mit</strong> g = 9,81 N/kg<br />

Wird ein SLKW eine Rampe<br />

hinauf beschleunigt, wirken<br />

folgende Kräfte auf das Fahrzeug<br />

(Luftwiderstand vernachlässigt):<br />

• Die durch die Straße aufgebrachte Gegenkraft F str<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

4


1.3. Kräftegleichgewicht<br />

Die Beschleunigung des SLKW kann über das folgende<br />

Kräftegleichgewicht er<strong>mit</strong>telt werden:<br />

F bes + sinα·F gew = F mot<br />

m·a + sinα·m·g = P mot /v<br />

a = dv/dt = P mot /(m·v) - sinα·g<br />

F bes<br />

In der Praxis wird der „Rollwider-<br />

α<br />

stand“ der Fahrbahn ebenfalls in %<br />

angegeben und zur Steigung der Rampe addiert. Ein fester<br />

Lehmboden hat zum Beispiel einen Rollwiderstand von ca. 3%.<br />

Falls die Fahrzeuggeschwindigkeit zum Zeitpunkt t 0 bekannt ist,<br />

kann da<strong>mit</strong> die Geschwindigkeit v(t 0 + Δt) berechnet werden:<br />

v(t 0 + Δt) = v(t 0 ) + Δv ≈ v(t 0 ) + a·Δt (je kleiner Δt desto genauer!)<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

F str<br />

F gew<br />

F mot<br />

5


1.4. Übungsaufgabe<br />

Erstellen Sie eine Funktion „Simul“ zur Berechnung des<br />

Beschleunigungsvorgangs:<br />

#define VERLUST_PROZ 25.0 /* Verluste Antriebsstrang */<br />

#define MAX_BESCHL 5.0 /* max. Beschleunigung */<br />

#define DELTA_T 0.1 /* Zeitschritt in Sekunden */<br />

#define SCHRITTE 1000 /* Anz. Simulationsschritte */<br />

double geschwind[SCHRITTE]; /* Simulationsergebnisse */<br />

int Simul(double p_motor, double m_slkw, double steigung);<br />

In einer Schleife wird die SLKW-Geschwindigkeit in Zeitschritten von DELTA_T<br />

näherungsweise berechnet. Die in der Schleife berechneten Geschwindigkeiten<br />

werden im globalen Vektor „geschwind“ abgespeichert.<br />

Sollten während des Programmablaufs negative Geschwindigkeiten auftreten,<br />

bricht die Funktion die Berechnung ab und gibt den Rückgabewert 0<br />

zurück, bei einer erfolgreichen Berechnung beträgt der Rückgabewert 1.<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

6


Lösungshinweise:<br />

1.5. Lösungshinweise<br />

• Erstellen Sie zunächst ein Struktogramm der Funktion „Simul“.<br />

• Eine Steigung von 5% entspricht nicht einem Winkel α=5°,<br />

sondern es gilt: 5/100 = tan α ≈ sin α (bei kleinen Winkeln).<br />

• „Simul“ kann daher ohne Sinusfunktion implementiert werden.<br />

• Von der im Datenblatt angegebenen Motorleistung müssen vor der<br />

Berechnung die Verluste im Antriebsstrang (Getriebe, Lager usw.)<br />

abgezogen werden. Bei großen SLKW betragen diese Verluste ca. 25%.<br />

• Es ist zu beachten, dass die Beschleunigung des SLKW nicht beliebig<br />

groß werden kann, z. B. a max = 5 m/s 2 (je nach Reifen und Untergrund).<br />

• Achten Sie außerdem darauf, dass Sie beim ersten Schleifendurchlauf –<br />

wenn die Geschwindigkeit noch null ist – bei der Berechnung der<br />

Beschleunigung nicht durch null teilen!<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

7


#include <br />

#define 1.6. VERLUST_PROZ Beispiel für 25.0 ein Hauptprogramm<br />

/* Verluste Antriebsstrang */<br />

#define MAX_BESCHL 5.0 /* max. Beschleunigung */<br />

#define DELTA_T 0.1 /* Zeitschritt in Sekunden */<br />

#define SCHRITTE 1000 /* Anz. Simulationsschritte */<br />

double geschwind[SCHRITTE]; /* Simulationsergebnisse */<br />

int Simul(double p_motor, double m_slkw, double steigung);<br />

int main(void)<br />

{<br />

int i;<br />

if(1 == Simul( /* TR100 <strong>mit</strong> Beladung: */<br />

783000.0, /* - P_mot = 783 kW */<br />

159340.0, /* - m_slkw = 159 t */<br />

5.0)) /* - Steigung = 5% */<br />

{<br />

for(i = 0; i < SCHRITTE; ++i)<br />

}<br />

printf("%.2f ; %.4f\n", (i+1)*DELTA_T, geschwind[i]);<br />

}<br />

else<br />

{<br />

printf("Negative Geschwindigkeit!\n");<br />

}<br />

return 0;<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

Hauptprogramm<br />

<strong>mit</strong> Aufruf der<br />

Funktion „Simul“<br />

8


1.7. Vergleich <strong>mit</strong> Angaben im Datenblatt<br />

7,5 m/s =<br />

27 km/h<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

9


Praktikum Ingenieurinformatik<br />

Termin 6<br />

1. Felder<br />

2. <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

3. Zusatzaufgaben<br />

10


2.1. Ausgabe von Zwischenwerten<br />

Erweitern Sie die Funktion „Simul“:<br />

• Nun sollen nach jedem einzelnen Berechnungsschritt die aktuellen<br />

Werte von t (Zeit) und v (Geschwindigkeit) ausgegeben werden.<br />

• Die Kommazahlen sollen <strong>mit</strong> einem „echten“ Dezimalkomma – nicht<br />

Dezimalpunkt – auf dem Bildschirm ausgegeben werden (Zeiten <strong>mit</strong><br />

zwei, Geschwindigkeiten <strong>mit</strong> vier Nachkommastellen).<br />

• Jeweils zwei Werte in einer Zeile, durch Semikolon getrennt.<br />

Ausgabe „echter“ Dezimalkommas <strong>mit</strong> printf:<br />

• Binden Sie die Include-Datei „locale.h“ ein.<br />

• Fügen Sie zu Beginn von „main“ (vor dem Aufruf<br />

der Funktion „Simul“) die folgende Anweisung ein:<br />

setlocale(LC_ALL, "");<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

11


2.2. Ergebnisdaten in Datei speichern<br />

Lenken Sie die Ausgabe in eine Datei um:<br />

• Öffnen Sie die Windows-Eingabeaufforderung („DOS-Fenster“).<br />

• Wechseln Sie in das Verzeichnis <strong>mit</strong> dem ausführbaren Programm.<br />

• Starten Sie das Programm und lenken Sie die Ausgabe in eine Datei um;<br />

der Dateiname soll auf „.csv“ enden.<br />

• Wenn Sie anschließend den Namen der<br />

Ergebnisdatei eingeben, startet Microsoft<br />

<strong>Excel</strong> und zeigt die Daten tabellarisch an.<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

12


<strong>2.3.</strong> <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

Erstellen Sie ein Diagramm <strong>mit</strong> <strong>Excel</strong>:<br />

• Markieren Sie zunächst die Tabelle <strong>mit</strong> den Ergebnisdaten.<br />

• Wählen Sie den Menüpunkt Einfügen Diagramm Punkt (XY).<br />

• Wählen Sie einen passenden Diagramm-Untertyp.<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

13


Praktikum Ingenieurinformatik<br />

Termin 6<br />

1. Felder<br />

2. <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

3. Zusatzaufgaben<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

14


3.1. Zusatzaufgaben (a)<br />

Falls Sie noch etwas Zeit haben:<br />

• Erweitern Sie die Funktion „main“, sodass die Daten des Fahrzeugs<br />

(bzw. der Beladung ) und der Strecke (bzw. der Steigung) über die<br />

Tastatur eingegeben werden können.<br />

• Die Eingabe der SLKW-Masse in kg bzw. die Ein- und Ausgabe der<br />

Geschwindigkeiten in m/s ist zwar korrekt aber unüblich. Ändern Sie das<br />

Programm, sodass die Ein- und Ausgaben in t bzw. km/h erfolgen.<br />

• Welche Werte müssen Sie eingeben, da<strong>mit</strong> die Funktion „Simul“ eine<br />

Fehlermeldung (Rückgabewert = 0) zurückgibt?<br />

• Was würde <strong>mit</strong> einem „echten“ SLKW in dieser Situation passieren?<br />

• Variieren Sie die Größe der Zeitschritte (DELTA_T). Wie groß dürfen die<br />

Zeitschritte werden, ohne die Berechnung ungenau werden zu lassen?<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

15


3.2. Zusatzaufgaben (b)<br />

Zusatzaufgaben zur Klausurvorbereitung:<br />

• Erstellen Sie ein Struktogramm der Funktion „main“.<br />

• Erweitern Sie die Funktion „Simul“ um einen weiteren Funktionsparameter<br />

„a_max“:<br />

int Simul(double p_motor, double m_slkw,<br />

double steigung, double *a_max);<br />

Über den Parameter „a_max“ wird die größte während der Simulation<br />

auftretende Beschleunigung <strong>mit</strong>tels Zeiger an die Funktion „main“<br />

zurückgegeben und dort auf dem Bildschirm ausgegeben.<br />

6. Felder, <strong>Kurvendarstellung</strong> <strong>mit</strong> <strong>Excel</strong><br />

16

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!