Dann musst du jetzt deine Versuchs-VIs posten, dann finden wir heraus, was da geklappt hat.
Fakt ist, dass es so wie du es gepostet hast, nicht funktionieren kann! THINK Dataflow!
Machen wir nur die beiden oberen Schleifen:
- Deine Erfassungsschleife schiebt immer wieder Daten in die Queue, die Analyse Queue holt sich die Datensätze - wenn sie da sind - und verarbeitet sie.
- Jetzt wird die Erfassungsschleife beendet
- Die Analyseschleife arbeitet weiterhin schrittweise die Elemente aus der Queue ab.
- Gleichzeitig wird hinter der Erfassungsschleife immer wieder nachgeschaut, ob die Queue leer ist.
- Wenn die Queue leer ist (d.h. die Analyseschleife hat das letzte Element abgearbeitet und startet auch wieder von vorne), zerstörst du die Queue.
- Durch das Zerstören der Queue wird das Warten von "Dequeue Element" beendet - mit einem Fehler! Und dadurch auch deine Schleife, ABER: Es wird auch noch einmal der Default-Datentyp der Queue verarbeitet!!! Das willst du doch gar nicht.
Diesen Schrittkette hast du zweimal, ohne Error-Handling kommen also 2 eigentlich nicht existente Datenpakete am "Write TDMS" an. Welches jetzt genau die "Unbenannt" Spalten erzeugt, das habe ich mir nicht angeschaut - mglw. sogar beide.
Prinzipiell ist der Aufbau i.O. - bis auf die fehlende Fehlerbetrachtung, vor allem da du einen Fehler zur Beendung der Schleifen verwendest.
Gruß, Jens
P.S.: Ich bin selber auch schon in diese Falle getappt, das passiert dir jetzt 1x, und dann nie wieder. Wenn du es noch besser machen willst, dann beachtest du auch den "Timed-Out" Ausgang am Dequeue...
Nachtrag: In gewissen Grenzen hängt dein Problem auch mit dem Datentyp für deine Queues zusammen. Ein Cluster enthält auf jeden Fall Elemente, ein Array kann auch keine Elemente enthalten. Wobei "hole Element 0" eines leeren Arrays auch wieder den Default-Datentyp liefert.