LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Array of clusters value change

HI,

 

this is my first post here, if it's in the wrong section or whatever, just tell me and I'll fix it.

 

I have this software conglomerate with the user interface written in LabView (2019). The UI is called from a TestStand (2019) sequence (it's running on a separate thread), measurements/checks are made, then I update the UI accordingly. The sequence runs five types of tests (low, high and room temperature, plus two more), all of which can be disabled / enabled on the user interface. There are 56 DUTs in the physical test fixture, the fixture is inside an environmental chamber which is controlled through TestStand / LabView.

 

I built a cluster of five checkboxes and indicators: the checkboxes enable/disable tests on a particular DUT, the string indicators are there to show a one-word result of the test run (passed/failed/error/missing). There are two more string indicators which show DUT name and index, these never change.

In order to have these checkboxes and indicators available for every DUT but still have some space left for other UI elements I built a 56 element array of these clusters. There is a scrollbar enabled on the side, so the results are nicely gathered, organized and all. The leftmost indicators contain DUT names, I had to edit those out.

 

baj2.PNG

Now, I want to be able to update the text inside the 5 rightmost string indicators. The code I have to do that is the following:

baj.png

On the top I have a refnum to the array you saw, the string input is the text I intend to show on the indicator, top numeric input is the row index, and bottom numeric input is the column index (or rather cluster control index which selects between the 5 string indicators).

 

This works to some extent, but it is buggy on the array indexing section. For example: I click any of the controls/indicators from the first row and then call this code to place "ABC" anywhere in the first row, everything works great. If I click row 5 for example and then run the same code, my string ends up in row 5, completely ignoring the values written into IndexVals. The column adressing is OK and the cluster property node works as intended. So it's like clicking anywhere in the array makes the clicked element the "zero" point.

If I wanted to put "ABCDE" in row 3, but clicked row 3 before, the "ABCDE" would end up in row 6. The operators/test engineers will be clicking around this UI, so there is 100% chance for this to occur. 

 

Any idea how to fight it?

 

Thanks,

Istvan

 

Edit: I added a VI that shows exactly what the issue is. Click around the array and run the VI with the same input number - it will put the string all over the place..

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

You cannot have a reference to a specific array elements. The typical procedure would be as follows:

 

 

altenbach_0-1615651458560.png

 

0 Kudos
Message 2 of 3
(1,636 Views)

Also note that IndexVals is a purely cosmetic property, determining which array element is shown in the top-left corner of the array container.

It has nothing do do with any selection.

 

altenbach_1-1615652353342.png

 

 

Are you aware that you can right-click any property and get help for it?

 

 

If for some reason you need to do this via a reference (not recommended!!), the same idea still applies. (Make sure only one code section modifies the array or else you get potential for race conditions)

 

altenbach_0-1615652238328.png

 

 

 

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