NI TestStand

Showing results for 
Search instead for 
Did you mean: 

Pass data from LabVIEW executable to TestStand



Is there a simple way to pass an array of clusters (with some other types inside) from the LV executable to TestStand?


In TestStand I have the same array of clusters as a RunTimeVariable and passing of it between LV VIs (not yet exes) and TS is not a problem with use of usual input/output parameters.


In the executable I am able to obtain TS.Engine as well as ThisContext reference. With use of them I can of course write to any TS object (even array of clusters) but the only way that works for me is to iterate through this array and clusters in the exe and pass each element to separate corresponding element in the TS.Object. Can it be done easier?


By doing ThisContext->Execution->RunTimeVariables and SetValString or SetValNumber I can pass some simpler types like strings or numerics. By using SetValVariant I can also pass array of strings (previously casted to variant) but this does not seem to work with my array of clusters. Is this achievable like this?


I think I could also do that with TS queues or notfiers but I fail to create a proper reference to Enqueue it and dequeue later in TS...


It is probably a silly problem but please enlight me with some solution:)


Thanks in advance.

CLA, CTD, CLED @ Test & Measurements Solutions Poland
0 Kudos
Message 1 of 2

Don't like it too much bus as a workaround it is possible to flatten this array of clusters and pass it as a string to the RunTimeVariable of this type. Then place the LabVIEW action step after executable call that will unflatten it, cast to the proper type and output directly to the RunTimeVariable of the "array-of-clusters" type.


Works but still does not feel right, so if anyone has any suggestions please let me know.



(Sorry if there is an Edit previous post button - didn't find it)

CLA, CTD, CLED @ Test & Measurements Solutions Poland
0 Kudos
Message 2 of 2