LabVIEW Idea Exchange

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

Output tunnels from event structure should default to NOT "Use Default if Unwired"

Status: Declined

LabVIEW R&D is considering changing the behavior of Diagram Disable structures in response to Option for Disabled Structures to Not Use Default Value for Unwired Output Tunnels - NI Community, but we are declining to change the tunnel behavior of Event structures.

Today, if you wire something out of a case structure, the resulting tunnel does not use the default value if it is unwired.

 

In event structures (and disable structures), however, the tunnel defaults to use the default value if unwired. This is the more dangerous choice and should thus be reversed - the default for event structures should be NOT to use the default if unwired.

 

For disable structures, the current behavior makes more sense than it does for event structures, but maybe it should also be reconsidered. One way this could work is if the code broke only if the enabled cases are unwired, but this has some issues with the conditional structures, where code which is currently disabled might be enabled on another platform or when building an EXE.


___________________
Try to take over the world!
9 Comments
altenbach
Knight of NI

Personally, I always liked the current tunnel behavior for event structures. The tunnel I always need goes from the event structure to the loop termination and here the obvious choice is to get the default FALSE, except for the few cases where we need to stop the VI.

 

I am against changing this. However maybe we could have it as a configurable option where we can override the default behavior seperately for case, event, and disable structures.

 

In fact I would even configure case structures to use defaults if unwired for my personal environment. It make quick testing of incomplete VIs easier because the are runnable even if not all cases are completed yet.

 

 

tst
Knight of NI Knight of NI
Knight of NI

I can see the reasoning for wanting the UDIU option if you're doing a lot of quick prototyping and throw-away VIs, but I can say that for the majority of my actual work, the safe option is prefered. I agree that the loop stop condition is almost always set to UDIU, but I would prefer toggling that and not the rest than the rest and not that.

 

Configuration options are less likely to happen (more work, more documentation, more headaches for the user), and personally I wouldn't want this to be optional, but if it is implemented as a config option, it should be default to not having UDIU set.


___________________
Try to take over the world!
jgcode
Active Participant

Related Idea: Option for Disabled Structures to Not Use Default Value for Unwired Output Tunnels

Certified LabVIEW Architect * LabVIEW Champion
silmaril
Member

In my CLD exam (6 years ago) I lost a point because the corrector thought that using "Use Default If Unwired" was an unnecessary risk.

If this is the official NI opinion, then I really don't unterstand, why this is the default option anywhere. Smiley Wink

 

Please turn this off or at least give us the choice to turn it off ourselves!

 

Christina_R
Active Participant
Status changed to: Declined

LabVIEW R&D is considering changing the behavior of Diagram Disable structures in response to Option for Disabled Structures to Not Use Default Value for Unwired Output Tunnels - NI Community, but we are declining to change the tunnel behavior of Event structures.


Christina Rogers
Principal Product Owner, LabVIEW R&D
tst
Knight of NI Knight of NI
Knight of NI

What's the reasoning for declining this?


___________________
Try to take over the world!
Christina_R
Active Participant

I declined the Idea because R&D decided the current behavior is preferable to the proposed change.


Christina Rogers
Principal Product Owner, LabVIEW R&D
tst
Knight of NI Knight of NI
Knight of NI

Well, that's wonderfully vague. Offhand, the only disadvantage I can think of with making this change is that it will require additional clicks from people who wire a lot of tunnels out of event structures and are OK with them having the default value.

 

Personally, I don't have many tunnels going out of event structures beyond the boolean to the loop stop terminal, but almost every time I do (and occasionally for the stop terminal too), I want it not to be the default and then *I* (and by extension, coworkers) have to click the additional clicks. What's worse, we have to *remember* to do this, whereas changing the behavior will shift that particular burden to LV, which will break the VI until a relevant action is performed.

 

I see that Altenbach said all those years ago that he does prefer the current behavior for ease of running (even going so far as to suggest adding it to case structures), but I really don't agree. Since this idea isn't super popular and NI seems to agree, I guess it won't happen. It would be nice to have more details as to why in the idea itself, though.

 

I expect NI will say "use a VI Analyzer test to detect this if you want this behavior", but I feel that's a worse solution than having it in LV.


___________________
Try to take over the world!
crossrulz
Knight of NI

I'm with tst here. I would much rather have a VI be broken when a tunnel has not been wired by default. I have had to debug way too many VIs that were simply forgetting to wire an output tunnel. If the VI was broken by default, it would have saved me a lot of time.

 

Further, a typical situation would have 1 output tunnel have the "use default if unwired" for the stop condition. All other tunnels require being wired up. It saddens me that NI prioritizes the, admittedly common, minority.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5