[TS 41] UI Auto Load Sequence Files

Hi All
I had a labVIEW UI that could load a sequence file when opened (user could change sequence file at run-time). 
However, when shifting TestStand from 4.0 to 4.1 (and LabVIEW from 8.5 to 8.6). 
The VI still could load the sequence but all the TestStand activex control buttons are disabled so user could not
run the loaded sequence files.  I have no idea why this happen and guess it's about TS API changes from 4.0 to 4.1.
So how do I need to modify my code to achieve this?  (I know we could use command line but I'd prefer the feature
built-in).  I attached my UI (TestStand User interface.vi) and a seququence as a zip file below.
Thank you
Attachments:
Auto Open sequence.zip ‏182 KB

Kirika -
The only thing that would cause the UI controls to be disable is if there is no currently logged in user or if the logged in user has limited privileges. So check the settings on the User Manager tab of the Station Option dialog box between the two instances of TestStand that you are comparing. Are they the same, and if not, what is different? Options include enabling Automatically Login Windows System User and create a default user for yourself. You might try disabling Check User Privileges and leave Require User Login empty, but I think there is a known issue where the \run and \runEntryPoint command-line arguments are ignored when no user is logged in.
Scott Richardson
National Instruments

Similar Messages

  • What is the CVI function use to get the Read-Only attribute of currently loaded sequence file in TS?

    I am working with CVI 8.0 and TS 3.5.  The VCI code is called from the process model (I want to get the attribute of the currently loaded users sequence file)

    Never mind.  I found it.

  • How to manage variables in dynamically loaded sequence

    Variables in dynamically loaded sequence files are not managed properly.
    Steps to reproduce:
    1. Unpack attached zip file
    2. Launch TestStand Sequence Editor
    3. Add directory of unpacked files to Search Directories list (Configure>>Search Directories...)
    4. Set Station Model to unpacked "UpdatedSequentialModel.seq" (Configure>>Station Options...; Model tab in TestStand Sequence Editor)
    5. Load unpacked "A.seq" sequence file  (File>>Open Sequence File.. in TestStand Sequence Editor)
    6. Check "Execute>>Break on First Step"
    7. Run "Test UUTs"
    8. When execution breaks, note the following:
    a) "Locals.SomeVar" contain "The value, which stored in the file" instead of "New value"
    b) Although actual running sequence file is "B.seq", the tab title is: "Test UUTs - A.seq"
    Try also:
    1. To examine "RunState.ProcessModelClient.Data.Seq["MainSequence"].Locals.SomeVar" variable, when breakpoint is set at <End Group> of PreUUT of Station Model "UpdatedSequentialModel.seq".
    2. Open unpacked "B.seq" sequence file in TestStand Sequence Editor and repeat all the checks
    Additional info:
    1. I use TestStand 4.0.0.326
    2. Attached Process Model file "UpdatedSequentialModel.seq" is original "SequentialModel.seq" with only one step "UpdateClientSequence" added in PreUUT.
    3. The source of mentioned above new added step is attached as well.
    thanks.misha
    Attachments:
    UpdateClientSequence1.zip ‏135 KB

    Kristen,
    "Why I architect "My application" this way?"
    "My application" is intended to serve significant amount of test stations and products. Each product is represented by its own test sequence file.
    "My application" and client sequence files are independent products. Client sequence files are responsible for products testing, while "My application" is responsible for common tasks.
    Process Model is most pertinent place to perform common tasks (common for all test stations and for all products).
    Providing supplemental sequence file just to perform SequenceCall, is completely unnatural.
    Moreover, if using SequenceCall, I see no way to update local variables of new launched sequence file, before it starts to execute (step 5 of "Message 3 of 4").
    Thus, the solution, which you propose, cannot satisfy our factory requirements.
    Back to my questions.
    1. Is something wrong with the way, which I implement the task?
    2. Is it possible to implement my task using NI TestStand?
    3. Is my problem caused by incorrect usage of "edit copy" and "runtime copy" of the variable? TestStandReferenceManual says:
    "Built-in properties of steps and sequences are flagged to be shared at run time. For these shared properties, TestStand does not create a unique run-time copy, but instead references the edit-time copy. Any changes to the run-time reference of these built-in properties edits the original Step or Sequence object in the sequence file."
    The variable, which we discussing is not Built-in property.
    4. If previous correct, how differentiate between "edit copy" and "runtime copy" of the variable?
    thanks.misha
    Message Edited by mishaw on 06-05-2008 07:17 AM

  • How to get the loaded client sequence file path/name?

    I added a step in Process model, and wanted to get currently loaded client sequence file name/path. I used the variable of "SequenceFile.Path" but then I realized what I would get is the process model file path, not loaded client sequence file path/name. How can I get loaded client sequence file path/name?
    Thanks!
    Jacky

    I dont understand what you are trying to achieve.  Can you provide more information.
    If you are trying to dynamically load and run a client sequence file at run time you need to make a couple of calls to the TS API from inside the process model, Engine.GetSequenceFileEx to get a reference to your sequence identified by its pathname, and then Execution.ClientFile to tell the process model which sequence you want to run.
    Steve
    There are 10 types of people in the world that understand binary, those that do and those that don't.

  • How to apply Property Loader to all sequences in the Sequence File?

    HI,
    I'm following the help instructions for the Property Loader and it states....
    Use Current Sequence File—Selects the file where the step is located.
    Sequence—Specifies the name of the sequence into which to import variables and properties. The specified sequence must exist in the specified sequence file. Select the <ALL SEQUENCES> tag from the drop-down list to instruct TestStand to import variables and properties for all of the sequences in the specified sequence file. You must specify a valid sequence name for the step to work properly.
    In my specific sequence file I added the Callbacks:  SequenceFileLoad, SequenceFileUnload, PreUUT. In addition to that, my MainSequence is calling 2 subsequences.
    I put the propertyLoader step (setting few values of the SequenceFileGlobals) in the setup section of the SequenceFileLoad, checked the 'Use Current Sequence File' and selected ALL SEQUENCES tag in the 'Sequence' option.  I verified that it does what I wanted.  Then, is it entered the PreUUT subsequnce, the values returned to the "original" values.
    Is that a bug?
    If not, how do I use the PropertyLoader in a sequenceFile that include several subsequences as well as Callback sequences.
    Thanks
    Rafi

    Ooops, sorry about that...
    I forgot to mention....it is TS 3.5.
    As per your questions-- yes they all in the same sequence file. 
         mySeqFile.seq
               SequenceFileLoad
               SdequnceFileUnload
               PreUUT
               Seq1
               Seq2
    AS I said....I put the property loader in the setup of the SequenceFileLoad,  I see that it works properly in that subsequence.  Then, after the SuequenceFileLoad is finished, I do Ctl+F5 for Test UUT's.  I put a breakpoint in the first step of the preUUT subsequence and check the context.  I notice that the variables in the FileGlobals to whom the property loader writes, have been changed back to the original values.
    I'll try to create a simple program to duplicate it but it may take me time as this test station is very busy.
    Thanks
    Rafi

  • How to create an xml to load swf files in sequence?

    hello everyone
    I'm new in web design... I know how to animate in flash, using timeline, frames, layers, twins and so on... But I want to move forward so I want to create a xml to load swf files in sequence and in loop. Each swf file has 8 seconds.You can see the example here in www.cm-seixal.pt.
    I'm not a programmer but I understand how actionscript works... I hope you can help me
    Cheers!
    Ana

    you can use the urlloader class to load your xml file.  use the loader's complete event and the loader's data property to retrieve the data in your xml file.

  • Programatically select a step in a sequence in a sequence file loaded in TestStand sequence editor using C#

    Hi all,
    I have written C# code to load a sequence file dynamically in TestStand Sequence editor. The code is as follows...
    myEngine.PostUIMessage(mySequenceContext.Execution, mySequenceContext.Thread, UIMessageCodes.UIMsg_OpenWindows, 0, null, mySequenceFile, true );
    The code is working fine and I could view the Sequence file opened in TestStand Sequence editor.
    Now, I wish to select one sequence in the opened sequence file to get the details of  the sequence programatically. In other words, I want to simulate a mouse click to a sequence and view the steps associated with that sequence.
    Can anybody give some clues...
    Thanks in advance.

    Hi,
    Also I am getting error like "Index out of range. Source:  TSUISUPP.SelectedSteps   at NationalInstruments.TestStand.Interop.UI.Support.SelectedSteps.AddStep(Step val)". Error code: "-17500; Operation Failed." My code is like
    mySequenceFile = myEngine.GetSequenceFileEx(@"D:\dynamic loaded sequence.seq", 0, TypeConflictHandlerTypes.ConflictHandler_UseGlobalType);
    mySequence = mySequenceFile.GetSequenceByName("First");
    Step myStep = mySequence.GetStep(2, StepGroups.StepGroup_Main);
    SequenceContext mySequenceContext = mySequenceFile.NewEditContext();
    mySequenceContext .AsPropertyObject();
    myEngine.PostUIMessage(mySequenceContext .Execution, mySequenceContext .Thread, UIMessageCodes.UIMsg_OpenWindows, 0, null, mySequenceFile, true);
    ApplicationMgr applicationMgr = (ApplicationMgr)myEngine.GetInternalOption(InternalOptions.InternalOption_ApplicationManager);
    SequenceFileViewMgr sequenceFileViewMgr = (SequenceFileViewMgr)applicationMgr.GetSequenceFileViewMgr(mySequenceFile);
    sequenceFileViewMgr.SelectedSequences.Clear();
    sequenceFileViewMgr.SelectedSequences.AddSequence(mySequence);
    sequenceFileViewMgr.SelectedSteps.AddStep(myStep);
    I am sure that my Sequence selected in the Sequence file loaded has more than 2 steps. Please help me in solving this problem and that in the previous post.
    Thanks,
    Biju kuttan

  • How to load programmat​ically from CVI the specific sequence file in TestStand 3.1

    I am trying to implement TestStand from Windows/CVI 3.1. I need to insert a specific sequence file in TestStand, with all other sequences unloaded. I used TSUI_ApplicationMgrCloseAllSequenceFiles() and TSUI_ApplicationMgrOpenSequenceFile(), but after Username/Password prompt, the TestStand loaded all the old sequences. How to eliminate this?

    Hello,
    I created a function that calls those two methods. When I made a simple CVI button and in a callback for it, I call my function, it does successfully close all open sequencefiles and then load the one I specified; however, it does not work when I call the function just before the call to RunUserInterface! I am very surprised by this and will be bringing it up with our R&D department. There is a simple work-around. Instead of closing all open sequencefiles at the beginning of the OI, close them at the end instead. I have modified the full-featured OI for you and tagged in the code where I made changes. This should do exactly what you want (you may want to change the code around to make it a little cleaner...I left more in code in than I needed for instructive purposes). Please let me know if you have any questions about this. Take care!
    Regards,
    Aaron B.
    National Instruments
    Attachments:
    TestExec.c ‏55 KB

  • Problem with loading a Sequence File - Limited Windows Account

    Dear Sirs,
    I have a problem and a very less time to fix it; so I'm asking for your kind help.
    I have a production PC, with a Debug Deploy License of TS 3.1 and LV 7.1; the operating system is Win XP SP2.
    No problem when I login the session with my Administrator Windows Account; on the contrary, when I try to login with a Limited Windows Account, I'm not able to load my Sequence File, and the text appearing is attached to this message.
    Someone can advise me a solution to quickly solve my problem?
    Thank you very much and Best Regards.
    Stefano 
    Attachments:
    TS_error_winXP_login_limited_account.jpg ‏224 KB

    Stefano,
    if you open files in TestStand, TestStand tracks this in different configuration files (for example for the "most recently used" list). Therefore, TestStand tries to save these changes in the ini-files. It seems to me, that the installationdirectory of TestStand is not permitted to be used for writing for your user login in Windows.
    So you have different solutions here, the simpliest being:
    Give your user the right to write files into the < TestStand >\-folder.
    hope this helps,
    Norbert B.Message Edited by Norbert B on 11-16-2006 07:28 AM
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How to load the sequence file from the process model?

    Does anyone have an example process model that loads a sequence file? The out-of-the-box process models assume the sequence file is already loaded. I want the process model to identify the UUT type and load the appropriate sequence file based on that.

    Mark,
    A better solution to your question can be accomplised if you have TestStand 2.0.
    Within the entry point of a process modle you can set the client sequence using Execution.ClientFile(). This is a new method of TestStand 2.0. It was specifically designed so that you could dynamically set the client sequence within the process model.
    Currently the entry points in the default process models (i.e. Test UUTs and Single Pass) are configured to Show Entry Point When Client File Window is Active. This means that you must open and have active a client sequence file before you can execute one of the entry point. You probably do not want this implementation if you are going to set the client file during the entry point execution. To change this you will need to go the sequence properties of your entry point (while the sequence is open select Edit>>Sequence Properties), switch to the Model tab of the entry point's property dialog box, and enable Show Entry Point For All Windows. The entry point will then appear whether or not you have an open sequence file active.
    You will need to add at least 3 steps to your entry point sequence that all use the ActiveX Automation Adapter. Remember that MUST disable Record Results for any step you add to the process model. The 3 steps will perform the following tasks:
    1) Obtains a sequence file reference of the file that you want to be the client sequence file. You will need to use the Engine.GetSequenceFileEx method. You will need a local variable (ActiveX data type) in which to store the sequence file reference.
    2) Set the client sequence file using the Execution.ClientFile property.
    3) Close the reference to the client sequence file in the Cleanup step group of your entry point sequence using Engine.ReleaseSequenceFileEx
    I am attaching a SequenceModel.seq file (the default process model in TestStand 2.0) in which we have modified the TestUUTs entry point as described above.
    Note that you'll be prompted to enter the path to your client sequence file. This is a message popup that you can delete and it was added for your review only.
    Good luck in your project,
    Azucena Perez
    National Instruments
    Attachments:
    sequentialmodel.seq ‏164 KB

  • Sequence file Version number. How to prevent the automatic resetting build version number whilst auto-incrementing revision number?

    Hi,
    I've got my environment set this way that each save of the sequence file increase the revision part of version number. However, during that increase the build counter is reset to 0. How to prevent it?
    TS 4.2

    Mimi,
    It is pretty common practice in software revisioning to reset a minor number to 0 when a major moves up 1.  There are many different schemes out there.  If you google or bing software versioning schemes you'll see what I'm talking about.
    So looking at it from left to right:  Major.Minor.Revision.Build = 0.0.0.1 
    if you change the Revision it would be expected that anything to the right (in this case Build) would reset to 0.  0.0.1.0!
    Let's say your version is 8.34.56.23.  It would make sense that if you were to change the Major number (which means a Major release) to 9 then your version would go to: 9.0.0.0. 
    A version number is just a unique way to tell someone which specific software you are using so it really doesn't matter that it resets to 0.  Although it makes sense because if you kept your build number sequential and didn't reset it then it would get outrageously larger which would be more annoying than anything. 
    Again this is common accepted practice in industry.
    Good Luck,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Unable to save the file because a sequence file with that path is already loaded.

    Hi,
    I am very new to TestStand tool. I does the following steps to execute sequences
    1. Created New sequence file and stored same.
    2. Execute the sequence
    3. Release the file and engine shutdown(flase)
    4. Run again same sequence file(again I am Saving), then I am getting above error.
                  This all developed in VC++.NET. Please suggest me that to over come this problem with sample code.
    regards
    Raghavendra K

    Hi rkk,
    i am sorry for late replay. Please try this and tell me if there is still problem:objSequenceFile->Save(Application:tartupPath +"FileName");
    objEngine->ReleaseSequenceFileEx(objSequenceFile, ReleaseSeqFileOptions::ReleaseSeqFile_NoOptions);
    objEngine->UnloadAllModules();
    //objSequenceFile->UnloadModules();
    objEngine->ShutDown(false);
    Regards
    MY

  • Auto run vi after loading path file

    I was wondering if there is a way to automatically run a VI after you click on "OK" to load a file from the file path control as opposed to selecting file and then manually clicking run each time on the front panel toolbar.  I attached the simplified VI and txt file to be plotted for clarity.
    Attachments:
    Load Data-Plot.vi ‏135 KB
    Test-linear.txt ‏121 KB

    So I tried what you suggested and I believe it's working like you said it would.  For situations where you would select multiple files, I put the event structure inside the while loop.  One thing I noticed is if you select a file and the VI runs and then select the same file again...a error pops up in the "Read from Measurement File" object.  Is there a way to ignore this error?  It works fine if you select a different file otherwise.
    Attachments:
    Load Data-Plot.vi ‏131 KB

  • Sequence file load takes forever

    When I select TEST UUT, the test exec seems (to the operator) to be doing nothing.  I'll probably have to display an hourglass (different discussion forum) to give some type of indication of life.  What exactly is TestStand doing that takes so long (upto 25s) before starting the first test?  Is the hourglass the best solution, or is there a sequence file (pre/post validation) setting that I should check to improve performance.

    Hi,
    This is not normal behaviour. You need to track down where the delay is.
    Is it in the Process Model or your SequenceFile?
    Have you got search paths that are network paths or are they all local.?
    Check your Search Directories. If you have network paths and you dont need them, then delete or disable them.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • How to revert changes made to sequence file dynamicall​y

    Problem synopsis:
    1. TestUUTs entry point of custom process model, which is based on NI SequentialModel is being executed.
    2. PreUUT step of process model set Execution.ClientFile according to serial number, provided by operator.
    3. During sequence execution step module inserts additional steps into running sequence.
    4. After first UUT loop iteration sequence contain all the original steps plus all the steps, which were added dynamically.  This is exactly what I need.
    5. Next UUT loop iteration is executing on updated sequence file. This is what I trying to prevent.
    This design is serving following requirements:
    a) dynamically load test sequence
    b) dynamically add test results.
    So my question is: how to implement this correctly?
    I tried to release sequence file of previous iteration ("Engine.ReleaseSequenceFileEx") but it "SequenceFile.CanUnload==false" and "SequenceFile.IsExecuting==true".
    But this happens during execution of PreUUT of process model. I think, at this point client sequence shall not be executing.
    Steps 2. and 3. (see above) are executed in dll written using MS VC++ 2005.
    TestStand is 3.5.0.725
    Help me please.
    Thanks,
    Misha

    rishi_86 wrote:
    i have created a jTable in netbeans6. The table model is DefaultTableModel.
    i'm not understanding the concept of firecellupdate and other events listeners.
    i want the changes i make to the table during runtime to be written into a Text file.
    any help would be greatly appreciated.you need to add the TableModelListener to your table model.
    for example:
    model.addTableModelListener(new TableModelListener() {
                public void tableChanged(TableModelEvent e) {
                    // TODO Auto-generated method stub               
             });then, you need to put your custom business logic(saving data to a text file, etc) into the tableChanged method.
    From TableModelEvent you can get all information about the model changes.

Maybe you are looking for