NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How to test multiple UUTs over multiple temperatures, difficult with batch model

I wish to test a set of UUTs (same tests for each) over multiple temperatures. The batch model seems the logical choice to do this, but I cannot make it work.

 

I attempted to gather my UUT information in PreBatchLoop and set my temperature in PreBatch. Note that the UUT info dialog is usually called in PreBatch. In order to set the UUT info in PreBatchLoop I need Locals.ModelData. This data is not passed, therefore I would have to modify the process model to do this. I do not wish to modify the model.

 

However, I attempted to do modify the process model anyway and encountered other issues (e.g. terminating the loop/app). This made me think about why I was struggling to implement my scenario. I concluded that the batch model is not appropriate for my scenario. My co-workers disagree but have no good solution.

 

I am relatively new to TestStand, but I think I understand enough to recognize the process model isn’t appropriate for my scenario. Or is it? Has anyone else made this work? I have found an article or two on the subject, but no satisfactory answer. For example, I found this article:

 

https://forums.ni.com/t5/NI-TestStand/Multiple-Temperature-environments-in-Test-stand/td-p/1028663/p...

 

which suggests looping through temperatures in my MainSequence. I find this unsatisfactory since it doesn’t allow me to use callback sequences like PreUUT and PostUUT. Seems like a hack.

 

Any suggestions for implementing my scenario?

0 Kudos
Message 1 of 7
(2,415 Views)

Hey,

 

Can you elaborate more on what your goal is and what kind of a test sequence you want to architect? 

 

Instead of modifying the sequence file, I'd recommend using a process model callback instead of modifying the actual process model. In your sequence file, add a process model callback to the PreBatchLoop sequence. This callback will take the place of the process model's instance of this sequence, so this would be a good case for making a modification such that only one sequence file sees it. For more information on process model callbacks, see - http://www.ni.com/product-documentation/6605/en/

 

Thanks,

Roxy

 

 

0 Kudos
Message 2 of 7
(2,397 Views)

Below is my scenario - just cycling UUTs through temperature.

 

-------------------------------------

set UUT info (# UUTs, serial numbers, etc.)

 

for (each temperature)
   set temperature

 

   for (each UUT)
      perform pre UUT operations
      run tests
   end
end

-------------------------------------

 

I would certainly use a PreBatchLoop callback.  My issue was that in order to set the UUT info here, I would need Locals.ModelData.  The process model doesn't currently pass that data, thus I would have to modify the model to pass it.

 

It turns out that setting the UUT info here would not work because it is reset in the "Initialize TestSockets" step right after PreBatchLoop.

 

As mentioned in my original post, the batch model doesn't seem appropriate for my scenario.  The batch model is designed to run tests on a set of UUTs, then loop on another set of UUTs.  I wish to cycle through the same set of UUTs multiple times (for each temperature).  The scenarios are different and the batch model doesn't lend itself to mine.

0 Kudos
Message 3 of 7
(2,395 Views)

Can you expand on what info the process model does not pass around? 

 

In the PreBatch callback (not the PreBatchLoop), ModelData is available to the callback in the parameters table. 

0 Kudos
Message 4 of 7
(2,380 Views)

I need to set the UUT serial # and similar values.  That data is in ModelData.  ModelData is not passed to PreBatchLoop.

 

Yes, ModelData is passed to PreBatch, but PreBatch is inside the batch loop.  I only need to set the UUT info data once, not each time through the loop.

 

Also, even if I passed ModelData to PreBatchLoop, it would not work since the UUT info is reset in the next step (Initialize TestSockets).

 

All of the above alludes to my original comment that the batch model is not suited for my task, at least without some modification.

0 Kudos
Message 5 of 7
(2,376 Views)

The goal of batch is to test multiple UUTs at once in a batch together, so setting the UUT info once for each device under test is necessary in the batch. If you're testing one UUT at a time and are limited by hardware or some other factor, you may be right in saying that it is not the right process model for you. However, the point of the batch process model is to reduce test time and increase throughput so that may be a reason for why your peers are suggesting it. What process model do you think is right for you? 

0 Kudos
Message 6 of 7
(2,374 Views)

I would love to use the batch model and leverage its features, but as-is it doesn't quite work for my purposes.  I have no desire to reinvent the wheel.

 

I think the batch model could be used, but with another entry point, maybe "Test UUTs - Multiple Environments."  Keeping it in the batch model would allow use of the "Test UUTs - Test Socket Entry Point" entry point, which is suitable for my needs.  It would also allow use of all the other support (variables, etc.).  In addition, I would probably add something similar to the sequential model.

 

Unfortunately, my colleagues have an aversion to modifying a process model.  I mostly understand this, but I think it is warranted here.

 

Thanks for the feedback.

0 Kudos
Message 7 of 7
(2,367 Views)