Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

AI Measurement time with trigger

Hello all !
 
I am measuring an analog, sin-like, signal with AI on a NI6159.
I do this in 2 ways :
1. measure it without trigger and one chanel in the task, it takes 20ms to get 400 samples.
2. measure it with trigger and 2 channels in the task, trigger on the 1st channel and measure the 2nd channel, it takes 300..330ms to get the same 400 samples.
    I take the amplitude and offset out of the sin signal with min/max. With triggering enabled the repeatability of the measurement is 10 times better.
 
Is this o.k. that the trigger mode takes 300ms/measure ?? There are 21000 sensors on one wafer
and i have to measure the signal 2 times. So this 300ms additional time costs 3.5h on the wafer.
 
Regards Lutz
0 Kudos
Message 1 of 7
(3,814 Views)
Hi Lutz,

I'll assume you're talking about an NI 6259. The analog trigger circuit on the NI 625x uses PWMs to generate the necessary reference voltages. The output of these PWMs goes through a low pass filter, which has a significant settling time.

The solution is to call DAQmx Control Task (which is located in the DAQmx Advanced Task Options subpalette in LabVIEW) and pass it the "commit" enum value. Then start/stop the same task once for each acquisition you want to perform. The PWM will only get programmed once, up front, and your acquisitions will take much less time. There is a LabVIEW example program that demonstrates this functionality, located under Hardware Input and Output > DAQmx > Analog Measurements > Voltage > Acq&Graph Voltage-Int Clk-HW Trig Restarts.vi in the NI Example Finder.

Brad
---
Brad Keryan
NI R&D
0 Kudos
Message 2 of 7
(3,806 Views)
Hi Brad,
 
thank's for this fast tip. I have to check it tomorrow.
Yes, it is a 6259 ........ my fingers were faster then my brain .....
 
Lutz
 
 
0 Kudos
Message 3 of 7
(3,804 Views)

Is there an example for LabWindows/CVI also ?

Lutz

0 Kudos
Message 4 of 7
(3,796 Views)
Hi Lutz,

There doesn't seem to be a CVI version of this specific example. For CVI or ANSI C, you need to create your analog input task and then call DAQmxTaskControl(taskHandle, DAQmx_Val_Task_Commit) before you enter the loop that iterates over your 21000 sensors. You should call DAQmxStartTask(taskHandle), some variant of DAQmxRead*, and DAQmxStopTask(taskHandle) inside the loop (i.e. once per sensor, assuming you need to do one measurement per sensor).

Brad
---
Brad Keryan
NI R&D
0 Kudos
Message 5 of 7
(3,780 Views)

Ahhh...................

Thank you Smiley Wink Now I have to test time it.

Regads Lutz

0 Kudos
Message 6 of 7
(3,734 Views)

Smiley Very Happy

Thank you for the Task-Commit info !!

Regards Lutz

0 Kudos
Message 7 of 7
(3,696 Views)