NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

multithreading - teststand techniques

i want to know the techniques used in teststand for implementing multithreading without using subsequences for running a step/steps as new thread.
 
According to my knowledge we need to place the steps in subsequence in order to make them run as new thread. but want  to know that running a single step as seperate thread without making a subsequence to that single step is possible or not .
Actually the step which i am making it to run as seperate thread is a custom step and this is called in the sequence several times.Each and every time i call this custom step i want it to run as a new thread. Every time making a subsequence for a single step is not a good procedure i think. so wanted to know is there any other procedure so that instead of running it in a subsequence directly run that step itself as seperate thread or not.
If possible please help me. 
0 Kudos
Message 1 of 4
(3,796 Views)

Hello,

If you are running a LabVIEW step you can right click in your sequence, select Insert Step»LabVIEW Utility»Run VI Asynchronously.  For this step type you can choose a VI (from your machine or another) and have it run in a new thread.  If you need any more information about that step check the TestStand Help file which explains how to use the step and configure the options.

Other than the aforementioned method or using sequence calls there is really no way to run a single step in a new thread.  Thus I am curious why you need to run this step in a new thread and why the subsequence calls are not sufficient?  Subsequences may not be the cleanest in appearance within TestStand but they are effective and should allow to do what you need.

John B.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 4
(3,770 Views)
Its not that i am not able to do it by placing it in subsequence but the reason for posing this query is because i am using this custom step regularly in the sequence,every time it should run as new thread and every time placing this single step in a seperate subsequence is not an efficient process i think.
the custom step i use is of LABVIEW .
I will try what  you have said.
 
thanks & regards,
praveen
0 Kudos
Message 3 of 4
(3,757 Views)
The Run VI asynchronously step type works by dynamically creating an asynchronous sequence and sequence call. You could write your step type to work the same way, though it's not trivial. There is however source code for this step type's substeps located in:

C:\Program Files\National Instruments\TestStand 4.0\Components\NI\StepTypes\LabVIEWUtilitySteps

Also, a simpler alternative if you are using TestStand 4.0 or higher is to create a step template instead of a step type that is really just a preconfigured Run VI Asynchronously step. Then you can insert your steps using the template instead of the step types.

-Doug
0 Kudos
Message 4 of 4
(3,736 Views)