Array aus Messdatenarrays - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenkommunikation (/Forum-Datenkommunikation) +---- Thema: Array aus Messdatenarrays (/Thread-Array-aus-Messdatenarrays) |
Array aus Messdatenarrays - Yamaha - 11.12.2012 11:35 Hallo zusammen, Ich bin an einem Messaufbau und müsste unter anderem die Messwerte von einem Agilent Datenlogger 34970A Auslessen und bearbeiten. Zur Herausforderung: Die Werte vom Datenlogger werden in einem String herausgegeben (Wert(Space)Einheit(Komma)Kanal(Komma)Wert.... Bsp: 351 Hz,101,... (Ausgewählte Kanäle aufteigend, 66 insgesamt möglich) Den String habe ich nun zerelegt und Arrays daraus gebildet, bei welchen ich nun Statistik nach einer Anzahl von Messungen machen möchte (Mean, Std Abw...) Das Problem ist, das ich nun Arrays habe welche die Werte von allen Kanälen haben. Daraus bräuchte ich Arrays mit nur dem jeweiligen Kanal vom gleichen Index, um mit den jeweiligen Kanälen eine Statistik zu machen. Also der Datenlogger misst zum Bsp. 5 mal durch gibt mir 5 Arrays wo ich an Anzahl von darin vorhandenen Kanälen (Arraygrösse) Arrays bilden möchte wobei der jeweilige Index (Kanal) von den Arrays ein neues Array bilden sollte. Das Ganze sollte dynamisch sein. Leider habe ich noch keine guten Lösungsansätze dazu... Danke im Voraus für die Hilfe, Grüsse aus der Schweiz. RE: Array aus Messdatenarrays - Kasi - 11.12.2012 12:59 Ich würde die Angaben zum Kanal und zum Wert zusammen in einen Cluster packen und diesen entsprechend verarbeiten. Hier eine mögliche Lösung in dieser Weise: [attachment=42600] RE: Array aus Messdatenarrays - Yamaha - 11.12.2012 18:02 Vielen Dank Kasi, Konnte den Lösungsansatz mit den Arrayclustern anwenden um die Daten zu verarbeiten. Habe das fertige VI zum testen im Anhang. Danke nochmal, echt top. RE: Array aus Messdatenarrays - Kasi - 12.12.2012 08:26 Ja, genau, sehr hübsch (insbesondere wesentlich besser dokumentiert (und ganz unauffällig auch meinen Fehler mit dem "alten" Channelwert korrigiert )) Eine kleine Anmerkung: Die "Insert into Array"-Funktion hängt in deiner Lösung immer ein Element an den Anfang des Arrays (bei Index 0). Das kann bis zu 100 mal langsamer sein, als es an das Ende des Arrays zu hängen. Bei wenigen und kleinen Arrays fällt das Performance-mäßig noch nicht auf, aber ich würde trotzdem versuchen, das zu ändern, um solche Flaschenhälse direkt am Anfang zu vermeiden. Außerdem kannst du ganz am Anfang die Zusammenführung der beiden Channel und Value Arrays am Anfang sehr viel direkter mit auto-indexing lösen, also einfach direkt beide Arrays in die For-Schleife geben und die auto-indizierten Werte Clustern. Dann brauchst du dein N nicht bestimmen und musst keine pseudo-Laufindexe (dieses Shift-register +1) erzeugen (welches auch direkt über den Laufindex i unten links funktioniert hätte )). RE: Array aus Messdatenarrays - Lucki - 12.12.2012 08:53 Habe mir mal Dein VI zum String zerlegen angeschaut. Mit der Funktion "Tabellen-String nach Array" wäre die Zerlegung billiger zu haben gewesen: [attachment=42613] RE: Array aus Messdatenarrays - Yamaha - 13.12.2012 16:54 Bonjour, Vielen Dank für die Verbesserungen Kasi und Lucki. Bin froh um jede Vereinfachung da es ein grösseres Programm mit Motor, Datenlogger, Oszilloskop, Netzgerät und Excel sein wird. Da kommt mir eine möglichst schnelle Datenverarbeitung sehr entgegen. Gruss |