![]() | Download Help (Windows Only) |
The following list describes the new features in TestStand 2012 and other changes since TestStand 2010 SP1. This list only summarizes each new feature. Refer to the TestStand documentation listed for a particular feature for more information about that feature.
The TestStand 2012 process models include significant changes to implement a plug-in architecture for model sequence files. You can use the result processing plug-in architecture to achieve the following functionality:
If you encounter an incompatibility in an existing test system when you use the TestStand 2012 process models or other circumstances prevent you from using the TestStand 2012 process models, you can use the equivalent legacy TestStand 2010 process models. You can manually select the equivalent legacy TestStand 2010 process models to use, or you can use the Legacy Model Switcher tool to replace the TestStand 2012 process models with the equivalent legacy TestStand 2010 process models.
![]() |
Note This topic reflects only the TestStand 2012 process models. If you are using the equivalent legacy TestStand 2010 process models, refer to the TestStand 2010 documentation for information about those process models. |
Refer to the Result Processing Improvements section of this topic for more information about other changes related to result processing.
Refer to the Process Model Plug-in Architecture topic for more information about the plug-in architecture and how to implement custom plug-ins.
You can use the built-in reporting, database, and offline results plug-ins to generate reports, log data to databases, and store results in compact raw result files for offline processing later, respectively. You can also create custom result processing plug-ins.
![]() |
Note Raw result files you created using a TestStand 2012 Beta result processing model plug-in are not compatible with the release version of TestStand 2012. |
You can create multiple result processing configurations, which are named sets of instances of plug-ins you configure to accomplish a specific task, such as creating multiple reports with different formats or logging data to multiple databases. Creating multiple report processing configurations to use as the active configuration can help you quickly change how TestStand processes results. You can create result processing configurations to process results inline, meaning at run time, or offline. For example, you can specify to process offline results differently from inline results or you can specify to process offline result files differently when you store the files in different locations.
Select Configure»Result Processing to launch the default Result Processing dialog box, in which you enable or disable the installed built-in and custom result processing plug-ins in the active result processing configuration and also configure how the plug-ins process test results. You can insert multiple instances of the same plug-in with various configuration options. Click the icon in the Options column for each built-in plug-in to launch the Options dialog box, in which you configure options specific to the plug-in. For example, click the options icon for the Offline Results File plug-in to launch the Offline Results File Generation Options dialog box, in which you specify options for determining the directory location for result files, writing results to the file on-the-fly or after each UUT completes, limiting the number of UUTs per file, and automatically starting or exiting the TestStand Offline Results Processing Utility. You can also use the Offline Results File Generation Options dialog box to launch the utility.
Enable the Show More Options control in the Result Processing dialog box to display additional options to insert or delete instances of result processing plug-ins, change the order in which TestStand invokes the plug-ins, and specify whether TestStand invokes the plug-ins serially or in parallel using separate threads. In the expanded Result Processing dialog box, you can also create and manage result processing configurations. The <Default for Inline Processing> configuration is the default active configuration for processing results at run time. The <Default for Inline Processing> configuration is the default configuration the offline results processing utility uses.
Click the Advanced button in the Result Processing dialog box to launch the Advanced Result Processing Settings dialog box, in which you configure on-the-fly result processing options that apply to all instances of plug-ins in all configurations, such as specifying and managing the processing interval and specifying the maximum number of results. You can also use this dialog box to create new process model plug-ins. Click the Create New Result Processor Plug-in button in the Advanced Result Processing Settings dialog box to create and open a plug-in sequence file shell in which you complete the entry points you need and delete the entry points you do not require. Refer to the examples in the <TestStand Public>\Examples\ModelPlugins directory and to the Process Model Plug-in Architecture topic for more information about how to implement a custom result processing plug-in.
You can use the TestStand Offline Results Processing Utility to process raw results files into reports and database tables at a time other than when sequence execution occurs, such as overnight, or on a different computer. Use this utility in situations in which performance is more important than immediately processing results. You can use command-line arguments and the Microsoft Windows Task Scheduler to automate the tasks you complete using the utility, or you can use a Call Executable step with command-line arguments in a sequence to launch the utility. If the utility is already running, the command-line arguments apply to the running instance of the utility.
The utility uses profiles to define the set of raw results files to process, the result processing configuration set to use to process results, and the set of files the utility has already processed. Use the inbox of a profile to specify where to store raw results files to process, and use the outbox of a profile to specify where to store raw results files and report list files after processing. Report list files provide the list of reports the utility generated from the raw results file of the same name. Use the ResultLog properties and methods of the TestStand API to read information from report list files. You can also specify the sequence file to use as the callback sequence file when processing the raw results files.
You can configure the utility to complete the following tasks:
You can configure the number of files the utility processes simultaneously. You can also configure the number of files to process. The utility also displays a list of all reports it generates and reads in the current session.
![]() |
Note National Instruments provides the utility source code for informational purposes only and does not recommend rebuilding the utility from the source code. |
The following table lists the command-line arguments you can use with the utility. Optional arguments appear in brackets.
Argument | Action |
---|---|
/? | Displays the help topic for the utility. |
/exit-when-done [seconds] | Instructs the utility to exit automatically when all active profiles finish processing files successfully. The utility must process at least one file before exiting. If the utility is already running, this command has no effect.
[seconds] specifies the number of seconds to wait after all active profiles finish processing before exiting. The default value is 30 seconds. |
/log-level <log level> | Uses a number or a string to specify one of the following values for a supported severity level to log. Passing an invalid value disables logging.
|
/process-all-profiles | Activates all profiles. |
/process-files <profile> <one or more file names> | Activates the profile you specify and copies all the files you specify to the outbox directory of the profile you select for processing. Use quotation marks around profile names or filenames that include spaces.
Example: OfflineProcessingUtility.exe /process-files "Profile Name" file1.txt "C:\Documents and Settings\file2.txt" |
/process-files-missing-data | Automatically processes files with missing data. Files might not include all necessary data because the execution that created the file terminated or aborted while TestStand was generating results. You can review the log file to determine the files with missing data. If you automatically process files with missing data, TestStand returns a warning, which you can log by using a log level of 2, 1, or 0. TestStand returns an information message for files with missing data that you do not process, which you can log by using a log level of 1 or 0. |
/process-no-profiles | Deactivates all profiles. |
/process-profiles <one or more profile names> | Activates the profiles with the names you specify in the list of profiles. Use quotation marks around profile names that include spaces.
Example: OfflineProcessingUtility.exe /process-profiles Profile1 "Profile Name With Spaces" Profile3 |
/quit | Stops the offline results processing utility after the currently processing raw result files finish processing. |
/tray | Sends the offline results processing utility to the Microsoft Windows System Notification Area (system tray) of the taskbar. |
If you encounter an incompatibility in an existing test system when you use the TestStand 2012 process models or other circumstances prevent you from using the TestStand 2012 process models, you can use the equivalent legacy TestStand 2010 process models. However, National Instruments recommends using the TestStand 2012 process models in most cases.
![]() |
Note If you migrate a custom legacy process model file to TestStand 2012, you must also migrate the corresponding ModelSupport.seq file from the earlier version of TestStand, or you must use the equivalent legacy TestStand 2010 process models, which include a legacy ModelSupport.seq file. |
You can use the Legacy Model Switcher tool to replace the TestStand 2012 process models with equivalent legacy TestStand 2010 process models located in the <TestStand>\Components\Models\TestStandModels directory or vice versa. The Legacy Model Switcher tool does not affect any custom process models. You can also use the Legacy Model Switcher tool to migrate the result processing options from the new TestStand 2012 process models to the equivalent legacy TestStand 2010 process models or vice versa. You must restart all TestStand applications for the new settings to take effect.
Select Start»All Programs»National Instruments»TestStand»Tools»Compatibility»Legacy Model Switcher or navigate to <TestStand>\Components\Models\TestStandModels\TestStand 2010 Process Models (Legacy)\LegacyModelSwitcher.exe to launch the Legacy Model Switcher tool. You can also use the /NEW or /LEGACY command-line arguments to programmatically select which TestStand process models to use.
When the migration of the result processing options completes, the tool updates the migration report to indicate that the report options have been copied to the specified configuration.
TestStand 2012 enhances on-the-fly reporting, Automatic Test Markup Language (ATML) reports, and other report functionality.
In addition, TestStand 2012 significantly improves the performance and consistency of report generators, on-the-fly reporting servers, and style sheets for all supported report formats.
In TestStand 2010 SP1 or earlier, you could use on-the-fly reporting for XML, HTML, and ASCII reports but not for ATML reports. In addition, you could enable the Conserve Memory and Only Display Latest Results option on the Contents tab of the Report Options dialog box to periodically purge internal results maintained in memory while generating on-the-fly HTML and ASCII reports but not XML or ATML reports.
In TestStand 2012, you can now use on-the-fly reporting for ATML reports, and you can enable the Only Display Latest Results option on the Contents tab of the Report Options dialog box when generating on-the-fly XML or ATML reports.
TestStand 2012 also corrects the following issues when generating on-the-fly HTML or ASCII reports:
![]() |
Note If you have configured the process model to use multiple plug-ins and you enable the Discard Results or Disable Results when not Required By Model option in the Model Options dialog box, the process model discards or disables results only when you have configured all model plug-ins to process results on-the-fly. |
In addition, TestStand 2012 includes a new on-the-fly report server, which you can use in conjunction with objects of the ReportSection class to create a custom on-the-fly report in any format or layout, including custom report formats. The ProcessOTFStepResults sequence of the reportgen_xml.seq, reportgen_html.seq, reportgen_text.seq, and reportgen_atml.seq report generation sequence files, located in the <TestStand>\Components\Models\TestStandModels directory, calls the on-the-fly report server.
TestStand 2012 can generate XML reports that validate against the non-finalized version 5.0 of the ATML Test Results and Session Information schema or the approved version 2.02 of the schema. Select ATML 5.00 Standards Report Document or ATML 2.02 Standards Report Document from the Report Format ring control on the Contents tab of the Report Options dialog box to generate an ATML report that validates against version 5.0 or 2.02 of the schema, respectively. The <TestStand>\Components\Models\TestStandModels\ATML\Schemas directory contains copies of versions 5.0 and 2.02 of the schema.
![]() |
Note Because version 5.0 of the ATML Test Results and Session Information schema is not yet approved, generated reports might not validate against the approved version of the schema. Visit ni.com/info and enter the Info Code tsatmltr5 for up-to-date information about TestStand support for ATML Test Results 5.0 reports. |
TestStand 2012 includes the following enhancements to reports that validate against version 5.0 of the ATML Test Results and Session Information schema:
TestStand 2012 includes the following additional improvements for reports:
![]() |
Note TestStand XML or ATML reports do not escape these characters when they appear in the Step.Result.Error.Msg or Step.Result.ReportText properties. |
XML Character | Escaped Character |
---|---|
< | < |
> | > |
& | & |
' | ' |
" | " |
TestStand 2012 moves the database options configuration from the TestStandDatabaseOptions.ini file into the ResultProcessing.cfg file, which stores configuration information for all result processing model plug-ins, and moves the database schemas in the TestStandDatabaseOptions.ini file to the TestStandDatabaseSchemas.ini file. The ResultProcessing.cfg and TestStandDatabaseSchemas.ini files are located in the <TestStand Application Data>\Cfg\ModelPlugins and <TestStand Application Data>\Cfg directory, respectively.
You can now password-protect types so that other TestStand users cannot modify the types in the sequence editor.
In the Types window, select one or more types you want to password-protect, right-click, and select Password Protect from the context menu to launch the Password Protect Type Definitions dialog box, in which you can enable or disable password protection and change the password settings for the selected types. Enable the Password Protection option to enable password protection for the types, enter a password in the New Password control, and verify the password in the Re-enter Password control.
After you enable password protection for the types, the types remain unlocked so you can continue to edit the types. TestStand automatically locks password-protected types when TestStand first loads the types. For example, when you restart TestStand or close and reopen all the files that reference the password-protected types, TestStand locks the types. When you restart TestStand, TestStand locks all password-protected types. You can also select one or more password-protected types, right-click, and select Lock from the context menu to explicitly lock the types.
To unlock types, select the types you want to unlock, right-click, and select Unlock from the context menu to launch the Unlock Type Definitions dialog box, in which you can enter the correct password to unlock any selected types to which the password applies. TestStand ignores any selected types that are already unlocked or for which you have not enabled password protection. If the password you enter does not apply to all of the selected types, TestStand launches the Unlock Failed for Some Type Definitions dialog box, which gives you the option to return to the Unlock Type Definitions dialog box and enter another password to unlock the remaining types.
TestStand also launches the Unlock Type Definitions dialog box when you attempt to edit a locked type. You must enter the correct password to unlock the type before you can edit the type.
The locked or unlocked state of a type is not a saved state but is instead an in-memory state that indicates whether TestStand currently permits editing of the password-protected type.
![]() |
Note TestStand supports password-protecting types to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. |
![]() |
Note If you lock at least one type in an INI-formatted sequence file, the entire content of the sequence file becomes protected and unreadable. |
TestStand 2012 includes the following enhancements for .NET support:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>
</configuration>
![]() |
Note The .NET Adapter correctly loads an assembly written in C# or Visual Basic .NET and built against an earlier .NET Framework version. You do not need to specify an application configuration file. |
Example Program | Path to Example Sequence File |
---|---|
Accessing Arrays Using API | <TestStand Public>\Examples\AccessingArraysUsingAPI\UsingDotNet\ AccessingArraysDotNet.seq |
Accessing Properties and Variables Using API | <TestStand Public>\Examples\AccessingPropertiesUsingAPI\UsingDotNet\ AccessingPropertiesDotNet.seq |
Displaying Arrays in Reports | <TestStand Public>\Examples\DisplayArrayInReport\UsingDotNet\ DisplayArrayInReportDotNet.seq |
Displaying Progress and Status | <TestStand Public>\Examples\DisplayingProgressAndStatus\UsingDotNet\ DisplayingProgressDotNet.seq |
Modal Dialog Boxes | <TestStand Public>\Examples\ModalDialogs\DotNet\ModalDialogDotNet.seq |
Multiple Numeric Limit Test Step Type | <TestStand Public>\Examples\MultipleNumericLimitTest\UsingDotNet\ MultipleNumericLimitTestDotNet.seq |
Struct Passing | <TestStand Public>\Examples\StructPassing\DotNet\StructPassingDotNet.seq |
When you configure a step to use the LabVIEW Adapter, you can now specify whether the step calls a VI or a class member, and you can select a LabVIEW class or class member. The LabVIEW Adapter also displays a combo box for LabVIEW ring controls.
The LabVIEW Module tab in the sequence editor and the Module tab of the Edit LabVIEW VI Call dialog box in a user interface now contain the following options:
![]() |
Note You must have LabVIEW 2012 or later to use LabVIEW dynamic dispatching when calling LabVIEW classes in TestStand. |
When you select the VI Call or Class Member Call option from the Call Type ring control on the LabVIEW Module tab in the sequence editor or on the Module tab of the Edit LabVIEW VI Call dialog box in a user interface, you can launch the following dialog boxes for specifying a LabVIEW class for the step to call:
The LabVIEW Module tab now displays a combo box for LabVIEW ring controls. The combo box displays the string values associated with the LabVIEW ring control. When you select a string value from the combo box, TestStand stores the associated string value with the numeric value. TestStand passes the numeric value to the LabVIEW ring control at run time.
If you enter a numeric value as the argument for a ring control parameter, TestStand automatically maps that numeric value to a string value and displays that string value as the argument. You can also enter a TestStand expression or a literal string value enclosed in quotes as the argument.
When you reload a VI prototype, all LabVIEW ring controls except enumerated types retain their numeric value regardless of whether the numeric value maps to a string value. TestStand then updates the string value to match the numeric value.
For LabVIEW enumerated type controls, the behavior varies in the following ways depending on whether the enumerated type control is an instance of a LabVIEW type definition:
When you use TestStand to specify a VI for a LabVIEW step code module and the VI contains enumeration parameters but you pass a numeric value that is outside the range of valid enumeration values to an enumeration parameter, LabVIEW modifies the value to be within the valid range before executing the VI, as described in the following table.
TestStand Version | LabVIEW Version That Executes VI | Way in Which Numeric Value is out of Range | LabVIEW Behavior |
---|---|---|---|
2012 | 2012 or later | Numeric value is negative. | LabVIEW uses the first enumerated value in the list (0). |
Numeric value is greater than the last enumerated value in the list. | LabVIEW uses the last enumerated value in the list. | ||
Earlier than 2012 | Any numeric value. | LabVIEW does not modify any numeric value. If a numeric value is out of range, the behavior is undefined. | |
Earlier than 2012 | Any | Any numeric value. | LabVIEW does not modify any numeric value. If a numeric value is out of range, the behavior is undefined. |
The Edit LabVIEW VI Call dialog box in a user interface now contains the following tabs:
You can use LabWindows/CVI 2012 or later to create executables and DLLs that bind to a specific, side-by-side version of the LabWindows/CVI RTE. Refer to the Binding Executables and DLLs to Side-by-Side Run-Time Engines topic in the LabWindows/CVI Help for more information about binding executables and DLLs to a side-by-side version of the LabWindows/CVI RTE.
You can use the LabWindows/CVI Adapter and the C/C++ DLL Adapter in TestStand to load and call DLL code modules that use a side-by-side LabWindows/CVI RTE or the default LabWindows/CVI RTE within the same sequence file. However, TestStand does not support calling DLLs you create with tools other than LabWindows/CVI, such as Visual Studio, to use a side-by-side LabWindows/CVI RTE.
With the exception of custom user interfaces, you cannot use a side-by-side version of the LabWindows/CVI RTE with .lib, .obj, or .c code modules. These code modules always use the default LabWindows/CVI RTE even when the module is an import library for a DLL that uses the side-by-side version of the LabWindows/CVI RTE. To call a DLL code module that uses the side-by-side version of the LabWindows/CVI RTE in this case, specify the code module with the path of the DLL, not the path of the import library.
When you deploy a user interface executable or a DLL that is bound to a side-by-side version of the LabWindows/CVI RTE, you must explicitly include the side-by-side version of the LabWindows/CVI RTE in the deployable image you use to build an installer with the TestStand Deployment Utility.
You can now deploy IVI and NI Switch Executive settings from National Instruments IVI Compliance Package 4.5 and National Instruments Switch Executive 3.60. Enable the Include Hardware Configuration from Measurement & Automation Explorer option in the Drivers and Components dialog box you launch from the TestStand Deployment Utility to include these settings in a deployable image.
The Drivers and Components dialog box of the deployment utility also includes the following options:
You can insert new steps in a sequence by dragging and dropping one or more files on to the Steps pane of the Sequence File window in the sequence editor or on to the Steps pane of the Sequence File tab in a user interface in Editor Mode. TestStand inserts Action steps for the files you drop and selects the corresponding module adapter, as the following table describes:
File Type | File Extension | Module Adapter |
---|---|---|
VI | .vi | LabVIEW |
LabVIEW project | .lvproj | LabVIEW |
LabWindows/CVI DLL | .dll | LabWindows/CVI |
.NET assembly | .dll | .NET |
DLL | .dll | C/C++ DLL |
TestStand specifies the module path as the name of the file if the file resides in a TestStand search directory. Otherwise, TestStand specifies the module path as the absolute path of the file.
The Edit Search Directories dialog box contains a new Exclude Hidden Subdirectories option. When you enable this option, TestStand does not search subdirectories of the directory you select when the subdirectories specify the Hidden attribute in the Windows file system. You can enable or disable the Exclude Hidden Subdirectories option for each directory listed in the Edit Search Directories dialog box. This option is disabled by default and is available only when you enable the Search Subdirectories option.
TestStand 2012 includes the following enhancements to expression functions for manipulating arrays:
TestStand 2012 includes the following enhancements to expression functions for manipulating strings:
TestStand 2012 includes the following enhancements to operators in expressions:
Symbol | Operation | Description |
---|---|---|
& | Get Reference | Returns a Reference that refers to the operand. |
* | Dereference | Returns the object to which the Reference operand refers. The Reference must refer to an object that supports the TestStand PropertyObject interface. |
You can now use the #NoValidation directive in an expression to disable evaluation error checking for part or all of the expression. Use this directive to suppress errors reported at edit time that will not occur at run time, such as using a variable the sequence creates at run time by using the TestStand API. Use this directive without a parameter list to suppress error checking for the remainder of the expression or pass a separate expression as the parameter to this directive to suppress error checking for only the parameter expression.
When you open or execute a large sequence file that contains multiple code modules that might take a long time to preload, TestStand 2012 launches the Preload Progress dialog box, which displays a progress indicator as TestStand preloads the code modules. Previous versions of TestStand might have appeared unresponsive while preloading multiple code modules when opening or executing large sequence files.
TestStand calculates the percent completion value for the Preload Progress dialog box to display by scanning the sequence file and any called sequence files for the total number of code modules the sequence files contain and counting each code module as it preloads. The Preload Progress dialog box displays the sequence file name, sequence name, step name, code module name, and code module path for each code module TestStand preloads.
The Preload Progress dialog box launches only after a delay period you specify and only when you open or execute a sequence file that specifies an appropriate preload option or contains a step that specifies an appropriate preload option, as the following table describes. The Preload Progress dialog box includes only the code modules specified by steps or contained in sequence files that specify an appropriate preload option.
Action You Perform | Sequence File Properties Load Option | Step Properties Load Option |
---|---|---|
Open a sequence file | Preload when opening sequence file | — |
Use step load option | Preload when opening sequence file | |
Execute a sequence file | Preload when execution begins | — |
Use step load option | Preload when execution begins |
You can modify the option for a sequence file by using the General tab of the Sequence File Properties dialog box. You can modify the option for a step by using the Run Options panel of the Step Settings pane in the sequence editor or the Run Options tab of the Step Properties dialog box in a user interface.
![]() |
Note In the sequence editor, if you enable the sequence analyzer to analyze the sequence file when you initiate an execution and the sequence file or step specifies to preload code modules when execution begins, the sequence analyzer preloads the code modules for analysis, and the Preload Progress dialog box does not launch. If you cancel the sequence analyzer before analysis completes, the Preload Progress dialog box launches after the specified delay period and displays the preload progress for the remaining code modules that the sequence analyzer did not preload. If you disable the sequence analyzer and the sequence file or step specifies to preload code modules when execution begins, the Preload Progress dialog box launches. |
By default, the Preload Progress dialog box launches after a delay period of 3 seconds. You can use the Preload Progress Dialog Box Delay option on the Preferences tab of the Station Options dialog box to modify the delay period value. You can also use the StationOptions.PreloadProgressDelay property to programmatically modify the delay period value. Specify a negative value to disable the Preload Progress dialog box but continue to preload the sequence file.
In addition, you can use the TestStand API to programmatically specify that the Preload Progress dialog box launches. Pass the GetSeqFile_PreloadModules constant for the Engine.GetSequenceFileEx method to launch the Preload Progress dialog box when you open a sequence file. Pass the ExecTypeMask_DisplayPreloadProgress constant for the Engine.NewExecution or SequenceContext.NewExecution methods to launch the Preload Progress dialog box when you execute a sequence file.
![]() |
Note When you use the TestStand API to open or execute multiple sequence files simultaneously in different threads and the sequence files contain one or more steps that specify the Preload when opening sequence file load option or the Preload when execution begins load option, respectively, the Preload Progress dialog box correctly displays the progress of preloading code modules for all sequence files but might not correctly display the sequence file name, sequence name, step name, code module name, and code module path for each code module. For this case, National Instruments recommends that you do not pass the GetSeqFile_PreloadModules constant for opening sequence files or the ExecTypeMask_DisplayPreloadProgress constant for executing sequence files. |
Click the Cancel button in the Preload Progress dialog box when you open a sequence file to cancel the preload and open the sequence file without preloading the code modules.
Click the Cancel button in the Preload Progress dialog box when you execute a sequence file to cancel the preload and prevent the execution from initiating.
You can complete the following tasks to manipulate an array variable on the Variables pane of the Sequence File window in the sequence editor or on the Variables pane of the Sequence File tab of a user interface:
Right-click an element of a one-dimensional array on the Variables pane and select Insert Element from the context menu to insert a new array element below the element you select. Right-click the expanded array and select Insert Element from the context menu to insert a new array element at the lowest array index. If you right-click a collapsed array, you cannot insert a new element. Right-click an array element and select Delete from the context menu to delete the element you select.
Right-click an element of a one-dimensional array and select Copy from the context menu to copy the array element to the clipboard. You can then right-click another element of a one-dimensional array and select Paste from the context menu to paste the copied array element below the selected element, or you can right-click the expanded array and select Paste from the context menu to paste the copied array element at the lowest array index. If you right-click a collapsed array and select Paste from the context menu, TestStand inserts the copied array element as a new variable below the array. You can select multiple array elements, copy them simultaneously, and paste them as a group. You can also use keyboard shortcuts to copy and paste array elements.
In addition, you can paste or drag into the array a variable from outside the array if the variable is the same data type as the other existing array elements. If the variable you want to paste is not the same data type, the Paste option is not available in the context menu and the drag operation does not complete. When you drag and drop a variable into the array, press the <Ctrl> key while you drag to copy the variable you select and insert the copy in the array and retain the original variable.
![]() |
Note If the array is an array of containers, you can paste a variable from outside the array but you cannot drag and drop a variable from outside the array. |
You can also paste an array element outside of the array or drag an array element from the array and drop it outside of the array to create a new local variable, parameter, file global variable, station global variable, or subproperty. TestStand names the new variable using the same name as the array. If a variable with the same name as the array already exists, TestStand appends to the variable name a suffix _n, where n is the lowest variable greater than or equal to 1 that makes the variable name unique.
Right-click a one-dimensional array and select Copy Value from the context menu to copy the values of all the array elements to the clipboard as a flat list, with one element value per line. In previous versions of TestStand, selecting Copy Value from the context menu for a selected one-dimensional array copied only the string ... to the clipboard.
The UUT data type includes a new PartNumber string property.
The following table lists new built-in sequence analyzer rules.
Rule | Category | Severity | Description |
---|---|---|---|
Subelements of an output array parameter should be deleted if you intend to log the entire array | General | Warning | If you enable additional result logging for an output array parameter on a LabVIEW or .NET step and the parameter contains subelements, the step logs only the subelements and not the entire array. An array parameter contains subelements if you added them manually when you specified the code module or if the code module is a LabVIEW VI that defines default element values for the array. To log the entire array, delete all the parameter subelements when you specify the code module. Ignore this message if you intend to log only the parameter subelements. |
Find expressions that suppress evaluation errors | General | Information | Expressions that use the #NoValidation directive to suppress semantic evaluation errors. These expressions might contain actual run-time errors. |
Sequences in a process model should not enable result recording | General | Warning | If you enable result recording for a process model sequence other than the MainSequence callback, on-the-fly reporting might not work correctly. Disable result recording for all process model sequences except the MainSequence callback. |
Helpful
Not Helpful