Archived: NI TestStand System and Architecture...

Preview:

Citation preview

Execution Object Structure Execution Object Contains information TestStand needs to run a sequence, its steps, and any subsequences it calls. You can suspend,interactively debug, resume, terminate, or abort executions.

Thread Object Represents an independent path of control flow.

Report Object Contains the report text. The process model updates the Reportobject, and the sequence editor or user interface displays it.

Call Stack Lists the chain of active sequences waiting for nestedsubsequences to complete. The first item in the call stack is themost-nested sequence invocation.

Root SequenceContext Object Represents the execution of the least-nested sequenceinvocation that contains a list of steps and calls to othersequences.

SequenceContext Object Represents the execution of a sequence that another sequencecalled.

Current Step Represents the executing step of the currently executingsequence in the call stack.

Architecture OverviewTestStand Sequence EditorTestStand development environment for creating, modifying,executing, and debugging sequences.

Custom User InterfacesCustomizable applications that, depending on mode,edit, execute, and debug test sequences on a teststation. User interfaces are available in severaldifferent programming languages and include fullsource code, which allows you to modify them to meetspecific needs.

Process ModelsDefine the operations that occur for all test sequences,such as identifying the UUT, notifying the operator ofpass/fail status, generating a test report, and loggingresults. TestStand includes three fully customizableprocess models: Sequential, Parallel, and Batch.

User Interface ControlsA powerful set of ActiveX controls and support APIs for creating custom user interfaces.

TestStand EngineA set of DLLs that provides an extensive ActiveXAutomation API for controlling and interacting withTestStand. The TestStand Sequence Editor, UserInterface Controls, and user interfaces use this API.

Sequence File ExecutionsCreated by the TestStand Engine when you execute atest sequence using the sequence editor or a userinterface.

AdaptersAllow TestStand to call code modules in a variety ofdifferent formats and languages. Adapters also allowTestStand to integrate with various ADEs to streamlinetest code generation and debugging.

Code ModulesProgram modules, such as LabVIEW VIs (.vi) orWindows Dynamic Link Libraries (.dll), that containone or more functions that perform a specific test oraction. TestStand adapters call code modules.

Built-In Step TypesDefine the standard behaviors for common testingoperations. Some step types use adapters to call codemodules that return data to TestStand for furtheranalysis. Other step types perform standard operations,such as calling an executable or displaying dialogboxes.

User-Defined Step TypesDefine a set of custom step properties and defaultbehaviors for each step of that custom type. You canalso define data types.

TemplatesCreate custom sequences, steps, and variables to useas templates to build sequence files.

OVERVIEW CARD

NI TestStandTM

System and ArchitectureNI TestStand is flexible test management software that offers the following major features:

• Out-of-the-box configuration and componentsprovide a ready-to-run, full-featured testmanagement environment.

• Numerous methods for modifying, configuring,and adding new components, which provideextensibility so you can create a test executivethat meets specific requirements without alteringthe core TestStand Engine. You can upgrade tonewer versions of TestStand without losing yourcustomizations.

• Sophisticated sequencing, execution, anddebugging capabilities, and a powerful sequenceeditor that is separate from the user interfaces.

• User interface controls for creating custom userinterfaces and sequence editors.

• You can also create your own user interface inany programming language that can host ActiveXcontrols or control ActiveX automation servers.

• Example user interfaces with source code forNational Instruments LabVIEW, NationalInstruments LabWindows™/CVI™, MicrosoftVisual Basic .NET, C#, and C++ (MFC).

• An open language interface that providessupport for many application developmentenvironments (ADEs). You can create codemodules in a variety of ADEs and call pre-existing modules or executables.

• A comprehensive application programminginterface for building multithreaded test systemsand other sophisticated test applications.

• Integration with third-party source code controlpackages.

• Deployment tools to aid in transferring a testsystem from development to production.

TestStandSequence Editor

Code Modules

ResultsResults Results Results Results Results Results Results

CustomUser Interfaces

User Interface (UI)Controls

Application Programming Interface (API)

TestStand Engine Sequence FileExecutions

User-Defined Step Types

Sequence File Executions

No Model

TestSocket 0

Execution

UUT

UUT

UUT

TestSocket 1

Execution

UUT

UUT

TestSocket nExecution

UUT

UUT UUT UUT UUT

UUT UUT UUT

Process Model Result Processing

Schema Definitions Database LoggerReport Generator

ADO/ODBC

Thread Object 0 ThreadObject n

SequenceFile

Globals

Steps

Main Step Group

Steps

Cleanup StepGroup Parameters

Sequences

LocalVariables

Adapters

.VI

.DLL, .OBJ, .LIB, .C

.DLL

.DLL, .EXE

.DLL, .EXE

.PRG

.SEQ

LabVIEW Adapter

LabWindows/CVI Adapter

C/C++ DLL Adapter

.NET Adapter

ActiveX/COM Adapter

HTBasic Adapter

Sequence Adapter

Types

Sequence File

Parallel Process Model Batch Process ModelSequential

ProcessModel

Process Model Sequence File Execution

TestSocket nExecution

TestSocket 1

Execution

TestSocket 0

Execution

Oracle . . .SQLServer

ReportObject

Execution Object

Call Stack

Root SequenceContext

Object 0

SequenceContextObject 1

SequenceContextObject n

Step Object 0

Step Object n

. . .

Current Step

MicrosoftAccess

ProcessModels . . .

. . .

XML HTML

ASCII-Text

. . .

Sequence File Execution Flow Sequence File ExecutionsYou can execute a sequence directly, or you can execute asequence file through a process model Execution entry point,such as Test UUTs and Single Pass.

Process Model Sequence File ExecutionWhen you start an execution through a process modelExecution entry point, the process model defines how to testthe UUTs. The Sequential model tests one UUT at a time. TheParallel model tests multiple independent test sockets at thesame time. The Batch model tests a batch of UUTs usingdependent test sockets.

Process Model Result ProcessingThe TestStand Engine collects the results of each step thatexecutes into a result list. Process models use the result listto generate reports and log data to databases.

Unit Under Test (UUT)Device or component that you are testing.

Test Socket ExecutionFor each test socket, or fixture, in the system, the Paralleland Batch models launch a separate test socket executionthat controls the testing of UUTs in that test socket.

Report GeneratorThe report generator traverses test results to create reportsin XML, HTML, and ASCII-text formats. You can fullycustomize the reports.

Schema DefinitionsSchema definitions define SQL statements, table definitions,and TestStand expressions that define how to log results to adatabase. You can fully customize the schemas.

Database LoggerThe database logger traverses test results and exports datainto database tables using schema definitions.

Sequence File Structure Sequence FileContains any number of sequences, a set of data types andstep types the sequence file uses, and any global variablesthat sequences in the sequence file share.

SequencesContain groups of steps, local variables, and parametersused for passing data between steps and subsequences.

TypesSequence files contain definitions of all data types andstep types that its sequences use. Variables and propertiesin a sequence are instances of data types. Steps in asequence are instances of step types.

Sequence File GlobalsStore data you want to access from any sequence or stepwithin the sequence file in which you define the sequencefile global variable.

Setup, Main, Cleanup Step GroupsTestStand executes the steps in the Setup step group first,the Main step group next, and the Cleanup step group last.By default, a sequence moves to the Cleanup step groupwhen a step generates an error in the Setup or Main stepgroup.

Local VariablesStore data relevant to the execution of the sequence. You can access local variables from within steps and codemodules defined in a sequence.

ParametersUse parameters to exchange data between calling andcalled sequences.

StepsPerform built-in operations or call code modules. A step is aninstance of a step type, which defines a set of stepproperties and default behaviors for each step.

373457B-01 Apr07

. . . . . .

. . .

National Instruments, NI, ni.com, NI TestStand, and LabVIEW are trademarks of National InstrumentsCorporation. Refer to the Terms of Use section on ni.com/legal for more information aboutNational Instruments trademarks. Other product and company names mentioned herein are trademarksor trade names of their respective companies. For patents covering National Instruments products,refer to the appropriate location: Help»Patents in your software, the patents.txt file on your CD, orni.com/patents.

© 2003–2007 National Instruments Corporation. All rights reserved. Printed in Ireland.

Steps

Setup Step Group

Templates

Flow Control

Sequence Call

Statement

Label

Message Popup

Call Executable

Property Loader

FTP Files

Synchronization Steps

Database Steps

IVI-C Steps

LabVIEW Utility

Pass/Fail Test

Numeric Limit Test

Multiple Numeric Limit Test

String Value Test

Action

Built-In Step Types

Start Here

You can use the fully customizable TestStand developmentenvironment to create, modify, execute, and debug sequences. Youcan also use the sequence editor to modify step types and processmodels. You can customize the environment by docking, auto-hiding, and floating panes to optimize your development tasks. The

NI TestStand Quick Start

Guide

NI TestStand Release Notes

UsingTestStand

NI TestStand Reference

Manual

NI TestStand Help

NI TestStand VIs andFunctions Help

NI TestStand APIReference Poster

NI TestStand UserInterface ControlsReference Poster

TestStandDevelopmentEnvironment

LabVIEWDevelopmentEnvironment

Environment-Specific Manuals

UsingLabVIEW with

TestStand

UsingLabWindows/CVI

with TestStand

OVERVIEW CARD

NI TestStandTM System and Architecture

NI TestStand Systemand Architecture

Overview Card

You are here

TestStand includes separate user interface applications developedin LabVIEW, LabWindows/CVI, Microsoft Visual Basic .NET, C#, and C++ (MFC). Because TestStand includes the source codefor each user interface, you can fully customize the userinterfaces. You can also create your own user interface usingany programming language that can host ActiveX controls or

control ActiveX automation servers. With the user interfaces inoperator mode, you can start multiple concurrent executions, setbreakpoints, and single-step. In editor mode, you can modifysequences, display sequence variables, sequence parameters,step properties, and so on.

TestStand Sequence Editor Overview

User Interface Overview

Printed DocumentationNI TestStand Quick Start GuideUse this document for system requirements andinstallation instructions. This document also containsinformation about the different TestStand licensingoptions.

NI TestStand Release NotesUse this document to learn about new features andupgrade information.

Using TestStandUse this manual to familiarize yourself with the TestStandenvironment and the basic features you use to build andrun test sequences.

Using LabVIEW with TestStandUse this manual in conjunction with the Using TestStandmanual to learn how to use LabVIEW with TestStand.

Using LabWindows/CVI with TestStandUse this manual in conjunction with the Using TestStandmanual to learn how to use LabWindows/CVI withTestStand.

NI TestStand Reference ManualUse this manual to learn about TestStand concepts,architecture, and features.

Online HelpNI TestStand HelpUse this help file to learn more about the TestStandenvironment and the TestStand User Interface Controlsand Engine APIs. The NI TestStand Help also includesbasic information about using an ActiveX automationserver.

NI TestStand VIs and Functions HelpUse this help file to learn more about TestStand-specificVIs and functions. This help file is accessible only fromLabVIEW.

Cards and PostersNI TestStand User Interface Controls Reference Poster Use this poster to learn about the controls available forwriting custom user interfaces for TestStand.

NI TestStand API Reference PosterUse this poster as an overview of the TestStand API. Thisposter lists the properties, objects, methods, and APIinheritance of the TestStand API.

LLiisstt BBaarrLists the

currentlyopen

sequencefiles and

executions.

Documentation Map & Overviews

Sequ

ence

File

Win

dow

Exec

utio

n W

indo

w

Exec

utio

n Vi

ew

Repo

rt V

iew

Sequ

ence

Vie

w

Lists steps in thesequence and stepgroup for thesequence file youselect in the listbar.

Displays the threads,call stack, and stepsfor the executionyou select.

Displays the report for theexecution you select.

The Guide to TestStand Documentation topic in the NI TestStand Help contains links to all the TestStand documentation in electronicformat. Access the NI TestStand Help by selecting SSttaarrtt»AAllll PPrrooggrraammss»NNaattiioonnaall IInnssttrruummeennttss»TTeessttSSttaanndd 44..00»OOnnlliinnee HHeellpp»NNII TTeessttSSttaannddHHeellpp or by selecting HHeellpp»NNII TTeessttSSttaanndd HHeellpp in the TestStand Sequence Editor.

Displayssequencesand otheritems in asequencefile.

Displays the threads,call stack, and stepsthat an execution runs.When executioncompletes, displays thereport for theexecution.

Windows Displays the sequence files, executions, and other windows open in the sequence editor.

UserManagerWindowAdministersgroups, users,login names, pass-words, and privi-leges.

UsersDisplays users forthe test station.

Output PaneDisplays outputmessages thatexpressions andcode modulespost to theTestStand Engine.

Call Stack Pane Displays the

nestedsequence

invocations forthe thread you

select.

sequence editor provides familiar LabVIEW, LabWindows/CVI, and Microsoft Visual Studio .NET debugging tools, including breakpoints, single-stepping, stepping into or over function calls, tracing, a Variables pane, and a Watch View pane. In the TestStand Sequence Editor, you can startmultiple concurrent executions, execute multiple instances of the same sequence, and execute different sequences at the same time. SeparateExecution windows display each execution. In trace mode, the Execution window displays the steps in the currently executing sequence. Whenyou suspend an execution, the Execution window displays the next step to execute and provides single-stepping options.

StationGlobalsDisplays thevariablesmaintainedfrom onesession to thenext that youcan accessfromanywherewithinTestStand.

UserManagerAdministersusers, loginnames,passwords,andprivileges.

Types WindowContainsdefinitions ofcustom datatypes and steptypes that allsequence filescan use.

Templates ListOrganizes customsequences, steps,and variables youcan use as templatesfor building sequencefiles.

Step Settings PaneSpecifies the settings for thestep, such as code moduleparameters, switching, flowcontrol, and post actions.

Variables PaneDisplays thevariables andproperties, includingthe values, thatsteps can access atrun time.

InsertionPalette

Displaysstep types

andtemplates

you caninsert intosequence

files.

Steps PaneDisplays the steps in

the sequence youselect in the

Sequences pane.

Step TypesList

Displaysthe

TestStandstep types.

StepPerforms built-inoperations or callscode modules.

ProjectOrganizes sequencefiles and code modulefiles in folders.

Workspace PaneManages projects for sourcecode control (SCC) integrationand deployment. TestStand inte-grates with third-party SCC pack-ages to add files, obtain the lat-est versions of files, and checkfiles in and out.

TypesWindowContains definitionsof custom datatypes and step typesthat all sequencefiles can use.

Watch View PaneMonitors the valuesof specifiedvariables, properties,and expressionsduring an execution.

Sequences PaneDisplays the

sequences in thesequence file.

Execution PointerPoints to the

currently executingstep at the call stack

level you select.

ThreadsPaneContains a list ofthreads inthe currentexecution.

BreakpointsStep settings that

suspend anexecution before

executing the step.

Insertion PaletteDisplays step typesand templates youcan insert intosequence files.

GroupsDisplays groups thatusers belong to.

Recommended