LabVIEWForum.de - Echtzeit Anzeige in Chart

LabVIEWForum.de

Normale Version: Echtzeit Anzeige in Chart
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey,

ich bin relativ neu im Umgang mit Labview und habe gleich ein paar Probleme... Hoffentlich sind sie für euch einfach, ich klicke hier schon ewig rum ohne weiter zu kommen Sad

Zum Problem: Ich will einen Chart in einem while-loop updaten, als X-Label soll die Zeit in Sekunden seit dem Beginn des Programms angezeigt werden. Wie bekomme ich das hin?

Im Moment wird als Zeit auf dem Chart immer die Anzahl von Datenpunkten angegeben, da ich aber mehrere Punkte pro Sekunde erzeuge ist das nicht korrekt... Und nur einmal die Sekunde updaten ist mir zu langsam Sad

Ein Minimalbeispiel von meinem bisherigen Stand (und meinem Problem) habe ich angehängt.

Vielen Dank schon mal!

Thomas

[attachment=54395]
Hallo Thomas,

herzlich wilkommen im Forum!

Zitat:Im Moment wird als Zeit auf dem Chart immer die Anzahl von Datenpunkten angegeben
So funktioniert ein Chart nun mal, wenn man ihm einfache skalare Werte anbietet…

Zitat:da ich aber mehrere Punkte pro Sekunde erzeuge ist das nicht korrekt...
Korrekt ist es schon, aber wohl nicht gewünscht… Big Grin

Einfache Lösung, basierend auf dem gezeigten Bild: Rechtsklick auf die X-Achse -> Formatieren -> Skalen -> Skalierungsfaktor anpassen (bei dir wg. 10ms Wartezeit auf 0.01).

Andere Lösung: mit Waveforms arbeiten und relative Zeit anzeigen lassen…
Hey,
Zitat:Korrekt ist es schon, aber wohl nicht gewünscht… Big Grin
Ja, das trifft es Wink

Zitat:Einfache Lösung, basierend auf dem gezeigten Bild: Rechtsklick auf die X-Achse -> Formatieren -> Skalen -> Skalierungsfaktor anpassen
Optimal, das schaut schon viel besser aus, Danke!

Okay, könntest du mir vielleicht den Gefallen tun und das mit den Waveforms näher erläutern?
Über die lese ich jetzt schon den halben Tag, aber weitergekommen bin ich trotzdem nicht Sad Wie kann ich damit jedem Datenpunkt eine Zeit zuweisen? Schließlich will ich ja auch Daten anzeigen, die nicht immer in einem schönen 10ms-Rythmus aufgenommen wurden...


Viele Grüße,
Thomas
Hallo Thomas,

Waveforms bestehen aus t0, dt und einem Y-Array - das solltest du nach einem halben Tag ja schon wissen.
Wenn du jetzt t0 (und dt bei mehreren Samples im Y-Array) korrekt setzt, macht der Chart den Rest allein…
Hey,

ja, soweit bin ich schon gekommen Wink

Allerdings habe ich meine Probleme mit den einzelnen Parametern.

Meinem Verständnis nach (und die NI-Hilfe trägt nicht sehr viel zu meinem Verständnis bei) ist t0 die Anfangszeit (Systemzeit zum Beginn der while-Schleife), dt der Abstand zwischen zwei Zeitpunkten (zB 10ms) und Y die Datenpunkte.
Wenn ich das aber so verbinde kommt nur völliger Käse raus.

Wenn ich stattdessen dt frei lasse und bei t0 die aktuelle Systemzeit (also Symbol innerhalb der while-Schleife) eintrage kommt zwar ein Graph zustande, allerdings steht dann als Beschriftung der Zeitachse wieder etwas von 9728392:xx:xx oder so ähnlich da. Kann man hier nicht einfach die verstrichenen Sekunden anzeigen?
(Und mir ist durchaus bewusst wofür die 97283... Stunden stehen, bevor die Frage kommt...)

Eine ganz unmoralische Bitte - falls es so einfach ist wie du beschreibst, könntest du mir schnell ein Beispiel zeigen? Ich sitze jetzt schon den ganzen Tag an so einer Kleinigkeit und bin kurz davor meine Faust durch den Bildschirm zu hauenAhrg1


Jetzt funktionierts - ich war mir sicher dass ich das genau so schon mindestens drei mal probiert habe.
Naja, - vielleicht hat nur wieder irgendein Haken gefehlt Sad

Danke für die schnelle Hilfe Wink
Hallo Thomas,

na siehst du: geht doch! Und sogar innerhalb weniger Minuten… Big Grin
Achso, falls noch jemanden interessiert was jetzt noch die ausschlaggebende Änderung war:
Ich habe beim Chart unter Properties ->Display Format -> Advanced editing mode eingeschalten und danach als Format string "%<%S>t" eingetragen. Jetzt zählt er Sekunden Wink
Mit das Wichtigste, was man bei der Anwendung von Signalverlaufsdiagrammen beachten muß, ist: Bei Start des VI die History rücksetzen! Wenn man das in Deinem VI in Betrag #1 macht, beginnt die X-Achse schon mal ohne weitere Formatierungsakrobatik richtig im Nullpunkt. In diesem Eigenschaftsknoten kann man dann auch gleich die gewünschte X-Skalierung mit vorgeben:
[attachment=54402]
Der Witz an Deiner Lösung in #5 ist eigentlich, dass sie auch mit nicht äquidistanten Zeitpunkten funktioniert. Weil es aber umständlicher und vermutlich auch langsamer ist, würde ich es nur dann verwenden.
Referenz-URLs