Managing Test Limits in Test Stand

Hi,
We are new to Test Stand, and want to make sure we are setting up our sequence files and supporting files correctly.  When dealing with test limits or the expected value of measurements etc..., what is the best way to manage the expected values as opposed to hard coding them deep into sub-sequences?  We want to be able to easy adjust the expected value(s) in one location, and wonder if Test Stand has a file that would be useful for this.  Here are the initial ideas around this:
1. Excel File - Only concern is being able to control this file.  There can be multiple excel files floating around, so not sure if this is the right answer?
2. Text File - Same as above?
3. Actual Sequence that only contains limits
4. ?
Thanks
John

TestStand provides built-in functionality for managing properties such as test limits. This can be accessed either from a dialog box or programmatically in a sequence as a special step type.
The properties and limits can be stored either in a file on the machine or in a database. The file approach, while simple, does have the caveats you mentioned, where file versioning would be important. This could be mitigated by storing the property file on a shared network drive.
Using a database for properties would likely be more adaptable to change. By storing the properties in a single location accessible by all test machines, you can easily update the values in one place and have them propagate to different testers. 
In either case, you would load the properties into the current TestStand sequence either interactively through the Import/Export Properties dialog box or with a Property Loader step at the beginning of your sequence.
Daniel E.
TestStand Product Support Engineer
National Instruments

Similar Messages

  • Test Stand 3.5 install problem

    I'm having problems installing Test Stand 3.5 Development Edition on a WinXP SP1 machine - would anyone have any suggestions.
    I'm performing a custom install and selecting all components other than "Device Drivers".
    The install fails on "NI TestStand 3.5 Support Files. Part 1 of 1" with "Error 1335. The cabinet file 'Cabs.m6' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package".
    If I select abort at this point the install of the support files is rolled back and the remaining components apper to install correctly. I can now run Test Stand but am missing the help files. If I rerun setup it attempts to install the support files but fails with the same error.
    I have tried uninstalling and reinstalling & have copied the CD contents to the local hard disk (without any problems) and installing from there. All this is to no avail.
    I've also uninstalled and reinstalled an installation on a second machine using the same install media. This install succedded with no issues.

    What is the difference between the two machines - where you've had successful and unsuccessful installs?
    Like you've said sometimes this is caused by a faulty read from the CD drive, or faulty media, but as you've managed the install with the same media on the machine - then its not the media, and you've already tried the copy to hard disk from the CD without any luck. 
    What OS is on this other (working) machine?
    Do you have administrator privileges on the machine where you can't install the software? Is the .NET framework 1.1 installed (I think this is part of Windows XP SP 2) so this could be the issue - as TestStand requires the .NET framework 1.1
    Also - I've attached the readme which includes information to consider before installation - and known issues with the installation - check this and see if any of these could be the issue with this machine.
    I hope this helps
    Regards
    Hannah
    NIUK & Ireland
    Attachments:
    ReadMe.txt ‏51 KB

  • Vi session strategy with LV 7 in Test Stand

    Hi all, Im a producing a set of vi's(LV7.1) which will be strung together in a Open Visa, Write visa ..., Read visa , Close visa, over several instruments.
    I wish later to use Test Stand(3.1) to slice these routines, but I am not sure how test stand handles the session references when I break the flow.
    Im thinking of a first step that initialises all instruments , then later steps that grab the session references and perform tests.
    Do I need to store the sessions as varables in Test Stand?, or is there a better way?.Is there any examples that cover this topic?
    thanks

    I guess that a better way is NI Session Manager.
    NI Session Manager is the software component (of NI TestStand) from which you obtain instrument sessions. Session Manager returns a reference to the session object with the name you specify. If the session object you specify does not yet exist, Session Manager creates it and returns a reference to the new session.
    Session Manager also allows you to close all opened sessions automatically.
    "Only a life lived in the service to others is worth living..." - Albert Einstein
    Attachments:
    SMgrRef.chm ‏121 KB

  • Is there any way I can convert a Test stand sequence and corresponding vi's to an executable?

    I need some creative ideas on how I can convert a test stand sequence into an executable in the shortest possible time. I know that beats the entire purpose of using TestStand but I need to have a way to do this. Is there no other way i can accomplish this without writing a sequencer in LabVIEW and rewriting all of my code in LabVIEW??

    There is no way i know or can think of to move all components from a TestStand application into a single EXE. Running TS in an application means that you should/must work highly unitized during developement and deployment.
    In general:
    -> Custom UI will become "The EXE" for the enduser. This involves the link for startup on desktop/start menu.
    -> TS Engine, ActiveX Server, will be attached to the UI.EXE OS process when launched by the UI. Will never be part of the UI.EXE.
    -> TS Compontens (e.g. process model, language files, ..). Will never be part of the UI.EXE.
    -> Custom Components (e.g. modified process model components, reporting, ...). Very unlikely(never) to become part of the UI.EXE.
    -> Custom Sequences. Will never be part of the UI.EXE, but extension can be changed to other than .seq.
    -> Code modules called by custom sequences. Unlikely (but possible) to be part of the UI.EXE. Should be implemented and tested to run within the RTE (runtime engine) of the appropriate programming language. It is not par design, that the deployment system has the development environment of that programming language installed.
    -> License information. TS requires at least the Base Deployment License installed and activated (requires NI License Manager software). RTE of modules might also include licensing and possibly activation fees.
    Why is there the requirement to have a single, monolythic EXE (hard to handle!) at all? If it is about the deployment process, you know that you can provide a single MSI (Microsoft Installer) with all required components using the TestStand Deployment Utility?
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Test Stand Evaluation

    Hi.
    I would like to get some feedback regarding using Test Stand with Labview.
    Currently I am using Delphi Interface as my Excecutive Engine and Active
    X server to communicate with labview. The data logging, PLC I/O and Login/logout
    are part of Delphi Inteface. The labview is used only to execute the actual
    test. Now by switching to Test Stand, would that benefit me in any way.(For
    instance: Does Test Stand(LV Server) allows me to run single or multiple
    Vi's, without creating 'exe')?

    There could be lots of advantages to switching to TestStand, but it depends on your application.
    1. If you deploy your applications to several different environments or uses (board test, system test, service, field service, etc.) then TestStand allows you to customize different "process models" for each environment. The actual test code is contained in a sequence file. Since the process model is shared by all sequence files, it is a great place to put the common functions such as UUT identification and data logging. Even if you don't need different process models, keeping all this code in one place makes it easier to maintain. There is no compiling with TestStand, so you can change the process model and the changes will take effect in all your applications.
    2.
    TestStand allows you to easily call many different types of code, not just Labview. You can call CVI, DLL's, EXE's, and ActiveX. I recently saw an article about a way to call Perl code. Again, the value of this depends on your application.
    3. If you want to integrate your application with a database, TestStand has great database tools. The database logging utility allows you to log data to any table format.
    4. If you are loading test limits from an external source, TestStand makes it easy with a tool called Property Loader.
    I suggest you get a free demo copy and try it out. TestStand is incredibly powerful.
    Mark ([email protected])

  • Added a check to Text to sequence file result in Test Stand hang up.

    I added the check in text to sequence file translator.vi (the file is attached)
    With this addition I generated the dll.
    Test Stand load the sequence file without any problem for the first time.
    If I add a space to the sequence file and save the file; test stand tries to load the new sequence file saying file has changed do you want to load the new sequence...
    But fails to load the sequence (Test Stand hangs up)
    The only way to overcome is kill the TestStand thru task manager.
    Which displays
    "You chose to end the nonresponsive program, SeqEdit.exe"
    Attached the displayed error (error.doc)
    Attachments:
    Changed code.vi ‏55 KB
    Error1.doc ‏45 KB

    Hi Vidula,
    Is it only when you add a space to the file name that you see this behavior? If, for instance, you add a '1' to the beginging of the file name does the same thing happen?
    Adam
    National Instruments
    Applications Engineer

  • Wait time in Test Stand

    I have an application in TS where I need to measure a leak rate. How do I set a "wait time" in Test Stand sequence so I can measure the same test point after certain elapsed time.

    I don't think TestStand has a wait function. You would be better off doing this inside your test step code. Measure, wait, measure again. Both measurements can be returned to TestStand for further processing. Or just calculate the leak rate in your test step code and just return the rate to TestStand for numerical limits testing.
    - tbob
    Inventor of the WORM Global

  • Error when closing test stand

    when i try to close test stand after i run a test, i got the error in the
    attached file.
    this error appear only if i dont close the sequence file before i exit test
    stand and only after i run a test.
    please help me.
    advanced thank's.
    [Attachment error.jpg, see below]
    [See first answer for additional information]

    Hello Avi,
    The error is caused by TestStand not being able to finish the LoginLogout sequence before its time limit. These limits are set under Configure >> Station Options >> Time Limits. They will allow you to interrupt a sequence that is taking too long to shut down.
    The real problem may be in the LoginLogout sequence, in the file \Components\User\Callbacks\FrontEnd\FrontEndCallbacks.seq (or substitute "NI" for "User" in the path). If something in that sequence doesn't finish executing within 10 seconds, due to an extreme slowdown or a problem with the sequence, you will see this error. If you have modified that sequence, this could be the cause. You will need at least two steps in the sequence, one for Login and another for Logout. They should
    reference frontend.dll. If you have a modified callback in your User directory, trying copying the default callback from the NI directory.
    Also, make sure that you complete or terminate other sequences before trying to close TestStand, or you will see a similar error message.
    Good luck and feel free to ask if you have further questions.
    Steven Reasoner
    Applications Engineering
    National Instruments

  • What is test stand ? Why is it used, how to get going ?

    Hello All,
    I am LabVIEW user and very new to test stand, have few basic questions,
    1. Why teststand was introduced ?
    2. In LabVIEW we write VI's and build a project to execute a big task, how is this done in teststand?
    3. I did download some of the pdf from NI website, but not able to visualise what needs to be done,
    Pls do share if you have more insight to Teststand.
    Thanks

    Hey systemcrash,
    I will try and answer your questions the best I can:
    1. http://www.ni.com/teststand/whatis/
    TestStand is an automated test executive (ATE).  It is an off the shelf solution which makes your life easier.  It handles report generation, user management, sequencing (i.e. test flow), result collection, pass/fail analysis, common User Interface, database logging, etc...  Basically, all the crap you don't want to develop in LabVIEW.  But it gives you consistency and commonality for all your tests.  If you look at the layers of the test system TestStand would be at the top like this:
    TestStand
    LabVIEW (or other software)
    Hardware Drivers
    Instruments
    UUT (unit under test)
    2. In TestStand you have the development environment (Sequence Editor) and the User Interface.  They can both execute tests.  The User Interface is an application written in LabVIEW (or other programming languages, ships with TestStand) which gets deployed to a test station so that testers can execute your test.  It does not have the ability to edit the test (in TestStand tests are called Sequence Files).  However, the Sequence Editor can edit the tests and would be used on the development machine.  There is a deployment utility in TestStand which allows you to create an installer.  In that installer you would include the TestStand Engine, the User Interface and all the dependencies for your test (Sequence File).  Then the user just opens the User Interface and runs it.
    3. NI does offer TestStand courses which can be helpful.  I recommend going through these PDFs though first:
    http://www.ni.com/pdf/manuals/373200c.pdf
    http://www.ni.com/pdf/manuals/323436a.pdf
    You will get more out of the classes if you have starting playing around with it first.
    Hope this helps.
    Regards,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Type List Order Numbers (typelisto​rdernum) change when opening a sequence file in Test Stand

    Could you please shed light on the reasons a sequence file changes upon opening in the Test Stand development environment?  
    Comparing the file before and after, I see that the typelistordernum changed on a few custom types that we defined for the program. . 
    To clarify the environment, I am using two work stations running the same version of Test Stand. The workstations are kept in sync using Sugar Sync. One would expect that a file saved on one workstation could be loaded on the other work station with no change.
    This also happens on files that we pull from version control (GIT). Once opened, they change, which presents a serious problem in avoiding version conflicts and keeping track of real changes. 
    Test Stand Version: 4.5.1

    ATE Coder wrote:
    In fact it turns out that conflict resolution is fairly hard to resolve.
    For instance, changing a type (add a comment) changes its time stamp. As a result, all sequence files referring to this type are now in conflict.
    On testing, Test Stand does not seem to flag these. So, they could be pushed into the repositories as is.
    Opening the sequence files on another machine (after pulling to code from repositories), Test Stand detects a conflict that in fact is no conflict at all. Now all these files need to be checked in and pushed up and then pulled down.  This increases the chances of code conflicts many folds and seems to be totally superfluous.
    Turning off automatic conflict resolution does not seem to resolve this issue.
    It would seem that for some reason (inertia?), NI pulled into Test Stand the same tight versioning it uses in LabVIEW. While in LabVIEW, where, in fact, one is editing compiled code, thins might add some value, Test Stand sequences are actually XML file -- source code, which call for a much more relaxed code versioning or none at all as making sure the code works as part of the debugging process and cannot be handled properly by 'versioning'. 
    I think you might not be using automatic conflict resolution the way it is intended.
    Are you using type palette files? If not, I highly recommend you do so. If you put the highest version of your types in a type palette file, use the default automatic conflict resolution settings, and distribute or deploy the type palette file to everywhere where the type is being used, you do not have to resave all of your sequence files everytime the type changes. Sequence files with older versions of the type will be automatically updated when they are loaded on machines that have the latest version in a type palette. This is what automatic conflict resolution does, it automatically/silently updates the types in the sequence files when they are loaded. No need to resave everything before hand. If you have trouble getting this working, let me know exactly what you are doing and what problems you are having and I will hopefully be able to suggest an alternative way of managing types that will not have those problems.
    Hope this helps,
    -Doug

  • Programati​cally update the Report Option dialog in NI Test Stand 4.2.1

    Hello,
    I would like to know, what is the procedure to modify Customise the Report Option dialog window with custom default value before displaying the window to user.
    We are writing our own process model to customise report options, Database option and User Management module of Test Stand. I am unable to update the Dialog window with modified settings.
    Please help me.
    I followed the instructions mentioned in link http://forums.ni.com/t5/NI-TestStand/Programmatica​lly-change-station-option-in-TestStand-2-0-1/td-p/​...
    But this is customization for the single sequence and also this is not updating the Report Options Dialog window. Please find the screenshot which i want to customize.
    Solved!
    Go to Solution.
    Attachments:
    ReportOptionWindow.JPG ‏64 KB

    Hi
    The screenshoot you have posted is done my CVI- modelsupport2.dll with funcion DisplayReportOptionsDialogEx.
    in side is code there is ReadReportOptionDefaultsEx (this function will be also used in model sequence "Get Report Options")
    it will read "TestStandModelReportOptions.ini" .
    So there were 2 solutions.
    1. ) Changing ReadReportOptionDefaultsEx (Not recommend because changing stuff from NI is bad, by chaninging you are in charge off)
    2.) Just change the ini File for your needs.
    Hope this helps
    Juergen
    =s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=

  • Passing arrays with Test Stand to DIO 96

    Does anyone know the easiest way of sending data arrays from Test Stand to a DIO 96 using a LabView dll? I have a Test Stand sequence where I will need to set bits and read bits from a DIO 96 and am going to make a LabView dll. I guess I will need to pass either arrays to and from each port or numeric data to and from each port to a dll and also figure out how the status of the bits in the DIO 96 will be remembered.
    What is the best strategy for dealing with Test Stand and a DIO 96?
    Has anyone any ideas or example code?

    Hi Steve,
       either approach is perfectly valid, and as you say, the activeX approach does remove some of the flexability of where you get the data from, however, what you've really described is two separate things, rather than two separate styles of approach.
    ActiveX or direct passing are simply the means of getting data from and to your TestStand data space.
    Step types are a convenient way of wrapping up particular layouts and functionalilty into a very easily re-usable TestStand development item. You would still need some sort of code module to put with a step type, so you're not necessarily limiting your developed code to the Teststand environment.
    Making links through ActiveX allows you to make a solid definition on configuration type items, and allow for edit substeps. For example, the NumericLimitTest step type has step.limits.high and step.limits.low. Rather than pass those to the edit substep as a dll call (which is perfectly valid), passing the sequence context (which also allows you to run the termination monitor etc) allows for the fixed references to the fixed data layout of the step. Self containment like this works when the data sources are fixed as you get with a step type to use the edit substep, or the pre/post substeps.
    Working on a dll call allows more re-use because then you concentrate on the data, rather than where it's come from, however, for large amounts of different sources, the dll prototype can become very complex and difficult to document. You end up having to pass lots of parameters and some of them you might not use.
    The question you're ultimately trying to answer is "what does it do to my architecture?"
    The holy grail of TestStand architectures is any step type can be used in any sequence in any sequence file with any process model under any operator interface. Now this isn't always practical, but the closer you get to it, the more flexibility your system as a whole contains, and the easier it becomes to add in or change the layout / functionality of the system
    With this comes code re-use, but the extra development time it takes to make good re-usable maintainable code isn't re-couped until the 4th or 5th re-use.
    If you want in this case your passing of the array to occur from many different places in your sequences, and you're building up lots of sequences to use them, then making a step type, and passing through the most convenient method you decide upon will make the implementation of the sequences easier to do.
    If you only need it in a couple of ways, then you can do without the step type, and if it's not many different data sources, then pass by parameter to the dll through the function prototype directly, and use a regular DLL adapter to acheive it.
    Mostly my 2-cents worth.
    Thanks
    Sacha Emery
    National Instruments
    // it takes almost no time to rate an answer

  • Problam of Closing exexute threads in test stand from c# code

    Hi
    I want to close my .net application therefor i need to close all test stand resource. to do so im using the follow lines:
    axApplicationMgr1.CloseAllExecutions();
    axSequenceFileViewMgr1.GetCommand(CommandKinds.CommandKind_Exit).Execute(false);
    axApplicationMgr1.GetEngine().UnloadAllModules();
    It dosent seem to be helpfull, because sometime after the application closed the proccess is still exist (i can see it in the windows task manager)
    any idea how can i close my application and test stand togther?
    yaniv

    Hi yaniv,
    Typically, you can simply call ApplicationMgr.Shutdown().
    This will close all opened sequences and executions. If it returns true, you can exit out of the application and if it returns false, you can wait for an ExitApplication event to get generated at which point you can close the application.
    For an example on how to do this, please refer to the C# Simple Operator Interface that ships with TestStand.
    Jervin Justin
    NI TestStand Product Manager

  • Test executive and Test stand deployment cost

    Hello,
    would some NI support engineer kindly answer below questions ? i would be obliged.
    we have been running customized Test executive built from Test executive toolkit. We are now making  decision as to whether We should migrate to test stand or keep the existing structure? Here are some questions:
    1) in case We switch to test stand, do We still need to buy runtime engine license ?
    2) can we call executables in Test stand ?
    3) stating from ground zero, what is the deployment cost estimate between Test stand and customized test executive scenarios, from end user point of view ?
    -Ahmed

    Hi Ahmed,
    To answer your questions:
    1)  You will need to have a deployment (runtime) license for all the machines that you plan on running your application on.  However, you will only need a full development license for the computer that you are actually developing the application on.  You can see a full explanation of the different types of TestStand license in the document "When Should I Purchase a License for my TestStand System?"
    2)  In regards to calling executables, TestStand has a builtin step to call executables making it extremely easy to do.  You can download an evaluation copy of TestStand here to see how easy it is to use as well as see the simple Call Executable Step.
    3)  In regards to price comparison between TestStand and a customized test application, this really depends on the project.  Each project can have a different cost.  However, you can take a look at this cost analysis to get a general idea of one example of cost comparison.  This is just an example and also compares an older version of TestStand.
    For more specific information about cost, please contact a sales representative at (888) 280-7645.
    Thanks,
    Caroline Tipton
    Data Management Product Manager
    National Instruments

  • Passing and Receiving Struct from Test Stand

    Hi All,
    I have this DLL with this function:
    long __declspec(dllexport) InitMyNodeID(char* nameNode myData* mh)
     GimmeMyNodeID(nameNode, &mh->myNodeID);
    struct myData {
    int myNodeID;
     Notes:
     GimmeMyNodeID is a standard API that receives nameNode as input and returns an int myNodeID.
    I'm having difficulty receiving it on the test stand parameter...
    Can somebody help me on this..)

    Ray,
    in order to pass structs as parameters from/to TestStand, you have to define a datatype. In the typedefinition, you can set a property which is called "Allow Objects of This Type to be passed as Structs".
    Then you have to create a variable using this type and there you go
    hope this helps,
    Norbert 
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

Maybe you are looking for

  • Thunderbolt and older DVI Apple display

    Hi, My current 15" MacBook Pro is linked to a Apple Cinema display using the mini DP to DVI adapter. I'm considering a new MacBook Pro whose Thunderbolt port I understand supports data and video. I understand that if I only replace the MacBook Pro th

  • BRM message "Role Description cannot be updated" after generate

    Hi SAP experts, So I'm trying to configure BRM and everything looks good except for when trying to generate the role (single role) I'm getting the error "Role Description cannot be updated". After doing some research I saw that note 1735705 should ad

  • I lose the toolbar in safari

    How do i restore the safari toolbar. It keeps going away and I have to use the cursor to bringit back down

  • Reg output in Function module

    Under Function  Module Exporting  parameter *"  EXPORTING *"     VALUE(Y_HIGHEST_MSGTYPE) LIKE  TE950-DISPLAY_MOVEIN Here I want to do  Error out  one Message based on condition. I Written condition,  but  how  should I incorporate  error as output i

  • Water damage screen does not work

    I dropped my phone in water yesterday and took it out.....it blinked for a few min and then turned black. I immediately placed it in rice and it stayed there for 16 hours. I can hear my phone, listen to songs but i cannot see the screen. Any thoughts