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!
28.04.2010, 16:46 (Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2010 16:47 von joe79.)
beim rumspielen mit LabVIEW (8.6) bin ich auf ein Verhalten gestossen das ich nicht ganz verstehe. Zur Anschauung habe ich eine kleine Beispiel vi erstellt und an diesen post angehaengt:
Ich wollte verschieden Anzeigen, unter anderem einen WaveformChart und einen numerischen Wert in einem Cluster zusammenfassen und gemeinsam plotten. Innerhalb der Anwendung wollte ich dann einen neuen Wert ueber einen property node uebergeben, und zwar so wie ich es bei cluster 2 gemacht habe.
Waehrend der numerische Wert sich aber wie erhofft aendert, scheint der wavechart allerdings keine neuen Werte zu erhalten.
Probiere ich das gleiche nur bei einem Wavechart (der sich nicht in einem cluster befindet, im Beispiel vi wavechart 2) so kann ich ueber einen property node neue Werte darstellen.
Kann mir jemand dieses Verhalten erklaeren?
Mit Cluster 3 im Beispiel habe ich einen workaround fuer das Problem gefunden, der mir aber selber etwas suspekt ist. Gibt es eine schoenere Moeglichkeit als diese?
' schrieb:Sieht nach Bug aus.
Zumindest fällt mir nichts ein, was für ein Feature spricht.
Mir schon. Die Wertzuweisung über Eigenschaftknoten beansprucht gegenüber der direkten Wertzuweisung die ca. 200 fache Zeit. Man sollte das also möglichst vermeiden, und um dieser Empfehlung noch etwas Nachdruck zu verleihen, wurde dieser Bug (- der in Wirklichkeit ein erzieherisch wertvolles Feature ist -) eingebaut.
Auch wenn Geschwindigkeit bei meiner Anwendung eigentlich kein Problem ist muss ich dann doch nach Alternativen fragen:
In meiner Anwendung messe ich bis zu 20 Kanäle einer Switcherkarte, und möchte die Ergebnisse sowohl grafisch darstellen, als auch verschiedene numerische Werte (aktueller Wert, Median...) gleichzeitig anzeigen. Dabei will ich für jeden Kanal die Positionierung am Frontpanel frei wählen können. Die straightforward Lösung wäre nun natürlich die entsprechenden Displays separat zu erstellen, und im Blockdiagramm in eine case structure mit 20 cases zu stecken. Da ich aber ein fauler Hund bin und nicht 20 cases mit quasi identischem Inhalt haben wollte habe ich die cluster icons im Blockdiagramm irgendwo hin getan, mir für jedes eine Referenz geschaffen, und die Referenzen in einen array vereinigt. Funktioniert soweit fein, auch wenn ich mich fuer das WaveChart update wie im Eingangspost beschrieben ein bisschen auf den Kopf stellen muss.
Mein erster Ansatz einfach die Cluster direkt in einem array zusammenzufassen scheiterte daran dass ich es nicht geschafft habe bei einem array die Positionierung am frontpanel frei wählen zu können.
Gibt es eine Standardlösung für dieses Problem?
01.05.2010, 16:03 (Dieser Beitrag wurde zuletzt bearbeitet: 01.05.2010 16:53 von Lucki.)
' schrieb:Gibt es eine Standardlösung für dieses Problem?
Natürlich, das Haupinstrument dabei ist die Funktion "Array to Cluster" (- bzw. Cluster to Array, wenn es sich um Bedienelemente handelt -) Damit kann man Beides zugleich haben: Auf dem BD das Array, das sich programmtechnisch gut handhaben läßt. Und auf dem FP den Cluster, dessen Elemente sich frei platzieren lassen. Den Clusterrahmen kann man dann noch transparent machen, so daß man nur noch die Elemente sieht. Mit etwas Trickserei lassen sich die Clusterelemente sogar ganz frei platzieren, also z.B. frei verteilt auf dem FP zwischen anderen Elemeten, die überhaupt nicht zum Cluster gehören. Wenn es Dich interessiert, suche ich noch ein Beispiel.
Edit: Wenn Ralf ein VI bringt, dann darf ich doch auch nicht zurückstehen. Also hier schnell noch das Beispiel:
noch ein Tipp, der indirekt mit deinem VI zu tun hat:
Du kannst zum Chart auch ein DigitalDisplay sichtbar machen (Rechts-Klick->Visible Items), das erspart dir den zusätzlichen NumericIndicator und das doppelte Daten zuweisen...