Hello All,
I am new to NI-IMAQ, so sorry if my questions are too simple.
I plan to use low-level IMAQ VIs to code my application, and I start with example of "LL RIng.vi". However, I don't understand some aspects of the code, so I post here hoping to clarify my confusions.
The block diagram is as following:
1. Buffer to extract input to the IMAQ Extract Buffer VIIf I set 10 as the number of buffers (0~9), then within the second loop structure, if iteration number i>9, will the acquisition hardware wraps around the buffer list? I mean, if i=10, the acquired image will be written to buffer #0? Similarly, image of i=11 will be written to buffer #1? I am not sure whether my understanding is correct.
2. The purpose of using multiple buffersAccording to NI-IMAQ help: '
Need to use multiple buffers when need to process images on every image.' So, I guess using multiple buffers is helpful when the image processing speed can not catch up with image acquisition speed. But using how using 10 buffers can solve this problem? Before the IMAQ Extract Buffer VI is called again, a buffer is protected against writting. So, as long as the image processing speed is lower than the image acquisition speed, finally all 10 buffers will be protected, waiting for the image process to complete..... So, finally using 10 buffers will be the same as using one buffer, even in the case that several buffer images can be processed simultaneously.
3. Why use another IMAQ Extract Buffer VI after the second loop structure?
Here the 'buffer to extract' is set to '-1', meaning '
release the currently extracted buffer without extracting a new buffer'.
I don't understand why do this step here: (1) why just release 'currently extracted' buffer instead of all 10 buffers? (2) SInce IMAQ close and Dispose VIs are used here, why we still need to release here?
Message Edited by Dejun on 09-07-2007 09:46 AM