LabVIEWForum.de - Ring Eigenschaft innerhalb eines Arrays setzen

LabVIEWForum.de

Normale Version: Ring Eigenschaft innerhalb eines Arrays setzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
[attachment=50557]Hallo zusammen,
ich habe fast das gleiche Problem und zwar möchte ich in einem Array von Cluster, Werte in einem Element setzen. Mein Array hat 4 Elemente und ich versuch gerad mit dieser Methode klappt aber nicht. Kann jemand mir sagen wie ich das erreichen kann? anbei ein Bild davon.
Auf Ihre Vorschläge würde ich mich freuen
Danke
Marcy


(02.07.2009 08:27 )GT123 schrieb: [ -> ]Hallo IchSelbst,

habe es geschaft, aber ich glaube anderst als du meintest.

Bei dem ausgeblendeten Code kam folgende Meldung:

Error 1055 occurred at Property Node in init.vi
Possible reason(s):
LabVIEW: Object reference is invalid.

Der Code der sichtbar ist funktioniert.
Danke.

Gruss
GT123
Hallo Marcy,

bitte deine Fragen genauer formulieren!

Zitat:möchte ich in einem Array von Cluster, Werte in einem Element setzen. Mein Array hat 4 Elemente
Der Cluster hat 4 Elemente. Wieviele dein Array hat ist anhand des Bildes nicht zu erkennen!

Zitat:Kann jemand mir sagen wie ich das erreichen kann?
Was willst du genau erreichen?
In einem Cluster ein Element ersetzen?
In allen Clustern das gleiche Element mit dem gleichen Wert beschreiben? Oder unterschiedliche Werte in die Elemente?
Du stellst ein Stringarray bereit, deine Cluster anthalten aber keine Strings…

Du musst:
- Dein Array lesen.
- Das passende Cluster-Element indizieren.
- Im Cluster den/die Wert(e) beschreiben
- Den Cluster wieder im Array eintragen.
- Das Array zurück in die Anzeige schreiben…
Noch mal um präziser zu sein . Das 3. Element von meinem Cluster ist ein Ring und den will ich mit werten füllen. Also normalerweise benutze ich "Eigentschaftknoten" aber in diesem Fall funktioniert das nicht da es jetz um Cluster geht. Kann jemand mir bitte helfen.
Um eine baldige Antwort freue ich mich



(27.08.2014 10:37 )Marcy schrieb: [ -> ]Hallo zusammen,
ich habe fast das gleiche Problem und zwar möchte ich in einem Array von Cluster, Werte in einem Element setzen. Mein Array hat 4 Elemente und ich versuch gerad mit dieser Methode klappt aber nicht. Kann jemand mir sagen wie ich das erreichen kann? anbei ein Bild davon.
Auf Ihre Vorschläge würde ich mich freuen
Danke
Marcy


(02.07.2009 08:27 )GT123 schrieb: [ -> ]Hallo IchSelbst,

habe es geschaft, aber ich glaube anderst als du meintest.

Bei dem ausgeblendeten Code kam folgende Meldung:

Error 1055 occurred at Property Node in init.vi
Possible reason(s):
LabVIEW: Object reference is invalid.

Der Code der sichtbar ist funktioniert.
Danke.

Gruss
GT123
Hallo Marcy,

in einem Array haben alle Elemente die gleichen Eigenschaften.
Wenn du in einem Cluster den Ring änderst, dann änderst du ihn in allen Array-Elementen…

Zitat:Also normalerweise benutze ich "Eigentschaftknoten" aber in diesem Fall funktioniert das nicht da es jetz um Cluster geht.
Warum soll es nicht funktionieren?
Array-Referenz -> (generische) Referenz auf Element -> Umwandeln nach Cluster-Referenz -> Referenz auf enthaltene Elemente -> Referenz auf Ring
Hallo Gerdes,
Danke für deine schnelle Antwort
mir ist noch nicht klar was du meinst. Ich bin wirklich eine Anfängerin mit dem Program Labview Vielleicht liegt es dran. Könntest du vielleicht ein Beispiel hochladen. Wäre dankbar dafür
Der Ring möchte ich mit 20 Werte vom Datentyp String ausfüllen. Diese sind in einem Array vom String verfügbar und je nach der Auswahl vom Benutzer auf dem Frontpanel wird den Ring mit dem 1. oder 2. Spalte vom dem Array von String ausgefüült.
Grüß


(27.08.2014 12:34 )GerdW schrieb: [ -> ]Hallo Marcy,

in einem Array haben alle Elemente die gleichen Eigenschaften.
Wenn du in einem Cluster den Ring änderst, dann änderst du ihn in allen Array-Elementen…

Zitat:Also normalerweise benutze ich "Eigentschaftknoten" aber in diesem Fall funktioniert das nicht da es jetz um Cluster geht.
Warum soll es nicht funktionieren?
Array-Referenz -> (generische) Referenz auf Element -> Umwandeln nach Cluster-Referenz -> Referenz auf enthaltene Elemente -> Referenz auf Ring
@Marcy:
Da wagt du dich als LabVIEW-Anfängerin aber an ein kompliziertes Thema heran. Das sollte dich aber nicht daran hindern, korrekte Begriffe zu verwenden und deine Frage von Anfang an ausführlich darzulegen. Dein Eifer, alte Threads mit ähnlicher Fragestellung zu finden und sich dort (im Sinne der LVF-Regeln) dranzuhängen in allen Ehren, aber es muss nicht immer sein...

Also:
1) Wenn du die Auswahlelemente eines Ring-Controls verändern willst, dann änderst du eine Eigenschaft des Rings, nicht den Wert!
Deshalb wird das auch über einen Eigenschaftsknoten gemacht, nicht über das Terminal.

2) Array-Elemente sind "Kommunisten", wie ich gerne zu schreiben pflege. Soll heißen: Alle Elemente eines Arrays haben IMMER dieselben Eigenschaften. Das bedeutet z.B., dass innerhalb eines Arrays alle Ring-Elemente immer dieselben Auswahl-Elemente haben. Falls du dem Ring in Array-Element 0 andere Auswahl-Eigenschaften verpassen willst als dem im Array-Element 1..., das geht nicht!!!

3) Du kannst auch direkt im Frontpanel über das Kontext-Menü eine PropertyNode eines Array-Elements erstellen:
[attachment=50560]
Vielleicht ist das die einfachste Lösung deiner Frage (natürlich nur, wenn du nicht Punkt 2 haben willst - wie gesagt, das geht nicht).

Gruß, Jens

Offtopic2
Thema geteilt, hatte nur am Rande mit dem alten Thread zu, an den sich Marcy angehängt hatte.
Einen Array nimmt man vorteilhaft für eine veränderliche Zahl von Elementen. Wenn Marcys Array aber, wie sie schreibt, immer 4 Elemente hat, dann hat das keinen Vorteil, sondern nur den Nachteil des "Kommunismus" bei den Elementen. Von dem "befreit" man sich, indem man statt des Array einen Cluster verwendet. Man hat dann in dem Cluster 4 fast gleiche Cluster, die jeder das besagte Ringelement und was weiß ich sonst noch enthalten. Das Aussehen das Ganzen auf dem FP ändert sich kaum.
Referenz-URLs