From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How to run different sequences in 4 test sockets parallel model

Solved!
Go to solution

I want to automate process for product testing using Teststand. Device that tests products has "4 test plates". Two of this 4 plates uses tests 1 and other two plates use test 2 for testing products. Tests 1 and Test 2 are totally different tests. All tests must run in parallel and they all need to communicate with device and a robot. The robot is putting products on this plates, so TS needs to tell robot that it can load/reload products for testing.

 

I can realize testing products on first two plates using test 1 - > I used Parallel process model. But how can I realize testing also other two plates with test 2 and with the same TS? 

I know I can realize it with using another PC with TS or to open two TS on the same PC. But what are other options?

 

I also read this:

https://forums.ni.com/t5/NI-TestStand/Independent-sequences-in-parallel/m-p/3575661#M53686

 

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

Let me know if this helps and if you have any questions.

 

EDIT: updated example to handle error if wrong serial number entered.

 

Cheers,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
Message 2 of 7
(3,585 Views)

jiggawax thank you, this is really ok starting point for me...

You select whitch sequence to call by entering serial number. 

I need to update this a bit, so that:

1.at test sockets 0 and 1 I execute test A and on test socket 2 and 3 I execute test B.

2. Calling sequence "Test A" or "Test B" is triggered by external signal, for example robot controller. Of Course we can simulate this by some boolean...

 

Can You give me some advice? 

 

 

 

0 Kudos
Message 3 of 7
(3,572 Views)
Solution
Accepted by topic author Skoda3

If you always know which socket will run which sequence this makes it even easier.  You can strip out all of the stuff dealing with serial numbers.  And use RunState.TestSocket.MyIndex to trigger which sequence to call.

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 4 of 7
(3,569 Views)

Thanks for advice.

Yes I know that:

-sequence A will always run on Test Socket 0 or on Test Socket 1,

- and I know that sequence B will always run on Test Socket 2 or on Test Socket 3.

 

The robot controller (connected using TCP/IP) will trigger sequence call. For example, robot puts UUT on test socket 0 and Teststand gets command from controller to run Sequence A on Test Socket 0 (let's say that robot controller will send string "Run_Test_A_On_Test_Socket_0").

 

So Teststand should wait for robot command and then run sequence. Whitch sequence to run depends on string from controller.

 

Can You please upload quick example program with this idea? 

 

 

 

 

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

I've done what you are asking before.  Unfortunately I cannot share that code with you as it is proprietary.  The key is replacing the UUT Dialog with something that communicates with the robot.

 

This KB helps a lot: https://zone.ni.com/reference/en-XX/help/370052K-01/tssuppref/infotopics/process_model_parallel/

 

The idea is that you need to override and replace that dialog with something that just polls your robot for messages.

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
Message 6 of 7
(3,534 Views)

Not sure what version of TS you have but in 2014 it is here: C:\Users\Public\Documents\National Instruments\TestStand 2014 (32-bit)\Examples\Modifying Process Models\Overriding Model Callbacks - Parallel Model

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 7 of 7
(3,533 Views)