LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Subvi taking a very long time to load.

Sorry for the double post. I messed this up.

 

I have 5 subvi that I launch from a main vi as setup screens for the various functions of the main vi. All works well except for one of the subvi takes a very long time to load and a message  box pops up with the deployment messages in it. The subvi in question is the only one that accesses I/O points on a FPGA. I'm running LV 8.6.1. Can someone help me with this and tell me what I'm doing wrong?

0 Kudos
Message 1 of 8
(3,511 Views)
Are we supposed to guess what the "deployment messages" are?
Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 2 of 8
(3,510 Views)

Sorry, I'm not connected to the FPGA at the moment so I can't give the exact messages. Its the standard message box that I see any time I deploy a VI. I was hoping it wouldn't pop up every time I launch the subvi. I'm also hoping I'm just missing a step.

 

Thanks

0 Kudos
Message 3 of 8
(3,507 Views)

Is there something particularly large about this subVI?

 

What is its size on disk?  If you do File /  VI properties then Memory Usage, what do those numbers look like?

0 Kudos
Message 4 of 8
(3,489 Views)

There is nothing special about the VI except that it is accessing I/O points on the FPGA. Here it is. Front Panel Objects: 12.8K, Block Diagram Objects: 7.4K, Code: 3.5K, Data: 3.2K, Total 26.8K, 8.8K Size on Disk.

 

I can't show the calling VI as it has proprietary info in it. The VI is called from an event structure with a VI reference, then FP.open Invoke node (Activate, Standard) and then a Run Invoke Node (Wait till done - True).

 

Perhaps I should be opening this VI with the main and then activating/deactivating when I need it? I'm asking, I don't know.

 

 

0 Kudos
Message 5 of 8
(3,482 Views)
Sorry, it just occured to me that the VI I'm calling actually calls additional VI's. Here they are as well.
Download All
0 Kudos
Message 6 of 8
(3,472 Views)

I don't have an answer as to why your Maintenance VI takes so long to load.

 

But I do have a few things you can do to simplify the two subVI's.

 

First, with the Replace Array Subset function, you don't need to wire up all the indices.  Each index is always +1 more than the previous index.  You don't have to wire up the initial index as 0.  If it is left unwired it is assumed to be zero.

 

But actually, you don't need either the Replace Array subset, or even the case structure in either subVI.  Just Or the All Brakes/Drag boolean input with your Brakes/Drag Array.  If the boolean is true, then all elements of the Array will become true.  If the boolean is False, all elements of the array will remain their current value.  That is exactly what you are doing in your current subVI's but does it with a fraction of the code.

Note:  The wire is broken because I don't have the shared variable that defines that section of code.

Message Edited by Ravens Fan on 10-03-2009 10:51 PM
0 Kudos
Message 7 of 8
(3,467 Views)
Thanks Ravens Fan, I appreciate the help. Your code looks great, I'll give it a try. Hopefully it will help with the load speed as well. I am also going to open the VI when I open the main VI and then activate it when I need it.
0 Kudos
Message 8 of 8
(3,461 Views)