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 

Cluster Array



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!

16.07.2008, 17:39
Beitrag #1

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Cluster Array
Hi folks,

folgende Situation bisher:

Ich bin mit einer For Schleife plus Schieberegister ganz gut gefahren einen 2D Array zu füllen.
Sprich ich habe links an das Schieberegister eine "2D Array Konstant" vorgegeben und diese dann mit "Insert into Array" langsam gefüllt.
Später wurden die einzelnen Zeilen mit "Index Array" ausgelesen und weiterverarbeitet.

Jetzt habe ich aber das Problem, dass eine Zeile unter Umständen weniger Spalten hat als der Rest. Ist für LabVIEW kein Problem, denn die verbliebenen Stellen werden einfach mit Nullen aufgefüllt.

Leider macht das beim Auslesen Probleme, weil die zusätzlichen Nullen den Array, sprich den Befehl, verfälschen.

Also bekam ich von einem Kumpel den Hinweis das ganze doch als Cluster aufzuziehen. Dort werde dann die Länge eines jeden hinzugefügten Elements beibehalten, weil es als Element unverändert weitergegeben wird (und eben nicht als Array, den man mit Nullen auffüllen muss bis es passt!).


Jetzt habe ich nur das Problem die Art und Weise wie oben beschrieben mit einem Cluster zu realisieren. Also eine Art Dummy-Cluster vorzugeben, den ich nach und nach mit Komponenten fülle. Sowas wie "Insert into Cluster".

Gibt es das nicht?

Gibt es das in Lab View 6.1 noch nicht?

Oder gibt es eine andere Möglichkeit, wie ich die obige Problematik retten könnte? Sprich programmtechnisch die überzähligen Nullen wieder abzuschneiden...?

Cheers.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.07.2008, 19:04
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Cluster Array
Bisher hast du ja ein 2D-Array of double (ich nehm jetzt einfach mal an, der Basistyp ist double) im Schieberegister. Jetzt machst du folgendes: array of cluster(array of double). Du tust jetzt also in einen Cluster einfach ein 1D-Array of double (selber Basistyp wie vorher) legen. Diesen Cluster legst du dann in das 1D-Array. Davon machst du jetzt eine (leere) Konstante und hängst die an den Schieberegistereingang. Du musst nicht mal das "Insert to Array" ändern. Es muss alles so passen wie bisher.

Sowas wie "Insert into Cluster" brauchst du gar nicht. Du hast jetzt ein 1D-Array mit dem "Basistyp" Cluster.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2008, 19:07
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Cluster Array
Hallo,

hier ist ein Bsp..

   

Sonstige .vi  Array_in_Cluster.vi (Größe: 13,44 KB / Downloads: 324)

Lv80_img

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.07.2008, 09:52
Beitrag #4

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Cluster Array
@ Y-P:

Sorry, aber mein Problem liegt weiter vorne, bei der Erzeugung des Clusters.

Mein Problem liegt eben genau darin, dass von vorneherein nicht klar ist wie viele Cluster ich benötige. Das entscheidet der User durch die Parameter.


Von daher scheint mir die Erklärung von IchSelbst als das was ich benötige, doch leider muss ich sagen...

...mea maxima culpa...

aber: HÄ? Huh

IchSelbst schrieb:Bisher hast du ja ein 2D-Array of double (ich nehm jetzt einfach mal an, der Basistyp ist double) im Schieberegister. Jetzt machst du folgendes: array of cluster(array of double). Du tust jetzt also in einen Cluster einfach ein 1D-Array of double (selber Basistyp wie vorher) legen. Diesen Cluster legst du dann in das 1D-Array. Davon machst du jetzt eine (leere) Konstante und hängst die an den Schieberegistereingang.

Also ich denke ja, dass ich das Prinzip verstanden habe:

Ich stell mir das so vor, dass ich eine Matrix (2D Array) (nicht ganz sauber) auch so darstellen könnte, dass ich einen Spaltenvektor (1D Array) nehme und jeder Eintrag jetzt einen Zeilenvektor (1D Array) darstellt.
Und in LabVIEW sieht das nun so aus, dass ich also einen 1D Array vorgebe, mit dem ich wie bisher weiterverfahre (Insert into Array, Index Array), nur dass meine Einträge jetzt die besagten Cluster sind. Und diese Cluster sind wierum 1D Arrays.
Nur da ich sie jetzt als Cluster in den Array packe, wird da nichts mit Nullen aufgefüllt, weil es eben kein 2D Array ist und die Komponenten, sprich Cluster, unberührt bleiben.

Nur an der Ausführung hakt es noch. Dry

Z.B. habe ich das Array of cluster nicht gefunden. Meinst du "Build Cluster Array" ?
Und wie ist das dann genau zu verstehen? Also ich packe einen 1D Array in einen Cluster in einen 1D Array? Habe ich das so richtig verstanden?

Und nein, ich arbeite nicht mit doubles...ach ich lad mal (wie eh immer am Besten Rolleyes) einen Screenshot hoch.

Dieser Array, der da jetzt rausgeht, soll dann ans Schieberegister gehängt werden, um noch weiter aufgefüllt zu werden.

Cheers.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.07.2008, 09:56
Beitrag #5

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Cluster Array
IchSelbst schrieb:Jetzt machst du folgendes: array of cluster(array of double). Du tust jetzt also in einen Cluster einfach ein 1D-Array of double (selber Basistyp wie vorher) legen. Diesen Cluster legst du dann in das 1D-Array. Davon machst du jetzt eine (leere) Konstante

Meinst du sowas:


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.07.2008, 10:11
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Cluster Array
' schrieb:Meinst du sowas:
Bingo!

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.07.2008, 10:20
Beitrag #7

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Cluster Array
Guten Morgen!Smile

Na immerhin habe ich das hinbekommen, aber insgesamt funktioniert es noch nicht. Dry

Ich habe doch jetzt wie du oben beschrieben hast einen 1D Array angelegt, der als Einträge Clusters hat, die als Einträge wiederum 1D Arrays besitzen....oder? Huh

Also muss ich doch einen 1D Array, mit dem ich den obigen Füllen will, erstmal in einen Cluster umwandeln...dachte ich.

Nur irgendwo scheint da noch ein Gedankenfehler meinerseits zu liegen. -_-


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.07.2008, 11:04
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Cluster Array
' schrieb:Na immerhin habe ich das hinbekommen, aber insgesamt funktioniert es noch nicht.
Das kriegen wir schon. Dry
Erschwerend kommt halt hinzu, dass ich zwar Zeit habe, zu antworten, hier aber kein LV habe.

Zitat:Ich habe doch jetzt wie du oben beschrieben hast einen 1D Array angelegt, der als Einträge Clusters hat, die als Einträge wiederum 1D Arrays besitzen....oder?
Jawohl.

Zitat:Also muss ich doch einen 1D Array, mit dem ich den obigen Füllen will, erstmal in einen Cluster umwandeln
Nein, nicht umwandeln. Sondern mittels des Cluster-Elementes "nach Namen bündeln" den Cluster-Inhalt ersetzen!

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.07.2008, 11:44
Beitrag #9

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Cluster Array
IchSelbst schrieb:Nein, nicht umwandeln. Sondern mittels des Cluster-Elementes "nach Namen bündeln" den Cluster-Inhalt ersetzen!

Du meinst so?

Geht aber irgendwie auch nit.

Aber ich will doch nix ersetzen, sondern an die erste Stelle meines 1D Arrays setzen. Denn dieser Array soll dann später an das Schieberegister gehängt und weiter aufgefüllt werden.

Oder werf ich da noch verschiedene Sachen durcheinander? Dry


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.07.2008, 12:10
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Cluster Array
' schrieb:Du meinst so?
Ja, genau so.

Zitat:Geht aber irgendwie auch nit.
Muss aber. Mellow
Gib mal dem Array im Cluster einen Namen (ganz oben im Kontextmenü des Arrays "Beschriftung" auswählen und Namen vergeben). Dieser Name muss dann im Bündeln stehen.

Zitat:Aber ich will doch nix ersetzen, sondern an die erste Stelle meines 1D Arrays setzen.
Das Ersetzen ist ja nur das Datenschreiben in den Cluster. Dieser Cluster dann, also der Ausgang ebendieses Elementes, wird zum Array aufaddiert (Array erstellen etc.). Dieser Cluster ist ja der Basistyp des nächsten Arrays. Also einfach nach der "Verclusterung" mit den üblichen Array-Elementen weitermachen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Elemente Cluster in Cluster ansprechen simcum 3 3.716 02.10.2023 10:49
Letzter Beitrag: th13
  Wann schließe ich (ActiveX, Excel) Referenzen? + wie Cluster to Array? TpunktN 9 9.887 28.01.2020 14:14
Letzter Beitrag: TpunktN
  (Array of )Cluster direkt als Icon? NoWay 4 4.080 16.10.2019 11:16
Letzter Beitrag: Trinitatis
  Element in Cluster of Array of Cluster ausblenden R.Fuertig 4 7.279 26.09.2016 07:47
Letzter Beitrag: GerdW
  Dynamisches Cluster/Button-Array mit Steuerung Rene123 25 16.314 18.05.2016 08:10
Letzter Beitrag: Rene123
  Ereignisse in Cluster in Array erfassen mez15 7 6.305 15.12.2015 11:24
Letzter Beitrag: mez15

Gehe zu: