LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can i modify a specific control in an array of clusters

Solved!
Go to solution

Thanks a lot @GerdW, but i still cant get it right since the handling of the data is being done in a subVI (attached). The actual cluster & the array of clusters data is coming in as an input to that subVI, and the handled array of cluster + a boolean going out as an output in the main VI.

 

picture of the main VI:

The cluster + an array are going in to the Change X Direction (...) function, and the output + some more data are going in to the Move Relative function.

The VI that i sent is the "Change X Direction and Return Slider to Default" function in the picture.

Aqua-_0-1605020922050.png

 

I'd like the to make the change execute the "return to default" order (value 0) in the subVI to keep the main VI as clean as possible

 

 

0 Kudos
Message 11 of 13
(287 Views)

Hi Aqua,

 

how is the image in your message related to the attached VI?

 

Anyway:

  1. You already learned how to use BundleByName to change a value in a cluster.
  2. You also learned how to use a local variable to write data into a control.
  3. Now you aren't able to use BundleByName again to change an element value in a cluster? And you aren't able to write that changed data back to your cluster labelled "Cluster"?

Apply the things you learned in this thread about cluster manipulation on this other cluster!

 


@Aqua- wrote:

I'd like the to make the change execute the "return to default" order (value 0) in the subVI to keep the main VI as clean as possible


Then your subVI should either also use a "Cluster" output with the changed "Cluster" values - or you need to use references to be able to manipulate controls located in the frontpanel of a different VI…

 

Btw. you don't need a cluster for this type of control: a simple slider would do the same (with text labels)…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 12 of 13
(285 Views)

Sorry mate, but whatever i do it wont work.

I changed the cluster to a slider like you suggested, and fixed the input type of the function accordingly.

Then i used a constant slider indicator and wired a constant 0 (static) to it making that slider an output terminal.

Back in the main VI i created a local variable as you said and wired the output terminal to it.

The problem is in the flow. The stage moves twice before it goes back to 0 (static). It didnt even matter that i inserted both - the local variable and motion function (move relative function in the pic) to a sequence stack, trying to force my desired flow.

TBH i dont know what the is the problem and why it executes the actual motion twice before it goes back to 0.

 

I believe that if i forced the slider of the main VI to go back to default from within the subVI (which i posted) things would have to flow in the correct way (though i have learned to always expect the unexpected).

Can you help me with that? Cause i cant find posts, guides, youtube videos that does exactly that in the most simple way.

Any example, guidance or even link to relevant read would be much appreciated.

I know how to make a slider go back to default (local variable wired to value), dont know how to do it from another VI

0 Kudos
Message 13 of 13
(273 Views)