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!
ich muss gestehen ich komme mit dynamischen Daten überhaupt nicht klar und versuche weitestgehend ohne Express-VIs auszukommen. Die verwirren mich mehr als dass sie mir helfen.
Deshalb verstehe ich wohl auch nicht ganz warum Du ein einspaltiges 2D-Array und nicht gleich eindimensionales als dynamische Daten übergibst.
XY-Graphen haben standartmäßig die Eigenschaft, dass sie bei jedem Eingang neuer Daten die Anzeige überschreiben. Vielleicht weiß ja irgend jemand im Forum wie man das umstellt. Deshalb bekommt man nur eine Graph, wenn man zuvor die Daten zum Beispiel mit indizierten Schleifenausgägen in einem Array sammelt. Der Graph sollte dann außerhalb der Schleife sein, so wie in dem VI, das ich hier drangehängt habe.
Wenn Du Daten live grafisch darstellen willst brauchst wahrscheinlich ein Signalverlaufs-Graph oder wenn Du alle Daten von Punkt null an anzeigenlassen willst ein Signalverlaufs-Diagramm
Ich hoffe Dir hilf das irgenwie weiter.
Grüße
Stefan</div>
25.05.2006, 22:09 (Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2006 22:14 von Lucki.)
Ich weiß nicht genau was Du willst, ob Du alle Graphendaten mit einem Male übergibst oder Punkt für Punkt. Beides ist mit dem Express-VI möglich.
Zwei Dinge mußt Du beachten:
1) Das Express-VI ist nicht so intelligent sich denken zu können, daß die X-Werte für alle Y-Werte geneinsam gelten. Du muß also, wenn Du 4 Kurven darstellen willst, die X-Werte 4 Mal übergeben, auch wenn es die gleichen Werte sind. (Die Datentypen am X- und Y-Eingang sollten gleich sein)
2) Nicht höherdimensionale Vektoren vewenden, um mehrere Kurven darzustellen, sondern besser die Funktion Express/Signalmanipulation/"Signale zusammenfassen" verwenden, und zwar vor dem Y und gleichermaßen vor dem X-Eingang (hier sind es, wie gesagt, 4 mal die gleichen Signale).
Versuche erst mal, eine Kurve vernünftig darzustellen. Dann hast Du schon gewonnen, dann brauchst Du nur noch die weiteren Signale mit den Schaltern zu den dynamischen Signalen X und Y hinzuzufügen.
danke an Lucky für den Tip. Durch Doppelklick auf das ExpressVI kannst Du natürlich das Überschreiben abschalten und das XY-Diagramm dann in die Schleife packen.
Der Siganlverlaufsgraph scheint dagegen mit dynamischen Daten nicht klar zu kommen. Oder?
Ich hab das VI mit Hilfe von Lucky´s Hinweisen mal dahingehend geändert und angehangen.
Was willst Du denn noch, es läuft doch alles sehr gut. Daß zwei von den Grafen erst ihre Daten erhalten, nachdem Du den Stop-Button gedrück hast, ist ja klar, da ja erst dann die Schleife verlassen wird.
Was ich noch änderen würde: Mit einem Eigenschaftsknoten beim Start die Historie-Daten des Siganlverslaufs-Diagramms löschen, siehe Bild
danke für die antworten komme leider erst heute dazu sie auszuprobieren.
@lucki
das mit dem history knoten klingt gut da ich jedoch erst angefangen habe was LabVIEW angeht würde ich gerne nochh wissen was du auf deinen bild als eingang auf dein history knoten gibst.
habe nun um alles eine case schleife gelegt, und möchte halt einmal daten über meinen usb port einlesen, was ja geht, und nun aber auch daten aus dateien einlesen die ich angelegt habe.
wie kann ich den auf meinen xy graph in dem anderen case fall zugreifen und diesem daten übergeben?
vieleicht kann mir auch jemand noch einen tipp geben wie ich die erste spalte meiner datei( da steht das datum und so drin) als letzte spalte bekomme, habe das bisher nicht hinbekommen.
' schrieb:...das mit dem history knoten klingt gut da ich jedoch erst angefangen habe was LabVIEW angeht würde ich gerne nochh wissen was du auf deinen bild als eingang auf dein history knoten gibst.
Ich habe einfach mit der rechten Maustaste auf den Eingang des History-Knotens geklickt und "Erstellen"/"Konstante" gewählt. Die Konstante enthält nur leere Elemente.
' schrieb:habe nun um alles eine case schleife gelegt, und möchte halt einmal daten über meinen usb port einlesen, was ja geht, und nun aber auch daten aus dateien einlesen die ich angelegt habe.
wie kann ich den auf meinen xy graph in dem anderen case fall zugreifen und diesem daten übergeben?
Um von verschiedenen Stellen aus den Graph zu beschreiben, gibt es mehrere Möglichkeiten.
Methode 1:
Am einfachsten geht es durch Anlegen einer lokalen Variablen oder Anlegen eines Eigenschaftsknoten "Wert". Nachteil: Von der Verwendung lokaler Varaiblen wird wegen Performanceeinbußen abgeraten, wenn es sich wie hier um große Arrays oder dergl. handelt.
Methode 2:
Übergabe mit Meldern oder Queues. (Der Melder sollte am Ende des Programms freigegeben werden). Beachten: Die Meldernamen (Hier: "Graph 2") können beliebig sein, müssen aber identisch sein, sonst funktionierts nicht, also nicht verschreiben!
NB: Wenn die Werte X äquidistant sind wie bei Dir, besteht überhaupt keine Notwendigkeite einen XY-Graphen zu verwenden. ein Signalverlaufsdiagramm hätte es auch getan.