NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Programatically Select and Log results from a Parameter ?

Hii, I have a huge output cluster(container) with 10 different sub clusters in it. Countainer_Main_Out(Container) A01(Container) B02(Container) Whether its possible to Log the individual elements of the main container by selecting them programatically? & if so how to? in the example above depending on the case if B02 is active then only Log the result for B02. As a backup plan I can assign a variable to each of those sub clusters and through Additional Results control the logged data. Although an elegant solution will be of more help and less cumbersome. Best , Akshay
0 Kudos
Message 1 of 3
(251 Views)

You can try this approach: 

 

Step.TS.SData.ViCall.Parms["error out"].ArrayClusterEls["status"].AdditionalResult.Flags

The Flags value of 0x2000 would mean "log"

 

Im not sure if it is already your "Plan B" idea, but still it should work

Message 2 of 3
(220 Views)

You can't do it  with a sequence call but with a LabVIEW call you can do it.

 

Here's a link to an idea to add it to the sequence adapter: https://forums.ni.com/t5/NI-TestStand-Idea-Exchange/Allow-Sequence-Adapter-to-expand-containers-in-t...  (top kudoed in the TestStand forum)

 

But in LabVIEW you can use the Step.TS.SData.ViCall.Parms["Parameter Name Here"].AdditionalResult container to change whether or not the parameter is logged.

 

If you are singling out specific endpoints or clusters you'll have to recurse down to the exact value you want: Step.TS.SData.ViCall.Parms["error out"].ArrayClusterEls["source"].AdditionalResult

 

Hope this helps,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 3 of 3
(214 Views)