LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Handling Large clusters

Hi All,

 

I'm reviewing some code which features very large clusters.

 

The designer was more focussed on getting the product operational rather than generating an aesthetically pleasing front panel.

 

The cluster contains a huge amount of data.  I use a 22 inch monitor.  At normal resolution, the cluster is 3 screens high and over 2 screens wide.

 

I like to have a tidy front panel but passing this cluster through mutliple subvi's means that everything is messy.

 

There are multiple options:

 

1. Hide the cluster

2. Use functional globals

3. Use classes

4. Break up the cluster

5. ??

 

1. Hiding the cluster to me is a bit like sweeping dirt under the carpet.  I'm not a fan of this method.

 

2. Have a funtional global which can be read or written to.  Work fine but requires a read and then a write.

 

3. Use a class in the same manner as 2.  Can have different members writing singular values, etc.

 

4. The designer is familiar with the cluster and wants to be able to view the results dynamically in the same format.

 

Does anyone know if NI have any recommended ways for handling large clusters?

 

Thanks,

Sean

0 Kudos
Message 1 of 3
(3,448 Views)

The only "rule' that applies is you should limit scrolling to either in X or Y.

 

In LV 2010 we can view cluster constants as icons to reduce screen area.

 

I would go LVOOP unless the application is LVOOP just to reduce the screen size.

 

I like Action Engines but that goes without saying.

 

Now fo rmy recomendations;

 

Reveiw the data structures to ensure they are used together. If they are not, then put them in spearate clusters. The sepearte cluster would fit nicely in an AE.

 

Have fun,

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 2 of 3
(3,441 Views)

Hi Sean,

 

Ben has hit the nail on the head here. When handling large clusters you should be thinking hard about which cluster elements get used together and which don't, and then respectively split your clusters so that data is not unnecessarily passed through your application.

 

Here is an NI guide to handling large data sets:

 

https://forums.ni.com/t5/Example-Code/Managing-Large-Data-Sets-in-LabVIEW/ta-p/4100668

 

Just for reference here are a couple of NI guides to clusters:

 

https://www.ni.com/en/support/documentation/supplemental/08/labview-arrays-and-clusters-explained.ht...

 

https://www.ni.com/docs/en-US/bundle/labview/page/grouping-data-with-arrays-and-clusters.html

 

If you want to go down the functional global variable route I recommend taking a look at:

 

https://forums.ni.com/t5/Example-Code/Multi-Functional-Global-Variable-in-LabVIEW/ta-p/3536368

 

I hope this information helps!

 

Kind Regards,


Larry Colvin
Associate Principal Engineer
Dyson Technology Ltd.

0 Kudos
Message 3 of 3
(3,400 Views)