NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Any ideas for a 6x10 batch model

Hello,

 

I've developed a batch sequence for testing 60 boards in one panel.

By multiplexers, we test the panels in groups of 6.

 

Allso there is one serial number per panel.

 

First I had a sequental test for all 60 boards. Then I made ajustments for batch testing.

The batch sequence now runs on 60 different uut threads.

 

Now I see that the batch test takes longer to complete than the sequential sequence?

 

What would be the best way to run 10 threads, testing 6 boards at a time instead of 60 threads?

 

Kind regards,

Jeroen

 

0 Kudos
Message 1 of 7
(3,665 Views)

Hello Jeroen,

 

It's probably me, but I'm relatively confused by the explanation above.

 

Am I corret to summarize:

- One panel contains 60 boards

- You can test 6 boards in parallel at a time. (lets call this the "group")

- You want to test 10 groups sequentially after eachother.

 

Also it would be interesting to now what your hardware restrictions in your test set-up are:

- Are you physically limited to test 6 boards at a time?

- Are there certain tests that should be synchronized with eachother

- Are there any tests that use common/shared resources (eg. temperature chambers,... )

 

 

Kind Regards,
Thierry C - CLA, CTA - Senior R&D Engineer (Former Support Engineer) - National Instruments
If someone helped you, let them know. Mark as solved and/or give a kudo. 😉
0 Kudos
Message 2 of 7
(3,651 Views)

Hello Thierry,

 

Your summary is correct:

- One panel contains 60 boards

- I can test 6 boards in parallel at a time. (I call this the "group")

- I want to test 10 groups sequentially after eachother.

 

About the hardware restrictions :

- I am physically limited to test 6 boards at a time

- Many of the group tests need to be sequential

- Many tests share the same resource being a DAQ board

 

I've added a screenshot of the current sequence showing the groups

The precondition for the GROUPX is Locals.SocketGroup

 

My main concern is the sequence actually running slower when using the batchmodel with 60 threads.

 

6X10 groups.jpg

0 Kudos
Message 3 of 7
(3,646 Views)

Hello Jeroen,

 

Just to make sure everything is understood correctly:

When you are talking about "group tests":

- Are you talking about tests performed on the whole group (with the group just undergoing it as a unit)?

- Or are these tests that each board in the group should undergo and have to be done one board at a time?

 

Can you be a bit more specific about how the different tests share resources?

Any pseudo-code or flow chart would already help alot to explain the process you're trying to implement.

Kind Regards,
Thierry C - CLA, CTA - Senior R&D Engineer (Former Support Engineer) - National Instruments
If someone helped you, let them know. Mark as solved and/or give a kudo. 😉
0 Kudos
Message 4 of 7
(3,632 Views)

Hello Thierry,

 

I'll try to explain te set-up a llittle bit:

 

1 UUT has 6 testpads. So a group consists of 6x6=36 testpads.

Each group is connected to the same 36 analog measuring channels through the relay multiplexers.

Our system can only do one analog measurement at a time.

 

But for example the folloiwng steps can be done in parallel:

- Switching the relay multiplexers

- Connecting to ground

- Putting a voltage/current on a channel

 

Inside a group there are 6 UUT's getting tested (all other groups wait).

These tests are a mixture of parallel end sequential steps.

 

So I believe it's a mixture of testing the group as a unit and sometimes one board at a time.

 

In the folliwing image you can see the sequence inside a GROUP.

 

6X10 groups2.jpg

 

Kind regards,

Jeroen

0 Kudos
Message 5 of 7
(3,627 Views)

Hello Jeroen,

 

Based on this explanation it seems like the majority of your actions is sequential (or at least the global overview).

However, some specific steps can/should be done in parallel.

 

It would make sense to have the following approach in this:

- Use an underlying sequential model and explicitily implement the parallel steps (or batch synchronization steps in your client sequence file)

- Or you could also create your own process model, but then you have to make sure you commit to maintaining both your custom process model and your client sequence file.

Kind Regards,
Thierry C - CLA, CTA - Senior R&D Engineer (Former Support Engineer) - National Instruments
If someone helped you, let them know. Mark as solved and/or give a kudo. 😉
0 Kudos
Message 6 of 7
(3,599 Views)

Hi Jeroen,

 

I run into the same situation you had and wonder what did you choose to implement your software.

 

Regards,

 

Hoai

0 Kudos
Message 7 of 7
(3,398 Views)