Archived: NI TestStand System and Architecture Overview ...Process Model Sequence File Execution...
Transcript of Archived: NI TestStand System and Architecture Overview ...Process Model Sequence File Execution...
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.