Modules execcution times in test stand

Hello Everyone:
Maybe some can help me.
I wrote a test sequence using Test Stand program with LabView and using Field Point for hardware. There is one issue that has been notice on the test results and that is the execution time of each of the modules.
This question has been ask is Why does the execution time of the modules varies from one test to the next.
We also notice that if we run a same unit several times we do not get the same results, they are very close but never the same and that includes the module execution times.

Hello Toro,
That is a great question. Depending on what controller and modules you have, the execution times of the modules vary from one to another. There is an excellent tutorial that explains this really well, below you will find a link to it:
http://zone.ni.com/devzone/conceptd.nsf/webmain/a14d3c3314a0e24a86256dbe00664943?OpenDocument
If you don't have a real time module, then by switching to one, you are going to see a significant change in the accuracy of the times displayed. Please let me know if you have any further questions.
LA

Similar Messages

  • 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

  • Test Stand LabView adapter 8.6 run time will not run 8.5 VIs

    I’m trying to run a script I developed with a dev computer on
    a regular PC set up with a Test Stand User Gui, and run times for Test Stand
    and Labview.
    With the Test Stand Labview adapter set to 8.6.1 all of my
    ENA(Agilent Network Analyzer) calls fail for “VI Version is too early to
    convert  to the current  LabVIEW version.”  The ENA library is written in 8.5.  If I set the adapter to 8.5.1 then all of the
    VIs developed in 8.6 fail.  In addition
    it will not run any VIs that I save back to 8.5.  I installed a demo Labview development
    version (2010?) and everything ran fine with the adapter set to Development
    System.
    I am not sure what to try next to get it to run on the
    regular PC, any hints.
    Test Stand = 4.2
    LabView = 8.6
    Running in windows XP
    Solved!
    Go to Solution.

    One of the many things I tried was saving the ENA library to 8.6, but I could not get it work.
    This is the Original library I installed and was trying to Convert (8.0 upgrade agena.zip)
    http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=001CE83736F3674BE0440003BA7CCD...
    I am about to try this one. (8.2.1 Upgrade)
    http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=74D1F1D4EB5268E8E04400144FB7D2...
    I am pretty new to labview so I am not sure how to make the save to previous version workfor libraries, but I can easily do it with individual VIs.  For libraries, it creates a new directory, and puts in all of the files and then asks me about saving the lib files as something else.  This is where I think I get it wrong.  I tried it again today and got the same results.
    I greatly appreciate the Help
    Brian

  • Connect vi to test stand

    hai guys,
    im 1st time using test stand. i duplicate the test stand from a different pc and place all the subvi in the sane location. when i open the sequence file i cannot call bak the vi. how to set the path in test stand to reconnect to the vi . 
    thanks,
    shamaran

    Hi,
    When you say "duplicate", how did you achieve this?
    What error messages (if any) are you getting?
    Regards
    Ray Farmer

  • I am trying to debug HTBasic code modules while using Test Stand, how do I refresh the subs that have been loaded in memory?

    I am writing an application for Test Stand, we are using modules previously written in HTBasic. Whenever I make a change to the code and try to re-run the program, it just runs the old version of the code. The only way to refresh the code is to close Test Stand down and restart it. Is there a way to flush the memory of modules?

    Hi,
    I haven't used HTBasic with TestStand 2.0.x, but I'm assuming that you have the steps in the sequence set to unload when sequence file is closed (look under the step properties -> run options tab).
    If you're still prototypeing, use the File->Unload all modules option. Have a look at page 4-3 in the user manual - it refers to .DLLs, but I'm assuming the HTBasic falls into the same methodology.
    Altering the run options from it's default will affect the memory useage and speed of execution of the test sequence. Have a look at page 5-22 (page 158 in the .pdf) in the TestStand user manual - basically, if a code module is loaded into memory already, when the step gets to execute, the loading overhead is already done. If it stays in memory after this, then it's avail
    able for next time (quicker second run 'cos it doesn't need to load again. However, the balanceing factor is the sequence is useing more memory at a time, by haveing the module ready.
    My usual setting is to use Load dynamically, and Unload after sequence executes. I use this is only during development however, as this is not the most speed friendly, but a compromise so that if I don't call a step I don't load it, but if I do use a step, I'm sure it's free again when I need to modify the .dll modules I create. If you have a look on page 5-7 (143) of the user manual you can set the sequence file to effectively over-ride each step's load and unload settings - useful if you want to revert back again later. If you use this, you'll see that the top two run options for the step are greyed out, but if you set it back with the sequence file options, they do revert back to their original settings.
    Hope that helps (and works!!)
    S.
    // it takes almost no time to rate an answer

  • Can labview call a test stand module

    Having problems with a test dll that runs in test stand, but I get errors when trying to use the wizard in labview, however I can use the call library function node to protypye it.  Problem - the function openComserialPort(char* comPort, ErrStruct & err), how do you difine the parameters for the ErrStruct & err part.
    next Question, since this Dll runs in Test Stand, is their anyway to export to work in LabVIEW. 
    Solved!
    Go to Solution.

    Here's a description of the dll, to start off, I have a circuit board with a microprocessor on it, that has control for a radio module.  During test I need to program this board serially through its' TX and RX lines on the processor.  The dll given to me, which was written for test stand, has functions to enable me to do this programming.  There are basically  11 function contained is this Dll. 
    Initialize Dll, (no errors),
    open serial port, (no errors), 
    getStandardTable, which sends a command for the microprocessor to send back its information-> get assertion error
    WriteHardwareVersion -> Sends the version and revision number -> assertion error.
    ColdStart -> Which resets board statistics variables -> assertion error.  Now, this function prototype is ColdStart (errStruct & err); So I prototype like I did for the above error struct, but still got an assertion error, which leaves me to believe, that , or vendor, has a bug communicating, or sending the commands via serially, to test this, I could use the serial examples contained in LabVIEW, however I don't know the command set of the microprocessor, or could there be something else wrong,  Any ideas will be appreciated.

  • 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.

  • 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

  • Is there a max number of parameters that can be passed to a C function in test stand v. 1.0.1

    I have had an issue with test stand version 1.0.1 (yes, I know; it's quite old) and calling a C function thru an action step. when I call this function with 18 parameters, it seems to hang. I have called a function with 16 and it seems to work. Is this a limit of the software? I am calling the function from a windows DLL that we've created. When I try to pull the function from the dll into test stand I also get a { error...but I get that in the other function's call and it seems to work fine. Any ideas?

    ok, upon re-reading what I posted I can clearly see your confusion. haha. I think there are two separate issues.
    1) Are there a maximum number of parameters one can use when calling a C function from a DLL? Yes, i'm trying to call a C function from test stand.
    2) when I select the "module" tab, and select which DLL contains my function, the prototype has no information associated with it (by clicking the reload prototype button). I'm not sure why, as I'm using a declspec to send the function information out of the dll, but that's another topic. So I click on the source file tab and point the window to the .cpp of my function (within the DLL's project workspace) and when it begins to parse the file, I get an error about mis-matched curly brackets and if I wish to continue, and skip the rest of the parsing.
    I click "OK" and when I go back to the module tab, I am able to see all my functions, along with the parameters in the drop down menu below. I fill in all the parameters and everything looks ok; no syntax errors, or anything else seemingly suspicious. I then run my test stand code and when I get to the step which calls this function, the system hangs and cannot proceed.
    Any thoughts as to what might cause these issues? 

  • How to get the value of the global variable of test stand in labview User interface?

    Hi.
     Can anyone Please share examples and tell me to how access the test stand global variable using labview user interface.
    Solved!
    Go to Solution.

    I'm not surprised that what you are doing doesn't work.  The Start Execution UI Message is triggered when the user clicks a button to start an execution.  Realize that most executions go through a process model.  So you could be looking at the sequence context of the process model and not your client sequence file.
    I recommend reading that link I posted above.  UI Messages are your best bet but you cannot just piggy back on an existing UI Message like this.  They may not be getting sent at the time you need them to be.  The only way to ensure you get what you want is to trigger one yourself at the right time.
    Regards,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • How can I get Test Stand to print failues only?

    Rather than getting a large report file with hundreds of passes and only one failure, how do I configure Test Stand to only print the failures to the report?

    Hi,
    the engine callbacks are simply a sequence that gets called when a particular thing happens (i.e. Post Step).
    There's three types
    SequenceFile (for steps that execute in that sequence file whether it's a client sequence file or a process model)
    ProcessModel (for steps that execute in the client sequence file run under this process model, but NOT the steps in the ProcessModel)
    Station (for all steps on that installation - found in the StationCallbacks.seq sequencefile)
    If the engine callback appears in more than one of the three places, then the lowest one (seq file->proc model->station listed lowest to highest)is used.
    In your case, you could use any of them depending on your architecture.
    Personally, r
    emoving from the resultlist is easier than working out whether to add to it, but that gets tricky when you have steps which loop.
    If you decide to make up your own add, then the PostStepFailure is the callback sequence to use (go to edit->sequencefilecallbacks). You'll have to add a new element to the resultlist, and start fleshing it out with the result container of the step (which you still have access to as a parameter) plus the TS container.
    This would go into the Runstate.Caller.Locals.ResultList[x]
    Also, don't forget to disable the result collection on all the steps in the test sequence, plus all the ones in your poststepfailure callback, since you're doing your own.
    I'm attaching what I've done so far as an example - not quite finished, but it's done the TS container. Just now need to do the actual result container.
    I'll keep working on it but for now you can see what I'm getting at.
    Hope that gives you a kick start with the callbacks bit
    Sacha Emery
    National Instrumen
    ts (UK)
    // it takes almost no time to rate an answer
    Attachments:
    collect_only_failures.seq ‏31 KB

  • How can I pass a variable from Test Stand to CVI by reference

    Hi!
    I can't to pass numeric or boolean variable from Test Stand (for example: FileGlobals.StopFlag) into the step (CVI function).
    Function prototype: 
    void __declspec(dllexport) __cdecl PC2_WaitWhileResponceAppear(tTestData *testData, tTestError *testError, int *iStopFlag).
    When variable has bin changed I can't see this change from my function.
    CVI 2010, Test Stand 2010
    Can anybody help me?

    Hey Rombar,
    It is certainly possible to pass variables by reference; for example, if you go to <TestStand Directory>/Examples/Demo/C and open the computer.seq file, you can see one of the example sequences that uses CVI modules. If you click on one of these steps, you'll see that some of the parameters, such as the error information, is passed with pointers. This is a pass by reference.
    To help narrow this down, it'd be good for us to figure out a few things about how the code is run. First, if you go to Configure > Adapters, select the CVI adapter and choose Configure, you can see options for this adapter. Do you have it configured to run in an external instance of CVI or as an in-process call?
    Also, if you're wanting to see a change made in TestStand in your external code, this makes me think that you're wanting to run the code and then continue to execute your TestStand sequence while the code runs. How did you configure this behavior? For example, are you calling this code as a separate sequence in a new thread, or are you using another method to run this code while the sequence continues to run?
    Finally, if we could see a screenshot of how you're configuring the parameters on the TestStand step, that might be helpful as well.
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • Clearing Test Stand engine's internal cache

    I am trying to clear the TEST STAND ENGINE'S internal cache of past sequence files in a custom Operator Interface I am developing using VB.NET.  The scenario is as follows.   The Test Stand OI application is instantiated from a desktop shortcut that also has the sequence file as a parameter.  I am using only the "Single Pass" entry point.
    The problem is other sequence files appeared to be executing in addition to the sequence file passed in as a command line argument.  I checked this by creating an event handler for the openseqfile event and putting a VB.NET debugger breakpoint at its start.  In the case I checked the seq open event fired 3 times.  Once for each of the last 3 different sequence files I tried to run.   I checked each of the files as they were being opened and the 1st file opened was the one I passed in.  The second file opened was the one I ran prior to the current application instantiation.  I checked that file an the "e.file.IsExecuting" property was TRUE!  How could that file be executing when the application starts when it is not even the file I want to run?
    The third file was a file I ran 2 instances ago and its "IsExecuting" property was false and its "CanUnload" property was true.  I was able to remove that particular file with "Me.AxApplicationmgr.GetEngine().ReleaseSeqenceFileEx(e.file)" in the event handler.
    What is the proper way to remove (clear) the interneal cache.  So only the single file I want is opened?  Thanks

    You should call ApplicationMgr.OpenSequenceFile instead of Engine.GetSequenceFileEx (see TestStand Reference Manual>> Chapter 9 Creating and Customizing Operator Interfaces >> Using the TestStand API With TestStand UI Controls).
    If you want to close the file explicitly, call ApplicationMgr.CloseSequenceFile.  If you don't close the file, the ApplicationMgr will close the file automatically when your application shuts down.
    When you call ApplicationMgr.OpenSequenceFile, the file appears in controls that display the list of open files and your application receives an ApplicationMgr.DisplaySequenceFile event for the file.
    If you can't use the ApplicationMgr methods, then I think the place to call Engine.ReleaseSequenceFileEx would be in the ApplicationMgr.QueryShutdown event (also see TestStand Reference Manual>> Chapter 9 Creating and Customizing Operator Interfaces >> Using the TestStand API With TestStand UI Controls).

  • Search feature in Test Stand templates

    Hi,
    I am trying to create templates of sequence steps for a particular dll in Test Stand. The dll has about 50 functions, and when I line up all of them under templates, it becomes very lenghty, and difficult to use.
    Is there a way to add  "Search/Find" feature and "Flatten / Sort" feature - similar to the one we have for LabWindows CVI function panels? If so how, and which TestStand API do I need to modify? Can we "import" this feature from CVI and reuse it some how? Any other way of doing it?
    thanks and regards
    dasi

    Hi,
    Have you had a look at ''lookup strings"? Its a TestStand API call you can make on a property object. I am not sure if it can be used for external dlls but its does the same job you are asking for.
    By default there is no function present by default. You can access the dll in labview or CVI and search for it thr and call the VI/C code as a code module in TestStand.
    hope this helps..
    Vaibhav
    .......^___________________^
    ....../ '---_BOT ____________ ]
    ...../_==O;;;;;;;;_______.:/

  • Test stand design for high speed brushless dc servo motor efficiency testing

    We are in the process of designing two test stands around the brushless dc servo motor in the attached specifications.  The first we would like to operate using Labview and a PXI-7352 controller.  The second will be a real time configuration.  The motor will need to run in the 25-50,000 RPM range.  We want to bring the hall sensors back to the controller and do PID and other control there.  The sinusoidal commutation from the controller would then go to an as yet unselected servo amplifier.  When the motor is under test we want to be able to measure accurately the power that is being used by the motor - not the motor and controller / amplifier.
    Can the PXI-7353 handle this motor speed range?
    Will Labview and the PID toolkit be sufficient software to program the first test stand?
    Any example VI's available for this approach (I could not locate any)?
    What is the appropriate controller for a real time system?
    What is the best way to instrument the motor to determine power required at a given test point?
    Any suggestion on a servo amplifier?
    Thanks in advance,
    David
    Attachments:
    B0912-050 Brushless Motor.pdf ‏91 KB

    Mr. Zaatari,
    As you will note, there are six questions posted above.  As you also know, I have been waiting for your response for 5 days and decided to use this alternate method in hope of getting my questions answered.  As you further know you have not answered these questions.   It is a shame that you will  not post your "answers" here so that the rest of this wonderful NI community might have the benefit of your knowledge as well.
    I will respond further to you by email.
    David

Maybe you are looking for

  • When I take a picture in the dark and use the flash, the photo turns out pink.

    Recently, when taking pictures using the flash, they turn out pink  This happens whether there is light or not. Why? 

  • How to turn off eps saving backup file as filename -01.eps?

    Hi all, I'm not at sure how I came about this/which box was ticked in saving options but whenever I save eps files, Illustrator will also save another backup file with '-01' after the filename and before the extension '.eps'. Also, whenever I save th

  • Update termination when create customers

    When I create and save a customer, the system issues an express document afterwards telling that the 'Update was terminated'. This happens only when I wanted create same customer # to new company code,  which already exists in different compnay code

  • Windows7 compatibility with PL 3.0

    Have bought Adobe Premier Elements 3.0 for our budding 11 year old animator because its the version he is familiar with in evening classes. Our XP-platform desktop was too old to handle the RAM and processor requirements so have upgraded. But new des

  • Events are not showing in vms 2.3 for IPS 4255 sensor

    Hi, I am having IPS 4255 with version 5.1, we installed the vms 2.3 with cisco common services, IPSMC,SecMon and cisco view. Unable to see the events in event viewer which is in secure monitor and it is showing status as TLS is connected in the devic