Queue leeren gibt nicht braunes 1D Array von Signalverläufen aus - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Queue leeren gibt nicht braunes 1D Array von Signalverläufen aus (/Thread-Queue-leeren-gibt-nicht-braunes-1D-Array-von-Signalverlaeufen-aus) |
Queue leeren gibt nicht braunes 1D Array von Signalverläufen aus - wernerIBN - 03.07.2012 14:11 Hi, wie zu sehen [attachment=40523] erfasse ich mehrere Kanäle blockweise als 1D Array von Signalverläufen. Die zeige ich in einem Kurvendiagramm an. Geht. Nun möchte ich diese Daten auch in einen TDMS-File streamen. Mit einem einzigen Kanal lief das bereits, aus meinem Queue leeren-VI kam der Datentyp "1D Array von Signalverläufen" raus den ich genau so an mein TDMS: Schreiben VI geben konnte. Nun habe ich das DAQmx lesen VI von "1Kanal NSamples" auf "NKanäle NSamples" umgestellt, und aus dem Queue leeren-VI kommt nun der Datentyp "1D Array aus Cluster aus 1D Array von Signalverläufen" raus, und zwar in rosa, den ich so nicht an mein TDMS: Schreiben VI geben kann. Wie bekomme ich meine mehreren Kanäle in die TDMS-Datei ? Werner RE: Queue leeren gibt nicht braunes 1D Array von Signalverläufen aus - Schwand - 03.07.2012 16:41 Moin, du könntest das Array, das aus dem Queue leeren rauskommt, in einer For-Schleife und anschließend noch den Cluster aufschlüsseln und dann einzeln ins tdms-File schreiben. Grüßle S. RE: Queue leeren gibt nicht braunes 1D Array von Signalverläufen aus - wernerIBN - 04.07.2012 12:57 Aha. Probier ich aus, danke. Ich wunder mich, wieso das TDMS-Schreiben so was "übliches" wie mehrere Kanäle auf einmal wegschreiben nicht kann... Werde ich erst morgen testen können... Werner RE: Queue leeren gibt nicht braunes 1D Array von Signalverläufen aus - GerdW - 04.07.2012 13:53 Hallo werner, Zitat:wieso das TDMS-Schreiben so was "übliches" wie mehrere Kanäle auf einmal wegschreiben nicht kannKann es doch. Es hat doch dein 1D-Array of Waveform problemlos gespeichert... Es kann nur nicht mit dem kruden Datenformat nach der Queue umgehen: Array of Cluster of Array... Du verwendest dummerweise nur die falsche Funktion zum Auslesen der Queue: nämlich nicht Dequeue, sonst EmptyQueue! Und damit EmptyQueue mit deinen Daten klarkommt, wird ein Cluster in den Datentyp eingefügt! Selbst schuld... Hntergrund: Dein Datentyp ist schon ein 1D-Array. EmptyQueue gibt ein Array des in die Queue geschobenen Datentyps aus. Dummerweise würde jetzt ein 2D-Array herauskommen, was aber problematisch ist, da die einzelnen 1D-Array durchaus verschiedene Längen haben können. Deshalb wird also ein Array of Cluster of Array ausgegeben: hier kann das innere Array wieder verschiedene Anzahl Elemente aufweisen... RE: Queue leeren gibt nicht braunes 1D Array von Signalverläufen aus - wernerIBN - 04.07.2012 14:50 (04.07.2012 13:53 )GerdW schrieb: Hallo werner, Danke für die fundierte Erklärung... und den Tip. |