Machine Vision

Showing results for 
Search instead for 
Did you mean: 

Is parallel execution of VBAI inspection states possible?


From what I understand, Labview is inherently multithreaded due to the nature of the data flow model.  Whenever there is a branching connection in the wire the branches execute on a separate thread.  (Please correct me, if I'm wrong about this...)   Is there any way to have VBAI do something similar?


I basically have 4 images that I need to inspect, but there is no reason logical reason they can't be done in parallel, but it seems to be doing them sequentially.  I have them linked linearly from one to the other in the diagram so, from looking at it, this is the behavior I would expect.


Is there a way to structure the flow chart so they could be inspected in parallel like they would be if it was a Labview VI?   Wait-- just had an idea as I was typing this!  What if I had a conditional branch and gave it the same variable with the same value condition but branched it out into multiple states.   Would that work?


Any advice would be greatly appreciated...





PS  I would prefer to not use Run Labview steps to make it easier for people to maintain and to avoid the headaches that version upgrades cause.


0 Kudos
Message 1 of 4

Vision Builder AI does not currently support running multiple steps/states at the same time. Another option might be to break your inspection up into the four cameras so you have a different inspection for each camera and then you can launch 4 different Vision Builder executables and run each inspection in a different executable at the same time (a similar solution can be accomplished with the LabVIEW API to control VBAI). If all your inspections need to coordinate results or synchronize I/O with each other, this may not work well with this approach, or it would at least require more over head to coordinate all this between inspection with different communication options available (TCP, I/O, global variables, etc.), but if each inspection is independent, this could be a solution to consider.


Hope this helps,


0 Kudos
Message 2 of 4

Thanks for the reply.  I was afraid of that.


It could be done by using a "Run Labview" step where it was parallelized inside the Labview VI, right?

0 Kudos
Message 3 of 4


0 Kudos
Message 4 of 4