Files
FAT-Servo-Load-Test/Matlab/plot_csv.m
T
2026-09-16 06:25:24 +02:00

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;