LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Enqueue element at opposite site.VI hangs

My application hangs in Enqueue Element at Opposite End.VI. Before this happens the Queue ist split and passed to a subVI which performs some image aquisition from a camera using a third party DLL. The Queue is passed to that subVI to allow stopping the image aquisition from the front panel (The queue is watch by Preview Queue Element). Normally that  subVi finishes after a given number of images. What could be the reason for the endless waiting in Enque Element at Opposite End?

 

There weren't any problems in previous versions of the program with the same architecture.

 

Did someone experienced similar problems?

 

Regards,

Jörn

0 Kudos
Message 1 of 7
(3,628 Views)
lv version?
0 Kudos
Message 2 of 7
(3,597 Views)

I am working with LV 8.6.1f1

 

Four months ago I converted the project from LV 8.5

0 Kudos
Message 3 of 7
(3,594 Views)

Is there a certain limit on the length of the queue? This can be set at 'Obtain queue'.

If you add a time-out to the 'Enqueu element at opposit'  does the primitive time out?

Does the 'Get Queue status' indicate an enqueu action is waiting?

 

Ton

Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
Message 4 of 7
(3,589 Views)

The queue length is ten elements. When the VI hangs there is one element in the queue.

 

The primitive times out if timeout is wired.

 

I have to check what the Queue status indicates.

 

When the image aquisition is started also the front panel of the main application hangs. But when the image aquisition is finished another SubVI is called which requires user input. There is no problem with user action in this SubVI. After that the Enqueue element at opposite end is called.

 

0 Kudos
Message 5 of 7
(3,577 Views)

Try setting both VIs to a different thread (VI properties, execution). I think the DLL call to the sub-vi locks the user thread totally.

 

Ton

Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 6 of 7
(3,562 Views)

Ton , thank you, for your kind help.

 

The location where I placed my Get Queue status was not optimal. It was before starting the image aquisition subVI. I moved it into the aquisition VI and found that the queue is unnecessarily messed with elements while running the image aquisition VI. Now I removed the generation of the additional queue elements and it seems to work. But I will return to the forum with further information.

 

The aquisition VI and the UI were already in different threads.

 

Regards, Jörn

0 Kudos
Message 7 of 7
(3,549 Views)