LabVIEWForum.de
1D Array Sortieren und in 2D Tabelle speichern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: 1D Array Sortieren und in 2D Tabelle speichern (/Thread-1D-Array-Sortieren-und-in-2D-Tabelle-speichern)



1D Array Sortieren und in 2D Tabelle speichern - eg - 02.09.2008 18:52

Hallo Leute!

Wahrscheinlich ist es schon spät und ich muss einfach nach Hause, aber trotzdem meine Frage an euch.

Ich habe ein 1D Array aus Cluster:

GeräteId
SensorId
Anzahl Sensoren
Datenwert

Nun muss ich zunächst es nach GeräteId sortieren, dann in mehrere einzelne Arrays aufteilen (pro Gerät ein 1D Array), dann diese einzelne Arrays nach SensorId sortieren und überprüfen ob alle Sensordaten angekommen sind, wenn nicht, dann die fehlenden Daten mit XXX ersetzen.

Am Ende soll eine 2D Tabelle mit Daten rauskommen:

Gerät Sens1 Sens2 Sens3 Sens4

1 56 43 24 45
2 85 38 27 84
3 84 28 49 94
4 95 XX 74 29
5 99 46 83 XX

Mit XX sind also die fehlenden Daten gekenzeichnet. Ich bin schon seit einer Stunde dran, komme aber nicht an die Lösung. Könnt ihr mir da helfen bzw. Tipps geben?

Danke schön, eg


1D Array Sortieren und in 2D Tabelle speichern - MikeS81 - 02.09.2008 19:09

Hallo Eugen,
wo können denn Daten verloren gehen? Was prüfst du denn in der 2. Schleife? Du kannst doch die Werte nach dem sortieren gleich in eine Array schreiben, oder fehlt mir da jetzt etwas?

Mike


1D Array Sortieren und in 2D Tabelle speichern - eg - 02.09.2008 21:01

Also es gibt mehrere Geräte mit mehreren Sensoren.

Ich schicke über CAN ein Befehl ab, dann warte auf die Antworten eine bestimmte Zeit. Wie viele Geräte am Bus hängen wird im Programm eingestellt, wie viele Sensoren welches Gerät hat steht im Datenpaket (Anzahl Sensoren im Cluster).

Vom CAN Treiber bekomme ich das oben genanntes Array aus Cluster. Und nun muss ich die empfangenen Daten sortieren und in einer Tabelle darstellen.

In der zweiten Schleife mache ich die Aufteilung in Arrays pro Gerät. Damit sollte ein 1D Array aus mehreren 1D Arrays rauskommen. Bedeutet ein 2D Array, woraus ich dann die Tabelle bilden will.

Gruß

P.S. vereinfacht gesagt will ich aus:

12
12
12
56
56
56
56
78
78

getrennte Arrays bekommen

12
12
12

56
56
56
56

78
78

Das würde mich schon weiterbringenBig Grin


1D Array Sortieren und in 2D Tabelle speichern - eg - 03.09.2008 13:19

Also ich habe es jetzt gelöst. Die Lösung ist aber nicht ganz trivial, habe dafür 3 SubVIs erstellen müssen.

Danke


1D Array Sortieren und in 2D Tabelle speichern - MikeS81 - 03.09.2008 13:44

' schrieb:Also ich habe es jetzt gelöst. Die Lösung ist aber nicht ganz trivial, habe dafür 3 SubVIs erstellen müssen.

Danke

Hallo Eugen,
kannst du die Lösung zeigen? Vielleicht hilft sie mal jemand anderem?

Im Anhang mal ein VI das dein Array "12,12,12,56,56,56,78,78" aufteilt.

Mike


1D Array Sortieren und in 2D Tabelle speichern - eg - 03.09.2008 14:36

Habe jetzt wie gesagt 3 VIs erstellt.

Einfach das Sort.VI aufrufen und ausführen, die anderen 2 sind SubVIs.

Lv80_img[attachment=14320]

P.S. die fehlenden Daten werden zur Zeit nicht mit XXX ersetzt, bin noch dran.