NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How to execute test in parallel with shared and dedicated instruments to test two UUT at the same time.

Hello,

I would like some guidance/direction on the following:

 

Background:

I'm new to Test Stand and I'm working on an sequence which makes use of a fixture with two slots.  This is to test two UUT at the same time. 

 

The test station has 4 programmable DC power supplies and 4 programmable Electronic Load Units.  Each UUT uses two dedicated DC Power supplies and two Electronic Loads. 

 

Inside the fixture there is a 120VAC to 24VDC power supply.  The 120 VAC will be provided by a programmable AC Source.   This AC source is the only instrument that is being shared.

 

I wrote my sequence such that the main sequence prompts for the serial number, part number, operator ID etc...

 

Then it calls a sub sequence to turn on the AC source for the fixture

 

Then it runs a separate sub sequences to run the tests for UUT1 and UU2. 

  

The Sub sequence 1 (UUT1)  has a precondition to run for test socket 0,

 

The Sub sequence 2 (UUT2) has a precondition to run for test socket 1,

 

Then then sequence goes to clean up to disable the DC power supplies, AC Source, and Electronic Loads.

 

Question

  1. Am I going the right way on implementing this?
  2. Is there an easier way of implementing this?
  3. Do I need to use locks on the shared AC Source?
    • If so, How do I use it?
  4. Does parallel mode mean, run the exact same sequence in parallel?
    • If so, how do I use it such that the AC Source is Turned on by one sequence, then DC source 1 and 2 are used for testing UUT1, and DC Sources 3 and 4 are used for testing UUT2?

Thank you,

 

0 Kudos
Message 1 of 3
(1,377 Views)

There are a lot of things to consider here but i would start with these docs:

 

Choosing between parallel & batch models probably depends on your fixture & intended start/stop cadence. If you want tests to start & stop independently, use parallel - if they need to start together, use batch.

 

"Sharing" the AC source question needs to consider how you're handling instrument resources in your steps. You can either handle them entirely within your code modules, or pass them in & out via variables, meaning you need to understand how to share a variable across different Executions (e.g. each socket). My personal preference is to open all of my Instrument Handles in the ProcessSetup callback and store them in a shared file global, so i can access them in any socket. This works well for me but is also kind of dangerous if you use FileGlobals for anything else.

 

Hope this helps!

Trent

https://www.linkedin.com/in/trentweaver
0 Kudos
Message 2 of 3
(1,343 Views)

Thank you for your response.  I'm also thinking about Batch Model.  I'll take a look a the documents you mentioned.

0 Kudos
Message 3 of 3
(1,314 Views)