LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Empty bundle input does not break VI

Solved!
Go to solution

When did LabVIEW start to allow empty inputs on "bundle" nodes? Or have they always and I forgot? 

An empty input to a bundle element is accepted:bundle no error.PNG

An empty input to a bundle by name element is not:bundle by name error.PNG

 

I distinctly remember using the feature of that if I add a control to the cluster, the bundle node would break, and I would see where I needed to update the code. This was about the only advantage I saw with "bundle" compared to "bundle by name", Now I am not helped at all by the bundle node since it is not breaking the VI.

 

(LV2018)

Certified LabVIEW Architect
0 Kudos
Message 1 of 8
(3,654 Views)

I see the same behaviour in 2011 and 2015.

I rarely use the standard bundle function so I have never noticed this before.

Message 2 of 8
(3,631 Views)

Thanks for checking!

 

So either it was a very long time ago I used this feature or it never was as I remembered. Too bad, I liked it

Certified LabVIEW Architect
0 Kudos
Message 3 of 8
(3,617 Views)

I believe it was always like that.  That way you can change just some of the values on the incoming cluster without having to change them all.

 

I rarely use the plain bundle and almost always use the bundle by name.  And if I ever only want to change some elements, then I definitely use bundle by name so I can side the node to match the number of elements I'm changing.

Message 4 of 8
(3,608 Views)

In 2012, it does mention this in the help file.

 

Bundle Function

When you create a new cluster, you must wire all the inputs. The elements in the output cluster must appear in the same order as the input elements. When you wire an existing cluster to the middle terminal of this function, the inputs are optional. LabVIEW replaces only those cluster elements that you wire.

aputman
Message 5 of 8
(3,602 Views)
Solution
Accepted by topic author thols

Yes, it has always been that way and I used it in the past. Nothing wrong

 

While I use "by name" almost always, it is sometimes useful to only replace some inputs in a regular bundle operation. Once the top is wired, the value of all elements are fully defined and only the wired ones will be substituted with new values. 

0 Kudos
Message 6 of 8
(3,590 Views)

@thols wrote:

I distinctly remember using the feature of that if I add a control to the cluster, the bundle node would break, and I would see where I needed to update the code.


So you probably already know this, but you can make a #todo free label as a bookmark to remind yourself.

 

Or if you want to break the code you can double click a blank space to start a wire segment then double click again to create a broken wire going to nothing to break the VI.  This is if auto-tool is off, if auto-tool is on you can still Shift+Right Click, choose wire tool, then double click to create a broken wire.

0 Kudos
Message 7 of 8
(3,562 Views)

Thanks for the replies and tips, and to altenbach for "it has always been that way". It must have been wishful thinking or early stages of dementia that made me think it had ever been like I said. I rarely use "bundle", but started to again since they were created by a plugin I started using, and since I assumed their behavior I was startled when they did not behave as I expected.

 

I still like the idea though that I could use a bundle node and automatically break a VI using it if I added a new item to the cluster. But I will just need to adjust my workflow. E.g. if the cluster is a typedef (which it is in my case), I can just search for that typedef whenever I change the cluster.

Certified LabVIEW Architect
0 Kudos
Message 8 of 8
(3,537 Views)