Klassifzierung: Intern
Laden der Daten (Matlab) V5
Alles kontrollieren: Pfade/Verzeichnisse, Namen usw. Außerdem warum steht in der Überschrift Matlab aber im Text wird trotzdem von Python gesprochen und der Code ist glaube ich auch Matblab (Soll ich Python mit Matlab im Text ersetzen)????
Die Daten die mit der Software aufgezeichnet werden, können durch den Einsatz von Python Scripts geladen und dargestellt werden. Es ist zwischen den folgenden Daten zu unterscheiden:
Aufgezeichnete Daten: Das sind jene Daten die periodisch gespeichert werden (10 Sekunden oder 10 Minuten Werte), jedoch nicht mit der vollen Abtastrate. Diese Daten können Effektivwerte von Spannungen und Strömen sein. Diese Daten werden in den Verzeichnissen M_xxx/P_xxx/D_xxx/async/00001.dat hinterlegt.
Transiente Daten: Das sind jene Daten die in voller Abtastrate bei der Auslösung eines Triggerereignisses gespeichert werden. Diese Daten werden in den Verzeichnissen M_xxxx/sync/transients/TRA_xxxxxxxx/TRA_xxxxxxx_xxxx.ams hinterlegt.
Laden von aufgezeichneten Daten:
Zum Laden von aufgezeichneten Daten in Python wird die Funktion getAsyncSingleValue verwendet. Die Übergabeparameter der Funktion sind die folgenden:
abasedir: Pfad des Verzeichnisses, in welchem sich die Messorder (Startend mit M_ befinden)
measurement: Name der Messung (Startend mit M_)
powermodule: Angelegtes Modul bei der Durchführung von Messungen (Startend mit P_)
achannelcode: Auswahl eines gewünschten Kanals (*.dat Dateien)
astarttime: Startzeit ab wann die Daten geladen werden sollen. Mit 0 wird der erste Werte genommen.
aendtime: Stoppeit der zu ladenden Daten. Mit 0 wird der letzte Werte geladen. Mit der Wahl von astarttime = 0 und aendtime = 0 werden die gesamten Daten geladen.
avaluetype: Auswahl des Minimums (1), des Maximums (2), des Mittelwert (3), der Abweichung (4)
Beispielcode:
abasedir = 'C:\test_file'
measurement = '20201202_120611_B5EDFC5F-31BD-4851-BC07-922E0C35B418'
powermodule = '425201827841'
achannelcode = '00003'
astarttime =0
aendtime = 0
avaluetype = 3
data = getArrayValue (abasedir, measurement, powermodule, achannelcode, astarttime, aendtime, avaluetype) ;
time = data(:,1);
data = data(:,2);
plot(time,data)
Laden von transienten Daten
Zum Laden von transienten Daten wird die Funktion getTransient verwendet. Die Übergabeparameter der Funktion sind die folgenden:
afile: Direkte Pfad der zu ladenden Datei.
achannelindex: Index des zu ladenen Kanals
astartoffset: Anzahl an Samples die beim Laden nicht berücksichtigt werden
amaxsize: Maximale Anzahl an Samples die geladen werden
Beispielcode:
afile = 'C:\test_file\M_20201202_120611_B5EDFC5F-31BD-4851-BC07-922E0C35B418\sync\transients\TRA_00000000\TRA_00000000_0000.ams'
achannelindex = 4;
astartoffset=0;
amaxsize = 0;
% Laden der transienten Daten
data = getTransient(afile, achannelindex, astartoffset, amaxsize);
info = loadjson('C:\test_file\M_20201202_120611_B5EDFC5F-31BD-4851-BC07-922E0C35B418\M_20201202_120611_B5EDFC5F-31BD-4851-BC07-922E0C35B418.amc')
time = (0:1:length(data)-1)'./info.inputs.analog.samplerate;
plot(time,data)