INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Array aus Messdatenarrays



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!

11.12.2012, 11:35
Beitrag #1

Yamaha Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Aug 2012

11.0.1
2011
DE



Array aus Messdatenarrays
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.


Angehängte Datei(en) Thumbnail(s)
   

10.0 .vi  Statistik.vi (Größe: 6,65 KB / Downloads: 192)

8.0 .vi  Stringzerleger_Messwerte.vi (Größe: 20,89 KB / Downloads: 191)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.12.2012, 12:59
Beitrag #2

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
RE: Array aus Messdatenarrays
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:
   

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.12.2012, 18:02
Beitrag #3

Yamaha Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Aug 2012

11.0.1
2011
DE



RE: Array aus Messdatenarrays
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.


Angehängte Datei(en)
8.0 .vi  Messwerte_Statistik.vi (Größe: 23,38 KB / Downloads: 166)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.12.2012, 08:26 (Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2012 08:47 von Kasi.)
Beitrag #4

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
RE: Array aus Messdatenarrays
Ja, genau, sehr hübsch (insbesondere wesentlich besser dokumentiert (und ganz unauffällig auch meinen Fehler mit dem "alten" Channelwert korrigiert Big Grin))
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 Wink)).

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.12.2012, 08:53
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Array aus Messdatenarrays
Habe mir mal Dein VI zum String zerlegen angeschaut. Mit der Funktion "Tabellen-String nach Array" wäre die Zerlegung billiger zu haben gewesen:

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.12.2012, 16:54
Beitrag #6

Yamaha Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Aug 2012

11.0.1
2011
DE



RE: Array aus Messdatenarrays
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Gehe zu: