08-15-2012 08:46 AM
Hello all
I have developed a test system which needs to control 4 different test stations simultaneously using the same IO hardware, so some of my VIs are re-entrant (pre-allocated). My loops are all controlled by Loop.vi (see "A Software Engineering Approach to Labview") and Loop2.vi. My exit process results in the main VI exiting and all the loops closing, but the main VI stays running. I am fairly confident that there are no hardware operations in progress, but I think there must be a sub-VI somewhere which is still running.
I will transfer the project back to my development environment with the debugger. How can I track down which VI is still running? Is there a call tree tool somewhere?
Thanks for any help
Ray
Solved! Go to Solution.
08-15-2012 09:08 AM
I think that viewing the VI heirarchy will show you but I can't remember. If that doesn't help you then check out the LabVIEW Task Manager on Lava.
08-15-2012 09:28 AM
Does the attached VI help you?
08-15-2012 12:00 PM
My Abort.vi will find it for you. I keep a copy on my desktop in the event that I have a VI that won't respond to UI commands to close.
08-23-2012 03:55 AM
Hello all
Thanks for the responses. I have found the Task Manager tool quite useful and the Abort VI is now on my desktop and in regular use as you suggested!
The tools showed me that only my main VI was running, and so I thought I had a loop running somewhere... This turned out not to be the case - I could not find anything using the debugger - there was nothing running and the VI was still not closing. However, I then discovered that a second click of the exit button would allow the VI to close, so I guessed it was events related. Eventually I found that the Wait on front panel activity VI was blocking the exit and that wiring the loop closing VI to the Do not wait terminal on the Wait for front panel activity fixed the problem, as this was no longer waiting for a second click. And of course, this does not show in the debugger!
Thanks again,
Ray