LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Vision Builder Crashes Labview

I have an application where I need to acquire and inspect many high resolution images 3Mp at high throughput. 

I'm using:

 

LabVIEW 8.5.1

NI-Imaq 4.1

Imaqdx 3.2

Vision Builder AI 3.6

ISG 3Mp Camera through Startech 1394a PCI card

 

In order to meet the cycle rate, I'm trying to multi-thread the application by having one thread that acquires images and enqueues them into another thread that saves them to the hard drive then runs the VBAI inspection.  The VBAI inspection then uses the "simulate acquisition" step inorder to load the image from the hard drive and make the appropriate measurements.  I've run the application and monitored the processor usage, and the processor seems to stay within 0-80%.  However, my application will crash intermittantly. 

 

I've been able to repeat the behavior pretty reliably if I activate/toggle a ring control on my front panel while the cycle is running, and I can't do so if the VBAI thread is not running.

I understand that this is could be a difficult problem to help debug remotely.  I'm wondering if there is anyone with similar experience, or some better way for me to creat a high throughput machine vision app with VBAI.

Thanks,
Ryan 

0 Kudos
Message 1 of 3
(2,615 Views)

**Update**

 

In repeating the error, it seems as though labview does'nt crash per se, it simply hangs for minutes.  If I wait it out, things will start to respond again.  The entire time, CPU usage of VBAI goes to 0.  Perhaps the culprit is VBAI.

0 Kudos
Message 2 of 3
(2,599 Views)

Dear Ryan,

 

You are right, this is difficult to debug remotely, but I can make a suggestion or two. Perhaps you've taken care of these, perhaps not...

 

One potential downfall with this setup is running into a race condition. If you don't establish data dependency, and make sure that you save and close a particular image before trying to open back up again with VBAI, you could cause the behavior described. Race conditions would be even more of a concern if you were using a certain number of files as an image buffer, and then recycling through them. 

 

What in this ring control? What does the ring control do?

 

Have you tried generating LabVIEW code from your VBAI inspection, and then encapsulating the VBAI code in a subVI, and just passing your images into that instead of saving them to disk? I would suggest doing this to see if you still experienced the crashes when you are only working in LabVIEW, and without saving and opening images from disk.


Let me know how things go; I hope the above suggestions provide some help. 

 

Best Regards,

 

~Nate 

 

Message 3 of 3
(2,572 Views)