Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

TestStand Support

Frequently Asked Questions

  1. How do I edit the Process Model?
  2. When should I modify the Process Model rather than using Callbacks?
  3. How do I create my own Operator Interface?
  4. How do I edit the Test Report?
  5. How do I get or set the value of a local variable from LabVIEW?
  6. How do I get or set the value of a local variable from LabWindows/CVI?
  7. How do I create my own step type?
  8. How do I debug LabWindows/CVI code from TestStand?
  9. How do I debug code modules created with Visual Basic or a different compiler that use the Automation Adapter?
  10. How do I store my test limits in a text or Excel file?
  11. How to I load different subsequences dynamically?


  1. How do I edit the Process Model?
    First, make a copy of the TestStandModel directory under \TestStand\Components\NI\Models\ and place the copy in the \TestStand\Components\User\Models\ directory. Then open the copied sequence model and edit it like any other sequence. When launched, the TestStand engine will look for any files in the \TestStand\Components\User\ directory and use those components in place of the components in \TestStand\Components\NI\Models\.

    To add a new Execution entry point, for instance, you could copy and paste the SinglePass sequence in the All Sequences view and then rename and edit the copy. Be sure to change the menu entries for the entry point by changing the properties of the new sequence. You can find more information on creating or editing a Process Model in Chapter 13 of the User Manual: Process Models.

  2. When should I modify the Process Model rather than using Callbacks?
    If you want changes to affect every sequence, modify the Process Model (TestStandModel.seq and/or report generation sequences). Modify callbacks when you only intend to affect a few sequences. You may find it necessary in certain circumstances to modify the Process Model rather than modifying callbacks. In this case, you can define a specific process model to be used with a single sequence file. Select Sequence File Properties under the Edit menu of the Sequence Editor. Under the Advanced tab you will see how to specify a specific Process Model for that sequence file. Make sure that you copy the TestStandModel.seq rather than modify it directly.

  3. How do I create my own Operator Interface?
    Start off by examining either the Simple Interface example for LabVIEW or LabWindows/CVI. They are contained in the TestStand\Examples\Operator Interfaces directory. These interfaces communicate with the TestStand engine through ActiveX automation. The Engine's automation Interface properties and methods are all documented in the ActiveX API on-line help. Properties and methods pertinent to creating an operator interface are under the Advanced section of the property and method tree.

  4. How do I edit the Test Report?
    The test report which is just a string that is generated by the process model in the TestReport callback. The TestReport sequence adds the Report Body, Report Header, and Report Footer to the report. Notice that the sub-sequences that add to the report are called dynamically depending on whether you have selected to generate a text or HTML report in the Report Options dialog box. These subsequences actually reside in reportgen_html.seq and reportgen_txt.seq.

    To change the test report for all sequences, modify the appropriate sequences in reportgen_txt or reportgen_html by adding, modifying, or deleting steps. You can make custom code to manipulate the report string. To change the test report for a single sequence, it is more appropriate to modify the callbacks. You can modify the TestReport, ModifyReportEntry, ModifyReportHeader, or ModifyReportFooter callbacks. For more information about modifying callbacks, see Chapter 13 of the User Manual: Process Models.

  5. How do I get or set the value of a local variable from LabVIEW?
    Examine the AccessingPropertiesAndVariables.seq example in \TestStand\Examples\ActiveX\ directory.

  6. How do I get or set the value of a local variable from LabWindows/CVI?
    Examine the AccessingPropertiesAndVariables.seq example in \TestStand\Examples\ActiveX\ directory.

  7. How do I create my own step type?
    A good way to start is by copying an existing step type. You can go to Step Types tab in the Type Palette. With the different step types displayed in the right pane, select a step type, copy it, and paste it in the right pane. You can add, delete, or modify the data associated with steps of this type. There are several properties that you can edit for a particular step type. Each of these is documented in Chapters 9 and 10 of the User Manual.

  8. How do I debug LabWindows/CVI code from TestStand?
    Debugging LabWindows/CVI code modules is allowed for steps that use the C/CVI Standard Prototype Adapter. The code modules can be either source code or DLLs with the debugging option enabled. To debug LabWindows/CVI code, you must first configure the LabWindows/CVI Standard Prototype Adapter to execute the code module in an external LabWindows/CVI process. In the Sequence Editor, select Configure » Adapters » C/CVI Standard Prototype. Now, if you stop at a breakpoint in your sequence, you can Step Into the LabWindows/CVI code module. Consult Chapter 6 of the Getting Started manual for more information on debugging test code.

    If you use the DLL Flexible Adapter, TestStand will not be able to launch the LabWindows/CVI debugger. Instead, you can use the DLL debugging tools built into LabWindows/CVI 5.0. You will have to launch TestStand from LabWindows/CVI as an external process. For more information on debugging an external process within LabWindows/CVI, consult Chapter 4 of the LabWindows/CVI Getting Started manual.

  9. How do I debug code modules created with Visual Basic or a different compiler that use the Automation Adapter?
    The ability to debug code in other environments depends on the programming environment itself. Please note that as of release 1.0, this functionality has only been tested in Visual Basic 5.0 later. Launch Visual Basic, set a breakpoint in your Visual Basic code and run your ActiveX server. Now, execute the TestStand sequence that calls this server. TestStand will pause execution at this code module and pass control to Visual Basic. Debug your code as usual and after you finish single stepping, resume execution of your Visual Basic code and control will proceed back to the TestStand sequence.

  10. How do I store my test limits in a text or Excel file?
    Examine the examples under the TestStand\Examples\LimitLoader directory. For a detailed description of the Limit Loader step type, refer to Chapter 10 of the User Manual: Built-In Step Types.

  11. How to I load different subsequences dynamically?
    Subsequence calls can be defined statically or dynamically in TestStand. Dynamically loaded subsequences can be in the same sequence file as the caller sequence, or in different sequence file. The Specify Module dialog box for a subsequence call has a checkbox labeled "Specify Expression for Pathname and Sequence" to choose whether the sequence will de defined statically or dynamically. For more information on dynamic sequence loading, consult Chapter 12 of the User Manual: Module Adapters.



Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality?   Answered Your Question? 
  1 2 3 4 5
Please Provide Additional Feedback below
Please visit Request Support for product support inquiries. submit