03-07-2025 02:20 PM
I'm creating a user interface for controlling a thermal chamber. The interface is an array of clusters, with each horizontal cluster (row) being a step in the chamber's program.
I'm having trouble enabling and disabling elements of each array based on the input of the first element (first column) "Step Type" without those changes applying to each cluster/row in the array.
For example, I would like the element of each horizontal cluster called "Ramp Rate (°C/min) to be grayed out if any option other than "Ramp Rate" is selected for that cluster/row.
I created a reference to the "Ramp Rate (°C/min)" element, but changes applied to that reference affect all of the ramp rate elements in each cluster.
Below is my block diagram:
Is there a way to accomplish this type of control? I would like to keep the overall structure as an array if possible, because I would like the user to be able to enter any number of steps needed for a particular profile on the thermal chamber.
Thanks for any help that can be given!
03-07-2025 02:40 PM - edited 03-07-2025 02:49 PM
Hi Eng,
@TestEng01 wrote:
I created a reference to the "Ramp Rate (°C/min)" element, but changes applied to that reference affect all of the ramp rate elements in each cluster.
Simple rule: in an array ALL elements share the SAME properties.
@TestEng01 wrote:
Is there a way to accomplish this type of control? I would like to keep the overall structure as an array if possible, because I would like the user to be able to enter any number of steps needed for a particular profile on the thermal chamber.
Separate the interal data structure (your array of clusters) from the presentation on your UI!
On the UI I would use a (multicolumn) listbox to present the settings. The user can select one row (showing the content of one cluster in your array) and next to the listbox you will show the needed controls to change settings of the selected row. Now those controls a scalars and you can change their properties on your will!
Other advantages of my suggestion:
Btw. "step time" should be a single control allowing to input HH:MM:SS instead of using 3 independent controls…
03-07-2025 03:47 PM
I will try the multicolumn listbox, and the different time input method. Thanks for the advice!
03-10-2025 03:43 AM
You either have to make a big cluster that emulates an array (as in this case showing 5 lines), or 5 separate clusters that are placed to emulate an array. Then you have individual control of such properties.