LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Running background VIs without halting the calling VI

Oh man I am so retarded. Eating humble pie, mud on face, etc.

You were right when you said that there were two seperate instances of the VI, and the data doesn't get passed right.  When I said "working for me" I meant "I thought it was working for me when I wrote it yesterday."

Here's how I have to get it to work now, which someone else already suggested.  This method indeed works.  I am taking a look at something else though, instead of using the static reference which screws everything up.
0 Kudos
Message 21 of 28
(1,032 Views)
As a postscript - NEVER put a static VI refrence to itself in a block diagram.  Because then Labview crashes every time you try to edit anything.  The solution is to rename the VI with labview closed so that it breaks the static reference.

Sorry if I wasted much of people's time...
0 Kudos
Message 22 of 28
(1,032 Views)
Not a waste, it was a clever idea. It's nice to know that other people want to be able to do this. Maybe someone from NI can chime in as to why we can't do it in the first place. Is it due to an actual execution system problem, or was it just never thought of when designing LabVIEW?
0 Kudos
Message 23 of 28
(1,027 Views)

I'd like to know too.  It has always seemed like such a kludge to have to make a bunch of calls to Set Control Value followed by a call to Run without waiting for completion.  It'd sure be nice to have the best of both worlds where I could launch a parallel-running dynamic vi using wired inputs without having to wait for completion.

-Kevin P.

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
0 Kudos
Message 24 of 28
(1,014 Views)
Same hereSmiley Wink because of the limits of the physical viewing size of the computer monitor when set even at highest visible resolution, the diagram of a very big program would be very messy. So there would be a lot of use of sub VIs and the calling (or the main) VI often needs the real time (at least) updated variable values being passed from those sub VIs. The use of reference call, so far only this approach worksSmiley Sad, becomes very messy.
 
It will be very NICE if NI can create a function pallete to embrace this important need for LV users. Basically this pallete has an input for the calling VI name with proper path, and another one for the sub VI, one or more input clusters with mixed data types (same for output clusters) that can be passed to the calling VI in real time or instantly.
 
0 Kudos
Message 25 of 28
(981 Views)

can u kindly upload the simple example which you have since i am also unable to run a background vi

0 Kudos
Message 26 of 28
(545 Views)

Are you aware of the fact that you are replying to a post from 2007? 🙂

Why do not you google for the following expression: "dynamic VI call" or "asynchronous subVI call"?

For example:

http://zone.ni.com/reference/en-XX/help/371361H-01/lvconcepts/asynchronous_vi_calls/

 

0 Kudos
Message 27 of 28
(528 Views)

Thanks I shall look into it

0 Kudos
Message 28 of 28
(513 Views)