49 lines
1.4 KiB
Matlab
49 lines
1.4 KiB
Matlab
% MATLAB-Skript zum Einlesen und Plotten des Logfiles
|
|
% 1. Datei einlesen (Name entsprechend anpassen, z.B. 'logdaten.csv')
|
|
filename = 'temperature_and_brake_log.csv';
|
|
|
|
% Import-Optionen für CSV mit Semikolon als Trennzeichen setzen
|
|
opts = detectImportOptions(filename, 'Delimiter', ';');
|
|
data = readtable(filename, opts);
|
|
|
|
% 2. Zeitstempel in datetime-Objekte umwandeln
|
|
t = datetime(data.Zeitstempel, 'InputFormat', 'yyyy-MM-dd HH:mm:ss');
|
|
|
|
% 3. Minuten seit Start berechnen (Differenz zum ersten Eintrag)
|
|
zeit = minutes(t - t(1));
|
|
|
|
% Daten extrahieren
|
|
temp = data.Temperatur_C;
|
|
bremse = data.Bremse_Manuell;
|
|
|
|
% 4. Plot erstellen
|
|
figure('Name', 'Logfile-Auswertung', 'Position', [100, 100, 900, 450]);
|
|
|
|
% Linke Y-Achse: Temperatur
|
|
yyaxis left
|
|
plot(zeit, temp, 'LineWidth', 1.5, 'Color', '#0072BD');
|
|
ylabel('Temperatur (°C)');
|
|
grid on;
|
|
|
|
% Rechte Y-Achse: Bremse Manuell (als Treppenstufe / Stufenplot)
|
|
yyaxis right
|
|
stairs(zeit, bremse, 'LineWidth', 1.5, 'Color', '#D95319');
|
|
ylabel('Bremse Manuell (0 = Aus, 1 = Ein)');
|
|
ylim([-0.1, 1.1]); % Skala für binäres Signal sauber begrenzen
|
|
|
|
% Achsenbeschriftung und Layout
|
|
xlabel('Zeit [min]');
|
|
title('Keine Last, Bremse bestromen 1 Std, danach unbestromt');
|
|
|
|
max_min = max(zeit);
|
|
xticks(0:5:max_min);
|
|
|
|
|
|
%% Variablen umbenennen
|
|
|
|
struct_dummy.t = zeit;
|
|
struct_dummy.temp = temp;
|
|
struct_dummy.bremse = bremse;
|
|
|
|
|
|
Messung_1 = struct_dummy; |