LabVIEWForum.de - Problem mit Anzeige Signalverlaufsdiagramm

LabVIEWForum.de

Normale Version: Problem mit Anzeige Signalverlaufsdiagramm
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
HalloSmile

Ich habe ein kleines VI erstellt zum Visualisieren von zuvor gespeicherten
Werten (Druck, Temperatur) in einem Signalverlaufsdiagramm.
Die X-Achse des Diagramms soll die Timestamps der Messungen darstellen
(es sind pro Zeiteinheit 6 Kanäle vorhanden).

Dieses VI funktioniert soweit, jedoch sind mir 2 "Merkwürdigkeiten"
aufgefallen:

- werden alle 6 Kurven gleichzeitig dargestellt, so sind die Kurven immer
um 1 Messwert gegeneinander versetzt, das heißt, sie fangen nicht beim
gleichen Zeitwert im Grafen an, obwohl sie zum selben Zeitpunkt ab-
gespeichert wurden.

- wird nur eine Kurve selektiert (z.B. "Druck_Ist"), so stimmt meistens die
X-Achsen-Skalierung nicht mehr. Diese beginnt dann mit Datum "1.1.1904".
Selektiert man eine 2te Kurve hinzu, drückt "Graf update" und de-selektiert
man die 2te Kurve anschliessend, so wird die vorher nicht dargestellte Kurve
wieder richtig dargestellt, auch die Zeitachse stimmt dann wieder.

Ich habe schon alles mögliche versucht, um diese Probleme in den Griff zu
bekommen, auch andere Grafen habe ich versucht, mit dem Ergebnis, dass
immer die Zeitachse verschoben ist. Zur Kontrolle der Graf-Eingangsstruktur
sieht man unterhalb des Grafen ein Signal-Array. Anhand dessen stelle ich
fest, dass anscheinend die Graf-Funktion fehlerhaft ist, denn das Array müsste
so stimmen...


Ich bin wirklich am verzweifeln und für jedwege Hilfe dankbar!

Gruß
Günther
Warum überhaupt so umständlich? Warum blendest Du nicht einfach die einzelnen Plots ein und aus?
NB: Habe, damit das VI bei mir lief, die Kommas in der CSV bei der Sekundenangabe durch Dezimalpunkte ersetzt.
Falls das eigentliche Problem weiterhin besteht, dann melde Dich
Bitte beim Posten von VIs auf so arme Hunde wie mich Rücksicht nehmen. Ich habe nur einen Bildschirm von 1280x1024 und möchte das Blockbild darin gern ganz sehen.
Lucki, danke für Deine Antwort!

Ich bin leider noch nicht so sehr mit LV verwachsen, dass ich alle
Funktionen und Möglichkeiten kenne. Danke für den Tip mit dem
Ein/Ausblenden der Kurven.

Das Problem mit der falschen Zeitangabe bei der Auswahl nur einer Kurve
scheint behoben zu sein, jedoch

- sind die 6 Kurven sind immer noch um 1 Messwert versetzt
- funktioniert jetzt die automatische Skalierung bei der Auswahl nur einer
Kurve nicht mehr, es wird immer auf den größten Wert auch der nicht
dargestellten Kurven skaliert.

Sad

Danke für Deine Mühe!

Gruß
Günther
Zitat:- sind die 6 Kurven sind immer noch um 1 Messwert versetzt
Das hast Du aber so einprogrammiert. Du hast bei der For-Schleife den Timestamp-Array indiziert. Richtig wäre: nur des Element 0 des Timestamp-Arrays an die Schleife führen (und da es sich dann nur um ein Element handelt, steht die Frage das Indizierens überhaupt nicht)
Zitat:es wird immer auf den größten Wert auch der nicht dargestellten Kurven skaliert.
Es war aber auch so nicht ideal, da die Werte extrem unterschiedlich sind. Nimm doch wenigstens 2 verschiedene Y-Skalen (rechte Maustaste Y-Achse - kopieren, dann rechte Maustaste auf die einzelnen Plots in der Legende und jeden Plot einer Achse zuordnen).
Erstmal nochmals herzlichen Dank für Deine Mühe!

Lucki schrieb:Das hast Du aber so einprogrammiert. Du hast bei der For-Schleife den Timestamp-Array indiziert. Richtig wäre: nur des Element 0 des Timestamp-Arrays an die Schleife führen (und da es sich dann nur um ein Element handelt, steht die Frage das Indizierens überhaupt nicht)

Wenn ich das so mache, dann befinde ich mich wieder am Anfang der
Geschichte.
Sobald der Graf aktualisiert wird (und das passiert auch bei Deinem
geänderten Programm beim erneuten Öffnen einer Messwerte-Datei),
so fängt die X-Achse mit dem 1.1.1904 an... Obwohl ich anhand des
Kontroll-Arrays sehe, dass der Timestamp stimmt.
Oder der Graf zeigt das richtige Datum, aber keine Messkurve.

Abgesehen davon sind dann die 6 Messwerte genau an der selben
Stelle, wie Du schon gesagt hast.
Hilft aber trotzdem nichts...

Gruß
Günther
Zitat:Wenn ich das so mache, dann befinde ich mich wieder am Anfang der
Geschichte.
Also bei mir tritt das Problem nicht auf. Es ist aber auch ungewöhnlich an deiner CSY-Datei. daß in einer einzigen Datenzeile zuerst das Komma und dann der Punkt als Dezimalzeichen verwendet wird. Bei mir funktionierte das überhaupt nicht, und mit einem Texteditor alle Kommas durch Punkte zu ersetzen war das erste, was ich überhaupt gemacht habe. Daß da kein vernünftiges Datum herauskommt, wundert mich überhaupt nicht, was mich wundert ist eher, daß Du wegen der Kommas keine Fehlermeldung bekommst.
Lucki schrieb:Also bei mir tritt das Problem nicht auf. Es ist aber auch ungewöhnlich an deiner CSY-Datei. daß in einer einzigen Datenzeile zuerst das Komma und dann der Punkt als Dezimalzeichen verwendet wird. Bei mir funktionierte das überhaupt nicht, und mit einem Texteditor alle Kommas durch Punkte zu ersetzen war das erste, was ich überhaupt gemacht habe. Daß da kein vernünftiges Datum herauskommt, wundert mich überhaupt nicht, was mich wundert ist eher, daß Du wegen der Kommas keine Fehlermeldung bekommst.

Lucki,

das Komma wird von LV automatisch erstellt beim abspeichern des Timestamps
und trennt die Sekunden von den msec. Ersetze ich diese Kommas durch
einen Dezimalpunkt so kann ich die Datei nicht mehr einlesen :?:

Ist aber auch egal jetzt, hab mir mittlerweile helfen können.
Mein Workaround:
- X-Achse nicht mehr automatisch skalieren lassen
- Timestamp nicht mehr indizieren
- nach jedem Wechsel der Datei oder Kurvendarstellung setze ich
mir die Eigenschaft "X-Achse.Skalierung anpassen" auf "1" (einmalige
Anpassung).

Das funktioniert jetzt ganz gut.

Danke für Deine Hilfe!!!

Günther
Habe versucht, das VI als V7.1 zu speichern, es funktioniert aber dann nicht mehr, und da ich die V7.1 selbst nicht habe, kann ich es nicht selbst korrigieren. Hier ist es
Referenz-URLs