Academic Company Events Community Support Solutions Products & Services Contact NI MyNI
This Document is not yet Rated

Archived: What is New for TestStand 3.1?

This document has been archived and is no longer updated by National Instruments

Primary Software:
Primary Software Version: 3.1
Primary Software Fixed Version: N/A
Secondary Software: N/A

What is new for TestStand 3.1?

The following list describes the new features in TestStand 3.1 and other changes since TestStand 3.0.

Flow Control Step Types

TestStand 3.1 introduces the Flow Control step types. You can use the following new step types to implement common programming constructs:

  • If—Defines a block of steps that execute if a condition is met.
  • Else—Defines a block of steps that execute if the condition defined by the preceding If or Else If step is not met.
  • Else If—Defines a block of steps that execute if a condition is met and the conditions defined by the preceding If step and any preceding Else If steps are not met.
  • For—Defines a block of steps that execute repeatedly for a number of iterations.
  • For Each—Defines a block of steps that execute once for each element in an array.
  • While—Defines a block of steps that execute repeatedly while a condition is True.
  • Do While—Defines a block of steps that execute once and then repeatedly while a condition is True.
  • Break—Causes a For, For Each, While, or Do While loop block or a Case block to exit before completing.
  • Continue—Causes the next iteration of an enclosing For, For Each, While, or Do While loop block to begin.
  • Select—Defines a block of steps that encloses sub-blocks defined by Case steps. The Select step specifies an expression that determines which Case block executes.
  • Case—Defines a block of steps within a Select block that execute if the expression specified by the Select step evaluates to a certain value.
  • End—Defines the end of any block of steps.

Synchronization Step Types

TestStand 3.1 introduces new step types for the automatic scheduling of steps that require access to resources (for example, hardware resources). The new step types are as follows:

  • Auto Schedule—Defines a block that contains any number of Use Auto Scheduled Resource sub-blocks. The Auto Schedule step executes each sub-block once. The order in which the step executes the sub-blocks can vary according to the availability of the resources that the sub-blocks require. Typically, you use Auto Schedule steps in a sequence that you execute using the Parallel or Batch process model. The Auto Schedule block can increase CPU and/or resource utilization by directing a thread that would otherwise wait for a resource locked by another thread to perform other actions using an available resource instead.
  • Use Auto Scheduled Resource—Defines a sub-block of steps within an Auto Schedule block that use a specified resource or set of resources. The Use Auto Scheduled Resource step locks the specified resources while the steps in its sub-block execute.

Refer to the AutoSchedule.seq file, located in <TestStand>\Examples\Auto Schedule, for an example of how to implement auto scheduling in a sequence. This example demonstrates how the Auto Schedule step type can improve performance when testing multiple UUTs in parallel using shared hardware resources. You can use the Auto Schedule step to dynamically determine the order in which a UUT uses its required resources in order to minimize delays that occur while the UUT waits for a resource to become available.

LabVIEW Express VI Instantiation

TestStand 3.1 adds the ability to directly specify and configure an Express VI to call from a TestStand sequence.

The Edit LabVIEW VI Call dialog box contains a new combo box in which you can select which type of VI to call. If you select Express VI from the combo box, the Browse button displays the LabVIEW icon instead of the open file icon. Click the LabVIEW icon to open a context menu which displays all of the Express VIs in the currently selected LabVIEW function palette.

Note  You can only configure calls to Express VIs when the LabVIEW Adapter is configured to use the LabVIEW Development System. If you configure the LabVIEW Adapter to use the LabVIEW Run-Time Engine, you will not be able to select and configure an Express VI. Additionally, your active LabVIEW Development System must be version 7.1 or later to use Express VIs.

Enhanced LabVIEW and LabVIEW Real-Time Integration

LabVIEW Utility Step Types

TestStand 3.1 introduces new step types for communicating with LabVIEW remote systems. The new step types are as follows:

  • Check Remote System Status—Determines whether a remote system is running LabVIEW and allows TestStand to connect to it. This step type is particularly useful for checking the status of LabVIEW Real-Time systems.
  • Run VI Asynchronously—Runs a VI in a new thread in the TestStand execution. This step type is particularly useful for downloading and running a VI asynchronously on a LabVIEW Real-Time system.

LabVIEW Real-Time Error Messaging

TestStand 3.1 also improves the error messaging for LabVIEW Real-Time. The following error cases now contain more descriptive error messages:

  • Unknown hostname
  • Host unreachable
  • Host not allowing TCP/IP connection
  • Host not allowing VI Server connection
  • Host not allowing VI download
  • VI broken
  • VI not found
  • Different LabVIEW version when doing LabVIEW Real-Time download
  • Full-featured LabVIEW Run-Time Engine not present

FTP Files Step Type

TestStand 3.1 introduces the new FTP Files built-in step type. This step type gives you the ability to download files to and upload files from remote systems. This step type is particularly useful if you are using a LabVIEW Real-Time system.

CheckBox User Interface (UI) Control

TestStand 3.1 introduces the CheckBox control. Connect an Application Manager, SequenceFileView Manager, or ExecutionView Manager control to the CheckBox control to connect to commands that you can toggle.

Property Loader

TestStand 3.1 includes the following improvements to the Property Loader:

  • The Property Loader step type has the ability to import properties into any target sequence, not only the current sequence. The imported values are then used for subsequent calls to that sequence in the same execution.
  • The Property Loader step type and Import/Export Properties dialog box have the ability to import and export array and container values as XML strings.

ExpressionEdit Control Enhancements

In TestStand 3.1, the ExpressionEdit control contains the following new features:

  • Addition of Browse Expression and Check Expression buttons to the ExpressionEdit control
  • Ability to add custom buttons
  • On-the-fly syntax checking
  • Variable creation
  • Ability to change the ExpressionEdit control to a combo box

User-Defined Location for Configuration Files

TestStand 3.1 introduces the ability to modify the location of the TestStand configuration file directory. By default, the directory is <TestStand>\Cfg. This new capability allows users who do not have write access to the TestStand installation directory to run TestStand. You can specify the configuration file directory on the Preferences tab of the Station Options dialog box.

Configuration Files and Type Palettes

In TestStand versions 2.0 through 3.0, TestStand installed type palettes in the Cfg directory. Also, in TestStand 3.0, the TestStand 2.0 and 2.0.1 type palette files were installed in the Cfg\Compatibility directory, which is used for the Save As feature. In TestStand 3.1, both directories are now located in the Components directory.

Note  You should not use the Cfg or Cfg\Compatibility directories for saving your type palette files.

If you create a new type palette, the type palette location defaults to the User\TypePalette directory. If you are using the Save As feature in TestStand, save your type palette files in the following directory: Components\User\Compatibility\<Version>.

Configuration Files and the TestStand Deployment Utility

The TestStand Deployment Utility also allows users to create an installer that sets a non-default location from the configuration file directory.

To specify the configuration files directory, click the Advanced Options button on the Installer Options tab of the Deploy TestStand System dialog box to launch the Advanced Installer Options dialog box.

Running Executables from Deployment Installers

The TestStand Deployment Utility allows you to create an installer in which you can run a sequence of user-specified commands. For example, you can specify an executable and its command-line arguments.

To specify the commands, click the Custom Commands button on the Installer Options tab of the Deploy TestStand System dialog box to launch the Custom Commands dialog box. You can specify the executable, the command-line arguments, and the order of execution in this dialog box. The dialog box also includes a set of macros for entering special directories into the command-line arguments.

You can also display a dialog box which shows what command is currently executing and request a reboot after all commands are finished.

Database Logging Enhancements

TestStand 3.1 includes the following improvements to the process model database logging functionality:

  • Supports ODBC drivers that require string data to be passed as a variant with VARCHAR data rather than BSTR data.
  • Supports user-specified expressions that generate primary key values.
  • Includes new default schemas and SQL script files to support MySQL databases and Sybase Adaptive Anywhere databases.

Miscellaneous Features

  • ATLAS step type example.
  • Automatic Test Markup Language (ATML) Test Results Markup Language (TRML) result logging example.
  • LabWindows/CVI 7.1 DLLs export function and parameter information without a type library. The TestStand 3.1 C/C++ DLL Adapter and LabWindows/CVI Adapter can read this information.

TestStand 3.1 API Additions and Changes

The following table lists the new properties and methods that have been added to the TestStand API in TestStand 3.1.

Class Property Method
ActiveXParameter UserData (Read Only)
CommonCParameter UserData (Read Only)
DotNetParameter ArrayDimensions (Read Only)

UserData (Read Only)
Engine GetLocationForNextDialog

Execution ClearSequenceDefaultValues



LabVIEWModule ExpressVIName (Read Only)

VIAttached (Read Only)


LabVIEWParameter ArrayDimensions (Read Only) UserData (Read Only)
LabVIEWParameterElement ArrayDimensions (Read Only)

UserData (Read Only)

PropertyObject GetValBinary


PropertyObjectFile Requirements (Read Only)
Sequence HasMismatchedBlocks (Read Only)

Requirements (Read Only)
SequenceCallModule LoadParametersFromSequence
SequenceCallParameter UserData (Read Only)
SequenceContext NumStepsExecuted
SequenceFile AddLoadReference
StationOptions BreakOnSequenceFailure

Step BlockEndIndex








Requirements (Read Only)
StepType AppliesToBlockStructure



Related Links:
KnowledgeBase 4CUD4KXU: What is New for TestStand 3.0
KnowledgeBase 4CUD9RXU: What is New for TestStand 3.1
KnowledgeBase 4CUFCEGJ: What is New for TestStand 3.5
KnowledgeBase 4CTHULXU: What is New for TestStand 4.0
NI TestStand 4.1


Report Date: 08/31/2007
Last Updated: 09/22/2011
Document ID: 4CUD9RXU

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit