LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to run an express VI from a express VI?

Hi everyone,

 

I am wondering how to run an express VI from a express VI? Basically I have two express VIs, and what I am trying to do here is to make a button in Express VI A, when clicking this button, Express VI B pops up. And when I am done with B, the output of B will show up in a text indicator in A. It works similarly like a file path control.

 

I've checked here http://forums.ni.com/t5/LabVIEW/How-to-open-a-VI-from-another-VI/td-p/1029857 but it seems only for VIs.

 

Your advise is appreciated.

 

 

Regards,

 

Will

0 Kudos
Message 1 of 7
(3,177 Views)

You can make an express vi into a regular vi. Right click and select open front panel then select convert. The express vi will turn yellow. To make it look like a regular vi right click and select view as icon. Now you can put a vi in the express vi.

=====================
LabVIEW 2012


0 Kudos
Message 2 of 7
(3,169 Views)

Thanks Steve.

 

But it doesn't seem to work. The converted VI didn't show up. I converted the Simulate Signal Express too, but it didn't work either. One more thing I noticed is that the Simulate Signal Express VI has configuration VI that allows user interaction, however after conversion, there is only source VI left, thus the interaction is gone. I would like to find a way to keep the configuration VI as well.

 

Thanks. Smiley Happy

0 Kudos
Message 3 of 7
(3,143 Views)

I don't have the signal express stuff installed. I tried this using the build text express vi. Maybe the express vis have their source protected. When you convert an express vi to a regular vi you will loose the ability to interactively configure it.

=====================
LabVIEW 2012


0 Kudos
Message 4 of 7
(3,138 Views)

Will,

 

Are these built in LabVIEW express VIs or your own custom express VIs (both the caller and callee)?

 

If they are your own custom express VIs I think you might be better off just calling a VI (instead of the callee Express VI) that shows it's front panel when called and then returns a value when finished.  The settings within an Express VI can typically only be modified during edit time whereas results are only calculated and propegated out at runtime. It sounds like you want both.

 

The reason why some Express VIs don't display their configuration dialog after being converted (and I'm simplifying here) is that the Express VI is dynamically writing G code to match the settings you choose.  The "closed box" nature of the Express VI means LabVIEW is able to safely change any of the generated code to match your configuration.  Once you convert to regular code and go poking around it is not necessarily safe for LabVIEW to delete that code and script new code to match the new settings as you may have changed something outside of the scripted code.  

 

Other Express VIs are closer to subVI calls with configuration parameters being presented in a dialog rather than specified on a diagram.

 

If you could explain your use case (i.e. are you writing an Express VI for other LabVIEW developers to use at edit time?; or do you want Express VI configuration dialogs at runtime?) and which Express VIs you are using I might be able to offer more concrete help.

 

Best of luck, sounds like an interesting use-case.

 

~Simon

0 Kudos
Message 5 of 7
(3,131 Views)

While it is not a well documented feature you CAN create or edit an experss vi  Tools>>Advanced>>create or edit express.vi. the Easy Math Express vi contains notes and guides on how to edit both the express.vi and the source.vi (the source vi is what the express vi "converts" to when you convert from express vi)

 

That being said- Your average Professional LabVIEW developer will tell you to avoid express vi's like the plague.  They are full of features that you seldom need at run-time that add to bloated code.  I doubt you'll find many LabVIEW developers that HAVE created their own express vis (with the notable exceptions of Agilent's Command Expert and Rhode and Schawrtz's Super-driver)

 

Its just too easy to create a "God object" (a module that does too much and lacks a reasonable limit of scope) and the express vis do come pretty close to the line of "good code".  They are, on the other hand, very easy to use and serve a purpose in that manner for test techs and engineers that have to get quick answers.


"Should be" isn't "Is" -Jay
Message 6 of 7
(3,126 Views)

You should avoid using Express VIs. The pesky dynamic wire format. Is just junk. It causes more trouble than good for the beginner. However can you post a VI with the two EXpress VIs you want to merge. I am not sure what you want to do. Could you elaborate? Post picture(s) if you feel that is better.



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 7 of 7
(3,113 Views)