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 

DAQmx Abtastung



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.2010, 15:58 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2010 16:21 von jg.)
Beitrag #1

goeck Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jan 2010

2009
-
de

53424
Deutschland
DAQmx Abtastung
Hallo und frohes Neues,

ich bin seit ein paar Wochen dabei mit einer NI-6035E Karte, die ich unter Qt mit C++ und den entspr. Header Einbindungen anspreche, auf vier Kanälen zu messen und die Ausgabe grafisch darzustellen. Soweit funktioniert das auch hervorragend. Allerdings habe ich arge Performanceprobleme dabei. Ich lese mittels DAQmxReadAnalogF64 je 100 Wert ein, also insg. 4x100, und mittele diese dann. Diesen Vorgang wollte ich ca. 50 Mal/Sekunde ausführen. Ich komme aber lediglich auf ca 15Hz.

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>int32 DAQmxReadAnalogF64 (TaskHandle taskHandle, int32 numSampsPerChan, float64 timeout, bool32 fillMode, float64 readArray[],
uInt32 arraySizeInSamps, int32 *sampsPerChanRead, bool32 *reserved);</div>

Jetzt denke, ich hab den Lesemechanismus vielleciht noch nicht ganz verstanden. Ich sehe das so: Ich stelle mittels DAQmxCfgSampClkTiming das Timing und die Abtastrate ein. Da habe ich bsp. jetzt 8kHz eingestellt. (Meine Überlegung war, dass bei 8000Hz/400Samples rechnerisch noch reale 50Hz Wiederholungsrate möglich sind. Das legt zu Grunde, dass die 400Samples nacheinander eingelesen wurden. Hat jeder Kanal seinen eigenen Puffer und muss ich somit nur durch 100 teilen?) Ab dann wird der Puffer der Karte laufend befüllt - FIFO?
Nun kann ich mittels DAQmxReadAnalogF64 ein Array befüllen. Bei mir ist das 400 Samples groß, 100Samples für jeden Kanal und nacheinander angeordnet mittels des DAQmx_Val_GroupByScanNumber Arguments. Ist das wirklich nur eine Anordnung oder gibt das auch einen Hinweis auf die zeitliche Reihenfolge der Werte?

Ich hoffe, ich bin nicht in zu viele Details ausgebrochen und jemand tut sich diesen Text an. :-)
Herzlichen Dank

Grüße
Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
DAQmx Abtastung - goeck - 07.01.2010 15:58
DAQmx Abtastung - jg - 07.01.2010, 16:25
DAQmx Abtastung - IchSelbst - 07.01.2010, 17:13
DAQmx Abtastung - goeck - 08.01.2010, 08:17
DAQmx Abtastung - Achim - 13.01.2010, 12:08

Gehe zu: