LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

How to avoid calling DIG_Block_In ?

Data are sent continuously, but I want to acquire only
4000 data words of 32 bits with a 6534 card every 100 ms, in response of a timer tick in my program.
How to avoid calling DIG_Block_In, which takes around 40 ms time ?
0 Kudos
Message 1 of 3
(3,039 Views)
HEllo;

The best way to go about that is to set the board to do pattern input operation, and specify the clock at 100ms. That will make the board to acquire one point at each one of its 32 digital lines, once every 100ms.

To acquire exact 4000 words, just set the number of points to be acquired to that number, and you should be good to go.

There are some examples about pattern input at the NI-DAQ/examples folder.

Hope this helps.
Filipe A.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 3
(3,039 Views)
Sorry, but I didn't explain that acquisition clock is set to 2us, with pattern generation. I need to acquire all 4000 data points during 10ms, and repeat this each 100ms. If I don't stop acquisition with calls to DIG_Block_Clear/DIG_Block_In, data points are acquired continuously, and I get more than 4000 points. Is there a way to avoid calling DIG_Block_In, which takes sometimes 40ms, sometimes 50ms ?
0 Kudos
Message 3 of 3
(3,039 Views)