03-27-2014 03:26 AM
Hey guys, i'm a running a simple match patten system, any my camera does not display on my front panel. When I click the run program it displays just a white screen.
I know the camera works because of the express VI's, but running the easy match program the camera does not operate, any thoughts on how to fix this?
03-27-2014 05:42 AM - edited 03-27-2014 05:42 AM
Hi cwatts
I can't explain why, but if you put the IMAQ dispose and Close camera in a flat sequence structure it works (check attachement). I did face the same problem once, so I seek some example VI's and that's how I found this solution (I don't know it's the best way).
Maybe someone can explain what is going on, why it is corrected with the flat sequence structure and if there is maybe another/better solution
Regards
Ruts
03-27-2014 06:10 AM - edited 03-27-2014 06:14 AM
Hello,
the problem is that the sequence of the operation is unknown (display, dispose). What executes first - the "display" or the "image dispose"? I don't know the answer to that, since its a paraller execution. Your image reference gets released and no display is performed.
Put the IMAQ dispose outside the while loop. And also put the IMAQ create (with IMAQ read, since the path is constant) outside the while loop. You don't need to create/release the image on each iteration, since its a reference! You are just making unnecessary operations, making your life more difficult 🙂
Yes a sequence works, because it enforces the dataflow paradigm. But sequences are in my opinion bad practice. You can do without them, unless absolutely necessary.
RutsT: Wire the image reference from the while loop to the IMAQ dispose and you don't need the sequence structure.
Best regards,
K