Execution of TestStand-Sequence in LabVIEW via TS-API: Different Execution times for same sequence

Hello Forum-Members,
I have a problem concerning the execution of an TestStand-Sequence in LabVIEW. I have created a VI that offers the ability to choose a TestStand-Sequence-File and then executes the sequence using the TestStand-API. The implementation is based on an example in C++-Application found following this link:
http://forums.ni.com/t5/NI-TestStand/Unreleased-references-using-engine-API-in-C/m-p/2927314#M46034
The implementation works quite solid in case the VI is executed the first time. The VI processes the chosen sequence in a acceptable duration.
But in case the execution is started a second time, the execution of the sequence takes ca. 30sec more than in the first case.
Until now I have not found a solution and hope someones got a hint concerning this problem...
I am using LabVIEW 2013 and TestStand 2013.
I have attached my own VI, a sample sequence with a small sample VI, so you can reproduce the problem.
Kind regards,
TobiKi
Solved!
Go to Solution.
Attachments:
Exe-TestStand-Sequence.vi ‏25 KB
Sequenz.vi ‏8 KB
Test-Sequenz.seq ‏5 KB

Hi Norbert,
first thanks for your answer.
What would be a reasonable way to replace the "Execution.WaitForEndEx"? My first idea is to get the respective thread of the execution and use the "Thread.WaitForEnd".
To clarify my problem:
The execution of the sequence itself takes longer time and so the execution of the calling VI. I have attached pictures of the log file of the first and second execution.
Further I don't get any dialog popups during the shutdown of TestStand. (I have activated the "ReportObjectLeaks" using the "DebugOptions") While developing the attached VI I've gotten several popups. But these popups disappeared after closing all references.
Maybe you have another hint how to locate the problem.
TobiKi
Attachments:
FirstExecution_20-08-2014.png ‏16 KB
SecondExecution_20-08-2014.png ‏16 KB

Similar Messages

  • Exporting different formats in the same sequence.

    I created a sequence in FCE mixing both DV footage and MP4 footage (H.264 codec). I had no problems importing into FCE and working with both at the same time.
    When I export quicktime movie to idvd and watch the dvd on a tv, the dv footage looks beautiful but the MP4 footage is very blurry.
    I then tried many different compression options for export, but anything that makes the MP4 footage look good makes the dv footage look terrible.
    Is there an export option in FCE that would create a reasonable looking DVD from original source material in different formats?

    We used 2 different cameras when filming a project. I don't currently have access to the one used to film the MP4 footage. It saved onto a memory card during filming and I got it onto my computer by connecting the video camera and dragging the clips to a file on my desktop.
    An example of the names the clips saved under is SDV_0403.MP4, SDV_0404.MP4, etc.
    Properties of a sample clip as follows:
    Kind: MPEG-4 Movie
    Dimensions: 720x480
    Codecs: H.264, AAC
    Duration: 00:25
    Size: 17.6 MB on disk
    Channel count: 2
    Total bit rate 5,911
    Sorry if there's irrelevant info there...I'm not sure what's necessary.
    I would just drag the clips right from the file on my desktop to FCE either into the timeline or the canvas and insert them among others. Then render them so I could see them in the canvas, editing and rendering as necessary.
    I will try the mpeg streamclip in the future, but I'm freaking out a bit because I've already edited hours of footage, and fear having to go back to the beginning to re-import my source footage and start from scratch. I definitely won't be working with multiple formats in the future. I'm just trying to salvage this project now as best I can.

  • Hi. I want to build a GUI based on several windows appearing following a certain sequence. How can i create different windows in the same VI? Also, i want the front panel of a subvi to appear when i run, how can i enable this.Thanks

    Having several windows appear ...

    Hi,
    You can't create several windows for one VI. But you can use the "Tab Control" and change tab's in the program. Or you can use sub VI's and show ther front panels.
    To show the front panel of a sub VI you have to open the VI you want to show and select "File->VI Properties". In the VI Properties window select Category "Window Appearance" and click Customize...
    In the Customize Window Appearence window, here you can set a number of attributes for how the window will appear, select "Show front panel when called" and "Close afterwards if originally closed" click OK and OK and save the VI, done.
    Now the VI front panel will appear then you use it as a sub VI.
    /Thomas

  • How do i work around 2 different frame rates in same sequence??

    hello,
    a client of mine just shot a video using two frame speeds...24PA and regular 24p.
    how can i get around this? so far i captured the 24PA footage using the pulldown in the FCP, and the 24P in a regular 48k capture...
    i am currently editing in a 23.98 timeline, but the 24p footage looks slower...HELP!
    thanks,
    steve

    hi kyle,
    sorry, but just to elaborate on your response a little while ago here:
    - i captured the 24PA footage using the advanced pulldown
    - i captured the 24P footage using no pulldown
    - i am editing in a 29.97 timeline now, as most of my footage was shot with 24P
    please let me know your thoughts on how i should go about working with this footage!
    thanks!
    steven

  • Same sqlID with different  execution plan  and  Elapsed Time (s), Executions time

    Hello All,
    The AWR reports for two days  with same sqlID with different  execution plan  and  Elapsed Time (s), Executions time please help me to find out what is  reason for this change.
    Please find the below detail 17th  day my process are very slow as compare to 18th
    17th Oct                                                                                                          18th Oct
    221,808,602
    21
    2tc2d3u52rppt
    213,170,100
    72,495,618
    9c8wqzz7kyf37
    209,239,059
    71,477,888
    9c8wqzz7kyf37
    139,331,777
    1
    7b0kzmf0pfpzn
    144,813,295
    1
    0cqc3bxxd1yqy
    102,045,818
    1
    8vp1ap3af0ma5
    128,892,787
    16,673,829
    84cqfur5na6fg
    89,485,065
    1
    5kk8nd3uzkw13
    127,467,250
    16,642,939
    1uz87xssm312g
    67,520,695
    8,058,820
    a9n705a9gfb71
    104,490,582
    12,443,376
    a9n705a9gfb71
    62,627,205
    1
    ctwjy8cs6vng2
    101,677,382
    15,147,771
    3p8q3q0scmr2k
    57,965,892
    268,353
    akp7vwtyfmuas
    98,000,414
    1
    0ybdwg85v9v6m
    57,519,802
    53
    1kn9bv63xvjtc
    87,293,909
    1
    5kk8nd3uzkw13
    52,690,398
    0
    9btkg0axsk114
    77,786,274
    74
    1kn9bv63xvjtc
    34,767,882
    1,003
    bdgma0tn8ajz9
    Not only queries are different but also the number of blocks read by top 10 queries are much higher on 17th than 18th.
    The other big difference is the average read time on two days
    Tablespace IO Stats
    17th Oct
    Tablespace
    Reads
    Av Reads/s
    Av Rd(ms)
    Av Blks/Rd
    Writes
    Av Writes/s
    Buffer Waits
    Av Buf Wt(ms)
    INDUS_TRN_DATA01
    947,766
    59
    4.24
    4.86
    185,084
    11
    2,887
    6.42
    UNDOTBS2
    517,609
    32
    4.27
    1.00
    112,070
    7
    108
    11.85
    INDUS_MST_DATA01
    288,994
    18
    8.63
    8.38
    52,541
    3
    23,490
    7.45
    INDUS_TRN_INDX01
    223,581
    14
    11.50
    2.03
    59,882
    4
    533
    4.26
    TEMP
    198,936
    12
    2.77
    17.88
    11,179
    1
    732
    2.13
    INDUS_LOG_DATA01
    45,838
    3
    4.81
    14.36
    348
    0
    1
    0.00
    INDUS_TMP_DATA01
    44,020
    3
    4.41
    16.55
    244
    0
    1,587
    4.79
    SYSAUX
    19,373
    1
    19.81
    1.05
    14,489
    1
    0
    0.00
    INDUS_LOG_INDX01
    17,559
    1
    4.75
    1.96
    2,837
    0
    2
    0.00
    SYSTEM
    7,881
    0
    12.15
    1.04
    1,361
    0
    109
    7.71
    INDUS_TMP_INDX01
    1,873
    0
    11.48
    13.62
    231
    0
    0
    0.00
    INDUS_MST_INDX01
    256
    0
    13.09
    1.04
    194
    0
    2
    10.00
    UNDOTBS1
    70
    0
    1.86
    1.00
    60
    0
    0
    0.00
    STG_DATA01
    63
    0
    1.27
    1.00
    60
    0
    0
    0.00
    USERS
    63
    0
    0.32
    1.00
    60
    0
    0
    0.00
    INDUS_LOB_DATA01
    62
    0
    0.32
    1.00
    60
    0
    0
    0.00
    TS_AUDIT
    62
    0
    0.48
    1.00
    60
    0
    0
    0.00
    18th Oct
    Tablespace
    Reads
    Av Reads/s
    Av Rd(ms)
    Av Blks/Rd
    Writes
    Av Writes/s
    Buffer Waits
    Av Buf Wt(ms)
    INDUS_TRN_DATA01
    980,283
    91
    1.40
    4.74

    The AWR reports for two days  with same sqlID with different  execution plan  and  Elapsed Time (s), Executions time please help me to find out what is  reason for this change.
    Please find the below detail 17th  day my process are very slow as compare to 18th
    You wrote with different  execution plan, I  think, you saw plans. It is very difficult, you get old plan.
    I think Execution plans is not changed in  different days, if you not added index  or ...
    What say ADDM report about this script?
    As you know, It is normally, different Elapsed Time for same statement in different  day.
    It is depend your database workload.
    It think you must use SQL Access and SQl Tuning advisor for this script.
    You can get solution for slow running problem.
    Regards
    Mahir M. Quluzade

  • TestStand sequence launchs Labview Window

    When I open a sequence in TestStand 3.5 consequently Labview is opened. But I have a test bench where this doesn't happen. (note: the bench are software and hardware identical, but assemblied in different moment). Moreover, when I launch my testing application (that recalls a teststand sequence), on the first bench appears always the labview window, while on the second bench none labview window is opened.
    I'd like to reproduce the second behaviuor: none labview window is opened.
    There is a particular setting in teststand to block the labview window?
    Note: the testing application and sequences are the same on the two benchs. The bench setting are identical. I controlled every setting between the two benchs.
    Solved!
    Go to Solution.

    There is a setting that I just found out about in the LabVIEW.ini file.  It disables the Getting Started Window dialog on LabVIEW 8.6.  It might work on LabVIEW 7.1 and may be present on one of your two test computers.
    Can I Disable the LabVIEW Getting Started Window On A Macintosh?
    The setting is "showNoNavDialog". Look on your computer that is behaving as desired and see if this setting was added (would be set to TRUE).
    \Program Files\National Instruments\LabVIEW x.x\LabVIEW.ini
    Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
    If you don't hate time zones, you're not a real programmer.
    "You are what you don't automate"
    Inplaceness is synonymous with insidiousness

  • How to externally trigger the execution of TestStand with a start and abort button through a digital interface?

    Hello,
    I'm Currently evaluating TestStand as an alternative for an in-house developed Test Sequencer.
    To start our own Test Sequencer we use a small box, connected to a DIO board. The box has a start button and an abort button. The box also has a pass, a fail and a running led.
    The interface with this box is made via some digital lines of a PCI-DIO-96.
    In our own Test Sequencer we have groups named Init, Run, Abort, Exit.
    The Init group is executed at startup (only once). It is used to initialize all the HW and SW. -> I guess this is the Pre UUT Loop callback in TestStand.
    The Exit group is only executed once at the end of the day when the application is terminated. It is used to free all the used hardware and cleanup all the resources. This probably is the Post UUT Loop Callback in TS.
    When a product needs to be tested, the operator presses the "start" button which triggers our own Test Sequencer and the run and abort group are being executed (first the run group, afterwards the abort group).
    When the product is being tested the "running led" of the little box lights up to indicate to the operator that the application is running. (only when the run and abort group are running)
    The Run group has all the functional tests in it. (MainSequence)
    The abort group is used to put everything back in it's original state after the test on this single product is done. (Post UUT)
    When executing the tests and something goes wrong (operator gets stuck in a clamper, ...) the operator can still press the abort button and then the execution immediately jumps from the currently executing step in the run group to the first step of the abort group. So, when something goes wrong, immediately the abort group is called.
    At the end of the run and abort group, if no errors occured, the "pass led" lights up. If one or more steps went wrong the "fail" led lights up.
    This setup can also be used to test multiple product in parallel. At that time all the different parallel testers have such a small box which contains a "start" and "abort" button and a pass, fail and running led. (it is possible that they are all connected to the same PCI-DIO-96 board. )
    My question:
    Is it possible to do something similar like this in Teststand? If yes, is there an example available that shows me how to do this in TestStand? (externally trigger the execution of TestStand)
    Typically, in the Init group (Pre UUT Loop) the digital interface box gets initialised.
    In the Close group (Post UUT Loop) the digital interface box is taken out of scope.
    Note: The PCI-DIO-96 board to which the digital interface box is connected will also be used in the rest of the developed application (MainSequence, ...)
    What's really important for me is that I can create a process model that all the application developers in our organisation can use. I really don't want any of the application developers (limited software experience) to mess around in all the features of TestStand.
    For them it's important that they just add the function DigitalInterfaceBoxInit () in the Pre UUT Loop Callback and the DigitalInterfaceBoxClose () in the Post UUT Loop Callback, and then everything works!
    It is important that the appliation developers do not have to create any global variables, other functions, synchronisations, parallel sequences, ... in TestStand. All this needs to be done with a simple call to the DigitalInterfaceBoxInit function.
    Thanks in advance for all the help!
    Best Regards,
    Dennis Vanotterdijk
    [email protected]

    Dennis-
    Your application sounds very well suited to TestStand's abilities. I am also quite impressed with your knowledge of how TestStand's architecture is arranged when you are still just considering whether or not to use it.
    I think that TestStand would work really well for you in this application. Like you mentioned it will provide you with a form of standardization for your application developers to work from. It also provides the flexibility for you to add your custom routines in many different places. TestStand also makes parallel and batch testing much easier in TS 2.0 so that you could develop one test for your product and execute different instances of it in parallel to test multiple products at once.
    As for your specific question about how to c
    ontrol TestStand using a DIO board. I think this is very feasible and should not be too difficult. Since TestStand provides you the ability to create a custom operator interface your operator interface could monitor the status of your DIO board and launch/abort executions based on the read values. Usually the executions are launched/aborted when a button on the GUI is pressed however, I do not see any thing different about basing the action on a DI signal vs a mouse click. I am sure your application is more involved than this high level description but from the sounds of it I think it is very possible to do with TestStand.
    Based on my experience of building test systems with TestStand and your description of the application, I would feel very confident in using TestStand to achieve all the goals you mentioned. If you have further detailed questions on how one of your features might be implemented, feel free to contact one of our Application Engineers or email us at www.ni.com/ask
    and we would be glad to help you.
    Best regards,
    Richard McDonell
    National Instruments

  • Best way in LabVIEW to check if TS execution is complete

    I was wondering if anyone had some thoughts on this.
    What is the best way in LabVIEW to check if a TestStand Execution is complete.  I am currently starting a New Execution in a previous state using the 'Engine->New Execution' method.  Then in my state shown in the attachment, I simply wait in a loop until the execution is Stopped using Execution->Get States.
    I have also noticed the function called 'Execution->WaitForEndEx' but the help documentation indicates:
    " This method is not meant to be used by a user interface or sequence editor, as it does not process UIMessages. Instead, use this method from a step to synchronize with another execution."
    Is WaitForEndEx a better method or should I stay with the current implementation?
    Thanks,
    Paul Holzrichter
    Attachments:
    Execution Complete.JPG ‏63 KB

    Hi Paul.
    You could also use the Application Manager's "EndExecution" event.
    This would prevent you from staying in a loop and waiting for the execution to complete.
    Regards, Guenter

  • Can I reduce the execution time for a step in a TestStand ?

    Hi,
    I calculated the a single step execution time for TestStand Ver 2.0. It comes to around 20 milliseconds/step. Can I reduce this excution time ?
    Are there any settings available for configuring execution time parameters except result logging and exception handlings to reduce the execution time ?

    It's difficult to tell how you what time you are reporting for your step. Clearly we don't have control of the time it takes your code to execute. However, we are constantly working on reducing the overhead of calling the code. In addition, you don't mention the type of step you are calling. One way to have a common reference is to use the example \Examples\Benchmarks\Benchmarks.seq. Below have have posted the results of running this sequence with both tracing and result collection enabled and then disabled. I have a 700 MHz, 128 MB RAM, Dell PIII laptop. In this example there is no code within the code modules. You notice that calling a DLL has the least overhead with a minimum of 7.459 ms with tracing and results enabled and 0.092 ms with tracing and results disabled. Although not included below, if I enable results be disable tracing I get a minimum time of 0.201 ms, a 100x improvement on your time.
    With Results and Tracing enabled.
    7.578 milliseconds per step for CVI Standard Prototype - Object File
    7.579 milliseconds per step for CVI Standard Prototype - DLL
    7.459 milliseconds per step for DLL Flexible Prototype
    8.589 milliseconds per step for DLL Flexible Prototype Numeric Limit
    9.563 milliseconds per step for DLL Flexible Prototype Numeric Limit with Precondition
    10.015 milliseconds per step for DLL Flexible Prototype Numeric Limit with Precondition and 4 Parameters
    7.868 milliseconds per step for ActiveX Automation
    8.892 milliseconds per step for LabVIEW Standard Prototype
    With tracing and results disabled.
    0.180 milliseconds per step for CVI Standard Prototype - Object File
    0.182 milliseconds per step for CVI Standard Prototype - DLL
    0.092 milliseconds per step for DLL Flexible Prototype
    0.178 milliseconds per step for DLL Flexible Prototype Numeric Limit
    0.277 milliseconds per step for DLL Flexible Prototype Numeric Limit with Precondition
    0.400 milliseconds per step for DLL Flexible Prototype Numeric Limit with Precondition and 4 Parameters
    0.270 milliseconds per step for ActiveX Automation
    1.235 milliseconds per step for LabVIEW Standard Prototype

  • Opening TestStand Ref from LabView sometimes fails

    I'm having an intermitten problem when opening a TestStand reference from LabView.  The error explaination just says, "LabVIEW:  (Hex 0x80004005) Unspecified error."  Attached is a little vi that can reproduce the problem when set to run continuously. 
    Any idea on how to fix this?  Thanks a lot.
    Note that because of compatibility requirements I have to use TestStand 2.0 with LabView 7.1.
    Attachments:
    TS_Ex.vi ‏24 KB

    Attached is a screen shot of the error message.  This is one of at least 2 error messages.  I will get the other one when I can get time on the equipment.  Right now, I would like to get the error log (mentioned in the screen shot), but I can't find it.  Where should it be?
    Unfortunately, the equipment is being shared and I haven't received time to debug it more.  But this is what I have seen. 
    Trying to Highlight Execution with breakpoints seemed to point the vi closing the reference to TestStand as the source of the error message.  Using the Simplified TestStand Operator Interface vi that came with TestStand, and some fake tests, we did not have this error.  Only when we use our customized OI with dynamic test sequence generation do we get the error.  This error doesn't occur with LabView 6.1.  So I think it may be another incompatibility between LV 7.1 and TS 2.0.
    Thanks for your help.
    Attachments:
    Exit-Crash-1.doc ‏24 KB

  • How to force TestStand to ignore LabVIEW errors

    Hi,
    usually where there is an error in the LabVIEW code module TestStand stops and gives a pouup message .
    Is there any way to force TestStand to ignore LabVIEW errors and contiouse testing?
    Thanks

    You can also work more globally - go to the Configure menu item and select Station Options.
    At the bottom of the execution tab, there's a section for what to do on Run-time errors. -> Show dialog, Cleanup, Ignore or Abort.
    Whilst not specific to steps configured to use the LabVIEW adapter (assuming you're mixing some programming languages) that at least get you continuing on to the next step without the dialog.
    If you need to assess if it's specifically LabVIEW modules causing the error, then you need to use the Station, Process Model or Sequence File callback for On run-time error, and the step gets passed as a parameter. That would allow you to work out if the step was LabVIEW specifically and then make a decision as to what to do next.
    Hope that helps.

  • TestStand Full Featured Labview OI - Documentat​ion?

    Can anyone point me to any documentation/examples out there for the TestStand Full-Featured Labview OI? I have tried looking just about everywhere and can't seem to find any good documentation/explainers on how the OI works and how to customize it. I am new to TestStand OIs and am trying to create an OI that allows me to run up to 6 different UUTs independently at the same time. I can't figure out how to wire in each individual Execution Entry point and am looking for examples and/or documentation. I also need some help with Progress bars and test status indicator LEDs.     

    Below is an example front panel of what I am trying to accomplish. Most of the controls are not connected of course :-). I am trying to have one window with 6 different executions shown within it. Each execution would be seperate from one another and you would be able to view each just by clicking on the tab for that particular test fixture. The only thing that would be common is that each execution would be running the same sequence file. The individual test fixtures could be at different points in the test sequence and could have different start and stop times for each. For instance....test fixture #1 could be loaded with a UUT and started into test then while it is running test fixture #5 could be loaded with a UUT and started into test. In the meantime when test fixture #1 has finished testing I could load another UUT into test fixture #1 while test fixture #5 is still running. etc etc
    Attachments:
    MultiUUT.JPG ‏155 KB

  • LabView TestStand interoperability with LabView runtime adapter

    I would like to get some background information on how the interoperability of LabView and TestStand works.
    We are using LabView steps mainly for some minor tasks in TestStand projects.
    We do not use the regular deployment way as proposed by NI, but simply use one or more VI folders from which we reference LabView steps.
    Deployment is done by copying the whole TestStand/LabView folder structure to the target machine.
    We use the LabView runtime adapter within on our deployed systems.
    We never mix LabView versions within one project.
    Now, we frequently face the situation that the exact same project structure on two different machines has problems with the LabView steps.
    So one changed VI runs on one target machine while the other after copy deployment is broken. Due to the same project structure and the virtual drives the paths must be the same.
    A mass compile usually solves the situation.
    So this is mystery number 1.
    Today, I had the same problem, however I did not mass compile the full VI folder but simply some folders which I assumed had changed.
    One VI which was referenced by TestStand was not mass compiled and was declared as broken by TestStand.
    All I did was opening the broken VI in LabView Development System and nothing was obviously changed by LabView.
    I closed the VI  and pressed the Reload VI button on the TestStand step and the VI was working again, however the sequence file now had changed somehow (* at file name).
    Another phenomenon:
    An existing project on a machine was running with a certain user.
    After switching the user, the VI steps of the project were suddenly broken.
    My questions?
    1) Why do VIs which run in the development system flawlessly  become broken in the runtime?
    2) Does the runtime use different search paths than the development system?
    3) What kind of information does the mass compilation produce and where is it stored.
    4) What kind of information does TestStand store along with the VI?
    5) Is there a way to diagnose the problem with the runtime adapter ? With the runtime adapter I cannot open the VI to see what is the problem and in the developer mode it works.
     

    First, to clarify a few points:
    1) It is not necessary to use a workspace for TestStand deployments. You can specify a directory of source files for a TestStand deployment.
    2) TestStand licensing should not be affecting this issue in any way. TestStand licenses do not have any impact on LabVIEW VI execution in TestStand.
    Thorsten,
    The issues you are describing are likely being caused by the LabVIEW VIs needing to be recompiled. The runtime engine is not able to recompile VIs, but the LabVIEW Dev System can, so this explains why you are able to execute again after opening the VIs in LabVIEW Dev. it also explains why a mass compile fixes the issue.
    There are a variety of reasons why this could be happening. One scenario that could cause this to happen is that you make a change in one VI, but the change causes a second VI to need to be recompiled. This could cause a problem if you redeploy only the VI that you changed, because it will not be able to work properly unless the second VI is recompiled, which cannot be done by the LabVIEW RTE alone. This can happen because the LabVIEW compiler will optimize certain operations in the compiled code depending on where data is used--for example, the compiler will try to avoid allocating a copy of an array if it does not need to be accessed by multiple pieces of code at the same time. As you can imagine, this type of optimization might be appropriate for one version of your code, but might not be appropriate if a subVI changes such that it needs access to the array in parallel with the rest of the code. 
    The specific example I mentioned is called the Inplaceness Algorithm, and is described along with much more information about the LabVIEW compiler in this whitepaper. This might help explain the reasons a LabVIEW VI would need to be recompiled.
    One potential solution to your problem that would allow you to keep your current deployment method would be to use packed project libraries (PPLs). You could have multiple PPLs for different parts of your code that you want to be able to update individually, which would allow you to make small changes to your codebase without having to deploy the entire set of code at once. A PPL is a self-contained set of compiled code that does not change, which should avoid the recompile issue from occurring.
     

  • Long execution times for TestStand conditional statements

    I have two test stations – one here, one at the factory in China that has been operating for about a year. The test program uses TestStand 3.1 and calls primarily dll's developed using CVI. Up until a couple months ago, both test stations performed in a similar manner, then the computer at the factory died and was replaced with a new, faster computer. Now the same test sequence at the factory take three times as long to execute (30 min at the facotry, 10min here).
    I have recoded the execution time at various point during the execution, and have found that the extra times seems to be occurring during the evaluation of conditional statements in TestStand (i.e. for loops, if statements, case statements). For example, one particular ‘for’ evaluation takes 30 ms on the test station here, but takes 400 ms at the test station at the factory (note: this is just the evaluation of the for condition, not the execution of the steps contained within the for loop).
    The actual dll calls seem to be slightly faster with the new computer.
    Also the ‘Module Times’ reported don’t seem to match the actual time for the module for the computer at the factory. For example, for the following piece of TestStand code:
    Label1
    Subsequence Call
    Label2
    I record the execution time to the report text in both Label1 and Label2. Subtracting one from the other gives me about 18 seconds. However the ‘Module Time’ recorded for ‘Subsequence Call’ is only 3.43 seconds.
    Any body have any ideas why the long execution time with the new computer? I always setup the computers in exactly the same way, but maybe there is a TestStand setting somewhere that I have missed? Keep in mind, both test stations are running exactly the same revision of code.

    Got some more results from the factory this morning:
    1) Task Manager shows that the TestExec.exe is the only thing using CPU to any significant degree. Also CPU Usage History show that the CPU Usage never reaches 100%.
    2) I sent a new test program that will log test execution time in more places. Longer execution times are seen in nearly every area of the program, but one area where this is very dramatic is the time taken to return from one particular subsequence call. In this subsequence I log the time just before the <End Group> at then end of Main. There is nothing in Cleanup. I then log the time immediately after returning from this sequence. On the test system I have here this takes approximately 160 ms. On the test system at the factory this takes approximately 14.5 seconds! The program seems to be hanging here for some reason. Every time this function is called the same thing happens and for the same amount of time (and this function is called about 40 times in the test program, so this is kill me).

  • Inconsistent behavior in TestStand and TestStand UI for the same sequence file

    Solved!
    Go to Solution.

    I tried both the TopLevelVI and testexec.exe; but both of them were giving the same error. I never tried any other UI than Labview. 
    Because the same sequence was working without any issue on some other system, I uninstalled and reinstalled TestStand 4.0 and same sequence is now working fine, in TestStand, testexec.exe, TopLevelVI – basically everywhere. I am not sure what was wrong with TestStand in my system, but definitely something wasn’t correct. 
    Thank you for all the responses.
    Vidula
    Message Edited by Vidula S. on 08-26-2009 10:28 AM

Maybe you are looking for

  • How to default the KFF segment values based on other field's value

    Hi, I would need to reset the 5th segment value of "Liability Account" field on R12 Supplier Page under "Accounting" link. Condition: And it has to be based on some other value like "GLOBAL CONTEXT VALUE and TaxPayer ID Type" under "Organization" lin

  • How to add an entry in LIBL

    Hi! I want to add a new entry in LIBL of R/3 system, but I already tried to add it on job description and user/system library list on system values (QSYSLIBL and QUSRLIBL) without success. After R/3 up, I verify the LIBL on jobs and the new library w

  • Relation between Ibots,Delivers and BI Publisher

    Hi, I would like to know the relation between Ibots,Delivers and BI Publisher. Any one help Please. Thanks, Lakshmipathi.

  • Windows 8 support for new users is terrible

    I have been using PC's for 20 years.  The Windows 8 user interface has a lot of new features, shortcuts, hand jestures etc.  I recently bought a Lenovo with Windows 8.  It started up fine. but didn't give you any introduction to how to run the interf

  • Does CS3 Overwrite DW8 on Trial Download

    Another basic question. Tried to get answer in FAQs for Mac OS X but cannot find. I use original DW8 version. I wish to download the Trial version of CS3. Does the CS3 downloading and then trialling overwrite the DW8? If I do not go to paid version a