LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VI execution

hello,
i have written a rather extensive program using labVIEW and now I am faced
with the dilemma of execution and memory allocation. My program consists
of several modules that I link to from a MainMenu vi. I do not want to simply
drop each module onto the MainMenu's diagram because(as I understand it)
the LabVIEW run-time engine will put each module into memory when the MainMenu
is called-way too much memory! So, I want to be able to programatically
load the modules into memory per the user's needs, then remove the module
from mem when the module is exited. The module needs to open/close the front
panel when executed/exited respectively - (no, altering the vi properties
will NOT do this because the vi will most likely be called by an i
nvoke node
which ignores those properties).

Surely this has been done before so I am wondering if anyone has any suggestions
on the best course of action. There are a number of ways to go about solving
this problem, but which is optimal?

Thanks for your help,
Steve
0 Kudos
Message 1 of 2
(2,656 Views)
steve rino wrote:

> hello,
> i have written a rather extensive program using labVIEW and now I am faced
> with the dilemma of execution and memory allocation. My program consists
> of several modules that I link to from a MainMenu vi. I do not want to simply
> drop each module onto the MainMenu's diagram because(as I understand it)
> the LabVIEW run-time engine will put each module into memory when the MainMenu
> is called-way too much memory! So, I want to be able to programatically
> load the modules into memory per the user's needs, then remove the module
> from mem when the module is exited. The module needs to open/close the front
> panel when executed/exited respectively - (no, altering the vi properties
> will NOT do this because the vi will most li
kely be called by an invoke node
> which ignores those properties).
>
> Surely this has been done before so I am wondering if anyone has any suggestions
> on the best course of action. There are a number of ways to go about solving
> this problem, but which is optimal?
>
> Thanks for your help,
> Steve
Steve,

You need take a look at ../examples/viserver/dynload.llb in your
installation of LV.
This solution seems right what you need. Using dynamically
loading/unloading vi's with a help of vi-server helps reduce memory
size occupied by the application by the cost of the time/performance of
dynamically loading/unloading vi's into memory.

Hope this will help,
--
Sergey Krasnishov
____________________________________
Automated Control Systems
National Instruments Alliance Member
Moscow, Russia
sergey_acs@levsha.ru
http://acs.levsha.ru
0 Kudos
Message 2 of 2
(2,656 Views)