Hello dimani,
DAQmx Read might finish execution under few conditions:
1) Requested number of samples has been acquired to buffer, so DAQmx Read can read them out
2) DAQmx task was stopped
3) There was less then requested number of Samples to Read samples acquired by DAQ board, and specified time elapsed since DAQmx Read has been called. In this case you will receive Timeout error.
Let's show possible scenerio when Timeout error might occur. Let's have sample clock 1kS/s, and let's try to read 10k Samples with DAQmx Read, with timeout less then 1s. This settings would lead to timeout error, as we need full 10 seconds to acquire 10,000 samples.
If you read continuously, then you might use number of samples per channel set to -1, which means that you will acquire all currently available data. Or, you might use timeout -1, so you will wait indefinitely until desired number of samples will be available.
I hope it helped.
Stefo