INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Relative Zeit im Graphen auf 0 setzen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.05.2017, 15:28
Beitrag #1

Abongile Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: May 2017

2013
2017
DE_EN



Relative Zeit im Graphen auf 0 setzen
Hallo zusammen,

ich habe mir über die letzten Wochen am Beispiel "Continuous Measurement Data Logger" eine QHM-Struktur aufgebaut --> resultierend aus diesem Thema.
Irgendwann soll die Kamera da eingebunden werden... Wink

Folgende Situation:
Ich lese einen DAQmx-Task mit 3 Kanälen (2 Thermoelementen und 1 Umgebungsdruck), lasse mir die Messung via Notifier anzeigen und speichere alles via Queue in eine TDMS-Datei. Das klappt alles.

Frage:
Wie kriege ich es bei meinen Messdaten (somit auch bei meinem Graphen) hin, dass sie bei einer absoluten Zeit mit t0 = 0 starten?
Kann ich die Zeit auch als Wertespalte in der TDMS-Datei (geöffnet via Excelimport) abspeichern lassen und wenn ja, wie?


In meinen Graphen möchte ich eine Temperatur-Rampe (s. Bild) einfügen, um visuell während der Messung abgleichen zu können, ob sich die gemessene Temperatur entsprechend der externen Regelung verhält. Letzten Endes ist damit die Laufzeit einer Messung auch vorgegeben und ich würde den Anzeigegraphen gerne so auf der x-Achse skalieren, dass er dieses Zeitfenster zeigt und Stück für Stück mit Werten aus dem Notifier gefüllt wird. Geht das mit dem Ansatz eines QHM?



Anbei ist mein komplettes Projekt und ein Bild des Graphen wie er irgendwann mal aussehen soll...

Schon mal vielen Dank für eure Hilfe!
VG
Abongile


Angehängte Datei(en) Thumbnail(s)
   

0.0 .rar  Projekt1.rar (Größe: 574,54 KB / Downloads: 233)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.05.2017, 07:59 (Dieser Beitrag wurde zuletzt bearbeitet: 26.05.2017 08:33 von Abongile.)
Beitrag #2

Abongile Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: May 2017

2013
2017
DE_EN



RE: Relative Zeit im Graphen auf 0 setzen
Yay, für die Skalierung habe ich einen Weg gefunden!

http://digital.ni.com/public.nsf/allkb/D...3B0074FEF8
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2017, 14:52
Beitrag #3

Abongile Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: May 2017

2013
2017
DE_EN



Projektfortsetzung mit "Lösung" der anfänglichen Thematik
Hallo wertes Forum,

wie bereits im ersten Post beschrieben, mein Programm zeichnet 2 Thermoelemente und den Atmosphäredruck in einem Ofen auf. Mit dem Ofen werden verschiedene Temperaturregime abgearbeitet.
Das "erste Problem", den Graphenursprung auf 0 zu setzen, habe ich lösen können, indem ich die Waveform auflöse und 0 als Beginn eintrage. Das funktioniert, allerdings muss ich nun mit einem Schleifenregister arbeiten, dass sich der Graph fortlaufend füllt und nicht immer nur einen einzelnen Wert anzeigt. (Weiß wer warum? ^^)

Ich möchte nun in meinen Graphen eine Temperatursollkurve eintragen, so dass visuell mit Erfassung der Messdaten direkt abgeglichen werden kann, ob sich die Temperatur im Ofen so entwickelt wie eingestellt.

Ich habe eine Lösung dafür "entwickelt", in dem ich ein Array mit den Daten der Sollkurve fülle und dieses Array iteriere und dann in eine Waveform umwandele, clustere, und in einen Value-Knoten des Diagramms schreibe, welche ich wiederum im Display Loop auslese und somit anzeigen kann. Das 1. Bild zeigt mein Userinterface zum Eintragen der Werte sowie eine dargestellte Sollkurve im HauptUI.
Das klappt so prinzipiell, jedoch erhalte ich bei Beenden des Programms die Fehlermeldung "Error 1122 occurred at Wait on Notification in ..." (s. Bild 3) mit Bezug auf den Eigenschaftsknoten "Messung Value" (unten links im 3. Bild) und ich verstehe nicht ganz was der Eigenschaftsknoten mit dem Notifier zu tun hat. Kann mir das jemand erklären?
           
Alles in allem sagt mir der Fehler auch, es gäbe vielleicht eine bessere Variante diese Aufgabe zu lösen. Hat jemand eine Idee? Der aktuelle Stand des Projekts ist angehängt, falls jemand reinschauen will.

VLG
Abongile


Angehängte Datei(en)
0.0 .rar  Projekt1.rar (Größe: 639,7 KB / Downloads: 236)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2017, 15:13
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Relative Zeit im Graphen auf 0 setzen
Hallo Abongile,

Zitat:Weiß wer warum?
Ein Graph zeigt immer nur an, was er an Daten bekommt. Wenn du alte Daten anzeigen willst, musst du dir diese merken.

Wozu die "value"-Property des Graphs? Warum hier kein Schieberegister?
Wieso fügst du den Sollwert-Plot so umständlich dazu? Warum nicht einfach ein Schieberegister dafür verwenden und vor dem Graph die aktuellen Messwerte und den Sollwertplot per BuildArray zusammenfassen?

Zitat:"Error 1122 occurred at Wait on Notification in ..."
Da wurde der Notifier wohl irgendwo gelöscht, während an anderer Stelle noch darauf gewartet wird…
Und da du die Fehlerbehandlung aktiviert hast, wird der der Fehler eben angezeigt, sobald du dich nicht mehr selbst drum kümmerst!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2017, 10:31 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2017 10:31 von Abongile.)
Beitrag #5

Abongile Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: May 2017

2013
2017
DE_EN



RE: Relative Zeit im Graphen auf 0 setzen
Hallo Gerd,

Zitat:Ein Graph zeigt immer nur an, was er an Daten bekommt. Wenn du alte Daten anzeigen willst, musst du dir diese merken.

Okay. Aber wenn ich einfach die Waveform in den Graphen übergebe, zeigt er mir ja auch die "alten Daten" an und da habe ich die alten Daten in kein Schieberegister o.ä. geschrieben. Sobald ich die Waveform jedoch auseinandernehme und eine neue daraus baue, ist das nötig. Darauf zielte die Frage ab. Daher besser formuliert:
Wo merkt sich der Graph die alten Einträge der Waveform, welche ich direkt aus dem Notifier holen könnte?


Zitat:Wozu die "value"-Property des Graphs? Warum hier kein Schieberegister?
Wieso fügst du den Sollwert-Plot so umständlich dazu? Warum nicht einfach ein Schieberegister dafür verwenden und vor dem Graph die aktuellen Messwerte und den Sollwertplot per BuildArray zusammenfassen?

Wie meinst du das?
Ich erzeuge den Plot für die Sollwerte ja im UserInterface Loop und schreibe den Plot, welchen ich aus den Einträgen in Bild 1 erzeuge, indem ich zwischen den Einträgen iteriere und daraus einen Signalverlauf baue, in meine "Settings"-Typdef. Dann muss ich diesen Signalverlauf in ein passendes Format ändern (s. Bild 2), um ihn im Graphen anzeigen zu lassen und bilde ein entsprechendes Cluster
Meine Schwierigkeit lag dann darin, wie kriege ich dieses Cluster nun rüber in den Displayloop und nach viel rumprobieren hat das mit der "value"-Property geklappt. Du sagst jetzt, das geht per Schieberegister? Wo müsste das hin?

Sorry, wie man merkt, ist mein geringes Halbwissen immer noch nicht ausreichend, um sinnvoll aus deinen Beiträgen zu lernen und ich kriege nicht genug "Ressourcen" freigeräumt, um mich mal für 2-4 Wochen durchgängig mit LabVIEW zu beschäftige. Undecided

VG
Abongile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2017, 10:52
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Relative Zeit im Graphen auf 0 setzen
Hallo Abongile,

Zitat:Aber wenn ich einfach die Waveform in den Graphen übergebe, zeigt er mir ja auch die "alten Daten" an und da habe ich die alten Daten in kein Schieberegister o.ä. geschrieben.
Das kann ich nicht nachvollziehen…
Momentan liest du aus einem Notifier aus und bekommst dort deine neue Waveform - allerdings wartest du hier unbegrenzt auf "neue" Messwerte. Und dann werden die neuen Messwerte im Graph dargestellt!

Zitat:Sobald ich die Waveform jedoch auseinandernehme und eine neue daraus baue, ist das nötig. Darauf zielte die Frage ab.
Ich sehe den Zusammenhang hier nicht!
Du willst dir vorherige Messdaten merken und machst das im Schieberegister - so wie es sein sollte…

Zitat:Wo merkt sich der Graph die alten Einträge der Waveform, welche ich direkt aus dem Notifier holen könnte?
Ein Graph merkt sich nichts.
Bitte stelle ein VI bereit, welches das Gegenteil beweist!

Zitat:wie kriege ich dieses Cluster nun rüber in den Displayloop und nach viel rumprobieren hat das mit der "value"-Property geklappt.
Diese "value"-Property holt sich die Daten aus dem Graph selbst. Wie kommst du darauf, dass du "diesen Cluster rüber in die Displayloop" bekommst?

Zitat:Du sagst jetzt, das geht per Schieberegister? Wo müsste das hin?
Nach nochmaligem Draufgucken verstehe ich die Logik dahinter nicht.
Es wird der erste Plot vom Graph nochmal vor alle anderen Plot gestellt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.07.2017, 11:56 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2017 11:56 von Abongile.)
Beitrag #7

Abongile Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: May 2017

2013
2017
DE_EN



RE: Relative Zeit im Graphen auf 0 setzen
Hallo Gerd,

Zitat: Zitat:
Aber wenn ich einfach die Waveform in den Graphen übergebe, zeigt er mir ja auch die "alten Daten" an und da habe ich die alten Daten in kein Schieberegister o.ä. geschrieben.

Das kann ich nicht nachvollziehen…
Momentan liest du aus einem Notifier aus und bekommst dort deine neue Waveform - allerdings wartest du hier unbegrenzt auf "neue" Messwerte. Und dann werden die neuen Messwerte im Graph dargestellt!

Zitat:
Sobald ich die Waveform jedoch auseinandernehme und eine neue daraus baue, ist das nötig. Darauf zielte die Frage ab.

Ich sehe den Zusammenhang hier nicht!
Du willst dir vorherige Messdaten merken und machst das im Schieberegister - so wie es sein sollte…

Zitat:
Wo merkt sich der Graph die alten Einträge der Waveform, welche ich direkt aus dem Notifier holen könnte?

Ein Graph merkt sich nichts.
Bitte stelle ein VI bereit, welches das Gegenteil beweist!

Ich hatte es früher so:
   
Da brauchte ich kein Schieberegister Smile Die Frage ist vom Prinzip her aber nicht sehr wichtig. Nur allgemeines Verständnis.

Bezüglich dem Soll-Plot:
Ich versuche mal rüberzubringen, wie ich mein Programm verstehe, dazu nochmal das Bild mit Erklärung hinzugefügt.
   
Wenn ich im DisplayLoop den Propertynode nicht nochmal aufrufe und zusammenführe, wie im Bild beschrieben, wird er von den eingehenden Messdaten überschrieben :/

Danke für deine Hilfe!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2017, 13:07
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Relative Zeit im Graphen auf 0 setzen

Akzeptierte Lösung

Hallo Abongile,

Zitat:Ich hatte es früher so:
Ja, da war das ja auch noch ein Chart - und kein Graph!

Zitat:Bezüglich dem Soll-Plot: Ich versuche mal rüberzubringen, wie ich mein Programm verstehe, dazu nochmal das Bild mit Erklärung hinzugefügt.
Wieso baust du eine QMH, wenn du dann hinterher Daten "quer" über direkte Zugriffe auf Indicators hin- und herschiebst? Hmm
Diese zweiten Zugriff auf den Graph hatte ich bisher nicht übersehen - ich hatte einfach nicht mit einer solchen Umgehung der QMH-Struktur gerechnet…

Wenn schon QMH, dann richtig!
1. Eine Message für den Soll-Plot: Der Sollplot wird in der Display-Loop in einem Schieberegister gespeichert.
2. Eine Message für die Messdaten: die Displayloop baut die Plots für den Graphen, basierend auf diesen Messdaten-Messages auf…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2017, 13:52 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2017 13:55 von Abongile.)
Beitrag #9

Abongile Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: May 2017

2013
2017
DE_EN



RE: Relative Zeit im Graphen auf 0 setzen
Ein Chart kann das also?


Zitat:Wenn schon QMH, dann richtig!
1. Eine Message für den Soll-Plot: Der Sollplot wird in der Display-Loop in einem Schieberegister gespeichert.
2. Eine Message für die Messdaten: die Displayloop baut die Plots für den Graphen, basierend auf diesen Messdaten-Messages auf…

Meinst du vielleicht eine Queue/Notifier jeweils?
Aber kann ich denn so einen kompletten Plot in einen Notifier packen oder muss ich den dann in der selben Frequenz, wie die Messdaten entstehen, einspielen?

Oder meinst du ich soll den Notifier durch eine Message ersetzen? Ist das schnell genug?
Eine Message ist doch zum "Steuern" der Loops da, oder?

Ich komme mir echt doof vor -.-
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2017, 14:03
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Relative Zeit im Graphen auf 0 setzen

Akzeptierte Lösung

Hallo Abongile,

Zitat:Ein Chart kann das also?
Das ist einer der Hauptunterschiede von Charts und Graphs.
Wichtiger noch: bitte immer die korrekten Namen verwenden, damit keine Vewirrung aufkommt…

Zitat:Oder meinst du ich soll den Notifier durch eine Message ersetzen? Ist das schnell genug?
Eine Message ist doch zum "Steuern" der Loops da, oder?
Ja, ich würde sowas über eine Message machen - genau dafür hast du doch einen QMH gebaut!?
Über Messages kann man Steuerbefehle übertragen - das kann aber auch der Befehl "Hier kommen Soll-Plot-Daten" sein. Und neben einem Befehl kann man ja auch gleich Daten mitschicken…
Zur "Schnelligkeit": wie oft musst du denn den Sollplot übertragen? Passiert sowas nicht einmalig zum Start einer Messung - und ist damit überhaupt nicht relevant für die "Schnelligkeit" der Abarbeitung?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Smile XY-Graph Relative Zeit als "X"-Achse. bigwowan11 11 11.717 20.12.2012 17:54
Letzter Beitrag: GerdW
  Darstellung relative Zeit Soeren55 5 5.953 21.10.2011 16:28
Letzter Beitrag: GerdW
  relative Zeit anzeigen Toml 7 11.957 10.09.2009 12:02
Letzter Beitrag: Toml
  Signal im Zeitbereich darstellen, relative Zeit auf x-Achse kontinuierlich Malte84 2 7.716 18.05.2009 10:40
Letzter Beitrag: Malte84
  eingelesenen Datenwerten relative Zeiten zuordnen Hagen86 1 3.787 02.01.2009 11:15
Letzter Beitrag: Lucki
  2 Graphen mit unterschiedlichem dt in einen Graphen unaimed 8 11.339 14.03.2005 14:45
Letzter Beitrag: unaimed

Gehe zu: