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 

Funktionsweise CompactDAQ



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!

02.07.2010, 15:16 (Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2010 15:19 von Matze.)
Beitrag #1

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Funktionsweise CompactDAQ
Hallo zusammen,

ich habe bei NI ein Dokument gefunden, das einiges bzgl. der Funktionsweise des CompactDAQ erläutert.
Dort steht auf Seite 7 grob, wie die Übertragung funktioniert (der Text lässt sich leider nicht hier her kopieren).

Mich würde folgendes zur Datenübertragung interessieren:

Nehmen wir als Beispiel das Einlesen über DAQmx mit einer Frequenz von 50 Hz und einer Sample-Anzahl von 10.

Was passiert vom Erzeugen eines Tasks bis zur Festlegung der Samplerate?

Meine Vermutung: Diese Konfigurationsdaten werden an das CompactDAQ übertragen, damit dieses im Endeffekt für den entsprechenden Kanal initialisiert wird.

Was passiert beim manuellen Starten des Tasks (SubVI "Task starten")?

Meine Vermutung: Das CompactDAQ beginnt, die Messdaten zu erfassen.
Nur wohin werden diese geschrieben? In einen RAM des CompactDAQ oder werden diese zum PC gestreamt bzw. alle 10 Werte erfolgt die Übertragung "als Paket" zum PC bzw. in dessen RAM?

Was passiert beim Auslesen (SubVI DAQmx - Lesen") im Modus "kontinuierlich"?

Meine Vermutung:
Sollten die Daten im CompactDAQ-RAM gepuffert werden, werden von dort 10 Werte abgeholt und an den PC übertragen.
Sollten die Daten laufend gestreamt und im PC-RAM gepuffert werden, werden vom PC-RAM 10 Werte ausgelesen, sobald diese verfügbar sind.

Was passiert beim Auslesen (SubVI DAQmx - Lesen") im Modus "endliche Anzahl"?

Meine Vermutung: Der PC schickt dem CompactDAQ ein Signal, dass 10 Messwerte erfasst werden sollen. Daher dauert der Vorgang recht lang im Vergleich zum kontinuierlichen Einlesen, wo diese Übertragung der "Trigger-Daten" nur einmal statt findet. Diese Messwerte werden daraufhin erfasst und entweder sofort gestreamt oder erst, wenn alle Werte erfasst wurden.

Ein fortlaufendes Streamen, sodass die Werte direkt im PC-RAM landen, kann ich mir nicht vorstellen. Speziell bei Abtastfrequenzen von 200 kHz. Ich vermute, das packt USB nicht. Daher kann ich mir nur vorstellen, dass die Werte generell "als Block", d.h. die Anzahl der angeforderten Werte auf einmal überträgt (im oberen Beispiel 10).

Was passiert, wenn ich die Werte langsamer Verarbeite als sie eingelesen werden?

Meine Vermutung: Die ältesten gepufferten Werte (entweder im CompactDAQ-RAM oder im PC-RAM) werden mit den neuen überschrieben (oder aus einer Art Stack herausgeschoben). Sie stehen nicht mehr zur Verfügung.
Der DAQmx-Treiber registriert, dass diese Werte neuer sind als die angeforderten und meldet daher den Fehler, dass die Daten nicht mehr zur Verfügung stehen.

Könnt ihr mich aufklären?

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.08.2010, 10:53 (Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2010 10:55 von A.Berndsen.)
Beitrag #2

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
Funktionsweise CompactDAQ
Hallo Mech.-Ing.,

ich hab diesen Post rausgekramt, der noch nicht beantwortet ist.

' schrieb:Was passiert vom Erzeugen eines Tasks bis zur Festlegung der Samplerate?
Meine Vermutung: Diese Konfigurationsdaten werden an das CompactDAQ übertragen, damit dieses im Endeffekt für den entsprechenden Kanal initialisiert wird.
Ohne es genau zu wissen, denke ich dass Du Recht haben könntest. Alle Initialisierungsschritte werden direkt zu der Messhardware geschickt, damit diese schrittweise konfiguriert wird und der Task bzw. die Messwerterfassung später schnell gestartet werden kann. Ich könnte mich aber auch irren.

Zitat:Was passiert beim manuellen Starten des Tasks (SubVI "Task starten")?
Die Messhardware beginnt Daten zu erfassen und schreibt die Messdaten in den internen Puffer, bis dieser voll ist. Aus diesem Puffer holt sich DAQmx Read die entsprechende Anzahl von Messdaten ab.

Zitat:Was passiert beim Auslesen (SubVI DAQmx - Lesen") im Modus "kontinuierlich"?
Deine erste Vermutung ist zutreffend.

Zitat:Was passiert beim Auslesen (SubVI DAQmx - Lesen") im Modus "endliche Anzahl"?
Auch hier stimmt Deine Vermutung. Wobei die Daten erst an den PC als Paket gesendet werden, wenn alle erfasst sind, so wie Du es geschrieben hattest.

Zitat:Was passiert, wenn ich die Werte langsamer Verarbeite als sie eingelesen werden?
Der Puffer läuft voll.
Du bekommst in Deiner Software je nach Puffergröße Daten suggeriert, die zeitlich nicht mehr zum Programmablauf passen.
Erst wenn der Puffer voll ist gibt es eine Fehlermeldung. z.B. "Sie haben versucht Daten zu lesen die nicht mehr vorhanden sind ..."
Das deckt sich mit Deiner Vermutung.

Zitat:Könnt ihr mich aufklären?
Das wäre eigentlich Aufgabe Deiner Eltern gewesen.Wink
Aber ich könnte da auch weiterhelfen.Tongue

Grüße
Andreas

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.08.2010, 12:52
Beitrag #3

labsam Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Mar 2010

8.2
2009
de

76131
Deutschland
Funktionsweise CompactDAQ
Hallo Leute,
für ähnliche Fragen, hab ich oft in LabVIEW-Hilfe eklärungen gefunden..
ic aber noch eine,
was ist der Zusammenhang zwischen "Samples pro Kanal" und der "Abtastrate"?

Grüße
Sam
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.08.2010, 13:03
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Funktionsweise CompactDAQ
Wenn Du Deine Werte in z.B. einer Whileschleife ausliest und eine (Abtast-)Rate von 2000 (Messwerte pro Sekunde) einstellst und bei Samples per Channel 1000 angibst, dann wird jede halbe Sekunde ein Paket von 1000 Werten eingelesen.
Stellst Du die Rate nun auf 500, dann läuft ein Schleifendurchgang 2 s und Du hast die 1000 Werte erst nach diesen 2 s.
Hier ein Bsp.:

Sonstige .vi  Continuous_Acquire_with_MIO.vi (Größe: 22,91 KB / Downloads: 213)

Lv82_img

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.08.2010, 16:48
Beitrag #5

labsam Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Mar 2010

8.2
2009
de

76131
Deutschland
Funktionsweise CompactDAQ
Danke Markus
leider hab ich noch ein Problem, ich beschreibs im neuen Thema
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
  Paralleler Zugriff auf CompactDAQ von mehreren Softwareinstanzen marone42 10 9.225 19.12.2011 14:06
Letzter Beitrag: marone42
  Fragen zu CompactDAQ, DAQmx und anderen Golan 2 4.317 18.03.2011 11:57
Letzter Beitrag: Golan
  CompactDAQ auf einem Rechner betreiben, der kein LV installiert hat Matze 1 3.846 02.08.2010 12:36
Letzter Beitrag: Matze

Gehe zu: