16
1 Praktikum Ingenieurinformatik Termin 6 Mehrdimensionale Felder, Kurvendarstellung mit Excel

Praktikum Ingenieurinformatik

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Praktikum Ingenieurinformatik

1

Praktikum Ingenieurinformatik

Termin 6

Mehrdimensionale Felder,Kurvendarstellung mit Excel

Page 2: Praktikum Ingenieurinformatik

2

Praktikum IngenieurinformatikTermin 6

1. Mehrdimensionale Felder2. Kurvendarstellung mit Excel3. Zusatzaufgaben

Page 3: Praktikum Ingenieurinformatik

3

1.1. Mining-Truck TR 100 (Terex)

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Page 4: Praktikum Ingenieurinformatik

4

1.2. Beschleunigung Mining-Truck (SLKW)

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

• Die Kraft Fmot ergibt sich aus der Motorleistung (abzüglich der gesamten Verluste in Getriebe, Lagern usw.)

• Die Gegenkraft Fbes = m·a ergibt sich aus der Beschleunigungder trägen Fahrzeugmasse m

• Die Gewichtskraft Fgew = m·g mit g = 9,81 N/kg

• Die durch die Straße aufgebrachte Gegenkraft Fstr

Wird ein SLKW eine Rampehinauf beschleunigt, wirken

folgende Kräfte auf das Fahrzeug(Luftwiderstand vernachlässigt):

α

Fmot

Fbes

Fgew

Fstr

Page 5: Praktikum Ingenieurinformatik

5

1.3. Kräftegleichgewicht

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Die Beschleunigung des SLKW kann über das folgendeKräftegleichgewicht ermittelt werden:

Fbes + sinα·Fgew = Fmot

m·a + sinα·m·g = Pmot/v

a = dv/dt = Pmot/(m·v) - sinα·g

In der Praxis wird der „Rollwider-stand“ der Fahrbahn ebenfalls in %angegeben und zur Steigung der Rampe addiert. Ein fester Lehmboden hat zum Beispiel einen Rollwiderstand von ca. 3%.

Falls die Fahrzeuggeschwindigkeit zum Zeitpunkt t0 bekannt ist,kann damit die Geschwindigkeit v(t0 + Δt) berechnet werden:

v(t0 + Δt) = v(t0) + Δv ≈ v(t0) + a·Δt (je kleiner Δt desto genauer!)

α

Fmot

Fbes

Fgew

Fstr

Page 6: Praktikum Ingenieurinformatik

6

1.4. Übungsaufgabe

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Erstellen Sie eine Funktion „Simul“ zur Berechnung des Beschleunigungsvorgangs:

#define VERLUST_PROZ 25.0 /* Verluste Antriebsstrang */

#define MAX_BESCHL 5.0 /* max. Beschleunigung */

#define DELTA_T 0.1 /* Zeitschritt in Sekunden */

#define SCHRITTE 1000 /* Anz. Simulationsschritte */

double result[SCHRITTE][2]; /* Simulationsergebnisse */

int Simul(double p_motor, double m_slkw, double steigung);

In einer Schleife wird die SLKW-Geschwindigkeit in Zeitschritten von DELTA_T näherungsweise berechnet. Die in der Schleife durchlaufenen Zeitpunkte und die berechneten Geschwindigkeiten werden in der globalen Matrix „result“ abgespeichert (Zeitpunkte in Spalte [0], Geschwindigkeiten in Spalte [1]).

Sollten während des Programmablaufs negative Geschwindigkeiten auftre-ten, gibt die Funktion „Simul“ den Rückgabewert 0 zurück, ansonsten 1.

Page 7: Praktikum Ingenieurinformatik

7

1.5. Lösungshinweise

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Lösungshinweise:• Erstellen Sie zunächst ein Struktogramm der Funktion „Simul“.

• Eine Steigung von 5% entspricht nicht einem Winkel α=5°,sondern es gilt: 5/100 = tan α ≈ sin α (bei kleinen Winkeln).

• „Simul“ kann daher ohne Sinusfunktion implementiert werden.

• Von der im Datenblatt angegebenen Motorleistung müssen vor der Berechnung die Verluste im Antriebsstrang (Getriebe, Lager usw.) abgezogen werden. Bei großen SLKW betragen diese Verluste ca. 25%.

• Es ist zu beachten, dass die Beschleunigung des SLKW nicht beliebig groß werden kann, z. B. amax = 5 m/s2 (je nach Reifen und Untergrund).

• Achten Sie außerdem darauf, dass Sie beim ersten Schleifendurchlauf –wenn die Geschwindigkeit noch null ist – bei der Berechnung der Beschleunigung nicht durch null teilen!

Page 8: Praktikum Ingenieurinformatik

86. Mehrdimensionale Felder, Kurvendarstellung mit Excel

1.6. Beispiel für ein Hauptprogramm#include <stdio.h>

#define VERLUST_PROZ 25.0 /* Verluste Antriebsstrang */

#define MAX_BESCHL 5.0 /* max. Beschleunigung */

#define DELTA_T 0.1 /* Zeitschritt in Sekunden */

#define SCHRITTE 1000 /* Anz. Simulationsschritte */

double result[SCHRITTE][2]; /* Simulationsergebnisse */

int Simul(double p_motor, double m_slkw, double steigung);

int main(void)

{

int i;

if(1 == Simul( /* TR100 mit Beladung: */

783000.0, /* - P_mot = 783 kW */

159340.0, /* - m_slkw = 159 t */

5.0)) /* - Steigung = 5% */

{

for(i = 0; i < SCHRITTE; ++i)

printf("%.2f ; %.4f \n", result[i][0], result[i][1]);

}

else

{

printf("Negative Geschwindigkeit!\n");

}

return 0;

}

Hauptprogrammmit Aufruf der

Funktion „Simul“

Page 9: Praktikum Ingenieurinformatik

9

1.7. Vergleich mit Angaben im Datenblatt

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

7,5 m/s =27 km/h

Page 10: Praktikum Ingenieurinformatik

10

Praktikum IngenieurinformatikTermin 6

1. Lokale und globale Variablen2. Kurvendarstellung mit Excel3. Zusatzaufgaben

Page 11: Praktikum Ingenieurinformatik

11

2.1. Ausgabe von Zwischenwerten

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Erweitern Sie die Funktion „Simul“:• Nun sollen nach jedem einzelnen Berechnungsschritt die aktuellen

Werte von t (Zeit) und v (Geschwindigkeit) ausgegeben werden.

• Die Kommazahlen sollen mit einem „echten“ Dezimalkomma – nichtDezimalpunkt – auf dem Bildschirm ausgegeben werden (Zeiten mit zwei, Geschwindigkeiten mit vier Nachkommastellen).

• Jeweils zwei Werte in einer Zeile, durch Semikolon getrennt.

Ausgabe „echter“ Dezimalkommas mit printf:

• Binden Sie die Include-Datei „locale.h“ ein.

• Fügen Sie zu Beginn von „main“ (vor dem Aufrufder Funktion „Simul“) die folgende Anweisung ein:

setlocale(LC_ALL, "");

Page 12: Praktikum Ingenieurinformatik

12

2.2. Ergebnisdaten in Datei speichern

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Lenken Sie die Ausgabe in eine Datei um:• Öffnen Sie die Windows-Eingabeaufforderung („DOS-Fenster“).

• Wechseln Sie in das Verzeichnis mit dem ausführbaren Programm.

• Starten Sie das Programm und lenken Sie die Ausgabe in eine Datei um; der Dateiname soll auf „.csv“ enden.

• Wenn Sie anschließend den Namen derErgebnisdatei eingeben, startet MicrosoftExcel und zeigt die Daten tabellarisch an.

Page 13: Praktikum Ingenieurinformatik

13

2.3. Kurvendarstellung mit Excel

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Erstellen Sie ein Diagramm mit Excel:• Markieren Sie zunächst die Tabelle mit den Ergebnisdaten.

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

• Wählen Sie einen passenden Diagramm-Untertyp.

Page 14: Praktikum Ingenieurinformatik

146. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Praktikum IngenieurinformatikTermin 6

1. Lokale und globale Variablen2. Kurvendarstellung mit Excel3. Zusatzaufgaben

Page 15: Praktikum Ingenieurinformatik

15

3.1. Zusatzaufgaben (a)

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Falls Sie noch etwas Zeit haben:

• Erweitern Sie die Funktion „main“, sodass die Daten des Fahrzeugs(bzw. der Beladung ) und der Strecke (bzw. der Steigung) über die Tastatur eingegeben werden können.

• Die Eingabe der SLKW-Masse in kg bzw. die Ein- und Ausgabe der Geschwindigkeiten in m/s ist zwar korrekt aber unüblich. Ändern Sie das Programm, sodass die Ein- und Ausgaben in t bzw. km/h erfolgen.

• Welche Werte müssen Sie eingeben, damit die Funktion „Simul“ eine Fehlermeldung (Rückgabewert = 0) zurückgibt?

• Was würde mit einem „echten“ SLKW in dieser Situation passieren?

• Variieren Sie die Größe der Zeitschritte (DELTA_T). Wie groß dürfen die Zeitschritte werden, ohne die Berechnung ungenau werden zu lassen?

Page 16: Praktikum Ingenieurinformatik

16

3.2. Zusatzaufgaben (b)

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Zusatzaufgaben zur Klausurvorbereitung:

• Erstellen Sie ein Struktogramm der Funktion „main“.

• Erweitern Sie die Funktion „Simul“ um einen weiteren Funktions-parameter „a_max“:

int Simul(double p_motor, double m_slkw,

double steigung, double *a_max);

Über den Parameter „a_max“ wird die größte während der Simulation auftretende Beschleunigung mittels Zeiger an die Funktion „main“ zurückgegeben und dort auf dem Bildschirm ausgegeben.