NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Same measurement sequence Multiple UUTbatch model

 

I kind of have the idea of what i want.

 

I have a sequence that will do some measurements with the DMM for a some test points on a board. i want to test 4 boards.

i have made my routes on niSE to connect the dmm via a switch matrix to all of those points and i have the hardware connected to the matrix.

 

My routes :

 

UUT1_route

UUT2_route

UUT3_route

UUT4_route

 

The 4 UUT will share the same Matrix and DMM. so i cant use parallel process right?

 

but i can use a Batch Model Serial right ? this will be easy because i will just need to make one program and that same sequence program will be use with each UUT just different switching configuration.

 

 

 

how do i tell each socket to use it own UUT route?

 

i will appreciate your help.

 

thanks.

 

CLAD, CTD
0 Kudos
Message 1 of 3
(3,942 Views)

Create an array of strings either as a local variable or file global. The array should look like the following:

 

Locals.DMMRoutes[0] == "UUT1_route"

Locals.DMMRoutes[1] == "UUT2_route"

Locals.DMMRoutes[2] == "UUT3_route"

etc.

 

Then everywhere you need to specify the route, use an expression like the following:

 

Locals.DMMRoutes[RunState.TestSockets.MyIndex]

 

You can use a fileglobal instead of a local if you prefer.

 

Hope this helps,

-Doug

Message 2 of 3
(3,907 Views)

I am gonna answer this my self. since yesterday i got my book out and also i opened some examples.

 

if you took the course  TestStand Development Course go to section 8 and also open the example Batch UUT.

 

 

Bascially change you process model to Batch.

 

 

take a look on the example at the step that says Set Chamber Temperature... that step is general for the HOLE BATCH ... all UUT will stop executing until that step is release. if you read on the colum settings it will say BATCH. this will be a common operation for the hole batch. to set that behavior go to step->properties->syncronization..there is a drop down menu with many options, you have to click one thread only and this will execute a general step for the entire batch. basically it will wait to the oven temperature to reach a level and then continue testing.

 

 

if you see the pulse test sequence. that test is enclosed between a Syncrhonization step. enclosing this part of the code on a synchronized step will allow the code to run exclusively for that UUT and the others UUT will wait until that part enclosed with the Syncrhornization finish to continue testing the batch. in other words if you share instruments like a dmm and a switch and you have common code that will repeat on every UUT you enclose it under syncronization step.

 

to know which test socket it is executing and with it switch your matrix to the desire position and choose the routes to use you need to put this variable on and if RunState.TestSockets.MyIndex and there you will know which UUT you are working on .

 

this is just a great part of test stand.

CLAD, CTD
0 Kudos
Message 3 of 3
(3,905 Views)