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!
vielleicht eine Dumme Frage: In der Beilage findet Ihr ein bekannteres Beispiel vector_plot.llb das funktioniert lieb aber nur mit wenigen Vektoren. Über einer bestimmten Grenze (das ist für mich nicht festzulegen, manchmal 50 manchmal 20 Vektoren) sind die Vektoren in irgendeiner Farbe (versuch es mit 100 Vektoren). Bunt ist nicht immer orginell.
Das Beispiel Vector_Plot(2)=modifiziert.llb hat mir der Support gemacht - das Ding schreibt zuerst die Vektoren nun bunt und schreibt dann drüber, das kann bis zu 10 Minuten (3000 Vektoren) dauern - das finde ich auch nicht lustig.
Frage: ist das ein Bug oder ist das blöd programmiert?
ich weiss, worauf du reingefallen bist. Man kann bei den Graphen die Eigenschaften eines Plots per Property Node erst verändern, wenn er existiert. Wann existiert ein Plot? Entweder, er wird schon in der Plot-Legende angezeigt oder nachdem Daten reingeschrieben wurden. Was passiert nun, wenn der Plot nicht in der Legende angezeigt wird? Dann zeichnet LabVIEW den Plot erst einmal mit irgendwelchen intern vordefinierten Farben (habe leider keine Ahnung, wo die stehen). Vorher schon gemachte Property Node Einstellungen werden ignoriert.
Hierzu kann man z.B. einen interessanten Versuch machen.
-Neues VI aufmachen
-Irgendeinen Graphen auf dem Frontpanel plazieren.
-Plot Legende auf 2 Plots vergrößern. Dann Farbe des 2. Plots verändern.
-Plot Legende wieder auf einen Plot verkleinern.
-Dann einmal des VI ausführen (Strg-R)
-Plot Legende wieder auf 2 Plots vergrößern, 2. Plot hat wieder die Default-Farbe.
Anbei ein modifiertes VI, in dem die Eigenschaften des Plots erst nach Erstellen des Plots geändert werden. Ist leider bei vielen Plots nicht sehr schnell, aber funktioniert. (P.S.: Ist aber immer noch schneller, als Bsp. von NI, zumindest wenn das NI-VI zum ersten Mal mit einer sehr großen Zahl von Plots ausgefüht wird).
P.P.S.: So, ich habe noch mal etwas Laufzeit-Optimierung betrieben, also, in der LLB sind 2 zusätzliche VI's. "Vector Plot-2.vi" ist mein erstes Beispiel, "Vector-Plot-3.vi" die laufzeitoptimierte Version. Habe in beiden Varianten deine While-Schleife durch eine For-Loop mit Auto-Indizierung ersetzt, macht das ganze viel übersichtlicher. Außerdem hattest du noch einen kleinen Fehler in deinem VI: Dein XY-Graph enthält insgesamt "Number of Points"+1 Plots, du hast aber nur die Eigenschaften von N Plots gesetzt.
jetzt bin ich platt - toll & danke. Nicht nur Problem gelöst sondern ich habe auch viel gelernt. Vector Plot-2.vi läuft wie gewünscht. Allerdings macht das toll schnelle Vector Plot-3.vi noch immer die Farben in bunt. Könntest Du noch einmal einen Blick darauf werfen?
Danke
Gottfried
' schrieb:<div align="left">Hallo, Gottfried,
ich weiss, worauf du reingefallen bist. Man kann bei den Graphen die Eigenschaften eines Plots per Property Node erst verändern, wenn er existiert. Wann existiert ein Plot? Entweder, er wird schon in der Plot-Legende angezeigt oder nachdem Daten reingeschrieben wurden. Was passiert nun, wenn der Plot nicht in der Legende angezeigt wird? Dann zeichnet LabVIEW den Plot erst einmal mit irgendwelchen intern vordefinierten Farben (habe leider keine Ahnung, wo die stehen). Vorher schon gemachte Property Node Einstellungen werden ignoriert.
Hierzu kann man z.B. einen interessanten Versuch machen.
-Neues VI aufmachen
-Irgendeinen Graphen auf dem Frontpanel plazieren.
-Plot Legende auf 2 Plots vergrößern. Dann Farbe des 2. Plots verändern.
-Plot Legende wieder auf einen Plot verkleinern.
-Dann einmal des VI ausführen (Strg-R)
-Plot Legende wieder auf 2 Plots vergrößern, 2. Plot hat wieder die Default-Farbe.
Anbei ein modifiertes VI, in dem die Eigenschaften des Plots erst nach Erstellen des Plots geändert werden. Ist leider bei vielen Plots nicht sehr schnell, aber funktioniert. (P.S.: Ist aber immer noch schneller, als Bsp. von NI, zumindest wenn das NI-VI zum ersten Mal mit einer sehr großen Zahl von Plots ausgefüht wird).
P.P.S.: So, ich habe noch mal etwas Laufzeit-Optimierung betrieben, also, in der LLB sind 2 zusätzliche VI's. "Vector Plot-2.vi" ist mein erstes Beispiel, "Vector-Plot-3.vi" die laufzeitoptimierte Version. Habe in beiden Varianten deine While-Schleife durch eine For-Loop mit Auto-Indizierung ersetzt, macht das ganze viel übersichtlicher. Außerdem hattest du noch einen kleinen Fehler in deinem VI: Dein XY-Graph enthält insgesamt "Number of Points"+1 Plots, du hast aber nur die Eigenschaften von N Plots gesetzt.
also bei mir funktioniert Version3 (2 verschiedene Rechner). Vielleicht irgend ein kleines Ablaufzeitproblem. Bau mal versuchshalber in der letzten Sequenz zwischen dem Schreiben der Daten in den Graphen und dem Ändern der Property Nodes eine kleine Wartezeit ein. Vielleicht hilft's.
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
also mit mehr als 1000 muss ich's auch erst noch mal probieren. Ich glaube, 500 war mein Maximum. Werde mich noch mal hierzu melden.
MfG, Jens
P.S.: OK, kann das von dir beschriebene Verhalten (leider) bestätigen, so ab ca. 760 Plots. Schade, aber da weiss ich jetzt auch nicht genau, woran das liegt. Aber meine Version 3 war auch schon sehr getrickst.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Sowas lernst du nur durch probieren, so wars bei mir auch...wenn es in irgend nem Buch stehen sollte, dann nur gaaaaaaaaaaaaaanz versteckt...die meisten Bücher sind im übrigen nicht so der Renner...
Gruss
Achim
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
@Achim: Danke für die vorweggenommene Antwort, da kann ich nur zustimmen.
@Gottfried:
Wie Achim schon sagt, herausgefunden durch leidvolle eigene Erfahrung/Probieren, in diesem Fall sogar Anrufe bei NI in München wegen eines fiesen Bugs in LV8.20 (hier will ich aber nicht ins Detail gehen, tut hier nichts zur Sache). LV-Erfahrung seit letztem Jahrtausend muss ja wenigstens für irgendwas gut sein.
Literatur, ehrlich gesagt, keine Ahnung. Habe vor langem mit LV5.0 angefangen, da waren noch viele Papier-Handbücher dabei, mit viel Erklärungen und einem quasi "Selbstlernkurs". Den Rest lernt man dann recht schnell, wenn man sich (die üblicherweise sehr guten) Beispiele im NI-ExampleFinder anschaut und viel mit der rechter Maustaste rumspielt (LV ohne rechte Maustaste unter Windows geht glaube ich nicht).
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!