Files
2026-09-16 06:25:24 +02:00

67 lines
1.4 KiB
Matlab

%% TwinCAT Scope CSV importieren
filename = 'Scope YT NC Project-0-Platten.csv';
%% Datei komplett einlesen
lines = readlines(filename);
%% Beginn der eigentlichen Messdaten finden
dataStart = find(startsWith(strtrim(lines),"0,"),1,'first');
if isempty(dataStart)
error('Beginn der Messdaten nicht gefunden.');
end
%% Numerischen Teil temporär speichern
tmpFile = [tempname '.csv'];
writelines(lines(dataStart:end), tmpFile);
%% Daten einlesen
M = readmatrix(tmpFile);
delete(tmpFile);
%% Signale extrahieren
data.ACTPOS.t = M(:,1);
data.ACTPOS.y = M(:,2);
data.SETPOS.t = M(:,3);
data.SETPOS.y = M(:,4);
data.ACTVELO.t = M(:,5);
data.ACTVELO.y = M(:,6);
data.POSDIFF.t = M(:,7);
data.POSDIFF.y = M(:,8);
data.ActTorque.t = M(:,9);
data.ActTorque.y = M(:,10);
data.current_mA.t = M(:,11);
data.current_mA.y = M(:,12);
%% Strom skalieren (ScaleFactor = 0.001 aus Header)
data.current_A = data.current_mA.y * 0.001;
%% Beispielplot
figure;
subplot(3,1,1)
plot(data.ACTPOS.t/1000, data.ACTPOS.y, ...
data.SETPOS.t/1000, data.SETPOS.y);
grid on
xlabel('Zeit [s]')
ylabel('Position')
legend('ACTPOS','SETPOS')
subplot(3,1,2)
plot(data.ACTVELO.t/1000, data.ACTVELO.y);
grid on
xlabel('Zeit [s]')
ylabel('Geschwindigkeit')
subplot(3,1,3)
plot(data.ActTorque.t/1000, data.ActTorque.y);
grid on
xlabel('Zeit [s]')
ylabel('Drehmoment')