From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, 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: 

TestStand thread NOT starting

Here is an explanation of my problem:

I am running TestStand 3.0, CVI 7.0.

I have created a TestStand sequence (call it TestUut) that performs functional testing on a UUT. TestUut is called from the MainSequence and has been completely debugged. All saved data is either local or globally thread-safe.

It is desireable to test multiple UUTs simultaneously. In order to accomplish this, we have added multiple sequence calls to TestUut in the MainSequence. Each call to TestUut uses a new thread for the execution.

I am having two problems (in priority order):

1) When multiple threads are used (e.g. 6), then not all threads are executed. The threads that execute, PASS the tests, but the threads that do not execute create an invisible TestStand error, which causes the overall test to FAIL.

2) If a thread is terminated before reaching the end, then TestStand does not save the test data generated up to the termination point (it does not appear in the Report). This is totally different from TestStand behaviour when only the main thread is running.

0 Kudos
Message 1 of 4
(3,230 Views)

Hi Hurst,

In the menu, select "Configure" & "Station Options".  Click on the "Model" tab.

What station Model are you using? Batch or Parallel?

JLV

Message 2 of 4
(3,223 Views)
Hurst,

The reason you are not seeing any report for a new Thread is that Threads are not associated with a report.  Instead, each Execution object is associated with a Report and contains at least one Thread.  The main Thread generates a Report because it is actually an Execution.  Forking new Threads will all run in the same Execution and therefore will only be associated with the same Report object under the main Execution object.

As Joe mentions, the Batch or Paralell Process Model, automatically handle multiple socket testing.  Each model creates a new Execution object for each test that you want to run simultaneously.  You will also notice that each Execution socket also generates its own Report.  Each Report is also compiled into a main Report for the entire test.

The Batch Model runs each Execution in paralell but waits for every socket to complete before continuing with the next batch of UUTs.  The Paralell Model runs each Execution in paralell but allows the tester to continue another UUT even if another socket has not completed yet.  I recommend reading Appendix A of the TestStand Reference Manual on the Architecture of the Process Model.  If you experiment with the different Models, you may find that what you want is already implemented.

Let me know if you have any further questions.

Thanks,

Tyler Tigue

Message Edited by Tyler T. on 04-06-2006 08:02 AM

0 Kudos
Message 3 of 4
(3,210 Views)

I am using the Sequential Model, and the problem was that the Wait(s) at the end of the multi-threaded were not always being executed. As NI explained it to me, the wait is where the thread report gets added to the main report.

Thanks, Hurst C.

0 Kudos
Message 4 of 4
(3,179 Views)