' schrieb:Woran der Fehler liegt kann ich dir leider nicht sagen, aber es hört sich so an, als ob ein Puffer nicht schnell genug ausgelesen wird. Als Zeit nimmst du ja nicht die Zeit, bei der ein Messwert erzeugt wird oder am PC eintrifft, sondern du speicherst den Zeitpunkt der Speicherung selbst. Was du auf jeden Fall machen solltest ist umwandeln der Skalare in Arrays entfernen. Was hat des denn für einen Sinn? Nimm deine Messwerte und schreibe alle zusammen in ein 2D Array (Schieberegister) und speicher dieses erst ab, wenn mehr als 1000 Messwerte pro Kanal im Array sind. Das hat den Vorteil, dass die Funktion tdms-Schreiben schneller ist und das *.tdms_index wesentlich kleiner ausfällt. Evtl kannst du dir dann das defragmentieren sparen. Anbei noch das gewünschte VI.
Vielen Dank für deine Hilfe. Ich bin relativ neu im Arbeiten mit LabVIEW. Habe auch schon von diesem Schiebereister gehört nur leider noch nie wirklich in der Richtung was damit gemacht. In Verbindung mit einer For-Schleife werden N Werte (Anzahl der Werte abhängig von der Anzahl der Schieberegister) metaphorisch auf N Blätter geschrieben, bevor sie weiter gegeben werden. Bei einer Whileschleife werden die Werte so lange gespeichert, bis die Schleife beendet wird. Ist das so korrekt?
Ich will, auch während der Speicherung, online die Messwerte sehen und auch jeder Zeit die Messwertaufnahme beenden können.
Meine Fragen sind nun, bevor ich anfange mein ganzes Programm umzustellen.
Müsste ich alles, was sich jetzt in der While-schleife befindet, beispielsweise bei dem Wii-Messprogramm, in eine Forschleife packen und mit Hilfe einer Case-Struktur zwischen dem Speichern und dem Nichtspeichern wechseln (So wie es auch bei der Kamera gemacht wurde)? Nur die Stränge zwischen die TDMS: Schreiben und meinen Skalaren durch ein Schieberegister laufen lassen wäre ja sinnlos.
Wie beende ich eine For-Schleife bevor sie die 1000 Messwerte erreicht hat. Die restlichen werte sollen j auach noch meine TDMS: Schreiben erreichen und danach such noch gewährleistet bleiben, dass die TDMS auch gescheit geschlossen wird.
Wie du bestimmt merkst, habe ich ein paar Probleme mit dem Aufbau des Programmes wegen der Zwischenspeicherung durch Schieberegister.
Ich bin euch echt sehr dankbar für eure Hilfe. Ich arbeite schon fast 3 Monate ganz alleine an diesem Projekt. Mein Vorgehen bis jetzt habe ich den Affen abgeschaut. Aber mir fehlt nach so einer langen Zeit einfach die Motivation die Programme durch Versuch und Irrtum zusammenzupfuschen.
ALSO NOCHMALS DANKE