Batch Sequence Shutdown Test Stand Randomly

Hi ,
I have a problem with Test Stand in one of my projects .
I'm using TS 4 & CVI 9.1 . TS is using CVI DLL .
The software is using parallel Device checking for 30 cards , at 25c , 75c and -15c ( temp ).
While checking 9-10 evrey thing works fine and well buy in 11 and so on TS crashes randomlly about 1 of 10 times at the crash the is no TS message only Windows not responding message .
My main idea was a Resource leaking at the CVI code but i checked it very carefully in addition i cant see the resource trekking in dll mode .
Is there any tool , even windows tool or some software i can use to track my memory while working with both programs !? or you have another idea ?
Thank you .
Kobi Kalif
Software Engineer

There are two possibilities for updating a local in one sequence from a subsequence which that sequence calls.
1) Pass the variable as a "By Reference" parameter to the subsequence. Then in the subsequence access it with the lookupstring Parameters.MyParameter. To add a parameter to a sequence, simply insert a variable under the Parameters group. Parameters are passed by reference by default (which is what you want). They can also be passed by value (i.e. a copy to which changes don't affect the original) by changing the setting by right-clicking on the variable and unchecking the by reference setting. Using parameters like this is very flexible and future proof. You can even call the same subsequence from multiple sequences and the subsequence doesn't have to worry about who's calling it. Also it doesn't matter what the name or location of the variable is in the caller, the subsequence just always accesses the variable as its parameter. When you specify the sequence call to call the subsequence you specify what to pass for the parameter.
1a) A variation of this which can help make your code easier to extend is to use a Custom Data Type as the type for your parameter. Make a Custom Data Type that's a container than contains the variables you want to pass. When you need to add a new parameter in the future you can just add it to your Custom Data Type and then you don't have to update any of the places where your subsequences are called to pass the new value. If you go this route I recommend storing the Custom Data Type in a type palette file and keeping it always backwards compatible as much as possible (only add variables, don't remove or change existing variables).
2) Another way which is less flexible is that you can use RunState.Caller.Locals.foo to access a local variable in the sequence which is calling the current sequence. This creates an interdependency between the two sequences though which can lead to code maintenance problems because someone could change the calling sequence's variables, not realizing a subsequence depended on the variables they are changing.
Hope this helps,
-Doug

Similar Messages

  • How to call test Sequences developed by using CVI Test Execuitve toolkit in Test Stand?

    There is a feature in TestSatnd which can convert CVI sequence to test Stand Sequences. But test stand is not recognising these sequences saying " not a valid CVI test sequence". Is there any version Issues, while converting these sequences to TestStand?

    Hi Scott
    In continuation of previous question..
    As per the suggestion, when I am trying opening one sequence(.SQU) file,developed in CVI Test Executive V 1.0.1., in CVI Test Execcuitve V 2.0.1, Executive is throwing error.
    The Pop Error is " Section [Sequence] missing from sequence file c:\xxx.squ"..
    and when I am trying opening these sequence file in sequence editor, the tool it self is crashing.
    Please suggest!!
    Is there any specific tokens which we need to add in .SQU files of V 1.0.1, so that V 2.0.1 can understand them? Just to check the possibility of manual updation of .SQU files.
    Regards
    Amit

  • Test Stand Shut Down with no reason

    Hello ,
    I'm using Test Stand 4.2 & LabWindows CVI 9.0 .
    I'v created a program that checks 30 cards in Batch mode , using Test Stand as master that calls CVI functions from dll files i'v created .
    In the program there are no error nor warnings But i have a strange problem for every 50 runs of the program I'm facing 1 Complete shut down of TS with no reason or warning .
    TS simply shut down and not showing any message . This problem is very disturbing considering that full check for 30 cards using TS is Approximately 3.5 hours .
    The shut down can occur at any part of the run with no repeated pattern , It can happen after 3 min or after 3 hours And by doing so the user need to restart the entire test from the start because TS 
    didn't produced any Report .
    I'm not denying that the crash can be in the dll files written in CVI but thats in low possibility .
    I'm under Win Xp and using intel core2duo L7400 and 4 MB of RAM . 
    Is there any option to avoid this problem ??
    Thank You , Kobi . 
    Kobi Kalif
    Software Engineer

    Thank u Doug i will check it , for now i have pasted the at the bottom the event viewer application log maybe some as i suspected the problem is in the CVI DLL but i don't know what this Error means 
    Maybe You know ?
    The description for Event ID ( 0 ) in Source ( CVI ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: [11:22:25.140] [FATAL] [LRemoveItem] [..\james\list.c:543] Assertion failed: 0 (itemPosition >= kEndOfList && itemPosition <= (*theList)->numItems).
    The description for Event ID ( 0 ) in Source ( CVI ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: [11:18:43.140] [FATAL] [LRemoveItem] [..\james\list.c:543] Assertion failed: 0 (itemPosition >= kEndOfList && itemPosition <= (*theList)->numItems). 
    Kobi Kalif
    Software Engineer

  • 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

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

  • Can I open the (.squ) sequence files using NI test stand 4.0 version?

    I have the sequence files created using ATETool Kit test Executive. But I have NI 4.0 test stand. I want to open the sequence files using NI 4.0 test stand. Can i do that?

    Hi,
    I am not familiar with ATETool kit Test Executive, but I doubt NI TestStand will open this. As you have both, have you tried it?
    TestStand does have a conversion tool for converting NI TestExecutive sequence files into TestStand sequence files.
    Maybe you could write a conversion tool to make the conversion for you if you have many ATETool kit Test Executive files.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • 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

  • 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

  • Test Stand seq w/ dll batch file execution not working

    I am using Test Stand 4.1, running a seq that calls a dll.  The dll contains a batch file execution function that has not been working properly.  I am not 100% sure what the function is as I do not have access to the direct code from which the dll was created.  I believe I have a file, however please remember this is a guess that I am looking at the correct function/file. 
    This is a Pass/Fail test step that calls a batch file.  The batch file runs properly without the use of Test Stand and called by the dll.  In the code that I believe is running, I see there is a step that I am guessing does not run (see below for test steps).  It seems as though these steps are being "stepped over" and not running, however the test does seem to be entering this function.  The test reports a pass/fail status as the data is reported into a txt file.  If the txt file contains the correct data, the test step reports PASS, even though the batchfile does not run.
    :Note:  [batchfile.bat] is the name of the batch file being called; the [ ] are not present 
    // Run Batch File
     ChkErr(LaunchExecutableEx([batchfile.bat] ,windowState,&handle));   
     // Wait for batch file to complete task
     do{
      ProcessSystemEvents();
     }while(!ExecutableHasTerminated (handle));
     RetireExecutableHandle (handle);
    Any one have any suggestions as to why the batch file is not being called and running properly?
    Thank you
    Jason_C

    Thanks for the feed back.  I have realized and it seems as though sometimes the CWD varies.  The current working directory when the batch file does not run seems to be set to the desktop, not to the specified directory.  The batch file is used to program a chip, calling the exe to run using commands.  The file are speciifed by an absolute path, however the exe is not.  The batch file is as below and seems to match up with a problem with the CWD.  How can change though?  I will have to check in the Start in field, but where can I find that property? 
     Thank You
    --Jason
    del ..\misc\mplab.txt
    echo C:\Program Files\JTRS\01_P55461U\bin\uutsw\CR1_T2V3L_PMM_STUB_LOAD.hex
    ..\misc\pm3cmd /5 /BLCC:\Program Files\JTRS\01_P55461U\misc\t2v3l_pmm_stub_load\t2v3l_pmm_stub_load.pm3 /k /m /y /e >> ..\misc\mplab.txt >> ..\misc\mplab.txt
    ..\misc\pm3cmd /5 /BVCC:\Program Files\JTRS\01_P55461U\misc\t2v3l_pmm_stub_load\t2v3l_pmm_stub_load.pm3 >> ..\misc\mplab.txt

  • What should be specified in object reference field in the first step of sequence file in test stand

    Test stand object Reference field- <The expression cannot be empty>
    It is showing an error like "The .Net property can not be accessible
                                             Object Reference not set to an instance of an object".   
    How it can be resolved?
    Attachments:
    ex1.jpg ‏2305 KB

    I am
    using Singleton Class in .Net. So I need not create object in TestStand. The Get
    property of the class will return its own class object. So the Class Reference
    should be empty only.
    When I
    choose the property manually, I am getting this error. This I am getting only
    when I create this step through C# TestStand APIs. Please help me to remove this
    error in the Class Reference field using TestStand
    APIs.
    Attachments:
    ex2.jpg ‏24 KB

  • 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

  • Javascript in batch sequence stopped working

    The following javascript used in a batch sequence is causing Acrobat to stop working. It was working fine, this problem has happened sometime in the last 2 weeks. This has affected all of our PCs regardless of Acrobat update version. We are running Acrobat 8 (8.15, 8.17, 8.21, 8.25). The only update common to all PCs is Windows Update.
    /* Extract single pages to c:/Adobe */
    // Regular expression used to acquire the base name of file
    var re = /\.pdf$/i;
    // filename is the base name of the file Acrobat is working on
    var filename = this.documentFileName.replace(re,"");
    try {for (var i = 0; i < this.numPages; i++)
    this.extractPages({
    nStart: i,
    cPath: "C:\\Adobe\\"+filename+"_" + i +".pdf"
    } catch (e) { console.println("Aborted: " + e) }
    Any Clues?

    Thanks for the speedy response. I tried this and the problem is still there.
    I did some further testing and the original script, and the new one modified to include your correction, both work if the PDF only has one page.
    With more than one page Acrobat 'has stopped working'

  • 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

Maybe you are looking for

  • ACS 3.3 Windows group mapping problem

    Hi, I?m running Cisco Secure ACS v.3.3 at Win 2000 server(sp4). ACS server is member of AD domain X. Additional there are two AD forests, so: domains X and Y are in the same forest, but domain Z is member of the second one. Trust relationships betwee

  • New Envy 5534 won't print wirelessly

    I have installed a new HP Envy 5534 MFD for my parents. Works fine from workstation where it is wired in with USB2 (single page, scan, copy, duplex) however from a Asus laptop running Win8.1 it will not now print anything. Tested fine when installed,

  • Nearly give up, how to play RTSP / HLS / Smooth Streaming in Visual Basic Language

    I know there are so many samples for playing RTSP / HLS / Smooth Streaming, but it really lacks supporting Visual Basic language, i really struggling to convert from C++ / C# into VB without errors, maybe it would be easier if i can find some VB exam

  • Va01:whay sap say pricing and condition missing data?

    I want use the T-CODE VA01 to create a sale order.When I input one material 001 and it's quantity 250 and save the sale order,the sap show some error message like below.I thought it mean that the item of material 001 in the sale order miss some data

  • Importing psd files into FCP

    Every time I create a layered file in photoshop with fx like bevel and imboss, gradient overlay, inner glow etc, and import it into FCP, it shows up as a layered file (sequence) but does not show any of the fx (eg. text is plain white when it should