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 

TDMS in Queue laden



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!

07.01.2016, 14:45 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2016 14:54 von jg.)
Beitrag #1

gifo Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Nov 2015

2014
2014
DE



TDMS in Queue laden
Hallo LabVIEW Forum,

ich habe ein Problem und würde mich über Hilfe von euch freuen.
Ich würde gerne eine TDMS-Datei in eine Queue einlesen, um diese dann in einer anderen Schleife kontinuierlich auszulesen.
Bei meinen Versuchen wurden die Daten zwar aus der Queue geladen, dann jedoch nur kurz im Signalverlaufsgraph angezeigt.
Hat vielleicht jemand einen Tipp für mich woran das liegt oder was ich ändern muss um mein Ziel zu erreichen?

Viele Grüße,
Gifo
lv14_img
0.0 .rar  TDMS in Queue.rar (Größe: 44,78 KB / Downloads: 226)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.01.2016, 14:56
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: TDMS in Queue laden
Hallo gifo,

momentan liest du die komplette TDMS-Datei mit einmal ein und schreibst die gelesenen Waveforms in die Queue.
Am anderen Ende liest du die Waveforms aus und stellst sie dar.
Dann rufst du wahrscheinlich den "Datei lesen"-State erneut auf: dummerweise wurde die Datei ja schon komplett gelesen, sodass der zweite Lesezugriff mit einem Fehler enden sollte (EOF erreicht!) und dementsprechend leere Waveforms in die Queue geschrieben werden. Und die werden dann auch dargestellt…

Zusammenfassung:
- Debugging betreiben!
- Fehlerbehandlung programmieren!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2016, 15:16
Beitrag #3

gifo Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Nov 2015

2014
2014
DE



RE: TDMS in Queue laden
Hallo GerdW,
vielen Dank für deine schnelle Antwort. Top1


(07.01.2016 14:56 )GerdW schrieb:  Hallo gifo,

momentan liest du die komplette TDMS-Datei mit einmal ein und schreibst die gelesenen Waveforms in die Queue.
Am anderen Ende liest du die Waveforms aus und stellst sie dar.
Dann rufst du wahrscheinlich den "Datei lesen"-State erneut auf: dummerweise wurde die Datei ja schon komplett gelesen, sodass der zweite Lesezugriff mit einem Fehler enden sollte (EOF erreicht!) und dementsprechend leere Waveforms in die Queue geschrieben werden. Und die werden dann auch dargestellt…

Heißt das, ich müsste bei jedem neuem „Datei lesen“-State die Queue leeren? Was meinst du mit Fehlerbehandlung programmieren?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2016, 15:34
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: TDMS in Queue laden
Hallo gifo,

Zitat:Heißt das, ich müsste bei jedem neuem „Datei lesen“-State die Queue leeren?
Nein. Du solltest aber nicht versuchen, die TDMS-Daten weiter zu lesen, wenn du gerade eben erst die komplette Datei gelesen hast…

Zitat:Was meinst du mit Fehlerbehandlung programmieren?
Damit meine ich, dass man Fehler wie "EOF erreicht" auch programmatisch behandeln kann…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2016, 15:51
Beitrag #5

gifo Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Nov 2015

2014
2014
DE



RE: TDMS in Queue laden
(07.01.2016 15:34 )GerdW schrieb:  Hallo gifo,

Zitat:Heißt das, ich müsste bei jedem neuem „Datei lesen“-State die Queue leeren?
Nein. Du solltest aber nicht versuchen, die TDMS-Daten weiter zu lesen, wenn du gerade eben erst die komplette Datei gelesen hast…
Okay, also könnte ich die Datei einmal einlesen und dann zum nächsten State (z.B. Datei schließen -> Init) gehen, wenn ich das richtig verstehe.
Mein Problem dabei ist aber das wenn ich dann in einer zweiten Schleife das Frequenzspektrum darstellen lasse und an diesem Änderung vornehme, ich jedes Mal die Datei neu einlesen muss. Gibt es dafür auch eine andere Lösung?

(07.01.2016 15:34 )GerdW schrieb:  
Zitat:Was meinst du mit Fehlerbehandlung programmieren?
Damit meine ich, dass man Fehler wie "EOF erreicht" auch programmatisch behandeln kann…

Sorry da stehe ich jetzt etwas auf dem Schlauch. Wenn der Fehler erscheint dann bricht das Programm ja ab. Oder wie meinst du das?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2016, 16:15
Beitrag #6

gifo Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Nov 2015

2014
2014
DE



RE: TDMS in Queue laden
Mein jetziges Problem ist, dass meine zweite Schleife, nach dem Auslesen der Queue, wartet bis die Daten in der Queue erneuert wurden.
Erst wenn das geschieht, erfolgt ein neuer Iterationsschritt der Schleife 2.
Warum ist es denn nicht möglich, die Daten in der Queue immer und immer wieder neu auszulesen?


0.0 .rar  TDMS in Queue 2.rar (Größe: 83,77 KB / Downloads: 208)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2016, 16:25 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2016 16:27 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: TDMS in Queue laden
Hallo gifo,

Zitat:Mein jetziges Problem ist, dass meine zweite Schleife, nach dem Auslesen der Queue, wartet bis die Daten in der Queue erneuert wurden.
Erst wenn das geschieht, erfolgt ein neuer Iterationsschritt der Schleife 2.
Korrekt. Wo ist hier überhaupt ein Problem?
Lies dir doch einfach mal die Hilfe zur Dequeue-Funktion durch! Die kennt ja auch einen Timeout-Input und einen TimedOut-Output, die man verwenden könnte…

Zitat:Warum ist es denn nicht möglich, die Daten in der Queue immer und immer wieder neu auszulesen?
Weil eine Queue so nicht funktioniert! (Mit einem Melder wäre das möglich, der arbeitet aber auch anders.)
Wenn du ein Element aus der Queue entnimmst, ist es (logischerweise) in der Queue nicht mehr verfügbar…
(Du könntest mit QueueStatus arbeiten, ist dann aber eher ein Missbrauch als eine sinnvolle Vorgehensweise!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2016, 16:33
Beitrag #8

gifo Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Nov 2015

2014
2014
DE



RE: TDMS in Queue laden
(07.01.2016 16:25 )GerdW schrieb:  Hallo gifo,

Zitat:Mein jetziges Problem ist, dass meine zweite Schleife, nach dem Auslesen der Queue, wartet bis die Daten in der Queue erneuert wurden.
Erst wenn das geschieht, erfolgt ein neuer Iterationsschritt der Schleife 2.
Korrekt. Wo ist hier überhaupt ein Problem?
Lies dir doch einfach mal die Hilfe zur Dequeue-Funktion durch! Die kennt ja auch einen Timeout-Input und einen TimedOut-Output, die man verwenden könnte…

Ach mensch stimmt ja. Das mit dem Timeout-Input hatte ich total vergessen. Manchmal hat man aber auch Tomaten auf den Augen. Blush

Ich habe das jetzt etwas anders gelöst. Und zwar führe ich die States "Einstellung Datei laden", "Datei lesen" und "Datei schließen" solange nacheinander aus, bis "STOPP Daten lesen" gedrückt wird.

Ist diese Vorgehensweise okay oder ist das unsauber?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2016, 16:41
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: TDMS in Queue laden
Hallo gifo,

wenn es dich nicht stört, dass andauernd auf der Festplatte rumgerödelt wird, dann ist es wohl ok…

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


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Wie auf abgearbeitete Queue warten mez15 11 8.036 28.09.2017 13:02
Letzter Beitrag: TR61
  Datum Uhrzeit Queue DeleteAll 8 5.623 24.03.2017 15:47
Letzter Beitrag: GerdW
  Fehlercluster via Queue hansi9990 23 14.259 07.08.2015 14:11
Letzter Beitrag: hansi9990
  Queue und (kein) Dataflow NoWay 9 7.305 01.06.2015 11:56
Letzter Beitrag: Kiesch
  Notifier und Queue Nattdis 3 6.585 27.11.2014 14:51
Letzter Beitrag: Lucki
  State mehrfach im Queue ehrnst 3 4.238 29.09.2014 11:30
Letzter Beitrag: Flemmy

Gehe zu: