01-29-2010 03:38 PM
Hi everyone,
I am a little stuck right now on a large VI for controlling multiple devices and taking data. I need to communicate via serial port (COM 1) with a power supply, acquire images from a camera over firewire, and acquire both analog and digital signals using 2 modules on the USB compactDAQ device. I would attach the VI, but both the power supply and the camera have third party Labview VIs so I would end up needing to attach like 40 VIs. Here is the issue I am having though:
Right now, I am calling a while loop to communicate with the PSU and reach the compactDAQ signals. I tried to pu the camera aquisition in there too, but there is a glitch in their VIs to prevent appending of already existing tifs so that 100 or so frame sequences from each experiment would have to be saved as 100 different tifs instead of one file. Their aquisition VI will store as many frames as you specify, and once all the frames are acquired, i want to stop the other DAQ processes. However, because of the way LabView is evaluating these functions, it stores all 100 frames before beginning communication with the pSU or DAQ to take data. Also, since there is a global flag to stop data acquisition when image acquisition is done, the while loop only executes once. Is there a way to get LabView to process the while loop while simultaneously executing the subVIs responsible for the image acquisition? Thanks for the help!
-Tim
01-30-2010 02:25 PM
Hi
I think you can have two loops in parallel, one doing the data aquisition and the other the imaq thing... you can use a notifier (or a queue, I preffer the first) to send commands to the loop. check the master slave or producer consummer templates.