Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Why won't my VI download?!

I have a set of VIs that I am trying to run on a PXI station setup with RT 8.0.  I want all the VIs to run on RT, as my requirement is to use the web server to interface with the front panel, if user input is needed.
 
Some VI's fork off additional process traces (looping VIs) by using the "Run VI" method on a VI reference obtained by "Open VI Reference".  The first problem I ran into was that I had to deploy each of these VI's referenced individually prior to running the main VI.  There are about 15 of them, and it got old quickly.  I decided to put a static reference to each of these VIs in their respective "forker" VIs, so that they would download as well.  The first one I tested on worked fine.  Then when I implemented the fix in all 14 other "forkers", now none of them will deploy.  I get a "Failed to download blahblah.vi" message in the deployment status.  Even if I attempt to run just that VI, it still refuses to download it. 
 
Am I doing something wrong?  Is there a more elegant way of solving this problem?
 
Dan
0 Kudos
Message 1 of 7
(4,001 Views)

Hello Thisisnotadream,

Since all of the VIs are being used in the VI why not use them as subvis?  Calling the subvis from your main application will not be painful and will only incur slight overhead compared to setting up and calling VIs using VI Server.  I have been having difficulty following your problem.  Are you currently running your VI from the development environment or is it already a startup executable.  Perhaps posting a subset of the code causing the problem could give us insight for how you are trying to go about calling these VIs.

Steven T.

0 Kudos
Message 2 of 7
(3,975 Views)
The maturity of the design of the current software limits what direction I can take with this one.  The software is being run in the development environment and has not yet been built into a stand-along. 
 
Essentially, the model I am using is the "multi-functional" VI with functional global variables.  This VI runs differently using case statements controlled by calling VI inputs.  The VI module is responsible for pulling elements off a queue (as a "consumer") and processing them.  The start case of the module is supposed to "fork" off a "producer" trace, or thread (as the other half of my professors called them), that runs concurrently and pulls data off the bus and places it in the queue for the consumer thread.  Calling the producer and consumer VIs individually in the calling VI would not meet my design constraints.
 
I can get around the problem if I remove the static VI references (which seems to clear up the download problem), but this leaves me having to individually deploy the "producer" VIs prior to running the rest of the VIs.
 
Dan
0 Kudos
Message 3 of 7
(3,973 Views)
Hey Dan,
    Are you using a LabVIEW project?  If so, you can right-click on the real-time target, and select "Deploy All."  Also, you should only have to deploy VIs if they change.  Therefore, if all 15 VIs aren't changing, you should only have to deploy the one that changed and then everything will work just fine, if you're running VI Server commands.


Brian B
Account Manager
National Instruments
0 Kudos
Message 4 of 7
(3,958 Views)
Of course I'm using a project!!  I'm a big fan.  What kind of LV programmer would I be if I didn't use every single new feature?!  Smiley Wink
 
I did use the "deploy all" feature, but it opens up every single VI on my desktop.  Very cluttered.  Of course, now I'm getting picky, I realize.  The solution I came up with was to move all the producer VIs to a unique project directory.  Then I can select all the VIs just in that folder and deploy them all at once.  I am satisfied with this solution.  I guess now my question is "Is this the most elegant way of doing this?"  and "Why won't a static VI reference work?"
 
Dan
0 Kudos
Message 5 of 7
(3,949 Views)
Hey Dan,
    I need to do a little testing to determine why the Static reference isn't working as expected.  I'll repost when I complete my testing.  Thanks for all the info so far!!


Brian B
Account Manager
National Instruments
0 Kudos
Message 6 of 7
(3,918 Views)
Hey Dan,
    Could you post some sample code involving calling a VI statically and passing the queue between them?  I am having trouble replicating your issue here.  Thanks!

Brian B
Account Manager
National Instruments
0 Kudos
Message 7 of 7
(3,880 Views)