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

Document Type: Tutorial
NI Supported: Yes
Publish Date: Sep 6, 2006


Feedback


Yes No

Related Categories

Related Links - Developer Zone

Related Links - Products and Services

TestStand 2.0.1 Reducing the Cost of Manufacturing Test

6 ratings | 3.17 out of 5
Print

Introduction

National Instruments TestStand 2.0.1 is the latest release of the most powerful test executive software in the manufacturing test market. With TestStand, manufacturing test developers create automated test systems that dramatically reduce the cost of testing products by increasing throughput and reducing test development time.

Test executives form the core of the modern test platform. They define the sequence of the tests, efficiently control instruments, make complex decisions, and ultimately, deliver a product in which the customer has a high level of confidence.

In the past, test developers had a difficult decision, either to develop a custom test executive from the ground up or to buy an off-the-shelf package. While developers can create advanced features with custom test executives, they are expensive to build and even more expensive to maintain. An off-the-shelf package delivers excellent value but often cannot meet all performance specifications. National Instruments TestStand overcomes both of these challenges. As a complete test executive, TestStand runs out of the box but has the flexibility for you to customize it to your exact requirements for the most challenging high-volume and/or highly complex test system.

Built on the latest technology, TestStand leads the way in manufacturing test software with easier to use and more powerful tools for automated test systems, including the following features:

  • Parallel testing for increased test throughput
  • Direct instrument connectivity for simpler test development
  • Integration with switch management software
  • Projects, workspaces, and source code control for streamlined development
  • Interfaces to even more test development environments
  • Expanded API for building custom add-on tools and editors
  • XML test results for flexible Web-based reports
  • Enhanced connectivity for database integration
  • Significant performance and user interface enhancements
  • Japanese localization

Increasing Throughput, Reducing Cost


For many manufacturing test systems, the ultimate goal is to lower the cost to test by testing products as quickly and as efficiently as possible. In the past, most tests were conducted sequentially, with a test commencing when the previous test was complete. While suitable for some test scenarios, this does not suit applications where the tests can be either complex or time-consuming, because many instruments remain idle while others are used heavily. TestStand eliminates the problems associated with sequential testing by making it easy to test units in parallel. You can now test subcomponents or entire products simultaneously, drastically reducing the total test time and dramatically increasing throughput. Parallel systems also have the ability to reduce the instrumentation costs found in manufacturing test. By sharing instruments, test developers can now make more efficient use of their resources. With TestStand, you can share instruments between test sockets. For example, you can share expensive GSM and W-CDMA test boxes, commonly used in the telecommunications industries, among multiple testers. Conversely, you can use less expensive devices, such as DMMs or low-end oscilloscopes, in parallel to alleviate constrictions in the test flow and achieve true parallel measurements to maximize both efficiency and throughput.

In TestStand, the process model, which is used to control the flow of the testing sequence, is a fundamental way in which you can customize TestStand to fit your specific test process requirements. In TestStand, two new test process models substantially simplify parallel testing. With the Batch and Parallel process models shown in the following figure, you can build standard TestStand sequences that operate in parallel either on a batch of Units Under Test (UUTs) tested as a group or on a set of independent test sockets that accept new UUTs as individual sockets become available.


[+] Enlarge Image
Flow Diagram of Batch and Parallel Process Models

In a batch test, a number of units undergo identical test scenarios in parallel. During the testing process, individual tests may or may not be synchronized between the parallel executions. Testing a sheet of PCBs (printed-circuit boards) before they are separated into individual boards is an example of a batch test. Use the Batch process model to simplify testing when actions apply to the all units simultaneously. The Batch process model also simplifies the sharing of test resources and can dramatically reduce the total test times.

The TestStand Parallel model also tests units in parallel, but the testing of each unit proceeds independently. For example, if a unit fails, the system can conduct diagnosis and remove or replace the unit without affecting any other UUTs. The Parallel model ensures that test station resources are in use continuously, reducing test times and improving efficiency. The following figure shows an example of a parallel testing user interface.


[+] Enlarge Image
Operator Interface Demonstrating Parallel Testing

For precise control of parallel tests, TestStand includes a set of synchronization steps with which you can specify custom synchronization between parallel sequences. The Synchronization step types are as follows:

  • Lock – Locks a resource, ensuring that the threads have mutually exclusive access to the resource. You can use a Lock step type to “hold onto” an instrument. Other threads that use the same instrument wait until the Lock is released.
  • Semaphore – Synchronizes two or more separate, parallel tasks so that only one task at a time executes a critical section of tests protected by a common semaphore. You can use a Semaphore step type when you want other steps or sequences to wait until another step or sequence completes the execution of a critical section.
  • Rendezvous – Synchronizes two or more separate, parallel tasks at specific points of execution. Each task that reaches the rendezvous waits until the specified number of tasks are waiting, at which point all tasks proceed with execution.
  • Queue – Passes an ordered sequence of data elements from one task to another separate, parallel task. You can use a Queue step type when you want one task to wait until another task provides some data. You also can use this step type when you want one task to wait until another task processes some data that the first task provides.
  • Notification – Passes data from one task to one or more separate, parallel tasks. You can use the Notification step type when you want one or more step sequences to wait until another step or sequence sends some data. This step type differs from the Queue step type in that the data sent is not buffered. That is, if there is no task waiting on a notification when it is sent, the data will be lost if another notification is sent.
  • Wait – Pauses the thread at a location for either a specified period of time or until a specified thread or sequence completes.
  • Thread Priority – Sets the priority on a specific thread. The Thread Priority step type adjusts the processing power applied to specific tasks in the sequence. For example, waiting for an instrument to return with a result may be a lower priority than calculating the power spectrum of a signal. Setting thread priorities gives you ultimate control over the execution speed of parallel tasks.
  • Batch Synchronization – Used in concert with the Batch process model to define when sequences synchronize together and when batch areas are entered and/or exited. You also can configure batch synchronization settings on a step level using the synchronization step properties provided.

The TestStand Synchronization step types offer you a way to implement parallel systems with an approachable graphical interface and powerful functionality.

Increasing Productivity with Built-In Instrument Control

TestStand makes test development easier with its modular architecture and the ability to call tests written in any standard language. You can now achieve standard tasks such as configuring and initializing instruments from the sequence editor using new IVI (Interchangeable Virtual Instrument) step types. This direct instrument connectivity not only makes development faster and maintenance of the sequences a lot easier, but also it reduces costs initially and through the life cycle of the test system.

With IVI drivers, through a simulation table that mimics the data returned from traditional measurements, you can write sequences without the instruments being available. This can save valuable time and money spent waiting for instruments to be delivered. In addition, with IVI drivers, you can easily interchange instruments with similar capabilities. For example, you can use a different brand of DMM if one on the production line fails or needs to be recalibrated. This feature leads to a reduction in the number of back-up instruments held and makes annual recalibration less of a burden. TestStand also makes it easier to migrate to new instrumentation platforms such as PXI, which offer better integration, lower cost, and greater speed than traditional GPIB-based devices.

TestStand includes step types for communicating with IVI-compliant digital multimeters, oscilloscopes, function generators, and power supplies. The following figure shows the dialog box you use to edit an IVI Scope step in TestStand.


[+] Enlarge Image
Editing IVI Scope Step

Improved Test Management with Integrated Switch Control

You can easily configure and integrate switching in your system using TestStand and switch management software such as NI Switch Executive. Switch Executive is an intelligent switch management and routing application that simplifies switch system configuration and increases test performance, ultimately lowering the cost to test. You gain increased development productivity by interactively configuring and naming switch modules, external connections, and signal routes.

For users who are not using the Switch Executive or who prefer to implement switching using separate test steps, TestStand completes the offering of IVI class step types by adding an IVI Switch step type for easily controlling IVI-compliant switches from TestStand. The IVI Switch step type provides full IVI switch functionality and complete integration with Measurement and Automation Explorer (MAX) as well as Switch Executive.

See Also:
Lowering the Cost of Test with Integrated Switch Management

Streamlining Development

Many manufacturers have a team of developers working to create test systems in a timely and orderly manner. Writing software as part of a team can be challenging because developers may need to share access to code fragments, steps, or whole sequences during the development cycle. Without adequate code control, this process can be frustrating, with engineers accidentally changing or deleting work that others have completed, thus lengthening the delivery period and increasing costs. To alleviate this problem and deliver greater development control, TestStand includes workspaces and projects. These tools integrate to standard source code control tools, such as Microsoft Visual Source Safe, Perforce, MKS Source Integrity, and Rational ClearCase.

Workspaces act as a common filing architecture for development projects inside TestStand. The projects consist of all the code fragments, sequences, limit files, and associated files that go into producing a test station. The source code control software can archive these components, and developers can check in, check out, and lock code.

With the Workspace window tree view shown in the following figure, you can browse all the files and folders in the workspace. The list view displays the contents of the item selected in the tree view.


[+] Enlarge Image
TestStand Workspace with Tree View of a Project

The workspace also can report differences between two sequence files, as shown in the following figure. If you find any differences between the sequence files, you can resolve the differences by either merging the two sequences or individually correcting the files.


[+] Enlarge Image
Differences Screen in the TestStand Workspace

Interfacing to More Development Environments

Many manufacturers have existing legacy test code, often written in a multitude of languages. This code is difficult and costly to update and maintain. Often, these older languages tend to be less user-friendly than today’s tools, such as LabVIEW and LabWindows/CVI. In TestStand, you can integrate code from HTBasic (or HP Basic for Windows) and HP VEE. You can integrate HTBasic code with the HTBasic Adapter in the sequence editor. With the HTBasic Adapter, you can call HTBasic, pass data to and from HTBasic code, and even debug code by stepping into it from the TestStand sequence editor or an operator interface. The following figure shows the Edit HTBasic Subroutine Call dialog box in which you can edit an HTBasic subroutine.


Editing an HTBasic Test Step

With the addition of the new interfaces to these development environments, TestStand is an even more flexible tool for a variety of testing applications.

Increasing Flexibility with an Expanded API

TestStand exposes an API (application programming interface) for creating customized operator interfaces and other add-on tools for a variety of testing applications. In TestStand, you can create advanced tools and even custom sequence editing environments. Although most developers who use the sequence editor in TestStand find it offers all of the functionality and ease of use they require, the ability to design custom sequence editing tools is especially useful to OEM (original equipment manufacturer) customers, who may require either a different feel to the interface or specialized functionality.

Integrating with the Web Through XML Reporting


Most medium-to-large corporations operate in distributed locations, both locally and globally. In many cases, the information generated on the manufacturing test lines needs to be distributed to many people around the enterprise, at the operator, engineer, and manager level. In the past, the only way to view reports across the corporation was to either develop a large number of hard-coded reports or adopt a one-size-fits-all approach. Because neither of these approaches really fulfills the needs of today’s fast moving operations, TestStand includes eXtensible Markup Language (XML) reports, as shown in the figure below, to meet this challenge. XML is a rapidly evolving technology for sharing data across the Web or a corporate intranet. Unlike HTML, XML is a data-centric model that can store a standard set of data, yet deliver a dynamically formatted report, based upon the viewer’s specific criteria. For example, one user can view only the passes or failures on the lines, while another user can set up specific data groups from global locations. XML saves the organization both time and money because developers do not have to spend a lot of time developing the reports required by every department, and managers do not have to sift through data to find the results they require.

Additional enhancements to the report generation tools offer greater control and filtering of the data entering the report plus the ability to insert arrays, tables, and graphs into standard HTML files.


[+] Enlarge Image
XML Reports Adapt to New Data Formats

Making Database Integration Even Easier

Storing and manipulating results in a database is an important aspect of TestStand. In TestStand, the method for implementing these databases is improved to make it substantially easier and faster. Replacing the need to modify a database callback function, TestStand uses a new logger component, as shown in the figure below, to store the results. With this logger component, you can modify how the data is logged simply by selecting and editing the database schemas. A schema consists of a list of statements that define how and where the data is logged. Using the intuitive user interface provided with TestStand, you can edit these statements to alter the content and format of the database.


[+] Enlarge Image
Editing the Options on the Database Logger

Easier, Faster Test Development with Performance and User Interface Improvements


TestStand improves the performance and throughput of your test system. TestStand reduces the execution overhead of steps to increase the speed of the system and to reduce run-time memory usage. In addition, significantly faster database access and generic report generation make TestStand even more suited to the needs of production test.

TestStand includes the following user interface improvements:

  • Combined Property Loader Step Type – Combines the functionality of both step types into a single universal Property Loader step type. This new step type loads values from both properties and variables and it loads from both files and databases.
  • Enhanced Numeric Limit Step Type – Offers new features including units and numeric format. With the unit control, you can define the measurement units for the units for its limits. The units you specify appear in both the report and the result database. Use the Numeric Format control to define the format of the measurement, for example, the number of digits shown and the type of number described.
  • Multiple Numeric Limit Test Step Type – Makes it easier to check limits on a multitude of measurements. Using the multiple numeric limit test, you can test limits on any number of measurements. Each measurement has independent limits, units, display format, data source, and comparison type.
  • Dynamic Link Library (DLL) Adapter Enhancements – The DLL Adapter has the following three important new features: structure passing, enumeration selection, and easier function call editing. These features make using DLLs easier and development faster inside the TestStand environment.
  • Declare Variable in the Expression Browser – In the past, editing an expression field in a module, property, or other dialog box required you to exit the dialog box and create new variables to use in the expression. With TestStand, you can declare new locals, parameters, file globals, and station globals in the Expression Browser dialog box for the expression field you are editing. Thus, you do not need to exit the dialog box in which they are using the new variables or parameters.

Conclusion

TestStand is a significant advance for test executives with its ability to dramatically improve throughput while reducing costs. Its ease of use in implementing complex parallel systems and simplification of instrument control make development a faster, easier task. In addition, the capability to manage code in a standard environment and the use of the most advanced technologies for reporting and databases make TestStand the obvious choice in test management for manufacturing engineers and managers alike.

6 ratings | 3.17 out of 5
Print

Reader Comments | Submit a comment »

 

Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).