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.
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.
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.
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").
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.
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.)
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.
> 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.
Any idea that has received less than 9 kudos within 9 years after posting will be automatically declined.