Part one of two.
Hi Ben,
My replies are mixed in below and are my "off the top of my head" responses. If some of them are wrong hopefully others will step in a correct me. I do not have any FP hardware handy to verify thes responses.
You wrote
"
we are facing the following issue:
* we created a main VI to treat general tasks, e.g. communication, tracking status information ...
* specific tasks like accessing equipment, performing measurements and the like need further input
* this is meant to be served by users creating their own specialized SubVIs
* users are to place their SubVIs at an appropriate location (on an FP station, see below) writing the path to the SubVIs into a given text file
* main VI is to read those paths from the text file and launch the SubVIs according given strategies (via VI server technology)
* so far everything is doing just fine ... as long as we are launching main VI from within LabVIEW
"
When you say "everything is doing just fine ..." I understand you to mean everything is fine as long as you are running under a Windows devlopement environment.
You go on to say;
"
* now main VI as well as SubVIs are meant to run on an FP 2000 station
"
Alarms start going off when you say FP2000, for a number of reasons.
1) As you have discovered, there is no compiler on a FP2000 or any other RT target (possible exception is RTX running concurrently on same platform, but that is splitting hairs). This means everything must be in a compiled form the appropriate RT OS can handle.
2) FP2000's have limited memory! Attempting to load a VI in a FP2000 (or other platform) that requires more memory than the FP2000 has will crash it, requiring a complete restart of the node.
3) RT-OS do not play the memory game like other OS's. If they did, they would not be RT. Be careful here, not to design an applications who's memory foot print changes. This is not a show stpopped for you, just an FYI.
You continue,
"
* main VI necessarilly needs to be launched automatically when the FP station starts
* therefor a 'startup.exe' must be created out of the main VI and placed on the FP station using Application Builder
"
YES sir!
Then you say
"
* when trying to create an exe-file from the main VI Application Builder reports error 1003
"
Error code 1003 = "The VI is not executable." If you just copied a VI that was saved under Windows, this makes sense.
WARNING! memory will now be invoked, check for errors!
If you traget the FP2000 and open a VI that is on the FP2000 and save it, it should be saved in an appropriate form for use by that FP2000. If your main dynamically locates the VI and opens it from that location, AND the "main" was saved using a compatible version of LV (i.e. LV7.0 can open LV6.1 provided shared sub-VI have not been changed such that they need re-linking) The sub VI should run.
You continue,
"
As far as i found out (from NI homepage) its Application Builder won't build any application (.exe, FP station or PC) if not all SubVIs that are to be launched within the application are present at the time of creating the application.
"
Yes, all sub-VI's EXPLICITLY (i.e. the icon appers in the diagram) called by a VI are required to compile the VI (i.e. no broken run arrow). VI's can be called dynamically as you are attempting.
Then you say
"
But this is about to kick our plan ... which essentially is to subsequently include SubVIs in a given program flow while name or number of those SubVIs need not be initially defined.
"
What is going to complcate your like is ensuring the dynamically called VI are compiled for correct target. I know of no way to get LV to build a exe for a specific target without having that target available at build time. Once built the exe could be copied around to the nodes that need them, provided the LV versions are compat.....
Then the is the issue of mixing and matching your plug-ins such that more than one memory hog will run independently but not together.
Continued in part two