Hi,
in a buffered acquisition you allocate a memory buffer in which the acquired data are directly stored at a rate (samples/second) you set by the scan rate.
The AI READ.VI reads a number of scans at once from the buffer and releases the space occupied for further acquired samples. Normally you read continously from the buffer (AI READ is in a while loop, therefore to avoid filling the buffer, the read rate must be higher than the write rate. Note that the read rate corresponds to the number of scans you read at each iteration multiplied the number of iterations/second.
In your example you have an acquisition at 100Hz, if you acquire only one channel, the buffer would fill after 10 seconds (when the buffer is full you get an error and the data will be overwr
itten). But as long as you are reading 10 samples at each loop iteration, if the while loop runs fast enough (more than 10 loops/second), you won't run-out of buffer space and the acquisition process will be stable.
You can check the scan-backlog, this is the number of scans remained in the buffer after each read operation. If during acquisition this value is stable or better tends to zero, you are reading at a rate fast enough.
If you see the scan-backlog increase continously, you have to increase the read rate by increasing the number of scan to read at each iteration.
Another nice trick you can see in the LV example Cont Acq&Chart (buffered).vi; as you see the scan-backlog is compared to the control Scans to read, the higher is connected to the input of the AI READ; this avoids buffer filling.
I hope I was clear enough, if not just ask.
Alberto