LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

grouping property nodes

Hi there, I'm creating a DAQ application wich reads in 64 channels. Now I want to enable and disable certain items in the front panel using property nodes. You may understand that this would take a lot of time considering it's a 64-channel DAQ application. Does someone has any idea how to group certain front panel objects so I can use only one property node for multiple objects? Or is there another way?

Another question:
How can I automaticaly read in a front panel datalog file so it remember names I entered last time I used the application?

thanks, Bert.
0 Kudos
Message 1 of 15
(4,241 Views)
I have an application where, upon START button pressed, I need to "grey out" some of the controls to indicate to the user they can see, but not change any of the greyed controls. I create a reference to each of the controls and build them into an array. Then I can enable / disable them as I wish using a property node in a FOR loop. The nice thing with references is that you can pass the reference to a subvi and change a front panel control property from within the subvi.

There's a bit of up-front work creating 64 references, however, once that's done, all you need is the array of references. It seems like a good way to do this, but I'd appreciate any comments on this method from others.

Attached is an example.

~Tim
Message 2 of 15
(4,240 Views)
> time considering it's a 64-channel DAQ application. Does someone has
> any idea how to group certain front panel objects so I can use only
> one property node for multiple objects? Or is there another way?


There is no general way of doing this, but if you want to set the same
property on multiple objects, make an array or cluster of control
references and pass them into a loop where you set the property on each
of the objects.

Another approach that may help in some cases, such as disabling, is to
put the items in a cluster or array.

If you provide more details as to what you want to operate on, we can
give a better solution.

Greg McKaskle
0 Kudos
Message 3 of 15
(4,240 Views)
First of all, thank you for your awnser.

What I'm trying to do is:
Grey out all 64 channels (1 channel = a string control, numeric indicator and two check boxes) when the acquisition begins (pushing a button). So this would take me 64*4 = 256 property nodes and I thought that there must be an easier way.

Bert Broer
0 Kudos
Message 4 of 15
(4,240 Views)
Hi,

I am using Tab Control for similar application (Test Items for my case)

Here's an example that I have created for your reference and quick start. Hope this will help.

B.regards
ian f k
Ian F
Since LabVIEW 5.1... 7.1.1... 2009, 2010, 2014
依恩与LabVIEW
LVVILIB.blogspot.com
0 Kudos
Message 5 of 15
(4,240 Views)
Hi Ian,

Thank you for your solution but it isn't appliable for my application because all 64 channels are on one tab page.

Do you have a solution for the other question?

Kind regards,
Bert Broer
0 Kudos
Message 6 of 15
(4,240 Views)
Ian,

Doesn't that lend itself nicely to Berts suggestion? You could group all of your controls on one tab page and your ouput (graphs?) on a different tab page. If you still need to disable, but view the controls, put them into an array or cluster as suggested by Greg. One nice side effect of that is that you turn your 256 controls into just one. However, you then need to unbundle or pick an array index each time you need an item.
0 Kudos
Message 7 of 15
(4,240 Views)
> What I'm trying to do is:
> Grey out all 64 channels (1 channel = a string control, numeric
> indicator and two check boxes) when the acquisition begins (pushing a
> button). So this would take me 64*4 = 256 property nodes and I thought
> that there must be an easier way.
>

Consider putting the string, numeric, and check boxes in a cluster.
Place the cluster in an array, and grow it vertically to show 64
elements. If your layout has several columns, make a copy of the array
and make say four of them with 16 rows each.

On the diagram you will be able to set the array properties easily, but
you will not be able to set properties for individual cells within the
array.

This will also affect how you access the controls. Instead of 64x4

terminals all over the diagram, you will just have the arrays, and you
can index and unbundle when you want a data element. If you normally
deal with the 64 displays, this will be very convenient. If you often
need access to individual elements, I'd recommend making a subVI icon
where you pass in the array and the index and it returns the four
subelements as outputs. This will probably clean up your diagram as
well as simplifying the graying of the display.

Greg McKaskle
0 Kudos
Message 8 of 15
(4,240 Views)
Here's an alternative vi.

🙂
Ian F
Since LabVIEW 5.1... 7.1.1... 2009, 2010, 2014
依恩与LabVIEW
LVVILIB.blogspot.com
0 Kudos
Message 9 of 15
(4,082 Views)
As for you second Q, you may wanna try using
"Configuration File VIs" to save your settings before exiting LV.

Read back the file and sets the control/ indicator again when it is re-loaded.

Go to Help menu, serach examples on Configuration File Examples under File I/O Examples.

Regards
ian.f k
Ian F
Since LabVIEW 5.1... 7.1.1... 2009, 2010, 2014
依恩与LabVIEW
LVVILIB.blogspot.com
0 Kudos
Message 10 of 15
(4,240 Views)