From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Does 'Datasocket Open' require the user interface be idle?

It appears to me that the Datasocket Open VI requires the user interface to be idle before it will complete execution.  Is this correct?  Is there any way around this problem?
0 Kudos
Message 1 of 7
(2,790 Views)
I don't understand your question. What is your definition of "...requires the user interface to be idle ..." ???
 
 
0 Kudos
Message 2 of 7
(2,774 Views)
What I mean by 'user interface is idle' is the same as what is meant by the 'Must wait until user interface is idle' characteristic of a VI Server Property or Method.  If you look at LabVIEW help for the 'Run VI' method, for example, you'll see that the value for this characteristic is 'Yes' -- meaning that, until the user stops playing with the menu bar, dragging the window around the screen, scrolling a scrollbar, etc.,  the method will not execute.
0 Kudos
Message 3 of 7
(2,767 Views)

Perhaps a possible solution would be to embed the DataSocket Open.vi (or even the entire DataSocket portion of your code) in a subVI whose front panel is hidden. Have you tried this approach and does it help the problem?

Kind Regards,

E. Sulzer
Applications Engineer
National Instruments
Message 4 of 7
(2,753 Views)
Thanks for the quick reply Sulzer.  I'm not sure what you mean by "front panel is hidden".  If all you mean is that the datasocket code is in a subVI whose Front Panel isn't open while running, then the problem remains. 
 
I attached a simple example of the problem I am having.  Run 'datasocket test.vi'  and follow the instructions on the front panel.
 
Is seems as if - just like the limitation imposed by some methods of the VI Server- the "Must wait until user interface is idle" characteristic applies no matter what VI the user is interacting with  --- even VI's not in the hierarchy!
 
What is this characteristic meant to protect us from?  or is it a limitation of LabVIEW's threading architecture?  Can it be fixed in future releases?
 
0 Kudos
Message 5 of 7
(2,741 Views)

Hi Mike,

I was able to replicate the behavior you describe in LabVIEW 7.1.  However, when I ran that VI in LabVIEW 8, the control updated even when I scrolled around the front panel.  So it looks like R&D has already incorporated your suggestion into LV 8.  How's that for a fast turnaround?

Let me know if you ARE using 8 and I'm missing something 🙂

Thanks!
Megan B.
National Instruments

Message 6 of 7
(2,721 Views)

Thanks Megan!

I was using 7.1.1.   It does seem to work better in 8.   Interaction with the menus still causes hangups, but the scrollbar issue was fixed.  Thanks for the quick reply.

Michael

0 Kudos
Message 7 of 7
(2,708 Views)