LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Reduce time taken

Hello everyone,
i'm given the task to create a vi that do the download firmware in ideal time of 30 secs. Somehow, it's able to perform the work but at the time of 1min3secs.
How can i reduce the time taken for this vi. ?
 
Thank you.
 
regards
0 Kudos
Message 1 of 5
(2,978 Views)
There's not much going on in terms of Labview, and almost all of the steps seem like they would occur in sequence.  So I don't think you'd be able to anything to improve the time.
 
What is going on in the CIN nodes?  That is where you'd have to look for the time taken in running this VI.
 
What is going on in the other cases of the case structures?  This is an unusual way to enforce data flow by string together case structures.
 
In the one case where you have flReset and Start and flClose.  In what order are they supposed to run?  When Labview gets to that case, they could run in either order, and there is no way to control that.  It seems they would have a preferred order of operation.  Wire up the error cluster between them. (if there is one,) or use a flat sequence structure.
 
Any reason why just over a minute is not good enough and you have to get it down to half a minute?
0 Kudos
Message 2 of 5
(2,972 Views)

Hello,

it is meant to run at a manaufacturing environment so the faster the vi runs and completes the download process, the better the productivity/efficiency it can achieves at the line. 

Thank you

0 Kudos
Message 3 of 5
(2,956 Views)

Hello microes,

do you know how much time every case need? One way could be to enlarge the wait time in the while loop to give the processor more time.

Mike

0 Kudos
Message 4 of 5
(2,941 Views)


MikeS81 wrote:

Hello microes,

do you know how much time every case need? One way could be to enlarge the wait time in the while loop to give the processor more time.

Mike



That probably won't help speed up the process any on the Labview side of the code.  The key thing is that there is a wait statement in the while loop to give the processor an opportunity to do other things..  But on the other hand, the loop is only designed to be a visual monitor of progress.  So there is no need to poll for the status every millisecond.  You could get by with a 500 msec wait statement in that while loop.
 
I still think most of the time to run is in the CIN blocks.  A good idea would be to put a Get time function in each of those case statements and send the data to an indicator.  That way after the code runs, you can compare timestamps and see how much time each part of the code is taking.  (For the while loop, you could do some averaging functions to track the average loop iteration time.)
0 Kudos
Message 5 of 5
(2,924 Views)