NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Getting sequences result in batch sequences

When I'm running a batch sequence I need to get the results of the other sequences during run time in each sequence.
0 Kudos
Message 1 of 6
(4,354 Views)
Hello Asaf-

Can you give a little more information about what you are trying to do? Are you looking to retrieve another test socket's results once per the current socket's step? Or only once at the end of the execution? or is there some other behavior you are aiming for? Retrieving results from seperate executions can be done (in this case the Execution Reference you would use to do it is a parameter variable in your process model at run time), but how to best retrieve the data depends on what you are looking to gather and when you want to get it. If you can narrow down the task a little I will be happy to offer some advice on how it might be accomplished.

--Regards

Elaine R.
National Instruments
http://www.ni.com/support
0 Kudos
Message 2 of 6
(4,354 Views)
hi Elaine

When I'm running a batch sequence I want to retrieve another test socket's results once per the current socket's step(not in the end of the execution)
The reason is during the test of multiple uut's I'm turning on switches and if a uut failed I want to disconnect it in the other test socket's

Thanks Asaf
0 Kudos
Message 3 of 6
(4,354 Views)
Hello Asaf -

Getting the behavior you want per step would likely be best accomplished via some combination of Post Expressions and Post Step callbacks. The problem is that test sockets have no built in way of sharing data with each other, and for one test socket to see into another test socket would require modifications to the process model.

The simplest way to tackle this task may be to simply have each step store its results in some common place, a station global array perhaps and then do your logic checking on this variable instead of across sockets. You would have to build logic so that the first socket to execute simply adds data, while the other sockets do comparisons as well but if you dynamically grow your array you could use your c
urrent length as an indicator.

The only other way I can think of to share data would be to somehow access your batch's TestUUT file globals for the socket execution references and use the TestStand API to access all the property objects you need. This would definitely be the more difficult approach.

Good luck however you decide to tackle this interesting problem.

--Regards

Elaine R.
National Instruments
http://www.ni.com/support
0 Kudos
Message 4 of 6
(4,354 Views)

Hello,

 

I'm using a batch model. Some tests are common to all test sockets, so I only need them to execute once and skipped on the other sockets, but I'd like to get the results of all steps into all the batch reports. My setup creates a test report for each socket, and also a test report for the batch.

 

For example if I were running 2 sockets the following tests:

- Test 1 is executed only on 1 test socket (whichever comes first) ---> lets say Socket 1 executed this step

- Test 2 is executed on all sockets (once at time)

My test results would look like this at the end of the test:

Socket 1 report: 

- Test1 Passed

- Test2 Passed

Socket 2 report:

-Test1 Skipped

-Test2 Passed

 

I would like to have that value reported also in socket 2, not a skipped. (the test result can be of any type:array, numeric,etc)

 

I'm using NI TestStand 4.01f1 and NI LabView 8.5

 

I would appreciate your help.

-- Regards, Kano

0 Kudos
Message 5 of 6
(3,776 Views)

You could do the following, though it's admittedly a bit complicated (feel free to add something to the idea exchange for handling this better, or maybe someone will have a simpler solution):

 

(have a pre-created stationglobal, something like StationGlobals.OneThreadOnlyStatus)

 

Batch Sync Step - One thread only section enter

 

     Test 1 - With results collection disabled

     Statement step - StationGlobals.OneThreadOnlyStatus = RunState.PreviousStep.Result.Status

 

Batch Sync Step - One thread only section exit

 

Batch Sync Step - Parallel enter - to make sure access to the station global is synchronous with respect to it being set somewhere else

 

None adapter pass/fail step that fails based on status in StationGlobals.OneThreadOnlyStatus - You can name it something like Test 1 Result

 

Batch Sync Step - exit

 

Anyway, hope this helps,

-Doug

0 Kudos
Message 6 of 6
(3,766 Views)