58 lines
1.7 KiB
Matlab
58 lines
1.7 KiB
Matlab
% ==========================================
|
|
% KONFIGURATION
|
|
% ==========================================
|
|
% Name der Variablen-Struktur als String festlegen:
|
|
messung_name = 'Messung_6';
|
|
|
|
% Zeitachse wählen:
|
|
% true = Realzeit aus .t (datetime/dauer) verwenden
|
|
% false = 1-Sekunden-Abtastung verwenden
|
|
use_real_time = false;
|
|
|
|
% ==========================================
|
|
% SKRIPT-AUSFÜHRUNG
|
|
% ==========================================
|
|
% Dynamisches Laden der Struktur aus dem Workspace über ihren Namen
|
|
daten = evalin('base', messung_name);
|
|
|
|
% 1. Zeitachse vorbereiten
|
|
if use_real_time
|
|
% Zeitstempel relativ zum Start in Minuten umrechnen
|
|
if isdatetime(daten.t)
|
|
x_zeit = minutes(daten.t - daten.t(1));
|
|
else
|
|
x_zeit = daten.t; % Falls t bereits ein Zahlenvektor ist
|
|
end
|
|
x_label_text = 'Zeit [min]';
|
|
else
|
|
% 1-Sekunden-Sampling (0, 1, 2, 3... Sekunde)
|
|
x_zeit = (0:length(daten.temp)-1)';
|
|
x_label_text = 'Zeit [s] (Abtastung: 1 s)';
|
|
end
|
|
|
|
% 2. Plot erstellen
|
|
figure('Name', sprintf('Auswertung: %s', messung_name), 'Position', [100, 100, 900, 450]);
|
|
|
|
% Linke Y-Achse: Temperatur
|
|
yyaxis left
|
|
plot(x_zeit, daten.temp, 'LineWidth', 1.5, 'Color', '#0072BD');
|
|
ylabel('Temperatur (°C)');
|
|
grid on;
|
|
|
|
% Rechte Y-Achse: Bremse
|
|
yyaxis right
|
|
stairs(x_zeit, daten.bremse, 'LineWidth', 1.5, 'Color', '#D95319');
|
|
ylabel('Bremse Manuell (0 = Aus, 1 = Ein)');
|
|
ylim([-0.1, 1.1]);
|
|
|
|
% Achsenbeschriftung und Titel
|
|
xlabel(x_label_text);
|
|
title(daten.titel, 'Interpreter', 'none');
|
|
|
|
% Zeitmarker auf der X-Achse (bei Realzeit alle 5 Min, sonst dynamisch)
|
|
if use_real_time
|
|
xticks(0:5:max(x_zeit));
|
|
else
|
|
% Alle 60 Sekunden ein Grid-Marker bei Abtastrate
|
|
xticks(0:60:max(x_zeit));
|
|
end |