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!
Vector-Plot-Uni-3.vi ist ein SubVI zur Darstellung von Vektorfeldern. Stream-plot-test.vi das Testprogramm. Wenn Ihr das Ding mit den Defaultwerten laufen lasst, so bekommt man einen
Error 1077 occurred at Property Node (arg 1) in Vector-Plot-Uni-3.vi->Stream-plot-test.vi
Possible reason(s):
LabVIEW: Invalid property value.
Property Name: Active Plot
aber immer nur beimSchleifenindex 716
und das nur beim ersten Starten - bei jedem anderen Start geht Alles gut ausser man erhöht die Punkteanzahl z.B.: auf 2000 dann kommt der Fehler später, aber auch nur einmal.
Auf NI.COM sind zu diesem Fehler für mich keine zielführenden Hinweise zu sehen.
Hat jemand eine Idee - was habe ich falsch gemacht?
das hatten wir doch schon mal fast genau so. Hab mal kurz einen Blick draufgeworfen, theoretisch sollte es ja funktionieren, aber uns haut scheinbar wieder die Praxis dazwischen. Also gut, hier meine Ergebnisse:
1. Die Größe der Plot-Legende ist offensichtlich bei 762 Plots (Trial and Error) begrenzt -> deshalb hat der Trick damals auch nicht funktioniert.
2. Schön die Idee mit den Referenzen, hätte auch gedacht, das das funktioniert, tut es aber offenbar nicht. Du bekommst wieder die Fehlermeldung, weil meinetwegen Plot Nr. 800 nicht existiert, da sich ja die Plot-Legende nicht so groß ziehen lässt, und das Schreiben in die Property-Node->Value scheint hier nicht auszureichen.
Dann habe ich noch mal etwas rumgespielt: Es gibt da so eine schöne Property Node des Frontpanels, die da heisst "DeferPanelUpdate". Ich hab mal folgendes mit meinem ersten Vorschlag von damals probiert: Vor dem Beschreiben DeferPanelUpdate auf TRUE, dann XY-Graph beschreiben (es wird erst mal nichts angezeigt, bekomme auch keine Fehlermeldung), und dann wieder DeferPaneUpdate auf FALSE -> Plötzlich sind die Graphen wieder bunt.
Deshalb hier jetzt noch ein letzter Vorschlag als Nachtrag zu unserer letzten langen Diskussion:
nur jetzt viel schöner und als SubVI :-) und mit dem DeferPanelUpdate viiiiiiiiiel schneller
> 1. Die Größe der Plot-Legende ist offensichtlich bei 762 Plots (Trial and Error) begrenzt
da bin ich nicht Deiner Meinung da es ja beim zweiten Mal funktioniert. Ich habe den Eindruck da läuft ein Puffer über, wird aber dennoch angelegt und beim nächsten Mal ist der Puffer brav da. In diese Richtung deutet auch dass der Aufbau des Diagramms mit 2000 Punkten (ohne DeferPanelUpdate) 20Minuten dauert und beim nächsten Mal 60Sec.
Ein Workaround wäre (wie ein BASIC Programm GOT 100 :-) ein Restart des SubVis bei Fehler - aber kann man das?
' schrieb:Hallo Jens
> 1. Die Größe der Plot-Legende ist offensichtlich bei 762 Plots (Trial and Error) begrenzt
da bin ich nicht Deiner Meinung da es ja beim zweiten Mal funktioniert. Ich habe den Eindruck da läuft ein Puffer über, wird aber dennoch angelegt und beim nächsten Mal ist der Puffer brav da. In diese Richtung deutet auch dass der Aufbau des Diagramms mit 2000 Punkten (ohne DeferPanelUpdate) 20Minuten dauert und beim nächsten Mal 60Sec.
Hier unterliegst du einem Denkfehler. Du/wir setzen den XY-Graphen nach dem 1. Durchlauf des VI's nicht zurück. Somit sind z.B. im Graphen noch 800 Plots gespeichert. Dann lässt sich beim 2. Durchlauf auch die entsprechende Property Node ohne Fehlermeldung setzen. Trotzdem lässt sich der Länge der Plot-Legende nicht über 762 vergrössern. Aber das Graph-Element kann schon mehr Plots vertragen.
Was ich jetzt eigentlich als Lsg. für dich vorschlagen will, ist eine Aufteilung der Beschreibung des Plots:
1. Cluster mit den Vektoren erstellen.
2. Diesen Cluster dann in deinen XY-Graphen schreiben (auf dem Frontpanel, so wie's aussieht).
3. Jetzt DeferPnlUpdate auf TRUE, dann Farbeigenschaften ändern, dann wieder DeferPnlUpdate auf FALSE.
Somit wären wir (fast) bei der Lsg, die dir mal von NI vorgeschlagen wurde, nur dass durch das Aufschieben des Neuzeichnens am Bildschirm das ganze sehr flott geht.
Kleiner Nachteil: Bei sehr vielen Vektoren wird man kurz die Vektoren bunt sehen, bevor sie dann alle einfarbig dargestellt werden.
MfG, Jens
P.S.: In deinem VI Vector-Plot-Uni-3.vi fehlt im Case "Vektor" noch ein +1. Dein letzter Vektor wird sonst falsch gezeichnet.
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!
>P.S.: In deinem VI Vector-Plot-Uni-3.vi fehlt im Case "Vektor" noch ein +1. Dein letzter Vektor wird sonst falsch gezeichnet.
Toll, was Du alles siehst -danke
Gottfried
Mir war halt gleich beim Probieren mit wenigen Vektoren aufgefallen, dass der letzte Vektor wieder falsch (Farbe/Dicke) dargestellt wurde. Da war eigentlich alles klar, da ich das schon beim letzten Mal behoben und moniert habe.
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!
da ich mit meinen letzten Tips und Hinweisen selber nicht so sonderlich zufrieden war, hier nochmal ein Update:
1. Wie groß man per Property Node die Plot-Legende zur Laufzeit aufziehen kann, hängt offenbar von der Schriftart &-Größe ab. Ich habe z.B. mal spaßeshalber den Font auf 2pt-Größe verkleinert, dann waren so ca. 1200 Plots möglich. Daher kommen wahrscheinlich auch unsere Abweichungen, du hast ja was von 716 Plots gesagt, ich hatte 761 Plots, bevor es dann mit Fehlermeldungen losging. Die Versuche deuten darauf hin, dass bei einer y-Größe von 16000 Pixel der Plotlegende Schluß ist.
Änderungen beinhalten:
a) Statt Build-Array habe ich Replace-Array-Subset Aufrufe bei der Zusammenstellung des Vektorfeldes verwendet, sollte schneller sein.
b) Dieses Vektorfeld muss natürlich nur 1x am Schluß in den XY-Graphen geschrieben werden und nicht innnerhalb der For-Schleife.
c) Jetzt zum leidigen Thema Plot-Color ändern. Das mache ich jetzt, nachdem der XY-Graph geschrieben wurde. Damit das ganze gescheit flott läuft, habe ich diesmal einen anderer Trick angewendet. Das mit DeferPanelUpdates hat mir nämlich NICHT mehr gefallen. Ich mache jetzt den XY-Graphen unsichtbar, dann Farbupdate, dann Graph wieder sichtbar. Wichtig übrigens an der Property-Node: Erst Vektorfeld in Property Value schreiben, dann erst Element unsichtbar. Sonst gibt es wieder massig Fehlermeldungen!
Ob das ganze dann auch noch mit Referenzen funktioniert, überlasse ich erst mal dir zum ausprobieren.
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!
Pardon - jetzt ist mir ein "WAFFFFFF" aus demMund gekommen - das Ding ist ja flott wie eine Rakete - wenn ich bedenke dass 3000 Vektoren 20 Minuten früher brauchten