LabVIEWForum.de - Graph, Pfad

LabVIEWForum.de

Normale Version: Graph, Pfad
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,
ich habe hier 2 Fragen:

1. Graph:
Ich habe mir einen Puffer erstellt mit 100 Werten. Wenn der Puffer voll ist, fliegt der älteste Wert raus, dann wird geschoben und dann ein neuer Wert hinzugefügt. Nun ertstelle ich 2 Arrays aus dem Gepuffertem, die ich in einem Cluster zusammenfüge. Diesen Cluster lasse ich dann mit einem XY-Graph zeichnen. Da sich nun die Werte immer erneuern und der Graph bei jedem While-Schleifendurchgang die Werte neu zeichnet, wandert natürlich der Graph. Nun wollte ich eigentlich wissen, ob es möglich wäre, dass mein Graph irgendwie die alten Werte behalten könnte und neue Werte dann einfach dazuzeichnen könnte? Wichtig dabei ist, dass ich die zu zeichnenden Arrays nicht vergrößern möchte! (Denn dann ist ja die Funktion des Puffers überflüssig!).

2. Pfad:
Ist es möglich, dass ich ein allgemeinen Pfad einer Datei angebe? Ich habe eine Datei erstellt, in der ich meine Anfangswerte speichere. Diese will ich automatisch in dem Verzeichnis und Unterverzeichnissen, in dem sich das eigentliche Programm befindet, suchen. Falls sie nicht gefunden wird, soll ein Dialog auftauchen. Also es geht hier nicht um die absolute Pfadangabe! Hitergrund ist der, dass dieses Programm mit der entsprechenden Datei auch auf anderen PCs (da ist der absolute Pfad anders als bei mir) laufen soll.

Gruß Joe
' schrieb:Hallo Leute,
ich habe hier 2 Fragen:

1. Graph:
Ich habe mir einen Puffer erstellt mit 100 Werten. Wenn der Puffer voll ist, fliegt der älteste Wert raus, dann wird geschoben und dann ein neuer Wert hinzugefügt. Nun ertstelle ich 2 Arrays aus dem Gepuffertem, die ich in einem Cluster zusammenfüge. Diesen Cluster lasse ich dann mit einem XY-Graph zeichnen. Da sich nun die Werte immer erneuern und der Graph bei jedem While-Schleifendurchgang die Werte neu zeichnet, wandert natürlich der Graph. Nun wollte ich eigentlich wissen, ob es möglich wäre, dass mein Graph irgendwie die alten Werte behalten könnte und neue Werte dann einfach dazuzeichnen könnte? Wichtig dabei ist, dass ich die zu zeichnenden Arrays nicht vergrößern möchte! (Denn dann ist ja die Funktion des Puffers überflüssig!).
Nein! Dafür hast du ja gerade den XY-Graphen, der genau das anzeigt, was du "reinschreibst".
' schrieb:2. Pfad:
Ist es möglich, dass ich ein allgemeinen Pfad einer Datei angebe? Ich habe eine Datei erstellt, in der ich meine Anfangswerte speichere. Diese will ich automatisch in dem Verzeichnis und Unterverzeichnissen, in dem sich das eigentliche Programm befindet, suchen. Falls sie nicht gefunden wird, soll ein Dialog auftauchen. Also es geht hier nicht um die absolute Pfadangabe! Hitergrund ist der, dass dieses Programm mit der entsprechenden Datei auch auf anderen PCs (da ist der absolute Pfad anders als bei mir) laufen soll.
Ja!

Hol dir z.B. mit der Funktion "Current VI's Path" (findest du in der File-Palette unter den Pfad-Konstanten) den Pfad des aktuellen VI (Achtung: innerhalb einer Exe ist dieser Pfad anders als in der Entwicklungsumgebung, dazu gibt es Threads hier im Forum) und bastel dir dann den entsprechenden Suchpfad per BuildPath/StripPath zusammen.

MfG, Jens
' schrieb:Nein! Dafür hast du ja gerade den XY-Graphen, der genau das anzeigt, was du "reinschreibst".

Ja!

Hol dir z.B. mit der Funktion "Current VI's Path" (findest du in der File-Palette unter den Pfad-Konstanten) den Pfad des aktuellen VI (Achtung: innerhalb einer Exe ist dieser Pfad anders als in der Entwicklungsumgebung, dazu gibt es Threads hier im Forum) und bastel dir dann den entsprechenden Suchpfad per BuildPath/StripPath zusammen.

MfG, Jens


Erstmal danke für die Antworten. Das mit dem Pfad hat bestens geklappt.Big Grin
Zum Graph:
Gibt es noch eine alternative zum XY-Graph, der meine Voraussetzungen erfüllt?

Gruß Joe
' schrieb:Zum Graph:
Gibt es noch eine alternative zum XY-Graph, der meine Voraussetzungen erfüllt?
Ganz ehrlich, so wie ich bisher deine Frage verstehe, NEIN. Wie soll das auch vernünftig funktionieren? Sobald es mal zur Reskalierung der Achsen zwecks neuer Daten kommt, muss "der Graph" doch die vollen Infos haben, was denn nun neu dargestellt werden kann. Wenn da nur noch Computer-Graphikpunkte übrig sind, dann sieht der Graph sicher bald übel aus.

Oder willst du einfach nur einen Graph über den anderen zeichnen? Dann schau dir mal die Beispiele im NI-Examplefinder an, bei denen mit Hilfe der Picture-Controls Graphen gezeichnet werden.

MfG, Jens
' schrieb:Oder willst du einfach nur einen Graph über den anderen zeichnen?

Nee. Ich wollte eigentlich auf so eine Funktion ("HOLD") wie bei Matlab hinaus. Die funktion bewirkt, dass die Werte nicht gelöscht werden, stattdessen werden immer neue Werte hinzugezeichnet!
Naja, ich habe mich jetzt mit dem XY-Graph abgefunden. Trotzdem Danke.

Gruß Joe
' schrieb:Nee. Ich wollte eigentlich auf so eine Funktion ("HOLD") wie bei Matlab hinaus. Die funktion bewirkt, dass die Werte nicht gelöscht werden, stattdessen werden immer neue Werte hinzugezeichnet!
Naja, ich habe mich jetzt mit dem XY-Graph abgefunden. Trotzdem Danke.

Gruß Joe
Hallo,

ich habe doch noch eine Idee für dich, momentan noch etwas unausgegoren, aber es könnte hinhauen:

Beim Waveform- und beim XY-Graphen kann man ja per PropertyNode "PlotImages->Back" ein Bild hinter die Zeichenfläche des Graphen legen!

Ich kann mir jetzt folgendes vorstellen:
1. Nachdem ein Sweep von Messdaten dargestellt wurde, holt man sich per InvokeNode GetImage ein Bild des Graphen.
2. Jetzt ein wenig Bildmanipulation, es muss der "Graph-Bereich" ausgeschnitten werden.
3. Und jetzt dies per PropertyNode als Hintergrundbild laden.
4. Jetzt Graph löschen und nächsten Sweep anzeigen.

Voraussetzung ist natürlich:
1. x- und y-Skalen-Bereich sind fest und ändern sich nicht! (Also kein Autoskalieren etc...)
2. Auch ein AutoAdjustment der Skalen sollte ausgeschaltet sein.

MfG, Jens
Referenz-URLs