CGalvin Posted May 28, 2010 Report Share Posted May 28, 2010 Here is a simple test case describing my problem. In the first image I've attached, I have a parent VI which calls a child VI twice. The task of the child VI is trivial. It waits 10 seconds, then turns on a boolean switch. The trouble is that when the child VI is called twice at the same time, the program will run a single call at a time, putting the other call(s) on hold until the first finishes execution. This is shown in the second and third image, and the end result is shown in the fourth. If I have a subVI that performs a single task, and it is used in many locations across a large program, it seems very limiting to only allow it to run once at a time. Is there a way to enable a VI to be accessed and executed simultaneously in different areas of a circuit? This seems like a fairly basic feature to me, yet I cannot find any information on this problem. Quote Link to comment
Rolf Kalbermatter Posted May 28, 2010 Report Share Posted May 28, 2010 Here is a simple test case describing my problem. In the first image I've attached, I have a parent VI which calls a child VI twice. The task of the child VI is trivial. It waits 10 seconds, then turns on a boolean switch. The trouble is that when the child VI is called twice at the same time, the program will run a single call at a time, putting the other call(s) on hold until the first finishes execution. This is shown in the second and third image, and the end result is shown in the fourth. If I have a subVI that performs a single task, and it is used in many locations across a large program, it seems very limiting to only allow it to run once at a time. Is there a way to enable a VI to be accessed and executed simultaneously in different areas of a circuit? This seems like a fairly basic feature to me, yet I cannot find any information on this problem. Go into VI settings (File->VI Properties) and in there select the Execution section. In there enable reentrant Execution and read some online help to understand the effects and possibilities of the two options in there. Quote Link to comment
CGalvin Posted May 28, 2010 Author Report Share Posted May 28, 2010 Go into VI settings (File->VI Properties) and in there select the Execution section. In there enable reentrant Execution and read some online help to understand the effects and possibilities of the two options in there. Excellent. Thanks for the quick response. Often I find the hardest part of solving a problem is knowing the right terminology to describe it. I think I have enough info now to research the repercussions of concurrent VI instances. Thanks again! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.