LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Can the Runtime execute VI files directly?

Is it possible to execute code stored in .vi files from an application running in the LabVIEW Run-Time?

 

I'm writing a data processing application that consumes "modules."  One of these types of modules are LabVIEW VIs.  The LabVIEW VIs are executed by the following code:

 

screen.png

 

This code executes correctly when I run it in the LabVIEW development enviornment, but is not executing correctly once the application is built.  No errors are being thrown, and the files are being scanned, but there is no output.

 

Am I doing something that isn't allowed?

0 Kudos
Message 1 of 6
(3,884 Views)
I think I see the issue.  The VI modules have SubVIs that may be part of my development enviornment, but are not known to the Run-Time.  Hmmm....
0 Kudos
Message 2 of 6
(3,875 Views)

You have to add the VIs under "Always include" in the Source Files Tab of your Build Settings.

Be carefull with the path to the VIs, because they are different in an executable.

 

 

Christian

0 Kudos
Message 3 of 6
(3,867 Views)
My goal was to not include the VIs at compile time, and instead have the feature that allowed my users to install the only the VIs they needed within a "Functions" folder.
0 Kudos
Message 4 of 6
(3,849 Views)

I don't want to be mistaken with my last post. To include it within your executable was a hint to get your problem solved, without knowing that you want to give VIs to a customer which you could exchange then.

 

Though it works too, to create an executable out of a VI which calls others dynamically via VI Server. I'm wondering why you don't get an error but also no results. I would have expected an error saying that you have a wrong path to the VI you are calling...

 

Did you once try to build an executable of a VI, simply calling another one which gives some random values back?

 

 

Christian

0 Kudos
Message 5 of 6
(3,842 Views)

Just my 2 cents...

 

I have done this with LVOOP but not persanlly without LVOOP.

 

For the non-LVOOP version the VI you are trying to invoke has to be saved with the same version of the run engine and must be complete. This is similar to running a VI with no block diagram.

 

For the LVOOP version, it was a no-brainer. Just search the folder for the class I wanted and they slipped right in. I didn't try it with LVOOP from one version and run in another.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 6 of 6
(3,838 Views)