LabVIEWForum.de
Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Signalverlaufsdiagramm zeigt nicht vorhandene Lücken (/Thread-Signalverlaufsdiagramm-zeigt-nicht-vorhandene-Luecken)



Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - Matze - 08.10.2010 13:46

Hi zusammen,

ich habe folgendes Test-VI gebastelt:

[attachment=29833]

Rufe ist das auf, sehe ich Lücken im Diagramm:

[attachment=29834]

Es dürften jedoch keine vorhanden sein. Zoome ich hin, werden die Lücken geringer bzw. verschwinden:

[attachment=29835]

Ist das einer der zahlreichen LabVIEW-Bugs derDiagramme/Charts oder kann man das Verhalten beeinflussen?


Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - Lucki - 08.10.2010 14:51

Das ist so, weil der eine Plot nicht beim gleichen Plotpunkt endet bei dem der andere Plot beginnt.
Das gib es eine komplizierte und eine einfache Methode dagegen.
Kompliziert: Du änderst das entsprechend ab.
Einfach: Plot 2 durchgehend machen, d.h ohne unsichtbare NaN-Punkte. Theoretisch wären dann teilweis 2 Plots übereinander. Praktisch ist aber Plot 0 immer im Vordergriund, Plot 1 im Hintergrund. Wenn also Plotpunkte die gleichen Koordinaten haben, ist immer nur Plot 0 sichbar. Im Endergebnis sieht der Graph dann genau so aus, wie Du ihn haben möchtest.


Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - Matze - 08.10.2010 14:55

' schrieb:Das ist so, weil der eine Plot nicht beim gleichen Plotpunkt endet bei dem der andere Plot beginnt.
Wieso soll er das nicht machen?

Der eine endet bei X = 200, der andere beginnt bei X = 200. Bei X = 1500 ist das genau so.
Das passt schon.

Beim Hineinzoomen berühren sich die Plots meistens auch korrekt.

Nachtrag: Wenn man die Plots auf die Punktedarstellung ändert (egal ob zusätzlich verbundene Linien oder nicht), ist die Lücke weg.
Nur ist das bei vielen Werten deutlich langsamer.



Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - Lucki - 08.10.2010 15:36

Die Lücke ist auch weg, wenn man am Ausgang der Schleife einen Graphen anschließt statt eines Diagramms. Das wäre hier doch auch das Normale: Endweder die Punkte im Schieberegister sammeln und dann einem Graphen zuführen, oder nicht sammeln und in der Schleife die entstehenden Daten direkt einem Diagramm zuführen. Aber nicht beides Vermanschen. (Diese Anmerkung hat jetzt allerdings nichts mit dem Bug zu tun).
Und mit dieser kleinen Vereinfachung sind die Lücken in jedem Falle weg:
[attachment=29836]
Aber vielleicht geht es Dir gar nicht um die Lücke, sondern um das Sammeln von Labview-Bugs. Obwohl mikroskopisch klein, trotzdem: Gratulation für den Fund.Mellow


Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - Matze - 08.10.2010 16:26

Was, ich will LV-Bugs sammeln? Ich will die los werden.Sad

Im obigen Beispiel ist ein Graph das naheliegenste, ja. Das war jedoch nur ein Demo-Projekt für euch. Im richtigen zeige ich die Daten "live" in einem Diagramm an.


Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - IchSelbst - 08.10.2010 18:58

' schrieb:Wenn man die Plots auf die Punktedarstellung ändert (egal ob zusätzlich verbundene Linien oder nicht), ist die Lücke weg.
Klar:
Der Punkt ist größer als der Zwischenraum zwischen den beiden Kurven. Du siehst den Zwischenraum also nicht.

Der Zwischenraum kommt möglicherweise von folgendem Effekt:
Wenn du eine Kurve, bestehend aus 10000 Punkten, in ein Bild plotten lassen willst, das nur 1000 Punkte breit ist - dann muss das Graph-Element 9000 deiner Punkte eliminieren. Zuerst einmal werden die Grenzen eliminiert. Dumm nur, dass die eine Kurve dann bei 198 endet, sie andere aber bei 202 anfängt.

Machst du bei gleicher Graph-Größe statt 10000 nur 2000 Punkte, passt wieder alles. Auch wird die Lücke kleiner, wenn du die Graph-Fläche vergrößerst. Zoomst du in die Kurve, kommen wieder weniger Punkte pro Graph-Fläche => Lücke wird kleiner. Setzt du die Grenzen für Einzelplots überlappend, passt es auch wieder.

Es handelt sich hier also nicht um einen Bug, sondern lediglich um ein in deinem Falle ungünstig wirkendes Feature.


Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - Lucki - 08.10.2010 19:33

@IchSelbst
Du hast recht, bei z.B. 500 Punkten tritt der Effekt nicht auf.
[attachment=29839] [attachment=29840]
Demnach ist das gar kein Bug, sondern lediglich die zutiefst gerechte Strafe für diesen sinnlosen Overkill, mit dem hier das Diagramm malträtiert wurde Mellow


Signalverlaufsdiagramm zeigt nicht vorhandene Lücken - Matze - 09.10.2010 18:50

Hallo,

ich sample das auch bereits von eingelesenen 10 kHz für die Anzeige auf 100 Hz herunter und dann geht es auch, wobei ich dann immer noch die Punkt-Darstellung auswählen muss.

Und nein Lucki, was du schreibst ist nicht richtig, auch wenn du von deiner Meinung überzeugt bist. Das akzeptiere ich und ist oberflächlich gesehen auch vollkommen richtig. Zunächst sieht es auch wie ein Overkill, ja. Aber wenn man in das Diagramm hineinzoomen können soll, werden deutlich mehr Messwerte benötigt als sichtbar sind.
Es sei denn, es gibt da eine Möglichkeit, nur die sichtbaren Punkte zu laden.
Sprich, beim Zoomen wird automatisch aus der gesamten Datenmenge nur das heraus gesucht, was auch tatsächlich sichtbar ist.

Von so einem Feature habe ich jedoch noch nichts gehört und eine manuelle Umsetzung wäre vermutlich aufwändig:

- per Event Min- und Max-X-Wert des Diagramms ermitteln
- die Breite des sichtbaren Diagrammbereichs in Pixeln ermitteln
- alles zwischen Min und Max aus der Datenmenge holen
- diese Untermenge so herunter zu sampeln, dass exakt so viele Punkte enthalten sind, wie das Diagrammfenster breit ist (ok etwas mehr müssen es sein)
- dabei beachten, dass nicht stur herunter gerechnet wird, sondern Minima und Maxima bzw. relevante Punkte generell erhalten bleiben (wobei es da irgendein entsprechendes VI gibt)

Soweit mal die Theorie.Wink