Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Producer loop and 2 consumer loop for acquisition and process images

Hello everybody,

 

I'm quite a newbie in Labview 2011 on Windows 7.

Those are what I want to do :

 

Step 1: When the objects fall with velocity around 2 to 5 m/s, images of these objects will be acquired continuously from PCIe 1433 with Basler spL4096-39kc.

Step 2: The processing of the images continuously in the same time with step 1 will find the datas of the objects in images as colors, patterns and locations. If the patterns and colors at location are as the same sample, the elements in Boolean data array are true.

 Step 3: Every 01 millisecond, values from Boolean data array will be read, the valves of nozzle will be opened if the values are true.

 

 My question is what is the best way to do my tasks ? I couldn't find any example of program in Labview and I think I use producer/consumer architecture for step 1 and 2 but I don't know how can I set up producer loop for step 3 and transfer Boolean data array from step 2 to step 3 ?

 

Thank you for reading and help me !

0 Kudos
Message 1 of 4
(3,879 Views)

You may need to provide more information to understand your setup and overall goal, but it sounds like you would like to interpret data every millisecond and open/close a valve based on the boolean array?  It will be difficult to achieve this timing if you are not using a real time system.  Determinism will be very important for this task.

Applications Engineer
National Instruments
0 Kudos
Message 2 of 4
(3,848 Views)

Dear Eric-J,

 

Thanks for your reply. I want sort the pellets that have 6mm diameter. The pellets were fed in a single layer by a vibratory feeder with a flat-bottom trough, 400mm wide that was supplied with the feeder . The pellets dropped off the end of the feeder onto a chute with 40 parallel U-shaped grooves. Images of these pellets will be acquired continuously. I make the sample from image that was acquired. I use NI Vision for processing  of the images. If the patterns and colors of pellets are as the same sample, the elements in boolean data array are true. As you thought, I would like to interpret data every millisecond and open/close a valve based on the boolean array. The air valve sends a burst of air for 2 - 3 milliseconds to an air nozzle that diverts the pellets into the appropriate channel.

 

What are your ideas for this task ? Could you explain more clearly about "a real time system" and "determinism" for this task ?

 

Thanks and best regards

0 Kudos
Message 3 of 4
(3,837 Views)

A real time system is a system with very precise timing.  This article should help you understand these systems. If a function is deterministic, if it is guaranteed to execute within a given amount of time (2-3 ms in your case).  You will need to acquire an image, determine if it matches the pattern, write the boolean array, interpret the array, and then take an action based on the array every 2-3 milliseconds.  This will be hard to do in a non real time system because there is no way to guarantee that the calculations will finish on time to direct the pellet to its channel.

Applications Engineer
National Instruments
0 Kudos
Message 4 of 4
(3,823 Views)