NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

how to execute the steps synchronously in Teststand?

Solved!
Go to solution

Hello All,

     I want to execute the some steps synchronously,Such as:one step for setting some input conditions to DUT,and one step for measuring some test points under the conditions.and the measurement is real-time.

     So i want to know if have this function can do this.and how to do.

     thanks.

 

BR

Johnny 

0 Kudos
Message 1 of 5
(4,338 Views)
Solution
Accepted by topic author cat099

Hey Johnny,

 

Here is a simple example in TS 4.1.1.  I would use a Rondezvous.  Basically you create the Rondezvous with 2 threads.  Then you spawn a sequence in a new thread (Set DUT).  Inside of there you have a Rondezvous step set to Rondezvous.  Then another sequence called Acquire Data with a Rondezvous step set to Rondezvous as well. 

 

The way that the Rondezvous works is that you create it first and define the number of threads.  Then TestStand waits at each Rondezvous step it encounters until the number  you defined has been encountered.  Be careful because you could have a condition where you may not encounter enough Rondezvous steps.  In this case you can set up the timeout so that it will just continue or terminate if they are never met.

 

Hope this helps!

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
Message 2 of 5
(4,320 Views)

The other option is to have your code module (LV, C++, CVI or whatever language you are using) have parallel threads that do it synchronously inside of the module itself.

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

Hello Jigg,

     Thanks for your reply!

     i have tried the example,it is done.But i am not sure i have understood the usage about rendezvous.i want to know what meanning "Get status" in "rendezvous setting" is,and how to use it?

    About the second opinion,Since i have used a lot of different conditons and steps,if add the code in the module,it will be mess.So i did not use this.

anyway,Thanks again!  

 

BR

johnny

0 Kudos
Message 4 of 5
(4,307 Views)

So the "Get Status" option just queries properties of the Rondezvous....such as the 3 options that show up when you select it.  You can then store those to variables and use them to determine the next move in your sequence.  It's just a way to dynamically make more decisions.

 

Also, if you look in the TestStand help:

Rendezvous Settings Edit Tab

Get Status Operation

You can use the Get Status operation to get information about the current state of a rendezvous. Select the Get Status radio button on the left of the Rendezvous Settings panel.

The Get Status operation contains the following options:

  • Rendezvous Name or Reference Expression—Specifies the rendezvous on which to perform the operation. You can specify the rendezvous by name or by the object reference you receive when you create the rendezvous using Use Object Reference for the Rendezvous Reference Lifetime option.
  • Optional Output
    • Rendezvous Exists?—Specifies a location to store a Boolean value that indicates if the rendezvous exists.
    • Number of Threads Waiting for Rendezvous—Specifies a location to store the number of threads waiting on the rendezvous operation.
    • Number of Threads Per Rendezvous—Specifies a location to store the number of threads that must rendezvous before the step permits the threads to continue execution past the rendezvous point.

I'm glad this helped.  Good Luck in your application!

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