From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Broken_Arrow

Simple Elapsed Time : a non-Express VI alternative

Status: Declined

Any idea that has received less than 9 kudos within 9 years after posting will be automatically declined.

This could be in addition to the existing Express VI called Elapsed Time. This function or VI is simplified: without all the String outputs, and not an Express VI. Smiley Happy

 

 

 23546i5DF46C9212B20D7D

Richard






12 Comments
Dennis_Knutson
Knight of NI

I use Elapsed time frequently (Viewed as Icon). Not all Express VIs are evil. The block diagram is shown below and I don't think the removal of the string outputs would have any sort of measurable affect.

 

23634iB42BBED1D557B4E7

Broken_Arrow
Active Participant

I personally do not like the way Express VI's report themselves on a list of VIs in Memory. Of you had five of the Express VI Elapsed Time on your diagram, you would get five "instances" in the list (like "My VI.vi:Instance:5").

 

Richard






tst
Knight of NI Knight of NI
Knight of NI

> ...you would get five "instances" in the list (like "My VI.vi:Instance:5").

 

You're going to get that anyway, because that's how LV handles reentrant VIs, and this VI has to be reentrant.


___________________
Try to take over the world!
Broken_Arrow
Active Participant

tst,

Not so on the VI's I use as reentrant all the time. Look at the picture. I have six home-rolled VI's which are timer VI's similar to what Dennis posted. Also there are six Express VI's. I get One item in the memory list for my VI's. I get 8 (total) for the Express VI's.

 

 

23828i02E483BFB330E5DC

Richard






AristosQueue (NI)
NI Employee (retired)

Broken Arrow: "All VIs In Memory" does NOT list reentrant clones. I've called this a bug in the past and been told I'm wrong, because a clone is not a separate VI. Regardless, at this point the behavior has been released for so many years that changing it now would probably break various people's apps, so that's what it is. The Express VI instances are not clones -- they are each separate VIs that shift with the configuration of the particular node -- so they do show up in this list.

 

If you use shared reentrancy, that does reduce the number of actual VIs in memory. But if you use full reentrancy, it is no different -- space wise -- than the Express VIs. (A previous post pointed out, correctly, that these VIs have to use full reentrancy.)

RavensFan
Knight of NI

No. subElapsedTime.vi is the subVI inside the express VI's is reentrant.  (Meanwhile FormatTime string, another subVI of the express VI is not reentrant.)

 

The blue express VI's are more like copies of a template.  They are not reentrant.  They need to be different instances because they may have different inputs embedded in them such as target time, auto-reset, start time, etc.

Broken_Arrow
Active Participant

Soooo.... can I get someone to agree with me that the way the Express VI's show up in the list kinda sucks? 

 

Richard






AristosQueue (NI)
NI Employee (retired)

> Soooo.... can I get someone to agree with me that the way the Express VI's show up in the list kinda sucks?

 

Not me. As I already said, I think it sucks that the clone VIs *aren't* in the list. 🙂 But I can see where having a different method called "VIs That Actually Exist On Disk That Are In Memory" would be useful, and that one could filter out the instance VIs.

Broken_Arrow
Active Participant

> But I can see where having a different method called "VIs That Actually Exist On Disk That Are In Memory" would be useful..

 

Post an Idea 🙂

Richard






AristosQueue (NI)
NI Employee (retired)

> Post an Idea 🙂

 

Done. Here.