Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich lese 5 Sensoren über 24h aus und schreibe alle 40ms daten in ein Logfile. Nur wenn ich das logfile wieder einlesen will dauert das extrem lang, und ich schätze es liegt wohl nur an meinem schlechten source ;-) vielleicht kann mir da ja einer weiterhelfen.
Speichere Logfile:
5 Sensoren werden zum Cluster zusammengefügt, führe das ganze noch mit einem alarmbyte zusammen und speichere es. I steht auf 90.000 das ist umgerechnet fast 1h Logfile.
Lese Logfile:
Ich löse das cluster wieder auf und erstelle für jeden Sensor ein Array.
Die Arrays gebe ich dann aus um mit einem anderen VI die schwellwerte etc festzustellen.
90.000 Punkte lesen dauert so 6 Minuten. d.h. 24h logfile bräuchte zum einlesen so 2 Stunden und 24 Minuten, was unzumutbar wäre.
wenn ich die arrays nicht erstelle und nur das Kurvendiagramm / Stapelplot anzeigen lasse, dauert das ganze nur 3 Sekunden.
Benutze anstelle von lokalen Variablen lieber Schieberegister.
Aus speicher-management-gründen solltest du bei dieser Größe deiner Arrays nicht die Funktion "Wert hinzufügen" benutzen, sondern "Wert ersetzen". Hierzu musst du an Anfang ein Array erstellen, das bereits die Endgröße hat. In deinem Falle müsstest du also aus der Größe der Datendatei auf die Größe des Array schließen.
Möglicherweise würde auch ein mehrdimensionales Array (anstelle mehrerer eindimensionaler) Vorteile bringen.
Ich würde noch folgendes probieren: Speichere die Daten so ab, dass du sie mit einem einzigen Lesebefehl komplett lesen kannst.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).