LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Option: Wait until done. Is it possible to use this with CALL BY REFERENCE NODE??

Hello!

I wonder if it´s possible to use "Wait until done" if you are useing "Call by reference node"? I understand that it might be a problem when you are using outgoing wires. But in my case, I only want to use wires to the subVI, but dont want anything back (the subVI writes it´s result to a text file).

Thanks for your help!

/Krille
0 Kudos
Message 1 of 8
(2,899 Views)
A "Call by reference" is always waiting. It is nothing else that placing a SubVI on the diagram. The calling VI will wait until the SubVI ends the call.

The advantage of "Call by reference" is that you can exchance data processing by exchanging the VI without doing some editing. And this will work even at runtime when you use different VI names. The only restriction is that the connector pane must be the same.
Waldemar

Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions
Message 2 of 8
(2,891 Views)
Thank you!

I was expecting this answer, but hoped for another!

/ Krille
0 Kudos
Message 3 of 8
(2,888 Views)
If you want to load a VI dynamically, set some controls and then execute it without waiting for it you can do that.

Maybe you know already what I will explain.
Use Open VI Reference as you already have. Then use use a Invoke Node for each control you want to set. Use the flatten to string function for the parameters. After all controls are set use "Run VI" with "Wait until done" set to FALSE. Don't forget to close the reference before leaving the VI.
Waldemar

Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions
Message 4 of 8
(2,874 Views)
oki!

I think I can use this method. But I have a problem with the invoke node: set control value. It needs Type descriptor, and I don't understand what this is. What should I wire to this connection if I want for example control a True/false indicator.

/Krille
0 Kudos
Message 5 of 8
(2,858 Views)
A type descriptor tells LV exactly what kind of control it's dealing with. When you flatten a control to a string, you get the string and the type descriptor. Just wire the type string output from Flatten to String into it.

___________________
Try to take over the world!
Message 6 of 8
(2,852 Views)
Thank you for you help!

Now this function works for me, but I still have a problem with how I should do to show the subVi:s front panel. When I used "Call by reference node", it worked with changing the properties of the subvi. This dont´t work when I use "Invoke node". Now I thought that I could solve this problem by using "Property node" before I use "Invoke node". Se example.
This don't work. What is the problem?? How should I solve the problem??

/ Krille
0 Kudos
Message 7 of 8
(2,848 Views)
If you look at the help of "Run VI" you can read that "Show Front panel on call" and "Close afterwards" properties are ignored. Use the FP.Open property instaed of the Exec.ShowFPOnCall property.
Waldemar

Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions
Message 8 of 8
(2,838 Views)