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!
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.
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
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!
' 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.
Zum Graph:
Gibt es noch eine alternative zum XY-Graph, der meine Voraussetzungen erfüllt?
' 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
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!
' 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.
' 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
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!