NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

batch model sync

I am using the batch model since lomg time ago, so far we being testing a gruop of 56 uut,s in a serial fashion, Today I need to realese 2 threads at the time.. any idea?
0 Kudos
Message 1 of 6
(3,645 Views)
Hello Morrito -

Do you mean that you want to have your UUT sockets proceed two at a time for the entire execution? For example socket 0 and 1 would run, then 2 & 3... then 54 & 55 ? How were you serializing your batch process model previously, did you use the Model Options settings? Or have you customized the sequence directly? Two-at-a-time behavior may require modifications to your process model since there is nothing default that will get you this functionality automatically.

I would suggest that you look into how you are initializing your test sockets at the top-level by opening up the process model and inspecting the sequence call step 'Initialize TestSockets'. By default it will loop through all sockets one after the next until it has each up and run
ning.

Any information you can share about how your process model is currently executing test serially would be helpful to my for providing additional advice.

-Regards
Elaine R.
National Instruments
http://www.ni.com/support
0 Kudos
Message 2 of 6
(3,645 Views)
Well, Yes, The model was setup for Serial Sync, plus I am using a Batch step to create a serial access on my Test sequence, that is way I need it. In Todays situation I need to do somthing similar but need to realese 2 thread 1,2, other will wait; when 1 and 2 are done 3,4 and so foward.. Yes I agree the Model need to be modify, I am aslo thinking baout adding a additional cfg dialog to setup such a property...
0 Kudos
Message 3 of 6
(3,645 Views)
There are 2 particular sections in the Batch model process, "Notify TestSocket Threads" which is basically releasing the Test Sockets, by notifying test socket which must be waiting after placing the proper msg on the que to the controller indicating test socket is ready to run...
0 Kudos
Message 4 of 6
(3,645 Views)
Hello Morrito -

I apologize for the delay in replying. I am not sure I can recommend one approach to modifying the process model over another. Certainly the InitializeTestSockets can be adjusted so that it unleashes two executions at a time, but yes, you will then need to go through and change all of the 'wait' based subsequences so that it only waits for two at a time. Somewhere around the report writing phase of the model you'd also need the ability to 'now run the next two'... Your solution will probably fall somewhere between the sequential model and the parallel model so I can't predict which would be the better one to start developing on. As you investigate the batch process model note the sequence file's globals, which will keep track of
execution references and the like. These will probably be handy in detecting what is active when, and give you some insight into when executions start and stop.

--Regards

Elaine R.
National Instruments
http://www.ni.com/support
0 Kudos
Message 5 of 6
(3,645 Views)
Well, This my approach, Look at the Batch Sequence model, Sockets are created and initialize (all of them), at this point the Model will wait for all queues coming back from each Socket, indicating the controller that Socket are ready for the next step. Then Controller will send Get Serial number request to Sockets, and controller will wait for UUT Dialog for request (Start or Stop), if Start is hit Then Controller will send "Run" to each Socket which are in a wait state. Now in the original Batch model at the "notify socket" subsequence will send the command via queue to each one of the sockets, and controller will wait for them to finish and synchronize in the same fashion to build the report. So what I am did was create my own "Notify
Socket" where I am only shooting 2 at the time, as well I created my own "Wait for request" and "monitor batch", where instead of wait for all socket they are waiting for the 2 that are executing at that time; All of the sequence are nested in a loop to control the socket index and be sure to execute all them; New sequence are really a copy of the original so all preconditions are maintained to take care of other possibilities such as disabled socket.

So yes it is a combination of parrallel mode and sequencial... I was intresting
0 Kudos
Message 6 of 6
(3,645 Views)