LabVIEWForum.de - Signalverlaufsgraphen

LabVIEWForum.de

Normale Version: Signalverlaufsgraphen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen.

Ich habe folgendes Problem ich kann bei einem Signalverlaufsgraphen die eingehenden Signale genau timen aber bei einem Signalverlaufsdiagramm nicht,deshalb füge ich zur Veranschaulichung mein Beispiel an.

Ich würde mich freuen wenn sich jemand das anschauen würde vielleicht sieht er auf anhieb was ich falsch mache.
Der Sinn des Beispieles ist das Signalverlaufsdiagramm wie eine Art Oszilloskop aufbauen und die eingehenden Signale timen, jedoch gibt es auch noch ein problem mit dem Aktualisierungsmodus. Irgendwann läuft er unkontrolliert weiter.

Vielen Dank im voraus

Lv70_img
Ohne das Vi gesehen zu haben:
Zeitverläufe mit nicht äquidistantem dt lassen sich nur mit Signalverlufsdiagramm oder mit XY-Graphen darstellen, nicht aber mit Signalverlaufsgraph.

Weitere Merkmale:

Signalverlaufsgraph: dt muß innerhalb eines Plots konstant sein, erlaubt ist aber: Plot 1: dt1 und Plot 2: dt2 usw.

Signlaverlaufsdiagramm: Bei mehreren Plots gilt hier gerade das Umgekehrte: zwar können die dts innerhalb eines Plots unterschiedlich sein, diese dts gelten aber dann für alle Plots. D.h. die Plotpunkte von mehreren Plots müssen immer übereinander liegen.

Alle dies siese Einschränkungen entfallen natürlich beim XY-Graph.
Hallo,

dein Problem ist vielfältiger Natur, und ich weiss nicht, ob man da einfach rauskommt.

Zum Chart: Damit die entsprechenden Updatemodi (Strip, Scope, Sweep) sauber funktionieren, muss das Chart wissen, wann seine "History-Length" voll ist, weil ab da wird wieder der Puffer neu aufgefüllt. Da sind wir beim ersten Problem: Du willst ja die Zeitachse variabel haben, was im Prinzip unterschiedlichen Historienlängen entsprechen würde. Soweit ich weiss, kannst du die Historienlänge aber zur Laufzeit nicht per PropertyNode ändern.
Dann zum 2. Problem: Du schreibst momentan ein komplettes Waveform in das Chart. Das hat die für das Chart unangenehme Eigenschaft, dass dies die Historienlänge 1 hat. Kurz gesagt, Chart und Datentyp Waveform und Historylength, das beisst sich immer irgendwie und passt einfach nicht so zusammen, wie man sich das vielleicht naiv denkt/wünscht. Chart funktioniert am besten, wenn immer ein neuer Zahlen-Wert pro Durchlauf geschrieben wird.

Gruß, Jens
Vielen Dank erstmal für euere Hilfe

So habe jetzt einen konfigurierbares Signalverlaufsdiagramm, jedoch alle Werte die ich eingebe werden als Null interpretiert im Diagramm selber.
Ich weiß leider nicht wieso habe jeden Plott eine Achse zugewiesen. Und die Werte die ich eingebe sind auch nicht Null.
Wäre euch sehr Dankbar wenn ihr euch das Beispiel nochmal anschauen könntet. Es ist in LabVIEW 8.5 Programmiert
Dein Chart hat den falschen Datentyp. Es erwartet momentan einen Cluster of Double, du schreibst aber einen Array of Cluster of Double rein.

Und dann sammelst du ja weiterhin Datenpunkte in einem Array, da kommt doch wieder die History durcheinander... Das Chart macht das Sammeln der Daten selber, das musst du nicht per Shift-Register machen.

Also der Einfachheit halber so:
[attachment=17576]

Gruß, Jens
Danke für die Hilfe jetzt klappts :-)
Referenz-URLs