07-05-2016 08:37 AM
I’m trying to use 1427card to acquire images at a high speed.
At first, I'm using a loop and a Grab.VI to get the images I need and trigger this acquisition using a square wave through a function generator.
When the frequency of the trigger signal is low ( <500Hz ), everything is ok.
But if the frequency is high ( >500Hz ),the program will slow down, taking more time than expected.
However, if i use the Grab sequence.vi, it will take a lot of time to create a large images array.
Can you guys help me with this? I'm very grateful.
07-05-2016 10:44 AM
Separate the image acquisition and the process into 2 loops.
Manage the image buffer yourself. Don't use IMAQ for buffer manage: don't use buffer index.
Get a faster computer. Use Solid hard drive.
Use LabVIEW 64 bit, so that you can take advantage of RAM > 4GB.
07-05-2016 05:40 PM
Also remove Image display and every iteration big results if any (if you really need to see them, show every 100-th frame), disable debugging in VI properties -> Execution
Is it large data or fast processing application? Do you get close to 4G memory limit of 32 bit system?
What is taking most? Acquisition, processing, display, or saving to disk?
07-06-2016 12:02 AM
Thank you for your advice, but in NI-IMAQ I need to create images first and this action will take a long time.
I try to use local variable to speed up but an error occurs.
07-06-2016 01:22 AM
Create those buffer images outside loop.
Use circular buffer.