03-22-2012 12:58 PM
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
03-22-2012 01:25 PM
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
03-27-2012
03:44 AM
- last edited on
07-10-2024
11:00 AM
by
Content Cleaner
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/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,