Sequence file path programmed in operator interface

Hello,
I do not want to load the sequence file with the button OPEN_FILE etc.. for example how it is done in th Simple Operator Interface. I want to programm the path and the sequence file name in the Operator Interface. How can I do this that the correct file will be loaded
regards
samuel

I try to explain what you have to do without an example, because it is realy simple, and so we have no version dependency ;-)
I used the "simple operator interface" installed with TestStand (..\National Instruments\TestStand 3.x\Operator\Interfaces\NI\Simple\LabVIEW\TestExec​.llb\Simple OI - Top-Level.vi). I added the method mentioned above in front of the Event-Structure (See attached picture)  and added a path-constant, to define which Sequence should be loaded automatically.
Try this out. It works fine on my machine (LabVIEW 8.2.1, TestStand 3.5, but should be independent of Versions as long as you have TestStand 3 and LabVIEW 7 at least).
Hope this helps!
André
Message Edited by Andre_Saller on 04-25-2007 11:34 AM
Attachments:
Autoload.jpg ‏167 KB

Similar Messages

  • How to get Sequence file path In "Sequentia​lModel.Seq​"?

    Hello
    I need to get the sequence file path in "SequentialModel.seq" before the "GetReportoptions" Callback is called.
    I found that step "Determine Report File Path" in "Sequenctialmodel.seq" returns the sequence file path but i.e after executing quite a series of steps.
    i need to get  this sequence file path in the starting of "SequentialModel.seq".
    looking forward to hear from you
    Thanks n Regards
    Kulwant

    Hello Kulwant,
    try "RunState.InitialSelection.SelectedFile.Path" or "RunState.ProcessModelClient.Path" at the beginning of SequentialModel.seq please.
    Regards
    MY

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

  • Teststand 1.03 - How can I get the sequence file path into an expression?

    The sequence file will be located at different locations on different computers. I need the base address of the sequence file to get to the correct limits file. How can I get the sequence file path into a string-local expression.
    Thanks

    As Ray described, the FindFile expression function and TS API method will seach all TS search directories and return to you the path of your file, assuming the file is located in the search directories.
    If you just want the path of a TS file that you have a reference to then there is a faster, easier method. You can use the Path property of the PropertyObjectFile class. In the attached example I use an AcitiveX Automation adapter step to call Path on the property RunState.SequenceFile. This returns the path to the current executing sequence file. Note that if you have not yet saved the sequence file then the path will be empty. In a subsequence step I strip off the file name leaving the root path of the file.
    Attachments:
    GetSeqFilePath.seq ‏22 KB

  • How to call sequence in LabVIEW by providing sequence file path.

    Hi,
        Please provide me a solution to call sequence file from LabVIEW ActiveX API's by inputting sequence path to LabVIEW user interface.
    Thank you
    Yuvaraj
    Solved!
    Go to Solution.

    Here is a link that I gave some pointers on how to run an Open Sequence file via Single Pass.
    http://forums.ni.com/t5/NI-TestStand/Direct-execut​ion-of-the-sequence-when-UI-launches/m-p/2000819#M​...
    How are you launching this sequence, is the user selecting the sequence on disk?    Is it already open in a SequenceViewMgr control?
    Would an operator interface be more applicable to your situation?
    Thanks,
    PH

  • Is there a way to keep Deployment Utility from modifying sequence file paths?

    While the Deployment Utility appears to be a great tool, it does some things that I'd rather it didn't. One is that it modifies all paths in sequence that it is including from Absolute to Relative. While this is a nice feature for many reasons, it is a show-stopper for our uses. This is because as part of our distribution process, we also use a checksum routine to verify that the sequence files being run by the operators on the Test Stations we deploy to are running the correct (unmodified) version of the test software. By using Absolute paths, we can detect and prevent accidental editing/changing of the sequences or paths that we have deployed, but if we have to use relative paths that is something that we could work with also.
    So my questions are: 1. Can this path update 'feature' be disabled? and 2. If not, then will pre-setting all paths in a sequence cause the deployment utility to only copy the file and not update it (thus changing it's checksum)?
    I'm going to test the latter when I have time, and if there are any other suggestions that might be useful, I'm love to hear them.
    Thanks,
    -Jack 

    Rick,
    In my experimentation to see if using relative paths, I was able to prove that a sequence that uses them will not be updated - with one caveat; if the path that is referenced by the sequence is not itself in a sub-directory, i.e.; it's in a different branch of the relative directory structure with respect to the Target (such as the TestStand directory), then the sequence file is always updated and re-saved. An example is that we have a sequence in the Tools directory that calls a DLL in the FrontEnd directory of the Components\User path. This re-saving causes a checksum change and screws up our verification mechanism. 
    It is unfortunate that I cannot prevent the deployment utility from modifying sequence files - Since we control the entire Test environment, including the location that software gets installed to - Test Station custodians can't go installing the software in a different location, or worse, multiple locations, so we don't have the issue to worry about.
    Because of this 'better' method, we now have to re-evaluate how to control the installed version of the software, or use a different installer, such as CVI, which while it has been working for us, has it 's own issues that we're trying to get away from. I'm glad that I am finding out about this now before I've locked down the sequences so that I can probably move the features in the Tools to the Frontend Callback sequence. 
    It's almost always the case thought that one persons forced enhancement is another's 'feature' or worse 'bug'.
    Thanks for confirming the behavior on the Deployment utility for me.
    -Jack

  • I want to Access the Sequence File Comment In the User Interface...

    I can access the comment from the MainSequence of the Sequence, but not the sequence comment (SeqEditor: Edit->Sequence File Properties...).
    I'm using the following C command:
    TS_PropertyGetProperty (panelRec->seqFile->seqFileH, &errorInfo, TS_PropertyComment, CAVT_CSTRING, &psCommentStr);
    the psCommentStr comes up empty and I get no errors, although, I know that there is a comment entered in the field. I added this call to the UpdateOnSequenceChange function of seqdisp.c of the Example User Interface.
    I'm pretty sure that this should work, but all I get is a "" (Empty string).

    Hi Capt. Jack,
    The comment property of a sequence file is not stored in the PropertyObject of the sequence file itself. It is instead stored in the sequence file's PropertyObjectFile.Data PropertyObject's PropertyObject.Comment property. There is a KnowledgeBase document at the following link that explains this along with an easy to follow sequence file example that uses ActiveX Automation Adapter steps to access the sequence file's own comment property in the manner mentioned above:
    Link -> http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/64fbaf3526e8511786256bd1006b8e1c?OpenDocument
    Jason F.
    Applications Engineer
    National Instruments
    www.ni.com/ask

  • Image Sequence file paths from JS

    Hi,
    What is the best way to get the list of file paths to the various Images in a Sequence?
    Looking at theItem.file and theItem.mainSource.file seems to just be giving me the first path. How can I find the subsequent paths?
    Thanks!
    -Harold

    They indeed are, and with some string manipulation they can be divined.
    The C++ api provides nice "Get Path at Frame" functionality however. :D

  • Programatically Loading Several Sequences Using LV Simple Operator Interface

    I am playing around with the supplied LV(2009) Simple Operator Interface for running TestStand (4.2) and hoping that someone can point me in the right direction.  I know this may be too generic for a concise solution, but hopefully I can get some suggestions on the best approach for this. Here is a short description of what I am trying to accomplish. 
    I am testing 2 unique UUTs on a single test fixture that is controlled by a PCI-7831R DAQ.  Each UUT will have a unique serial number and report generated.  Therefore, I am using 2 unique sequence files created using TestStand.  Basically, I want to be able to read in a barcode on the test fixture and have the operator interface load the 2 unique sequence files based on information contained in the barcode.  The operator will then hit a button to start the sequence file executions.  I want the first sequence file to run and test the first UUT.  Once the first sequence file is finished, I want the second sequence file to load and run on the second UUT.
    I can use the simple operator interface to load both sequence files.  I then have to select the combo box to select which one I want to run.  This works fine, however, I am trying to automate this so that the operator doesn't have to open the files and continually use the combo box to select sequence files.
    Any ideas or suggestions would be greatly appreciated.

    I have figured out a solution (for my initial application at least) of programmatically loading the sequence files.  When the operator interface first starts, there is a prompt where the user will scan a barcode that is loaded on the front of the fixture.  For all of our product lines, we will have a unique format for the fixture barcode.  Included in this barcode is a product specific software ID number.  I create a folder with the same software ID number and store the sequence files there.  I then parse the barcode and open all *.seq files in that folder.  I have this working correctly now. 
    Once the sequence files are opened, the user must scan each UUT ID barcode before installing them on the fixture.  The intent is to have both UUTs installed on the fixture at the same time so they can be tested serially.  If, however, they do not scan one of the UUTs, it will not be tested.  Basically this is due to the fact that they may want to run only a single board.  Once all of the UUT barcode scanning has been completed, I have another button that will execute the sequence files using the 'Single Pass' execution entry point.  I agree that the 'Single Pass' and 'Test UUTs' points should be hidden from the user.  Once the execute test(s) button is pressed, it will check each UUT barcode to make sure that it is valid.  If both UUT's have valid barcodes, it will run the first UUT and then the second using the 2 sequence files that were previously loaded, otherwise, it will run only one or the other.  The UUT(s) will then be removed and the process starts over again from the UUT ID barcode scanning.  They will not have to scan the fixture barcode again since the correct sequence files have already been loaded.
    Currently I have the UUT/Sequence File associations hard-coded in the UI.  I will need to put my thinking cap on so that as we increase the product lines (several are already in the pipeline) we can use the same UI without any modifications.  Scalability is King!

  • Send UI meassages from teststand sequence to Simple CVI Operator Interface with Asynchronous Timer

    Hello,
    Is it possible and how is it possible to send UI meassages from a teststand sequence to the Simple CVI Operator Interface with Asynchronous Timer which could be downloaded from NI Hompage. I use this problems because it is more stable than the standard OIs
    regards samuel

    This post could help:
    http://forums.ni.com/ni/board/message?board.id=330&message.id=7567
    Regards.

  • Sequence file version conflicts - TS_EngineNewExecution

    Hej NI Community,
    I have programmed an stand alone application, which can execute sequence files. The CVI application is programmed with CVI 7.0 and Teststand API 4.0. You can select a sequence file and run the application without the SequenceFileEditor...
    My sequence file is programmed under Teststand 4.1 and uses sequence file library functions, which are developed with Teststand 4.0 (stored in different sequence files).
    I can run the sequence file under Teststand 4.1 (SequenceFileEditor) without any error messages. My own application cannot run the sequence file. The function TS_EngineNewExecution comes back with a error message:
    Error code: -2147352567
    CA automation error string: Ausnahmefehler aufgetreten.
    Teststand API error information:
    wCode: 0
    sCode: -17329
    source: TSAPI
    description: Error loading step 'In-Circuit-Test' of sequence 'MainSequence' in file 'bscan_demo.seq'.
    Error loading step 'Insert name of step into operator interface' of sequence 'Load and run ICT program' in file 'Test_Library.seq'.
    Type 'NumericLimitTest' is invalid because it conflicts with the existing type of that name. To avoid this error message, you should open the file with the type conflict in the Sequence Editor and resave it.
    The sequence file 'C:\Program Files\Sequences\Utility_Library.seq' could not be loaded.
    helpFile:
    helpContext: 0
    errorParamPos: -1
    I can resave the sequence to avoid this message. My own application can execute the sequence file after resaving. The library is saved now in Teststand 4.1 format. But this is not my interest.
    Can anyone tell me, why the sequence editor (4.1) don't show me any error? How must I program my own application to avoid this error message?
    Thanks a lot.
    Solved!
    Go to Solution.

    Hej,
    I'm posting my tracefile. I think its easier to unterstand. Here are tracing with the error:
    0.000s      Program started
    0.000s      Tracing started
    0.002s      Function LoadPanel finished with no errors
    0.000s      Initialize Teststand Engine
    0.892s      Function -->   TS_NewEngine finished with no errors
    0.000s      Function -->   TS_EngineRegisterUIMessageCallback finished with no errors
    0.001s      Function -->   TS_EngineSetProperty finished with no errors
    0.000s      Function InitEngine finished with no errors
    0.000s      Start login process
    0.000s      Function -->   TS_EngineNewPropertyObject finished with no errors
    0.000s      Function -->   TS_PropertySetValBoolean finished with no errors
    0.000s      Function -->   TS_PropertySetValBoolean finished with no errors
    0.030s      Function -->   TS_EngineCallFrontEndCallback finished with no errors
    0.000s      Function -->   TS_ExecutionGetProperty finished with no errors
    0.000s      Function CallLoginLogoutCallback finished with no errors
    0.000s      Show panel behind logon panel
    0.017s      Function -->   CA_CreateObjHandleFromIDispatch finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.003s      Function -->   CA_CreateObjHandleFromIDispatch finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.011s      Function -->   CA_CreateObjHandleFromIDispatch finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.224s      Function -->   CA_CreateObjHandleFromIDispatch finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.247s      Waiting for Login
    0.500s      Waiting for Login
    0.086s      Function -->   CA_CreateObjHandleFromIDispatch finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   CA_CreateObjHandleFromIDispatch finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_ExecutionGetProperty finished with no errors
    0.005s      Logon process done
    0.000s      Check user
    0.000s      Function -->   TS_EngineGetCurrentUser finished with no errors
    0.000s      User can run any sequence
    0.000s      Function CheckUserPrivilege finished with no errors
    0.000s      Open sequence
    0.000s      Show file select popup window
    1.297s      Function -->   TS_EngineGetSeqFile finished with no errors
    0.000s      Sequence file path is:
    0.000s      c:\Program Files\Spectral Electronic\SW-ITS\Projects\BScan_Demo\bscan_demo.seq
    0.000s      Function OpenSequence finished with no errors
    0.000s      Check sequence
    0.000s      Function -->   TS_SeqFileSequenceNameExists finished with no errors
    0.000s      Function -->   TS_SeqFileSequenceNameExists finished with no errors
    0.000s      Function -->   TS_SeqFileSequenceNameExists finished with no errors
    0.000s      Function -->   TS_SeqFileSequenceNameExists finished with no errors
    0.000s      Function -->   TS_SeqFileSequenceNameExists finished with no errors
    0.000s      Function -->   TS_SeqFileSequenceNameExists finished with no errors
    0.000s      All sequences found, iStartSequence automatically true
    0.000s      Function CheckSequence finished with no errors
    0.000s      Start execution of loaded sequecence
    0.248s      Function -->   TS_SeqFileGetModelSeqFile finished with no errors
    3.123s      An error has occurred in function: -->   TS_EngineNewExecution useProcessModel
    Error code: -2147352567
    CA automation error string: Ausnahmefehler aufgetreten.
    Teststand API error information:
    wCode: 0
    sCode: -17329
    source: TSAPI
    description: Error loading step 'In-Circuit-Test' of sequence 'MainSequence' in file 'bscan_demo.seq'.
    Error loading step 'Insert name of step into operator interface' of sequence 'Load and run ICT program' in file 'Test_Library.seq'.
    Type 'NumericLimitTest' is invalid because it conflicts with the existing type of that name. To avoid this error message, you should open the file with the type conflict in the Sequence Editor and resave it.
    The sequence file 'C:\Program Files\Spectral Electronic\SW-ITS\Sequences\Utility_Library.seq' could not be loaded.
    helpFile:
    helpContext: 0
    errorParamPos: -1
    0.015s      Function -->   CA_CreateObjHandleFromIDispatch finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   CA_CreateObjHandleFromIDispatch finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    0.000s      Function -->   TS_UIMessageGetProperty finished with no errors
    4.303s      An error has occurred in function: ExecuteSequence -> Test UUTs
    Error code: -1
    Error message: No error message
    0.628s      Start free all resources
    1.060s      Free all resources done
    0.000s      Tracing stopped
    0.000s      Programm ended

  • Import sequence files from 29.976 to 23.976....HELP!

    Hi All,
    Can someone help me with this very annoying issue.
    I work with Nuke X, Assimilate Scratch and  Maya.  99% of the time I am transfering image sequence files from program to program.
    When I import a sequence file into premiere cs5 or even cs4, the sequence comes in with a DEFAULT FRAME RATE of 29.976.
    I work in 24 or 23.976 frame projects. I ALWAYS have to go Rick click/Modify/ interpret footage and change to 23.976.
    Is there a way to set up cs5 to assume 23.976  as a default frame rate for image sequences?
    Also, Part two question:
    I bought a video card that uses the MPE in cs5 and it works great. I could layer the heck out of the timelime.
    But Only if the footage is from RED, Canon, quicktime, mpeg, etc.. If I  import my image sequence files, I DO NOT get fluid playback.
    Does anyone out there get fluid playback from targas, DPX, Tiffs?
    Thanks,
    Lou

    Holy Crap ! You Did it!!!
    I have been changing that freakin thing from 29.976 to 23.976 , ten times a day, for 2 years.
    I can 't believe it has been sitting there all that time. Then again, I wrote on Creative cow forum a while back, and nobody knew how to fix that.
    So...... you D Man
    A bug in CS5?
    Yeah that figures,  Of course it would be a bug in importing  sequences. Just my luck.
    I bought the new Mocha 2.0 which now has NUKEX importing.....
    I spent 3 days trying to figure out why my timeline was off by 1 frame when importing....
    Found out "Its a Bug" and had to wait for 2.01
    My whole life is all about updates.

  • Can Not execute a TS Sequence File with VIs that are already being compile in my Custom TS Operator Interface

    I have build a custom TS Operator Interface (Executable) with some custom VI(s)(GOOP VIs). I want to be able to call the same custom VI(s) from Teststand Sequences. When i try ti launch the sequence from my TS OI i got an error message, because LabVIEW Run Time find the same VI(s) from two different location : the OI and the sequence.
    I would like to know, that is the best approach to resolve this problem.
    For the moment i got two solutions :
    (1) dynamically calling the VI(s) in the OI (executable)
    (2)Changing the name of the VIs in the TS sequence.
    I would like to know if it exist an another solution ?
    thank you
    derek

    For the moment the VI�s that are shared between the sequencefile�s and the operator interface, are used as code module in the sequencefile�s (not as sub vi in the code module).
    On the target system I will got my custom operator interface (which is build from the Testexec.llb + my goop VI�s). My goop VI�s are statically link to my operator interface.
    (I will say that my executable are on the C drive : C:\Testexec.exe)
    My sequencefile�s and the differents VI�s of each step is deploy with the TestStand deployment wizard. A library with all the vi�s call by the sequencefiles are group in SupportVIs.llb. (the sequencefiles and the VI�s library are on the C drive too)
    For exemple I will say that I got a foo.vi (goop
    method) which is build in the operator interface testexec.exe. The same foo.vi is call (as code module) by a step of one of my sequencefile�s.
    When I try to launch the sequence with the operator interface, The LabVIEW Run Time inform me that he can�t load step "foo" of sequence �MainSequence� because he find 2 VI�s with the same name in 2 different location (C:\Testexec.exe\foo.vi) and (C:\SupportVIs.llb\foo.vi.
    If you got a sample example, i will be glad to see it.
    Thank you Ray for your help.
    Derek

  • Error Loading a VI of a sequence in operator interface (Error Code -18002)

    I am deploying a teststand sequence using LabVIEW adapter. After deploying, while running this sequence in operator interface in the deployment computer, I get an error saying that a particular step could not be loaded. This step calls a DIO initialization VI which basically uses DIO Port Config.vi from Traditional DAQ 7.4.4 version. Please see the attached image.
    Software Versions Used: Teststand 4.0.1f1, LabVIEW 8.5, Traditional DAQ 7.4.4, Simple OI shipped with Teststand, windows XP
    From couple of links from www.ni.com, I did following actions in my development computer:
    1. Compile All the VI in LV 8.5 using Mass Compile including Traditional DAQ LLBs, simple operator interface etc.
    2. Check if any VI or step is not broken.
    After getting the error, I tried opening the same sequence in sequence editor in deployment computer (I am also including sequence editor with the deployment utility), I checked DIO Initialization step. I see the warning in step indicating that the VI is either broken or one of its sub is not located. I tried using Reload VI Prototype, it asks for LVDAQ.dll which is also bundled in my deployment files. After specifying this dll, I can run this sequence without errors but after I exit from sequence editor, it does not save the changes and I get the same error in Operator interface as well in sequence editor after re launching. Also I dont want to reload VI prototype as I dont expect some to do this change after deploying the testsequence.
    Kindly help.
    Thanks in advance.
    Nirmal
    Attachments:
    Auto_Cal_18002 Error11.JPG ‏25 KB

    I found solution for this. While creating the workspace for my sequence and other files, I used to include all the files including the LabVIEW VIs. Doing this, DIO Config VI seemed getting confused while searching for LVDAQ.DLL in the deployment computer.
    I tried only including the test sequence and letting the teststand deployment utility select the VIs from the specified directory resolved this issue. I observed that in this case, all the sub vi and the support dlls gets placed in the support and data folder respectively. This resolved the issue.
    Regards,
    Nirmal

  • How to disable the run-time popup menu in the sequence display on TestStand Operator Interface, that allow the use to skip the test?

    How to disable the run-time popup menu in the sequence display on TestStand Operator Interface, that allow the use to skip the test?

    Hello,
                  Regarding the skip/force pass/force fail options, when I set the ControlExecFlow to True in Teststand 3.1 and 3.5, in the Sequence Editor the menu options for skip/force pass/force fail are not active for Technician but, when I launch the Operator Interface logged with Technician the options are active. The problem is that if the technician sets one step to one of these options, and change the user to Operator, the test step remains skip/force pass.
                  Is there any possibility without modifying the Operator Interface (at programming level), to reload default values of the steps when changing the user to Operator?
    Thank you,
    Best regards,
    paio

Maybe you are looking for

  • BPM Loop controlled by time

    I'm working in a scenario mapping n:1 message. In my case i need receive a number(100) of message until process mapping transformation will be executed. But i need too the loop that receive message and save in a multiline container break when one hou

  • Problem with Skype/Microsoft 365 subscription

    I'm not sure if anyone else has experienced this but... I used my skype subscription minutes (as part of my Microsoft 365 subscription account) for the first time ever for just under a half an hour on November 4th, and again today - again for just un

  • Broken power board ZIF and buzzing noise

    Hey all, This is my first post on the forum! Thanks so much for providing such a welcoming atmosphere. I have a GE70 20E laptop that I disassembled recently to do some repairs on, and when I was putting it back together I snapped the little black pla

  • My tab button is not working

    Whenever I want to open a new tab I try the tab button but it does not respond.

  • OPEN lcur_trade_cursor FOR select Syntax

    HI I am new to cursors .i am seeing this code in my package .any help what the code in block will do?what for this is defined ? or can u please explain the behaviour of this cursor meaning the data how populated? I would like to understand especially