LabVIEWForum.de - Funktion in XY Graph darstellen

LabVIEWForum.de

Normale Version: Funktion in XY Graph darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Liebe LabVIEW-Gemeinde,

ich bin relativ neu in LabVIEW und arbeite gerade an einem Projekt. Ich habe Messwerte eingelesen von einer Messwertanzeige (Weg in mm wird gemessen) über RS232 mit VISA und bekomme den Wert auch schön angezeigt. Weiterhin habe ich eine Spannung von einem Sensor, die in einer Messkarte erfasst wird. Habe beide Werte als DBL vorliegen und darstellen lassen(die werden laufend aktualisiert und angezeigt). Ich möchte jetzt einfach eine Funktion zeichnen lassen (also U(s) - Spannung als Funktion des Weges) Habe dazu auch schon die Werte über Bundle und build array in meine XYGraph Funktion reingebracht. Jedoch zeigt mir der Graph nur einzelne Punkte an und keine Linie. Ich habe das Gefühl, ich erzeuge kein Array oder kein cluster. Ich habe den halben Tag daran gesessen und gelesen, aber es will einfach nicht funktionieren. Bin langsam am verzweifeln. Eigentlich sollte das doch nicht so schwer sein, oder irre ich?
Kann mir jemand helfen und ein paar Tipps geben. Ich habe das Gefühl ich stehe auf der Leitung.

Viele Grüße
Martin
THINK DATAFLOW,
der Draht sind die Daten.

Bisher erzeugst du immer aus einem "XY"-Cluster eine Array mit genau 1 Element.

Zum Zusammenfügen musst du die Daten aus den vorherigen Schleifendurchläufen hinzufügen, z.B. so:

[attachment=42662]

Gruß, Jens
Hallo moosman.

Zitat:Habe dazu auch schon die Werte über Bundle und build array in meine XYGraph Funktion reingebracht. Jedoch zeigt mir der Graph nur einzelne Punkte an und keine Linie.
Ein Graph zeigt nur das an, was du ihm an Daten übergibst. Du stellst nur einzelne DBLs in einen Cluster und lässt diesen Einzelpunkt plotten: der Graph macht genau dies...

Zitat:Ich habe das Gefühl, ich erzeuge kein Array oder kein cluster. Ich habe den halben Tag daran gesessen und gelesen, aber es will einfach nicht funktionieren. Bin langsam am verzweifeln. Eigentlich sollte das doch nicht so schwer sein, oder irre ich?
Guck dir einfach die Kontexthilfe zum Graph an. Da steht, was ein Graph an Daten (und wie) erwartet...
Wie Gerd schon sagte, hat ein XY-Graph kein internes Memory. Er zeigt genau das an, was neu eingegeben wird und überschreibt dabei das was vorher war.
Du mußt Dich entweder um die Speicherung der rückwärtigen Datenpunkte selbst kümmern - siehe Gerds Vorschlag - oder aber, als zweite Möglichkeit, den XY-Express-Graph benutzen. (Wobei allerdings der typische Anfänger im ersten Anlauf damit keinen Erfolg hat, weil er gewöhnlich vergisst den Rücksetz-Eingang richtig anzuschließen)
Okay, danke für die Hinweise. jetzt habe ich kapiert woran es liegt Big Grin. Ich werde mich gleich Montag daran machen es auszuprobieren.

BTW, wie ändere ich eigentlich die Hintergrundfarbe meines Graphes z.B. auf Weiß. Das Schwarz gefällt mir nicht so.

Schönes Wochenende allen wünsche ich.
Werkzeugpalette, Pinseltool, einfärben...

Big Grin
Ok, danke für eure Hilfe erstmal.
Ich habe jetzt die Idee mit den Schieberegistern von Jens probiert. Leider weiß ich nicht wie ich den Vektor(oder Array) auf der linken seite erzeuge. Soll das eine Konstante sein? Ich habe es mit constant array probiert, da passt der datentyp dann nicht. beim verdrahten kommt dann eine Fehlermeldung, dass die Typen nicht zusammen passen. Ohne das funktioniert es leider nicht.
kann noch mal jemand einen Hinweis geben?

Danke euch recht herzlich.
Martin.
Hallo Martin,

stell doch einfach mal dein VI hier rein, dann kann man dir konkrete Tipps zur Verbesserung geben...

- Wenn der Datentyp nicht passt, sagt dir LabVIEW immer auch, welche zwei verschiedenen Datentypen du gerade verbinden willst...
- "Vektor" = 1D Array
habe das VI schon mal ganz am Anfang hochgeladen.

Ich glaube ich es so verstanden: das Schieberegister braucht einen Startwert, für den ersten Schleifendurchlauf. Also soll es ein cluster aus 2 dbl Werten werden mit dem Startwert 0.
Beim zweiten Durchlauf hat das Register ja einmal geschoben, und der Wert des des vorherigen Durchlaufs wird genommen.
kann das so hinkommen?

Danke nochmals für eure Unterstützung, ihr seid klasse:-)

Gruß Martin
Referenz-URLs