NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Batch model, callbacks, and statements

I have a quick question about using the batch model.

 

I'm converting a sequence from sequential to batch. Do steps in callbacks like PreUUT, SequenceFileLoad, and SequenceFileUnload get executed once for each socket? How about statement steps?

 

If so, what's the best way to make a block run for just one socket? Select the steps and make a change under Properties.Synchronization -> One thread only.

 

Stephen

0 Kudos
Message 1 of 3
(4,226 Views)

Hi stephenb2,

 

Steps in the PreUUT callback will get executed once for each UUT in every socket of the Batch execution.

 

The SequenceFileLoad and SequenceFileUnload callbacks are only executed when the sequence file is loaded into memory for the first time and when it is removed from memory respectively. It will not be executed for every UUT and Socket.

 

In general, you could simply place a breakpoint in the callbacks you are interested in your client sequence file and then execute in the Batch model to see which ones are hit and how often.

 

Statement steps in general do get executed in each socket of the Batch execution, unless specifically configured otherwise.

 

Yes, the Batch Synchronization option (Synchronization -> One thread only) is the right way to make a step exeucte only once per socket in a batch execution. If you are executing using the Test UUTs entry point instead of SinglePass, then this option ensures that the steps executes only once per "batch" of UUTs.

 

Hope this helps.

 

 

0 Kudos
Message 2 of 3
(4,037 Views)

Batch Synchronization options are intended for use only in your main sequence and its children. The options might not function in model callbacks.

 

You might be interested in the PreBatch and PostBatch callbacks.

 

 

0 Kudos
Message 3 of 3
(4,019 Views)