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 

Buffer Size, Samples per Channel zusammenhang



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!

13.10.2022, 15:32
Beitrag #1

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



Buffer Size, Samples per Channel zusammenhang
Hallo zusammen,


Ich habe ein VI erstellt mit dem ich verschiedene Arten von Signalen über eine Messwerterfassungskarte + NI-DAQmx auf ein Oszilloskop darstellen möchte. Leider wurde mir sehr häufig die Fehlermeldung angezeigt, dass die Buffer Size zu niedrig ist und deswegen habe ich das Configure Output Buffer VI hinzugefügt. Nun habe ich in einem Video gesehen, dass man auch einfach die Einstellung der Samples pro Channel mit dem Timing VI verbinden kann und einen Puffer dort einstellen kann. Kann mir einer den Zusammenhang der Buffer Size und Samples per Channel erklären?
Und gibt es eine Formel wie man den Buffer am besten einstellt. Wenn ich z.B. für mein DAQmx Write VI 116900 Samples generiere, welche Einstellung muss ich dann für den Buffer machen?

Vielen Dank.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.10.2022, 16:26
Beitrag #2

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 413
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Buffer Size, Samples per Channel zusammenhang
Hallo mriworld,

für Analog Input ist das sehr ausführlich beschrieben. Für Analog Output nicht so sehr, aber da ist es auch ziemlich einfach. Wenn du exakt n Samples ausgeben willst und nur einen Schreibvorgang hast, dann ist eine Puffergröße von n Samples ausreichend. Wisst du kontinuierlich ausgeben oder deine feste Sample Anzahl in mehreren kleineren Teilen der größe m schreiben, dann muss der Puffer so groß sein, dass es beim schreiben der Puffer immer groß genug ist um die nächsten m Samples aufzunehmen. Wie viel das ist hängt von deinem Programm ab. Du könntest beispielsweise warten, bis etwa 1/3 des Puffers frei ist und dann die nächsten m Samples schreiben. Dann muss dein Puffer mind. 3 mal m groß sein. wenn du nur eine mehr oder weniger konstante Zeit wartest bis du die nächsten m Samples schreibst, dann muss der Puffer so groß sein, dass da immer die nächsten m Samples rein passen.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.10.2022, 09:49
Beitrag #3

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



RE: Buffer Size, Samples per Channel zusammenhang
Hallo Martin,

danke für deine Antwort. Wenn ich jetzt 6.000000 Samples pro Kanal schreibe und den Buffer 3*m groß machen will, muss ich meine Buffer Size dann auf 18.000000 festlegen? oder auf 72.000000, da ich ja 4 Kanäle habe mit jeweils 6.000000 Samples?
Und was hat die Sample Rate dann für einen Einfluss? Diese kann ich nicht höher als 1 MS/s setzen, da das die maximale Ausgaberate für mein Messwerkarte (DAQ Device) ist.

Vielen Dank im Voraus.

LG
Lea
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.10.2022, 16:31
Beitrag #4

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 413
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Buffer Size, Samples per Channel zusammenhang
Um die Anzahl der Kanäle musst du dich für die Einstellung der Puffergröße nicht kümmern.

Was willst du denn machen? Willst du 6 Mio. Samples mit 1MS/s ausgeben und dann ist nach 6 Sekunden Schluss oder willst du kontinuierlich Daten ausgeben und dabei spätestens nach 6 Sekunden die jeweils nächsten 6 Mio Samples an den Treiber übertragen? Ich würde ja kleinere Blöcke wählen als diese 6 Mio und 6 Sekunden, dann das erfordert einen ziemlich großen Pufferspeicher.
Wenn du nur 6 Mio Samples ausgeben willst und dann Schluss ist (Finite Samples) wird es auch noch in einem Block gehen. Dann musst du gar nichts einstellen. Schön ist es allerdings nicht einen so großen Pufferspeicher zu verwenden. Ich würde da kleinere Blöcke bevorzugen und sagen wir mal die Daten für maximal eine Sekunde in einem Block übertragen. Bei 1MS/s lieber bereits früher den nächsten Block schreiben (z.B. dann, wenn nur noch Daten für eine halbe Sekunde vorhanden sind). Dann brauchst du einen Puffer für 1.5Mio. Samples (0,5 Mio für die restliche halbe Sekunde und 1 Mio Samples für den nächsten Datenblock).

Martin Henz
Webseite des Benutzers besuchen 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
  Fehler -200220 bei DAQmx Create Channel (CI-Frequency).vi:7440002 DeHe88 4 4.193 23.08.2017 05:37
Letzter Beitrag: DeHe88
Question getting started - multi channel data logger und Probleme Gnorbert 0 2.799 15.06.2017 11:30
Letzter Beitrag: Gnorbert
  Ausgegebene Samples ermitteln Keppi 2 3.477 07.11.2014 10:25
Letzter Beitrag: Keppi
  Buffer Underflow chrigi28 1 3.268 29.11.2013 12:34
Letzter Beitrag: chrigi28
  Verschiedene Ports in einen Channel fassen chrigi28 1 3.153 19.11.2013 12:54
Letzter Beitrag: Achim
  Channel invertieren chrigi28 11 8.565 30.10.2013 15:34
Letzter Beitrag: Y-P

Gehe zu: