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 Zeitstempel



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!

05.09.2022, 18:46
Beitrag #11

hulk Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: Dec 2015

LV 2021
2016
DE


Deutschland
RE: TDMS Zeitstempel
Guten Abend,
Zitat:wieso stellst du eine Buffergröße von 50 Samples ein, obwohl du den "kontinuierlich"-Modus verwendest? Bitte die Hilfe zur Funktion DAQmxTiming lesen!
Ich hab im subvi "SIM" jetzt den Buffer rausgenommen.

Zitat:- wieso liest du nur ein Sample pro Iteration, wenn du eine Samplerate von 50S/s einstellst? Lese 10 Samples auf einmal!
Hier verstehe ich immer noch nicht was gemeint ist.
Im DAQMX Reading habe ich jetzt umgeschalten auf Analog 1D Wfm NChan NSamp.
Gebe ich da die Anzahl der zu lesenden Samples mit 10 an, ist die Anzeige verzögert.
Ich habe es dann mit 1 probiert. Dann ist es wieder flüssig.

Zitat:- wieso arbeitet deine Simulation mit einer anderen Samplerate?
Habe ich angepaßt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.09.2022, 19:05
Beitrag #12

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: TDMS Zeitstempel
Hallo hulk,

Zitat:Im DAQMX Reading habe ich jetzt umgeschalten auf Analog 1D Wfm NChan NSamp.
Gebe ich da die Anzahl der zu lesenden Samples mit 10 an, ist die Anzeige verzögert.
Ich habe es dann mit 1 probiert. Dann ist es wieder flüssig.
Frage: wie "flüssig" muss es für den Bediener sein?
"Gucken" kann er nur mit ca. 25Hz, warum also ein Display mit 50Hz neu zeichnen?
Und was ist "verzögert", wenn die Anzeige nur mit 5Hz (alle 200ms) neue Werte anzeigt?
Was passiert, wenn du jeweils 5 Samples liest, also mit 10Hz das Display neu gezeichnet wird?

Ist deine Anforderung "ein flüssiges Display" oder "das Speichern der korrekten Anzahl Samples in der erwarteten Zeit"? Wo liegen deine Prioritäten?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2022, 07:06
Beitrag #13

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 429
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: TDMS Zeitstempel
Hallo Hulk,

ich fände es zwar sehr sinnvoll zunächst das Programm aufzuräumen und die Datenerfassung sauber zu lösen (siehe Hinweise von Gerd).
Dennoch ein Hinweis zu dem Thema:

(04.09.2022 11:47 )hulk schrieb:  Nur erscheint es gewürfelt, wie viele Daten am Ende tatsächlich in der TDMS Datei sind.

Gewürfelt ist es zwar nicht, was da passiert, denn ein Würfel sollte gleichmäßig verteilte Ergebnisse liefern. Das dürfte in deinem Fall etwas anders aussehen.

Du hast eine While Schleife welche die gemessenen Daten in eine Queue schreibt (Enqueue Element). Dein Programm hat unter anderem zwei Schleifen die von dieser Queue Daten lesen (Dequeue Element). Je nachdem wie die Hardware des PC aussieht, wie sehr der Rechner belastet ist usw. bekommt nun entweder die eine oder die andere schleife die gemessenen Daten.
Die eine Schleife schreibt vor allem die Daten aus der Queue in die TDMS Datei und berechnet irgend etwas. Die andere Schleife berechnet auch irgend etwas und sammelt die Daten in einem 2D Array ohne dass die Daten aus den 2D Arrays jemals einer sinnvollen Verwendung zugeführt werden (einer nicht sinnvollen Verwendung werden sie zugeführt).

Es wird also nicht jeder gemessene Wert in die TDMS Datei geschrieben und durch das sammeln der Messdaten in den 2D Arrays verschiebt sich zusätzlich zu anderen Faktoren auch die Menge der Daten die in der TDMS Datei landen. Wenn du jetzt auch noch etwas sehr sinnvolles machst und mehr als nur ein Sample auf einmal einliest, so ist das deinem unerwünschten "ruckeln" nicht gerade zuträglich.

Von den zwei Schleifen mit dem Dequeue Element brauchst du nur diejenige, welche Daten in die TDMS Datei schreibt. Die Berechnungen der zweiten Schleife kannst du in diese Schleife integrieren. Und bitte nicht ohne Notwendigkeit stundenlang Daten in einem Array ansammeln.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: