I have an application that runs a timed loop to build and transmit UDP packets over a network. The loop run continuously at 100 Hz and is very time sensitive. I would like to create a subVI that runs when a user clicks some from of an "Advanced Display" button. The subVI would then pop up it's front panel in a separate window and display all of the data being sent in each packet as it is built and transmitted. The subVI window would stay open, constantly updating it's indicator fields from new data being generated on each loop iteration in the primary VI. The user should still have access to the controls on the primary VI as this is happening, as well as posses the ability to open or close the advanced display window at will.
Is there a graceful and efficient way of doing this?
I have gotten some functionality out of calling a subVI that will display the necessary fields each iteration of the loop and programming it to display it's front panel and not to close when it's done, but this slows my timed loop down too much. I need something faster.
When I display all of this data on the primary VI's front panel, it updates each loop iteration and runs within the time limit. Essentially, I just want to move this display off of the primarily VI's front panel and into a separate window that can be optionally displayed.
I am running Labview 8.2 on Windows XP Pro. Any suggestions are appreciated.
Something similar to this approach might work: http://forums.ni.com/ni/board/message?board.id=170&message.id=368014&query.id=1065944#M368014.
Unfortunately I only have access to LabView 8.2, so I can't view the examples.
Suggestions, help or file conversion?
I'm still looking for a solution on this.
Is there a way to set up tabbed screens on the front panel in LabView 8.2 (much like the windows task manager's layout)? Is there a way to show or hide a subVI's panel so that it can always be running but only be displayed at certain times?
Any ideas would be appreciated...
Hey, you can open and close a subVI's front panel by modifying a property node for that VI. Take a look at this code
Those reference and property node VI's can be found in Function->Programming->Application Control
I hope this helps
Thanks for the info. I actually ended up figuring this out as I was playing around. A combination of this, multiple while loops, global variables, and using the VI reference's invoke methods to write updated information to the front panel where able to solve my problem.