Praktikum Ingenieurinformatik

Preview:

Citation preview

1

Praktikum Ingenieurinformatik

Termin 6

Mehrdimensionale Felder,Kurvendarstellung mit Excel

2

Praktikum IngenieurinformatikTermin 6

1. Mehrdimensionale Felder2. Kurvendarstellung mit Excel3. Zusatzaufgaben

3

1.1. Mining-Truck TR 100 (Terex)

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

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

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

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.

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!

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“

9

1.7. Vergleich mit Angaben im Datenblatt

6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

7,5 m/s =27 km/h

10

Praktikum IngenieurinformatikTermin 6

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

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, "");

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.

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.

146. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Praktikum IngenieurinformatikTermin 6

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

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?

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.

Recommended