Getting sequence main group steps via LabVIEW

Hi everyone,
I try to solved next task. I have LabVIEW Operator UI for execution sequence files, use callbacks for actions updates (load sequence file, entry point, etc.) and I need replace TestStand UI SequenceView Control by customized indicators, which will contain only Main group steps (names + limits + units + results). I was searching for TestStand API (object which contain all necessary parameters) which can be passed to LabVIEW. Does anybody know such things? Thanks.
Best regards, Sergii

Hi Jesse,
My Sequence file contains Numeric Limit test and Multiple Numeric Limit Test steps. I try to display in Execution Display Limits for steps + measured values in separate columns. For this purposes I configure SequenceView property. In column section I've created new column Low Limit and for Column properties: Type use expression.
For Numeric Limit I use next expression: Test Step.StepType.Name =="NumericLimitTest"? Step.Limits.Low :"".
For this step type it's valid. I try do same for Multiple Numeric Limit Test, to show all Low Limit for each measurement within one step. I create Step.StepType.Name ==  "NI_MultipleNumericLimitTest" ? Step.Result.Measurement[0].Limits.Low : ""  for Low Limit, but it's shows only one element. I was searching how can I display all low limits for one Multiple numeric limit test. My idea was repeat  Step.Result.Measurement[i].Limits.Low  for each measurement and then display results ("concatenate" each result) for one step, but I didn't found how to do that.
For example:
Step                                      Low Limit
Multiple Numeric Test 1            0
                                                  10
Multiple Numeric Test 2            5
                                                  15
Could you help me with advice? Thank you.
Best

Similar Messages

  • RunState.Sequence.Main vs RunState.SequenceFile??? When using Deployed Software??

    RunState.Sequence.Main vs RunState.SequenceFile???  When using Deployed Software??
    Can someone explain to me why when I use something like->
    RunState.SequenceFile.Data.Seq["Test Seq"].Main["Test Step"].Result.Status
    the status will never be updated if I am configured for LabVIEW Run-Time Engine (but will work for Development System).
    Also why does->
    RunState.Sequence.Main["Test Step"].Result.Status
    update for both LabVIEW Run-Time Engine and Development?
    I fixed my problem by using RunState.Sequence.Main["Test Step"].Result.Status but I still am curious why the other way doesn't work???  Can someone please give me a sanity check?
    Thank you very much!
    Solved!
    Go to Solution.

    RunState.SequenceFile.Data.Seq contains the edit time copy of the sequences. These copies are not used at all at runtime. At runtime a separate copy is made (and is accessible from RunState.Sequence) and only that runtime copy is updated. These runtime copies are made for several reasons such as the following:
    1) To make it so that modifications made to the sequence at runtime, do not affect the original edit time version of the file (you don't want modifying the status to be an edit to the sequence file right?).
    2) To support recursion, recursive calls into the same sequence each have their own copy of the sequence so that the state for a call isn't overwritten by a recursively made call to the same sequence.
    There are probably other reasons as well, but these are probably the biggest ones.
    -Doug

  • How to get sequence overall result in LabView ?

    Hello,
    Would anyone can help with this tiny problem ?
    We have a batch (.bat) that launches a given list of TestStand sequences, which works as expected.
    However, we would like to monitor the result of each sequence and display it to the operator.
    Our idea is to get the sequence result in a VI, run at sequence end, and add it to a queue, that will be retrieved and displayed on a VI monitor, run separetly.
    The only problem we have left is to be able to retrieve the sequence global result. Any idea or suggestion ?
    Thanks
    Raphael
    Solved!
    Go to Solution.

    Thanks. The problem is not the monitor and how to pass the information to it.
    We already have a test monitor (using queues) that is working as expected.
    The test sequence is queuing information, mainly at steps end with step result, and the monitor is displaying information from that queue. The queue is resseted at each sequence start.
    We would like to derivate that monitor to display only sequences (launched by a batch file) overall-global-final result of all the sequences ran. Using UImessage is maybe a better way, but we do not want to spend time re-writing another monitor.
    The problem is how do we retrieve this overall-global-final sequence result in LabVIEW ?

  • How do I redirect execution to a specific step in the upper most sequence (Main.seq) from however deep th

    e program may be in the call stack when an operator makes a selection on the LabVIEW operator interface? My goal is to allow an operator to break out of multiple nested loops, while insuring the completion of the remainder of the upper most level sequence.I cannot put these (remainder) items in the Cleanup group because they contain multiple nested loops themselves.
    Thank-you

    e program may be in the call stack when an operator makes a selection on the LabVIEW operator interface? My goal is to allow an operator to break out of multiple nested loops, while insuring the completion of the remainder of the upper most level sequence.Hi Jacy,
    I've done this through the PostStep Engine callback. I use a flag set at the appropriate level (in the attached example it's a file global) and I look at this, plus the name of the current sequence and the current step's step group to find out if I should set the Runstate.Caller.Runstate.NextStepIndex to the last step (actually ) in the current step group. (Make sense? - Although I have a Parameters.Step in the callback sequence, I need to find out the sequence that called it to control where that sequence goes next)
    This then does a globalised "skip" on every step so that it exits back up to the top level. You could check for other flags, such as a list of critical sequence names that have to execute, or even skip out of a cleanup by modifying t
    he precondition of the statement step in the SequencePostStep callback.Each of the steps have a little comment.
    If you wanted to check a flag again, insert a step at the end of each sequence, and change the PostStep callback sequence's statement step to go one step less than the end of the sequence.
    Hope this helps
    Sacha
    // it takes almost no time to rate an answer
    Attachments:
    fast_quit.seq ‏38 KB

  • Get Name of Future Step in TestStand Sequence

    Hello All,
      Working on a sequence of numeric limit tests, and need to set the limits programatically, based on an imported configuration file.  I use a simple action call to set the limits with a code module (TestStand Set Property Value function), but in order to make the code module reusable, I need to pass in the step name for the test step it applies to, each time I call it.  The problem is that the step that each limit applies to is several steps later in the sequence.  I know that I can get the name of the next step (RunState.NextStep.Name) but need to know if it is possible to get names of later steps as well.  I'm guessing it may have something to do with the "NextStepIndex" function, but can't seem to get the context right.  Please advise.  Thanks in advance.
    GSinMN

    Figured it out myself.
    Locals."Variable To Set" = RunState.Sequence.GetStep((RunState.Sequence.GetStepIndex(Step.Name, StepGroup_Main))+"Number of steps in Future",StepGroup_Main).Name
    Where "variable to set" is the name of the variable you are assigning the step name to and "number of steps in future" is an integer that represents the index with respect to the current step (i.e. 2 would mean the second step after the current step).
    GSinMN

  • I'm using a Dell Inspiron 7520 ... pretty new. Sometimes when I download a CD / album to my library acouple of tracks get separated away from the main group. I've tried to click and drag the stragglers over to the main group but it doesn't work. Any Ideas

    .When installing a CD/album into my library some of the tracks get separated away from the main group of tracks. I try to click and drag the stragglers to the main group but it doesn't work. My laptop is using Windows 8. My old XP laptop didn't have this problem. I'm not sure if that has any thing to do with it. Any ideas would be appreciated. It's more of an irritation than a problem but if it can be solved, it would be a good thing. Thanks!         Paul 

    Hey Paul,
    If I understand correctly, it sounds like iTunes is not grouping the songs from a particular CD together. The cause could be something as minor as a misspelling or slight variations. For more information, see the following resource:
    Why aren't songs with the same album art grouped together?
    http://support.apple.com/kb/TS1468
    Thanks,
    Matt M.

  • When i run a sequence with ivi step types in simulation mode i get the error code number BFFA0015 - Types do not match.

    When i run the sequence with ivi step types in simulation mode i get the error Types do not mathc. The step that generates this error is an IviScope step type and is configured as a measurement. Th weird thing is that in real mode is working perfectly. I have three measure steps and i get the error in all of them. The exact error message is:
    UUT Result: Error, Error executing substep 'Post'. An exception occurred calling 'RunStep' in 'ISubstep' of 'TestStand Ivi Step Types 1.0 Type Library' An error occurred while executing the step. Component Works IVI Control Error: The IVI Read operation failed on channel '1' for logical name 'SampleScope'. Details: (1
    ) Types do not match. [IVI Error Code: BFFA0015] Source: TSIviStepTypes [Error Code: -30721, User-defined error code.]
    Can someone tell me how to fix this problem?. It seems to me that the simulation generates a diferent type of measurement of that generated in real mode.

    Update:
    The simulation driver appears to be raising the error. By switching to specific driver simulation the error does not occur. This may be a problem in either the class simulation driver or the specific driver.
    Scott Richardson
    National Instruments

  • Getting AdapterType of a Step (TestStand2.0)

    Hi,
    in 'Mainsequence' I go in case of error to 'Cleanup' und call there an ErrorHandler Sequence. If error causes through a LabVIEW-VI I want to display the Error Explain Message of LabVIEW for more details.
    My Question: Is there any property in TestStand that contains the Adapter Type of a Step? These property I could use as precondition for displaying LabVIEW Error Explain message.
    Thank You for every answer.
    Test Engineering
    digades GmbH
    www.digades.com

    Hi,
    the TS container property is initially hidden. To make it viewable, go to the Configure menu option, and select Station Options. Then go to the Preferences tab, and the first tick box is Show Hidden Properties. With this option, the TS container of every step object will be available.
    On the subject of passing the information to the error step, I'd suggest a slightly different tack. Have a look at the callbacks section. Of course, this is only really valid for an automated approach to the error handling, as you'd handle the error before the dialog box popped up.
    I'm attaching an example of this here. I force a step to error, and this calls the callback to pass in certain parameters to the message popup step which is my quick error handler. Obviously you'll do it through something more elaborate, but you should get the idea.
    Before you run the attached sequence, go into the Configure menu option, Station Options, and set the On Run-Time error to Run Cleanup. The callback still gets called, but you don't see the dialog box.
    If you want to handle this purely as a part of the Cleanup step group, then have a look at callbacks to store the details of the step that errored somewhere, because, as you pointed out, once you're into the cleanup step group, it's almost impossible to track which step errored - The only other way is to call a sequence from the cleanup step group which starts in the Runstate.Caller.Runstate.Sequence's Cleanup step group, and search backwards for a step with a Step.Error.Occured set to True, then if not found there, go to the Main step group of the caller, and finally the Setup step group. Then you can get the adapter of a step that errored, and handle as you want. This approach is time consuming, but since it's error handling, it's not time critical, unless you're multi-threading.
    I would recommend the callback method for the error handling, as it provides for a good architecture. (To get the error handler callback, go to the Edit menu option, and from there select SequenceFile callbacks.)
    If you're wanting to provide an error handler for the process model, be careful which callback you pick. SequenceFilePostStepRunTimeError is only valid for the sequence file which contains it. ProcessModelPostStepRunTimeError is valid for steps in a sequence controlled by that process model. So if you want to catch errors in your process model too, you need to have both. (I normally layer the calls here, so I can run a callback sequence from my callback sequence, so if I have a strange situation, I can over-ride it easily)
    You didn't say which version of LV you're using, so I've done it with messagepopup steps instead.
    Hope this helps
    S.
    // it takes almost no time to rate an answer
    Attachments:
    Handle_Error_through_Callbacks.seq ‏23 KB

  • To Control a Power Supply via LabVIEW

    Hi,
    I am really in the beginning of the learning LabvIEW. I am trying to control a power supply( Ametek XG 
    1500 ) via LabVIEW through USB cable. I have goggled several websites, but still do not have a clear idea 
    of how to implement such task. I downloaded COM drivers from www.programmablepower.com. Then, device and 
    my computer see the USB cable, but I do not have exact clue to make a good program to control power 
    supply.
    I tried to make a program with NI-VISA with SCPI commands. Actually, I am not sure to write true 
    commands and I can not see the voltage or current value on the front panel. I have never write a program 
    to control any electronic device. Maybe, I can not see the basic step or not.
    Firstly, I want to write a program which makes power on/off to the power supply. I do not know where 
    should I begin. Please any of you give me an offer to do this task.
    Thank you.
    Deniz

    There is of course, the IVI driver.
    I don't understand at all why you would install a different com port driver than the one that comes from Ametek/Sorenesen. In any case, I did not use the IVI driver. I simply created my own using Tools>Instrumentation>Create Instrument Driver Project. Pretty simple for me - I did a basic driver in less than a day. I would suggest you look over the instrument driver tutorial (on main idnet page). The commands are well documented in the manual. Be sure to get the termination characters correct. I can't provide the code I wrote as it was for a customer but if you post what you have written with details on errors you get etc, I'll try to help.

  • Create Teststand 3.5 SequenceCall Step use Labview 8.2

    Dear ALL:
             I want use Labview 8.2 to create a sequence Call Step,and I know I must get the SequenceCall Module first.In Teststand 3.5 I can use NI Teststand Adapter API 3.5(Ver 1.0) to get the SequenceCall Module,But In Labview 8.2 I can not access to  NI Teststand Adapter API 3.5(Ver 1.0),Because when I Select NI Teststand Adapter API 3.5(Ver 1.0) in "select object from Type Library"(See 1.bmp),It the same as the NI Teststand API 3.5(Ver 1.0),and I can not find SequenceCall Module.
             I think this is the compatible probelm with labview 8.2 and teststand 3.5. When I use Labview 7.1, I can normally select NI Teststand Adapter API 3.5(Ver 1.0).
    Attachments:
    11.jpg ‏34 KB

    yiweihua2002,
    You didn't say if you were using LabVIEW 8.2 or 8.2.1, so I'm not sure if this truely reproduces your behavior.
    However, I just ran LabVIEW 8.2.1 and selected the adapter API, and I was able to see all of the items.
    There are a few things I'd like you to try:
    1) Run the TestStand Version Selector and make version 3.5 active.  Even if it is already the active version, this will re-register all of the TestStand components to make sure they are properly working
    2) Restart LabVIEW (if you haven't already)
    Josh W.
    Certified TestStand Architect
    Formerly blue
    Attachments:
    adapter.gif ‏18 KB

  • How to get sequence name in run time.

    hi
    I have several sub sequence called in the main sequence in TestStand. Those sub sequences have different sequence names, which i wanted to display by string indicator on the Labview Operator Interface. Is there a simple way to show the current calling sub sequence name during run time(run main).
    thanks.
    Message Edited by Appledoll on 07-12-2007 10:12 AM

    Hi,
    The easiest way is to use the NameOf() function. In this case where you wish to get the name of the current sequence the syntax NameOf(RunState.Sequence) yields the name. I attach a very simple example also.
    Getting the Name of Any TestStand Property Programmatically in TestStand
    Hope this helps
    Pelle S
    District Sales Manager
    National Instruments Sweden
    Attachments:
    Get sequence name.vi ‏15 KB

  • Programmatically Insert ActiveX/COM Step Using LabVIEW

    Hi,
    I would like to be able to create sequences like the one attached, using LabVIEW.
    This sequence has only 2 steps, a LabVIEW VI call, and an ActiveX/COM Adapter Call.
    I have been able to do this using an adaptation of the code here: https://decibel.ni.com/content/docs/DOC-36337
    However, I am struggling to add the ActiveX/COM step.
    Any help would be gratefully received.
    Thanks,
    Dan
    CLD
    Solved!
    Go to Solution.
    Attachments:
    Valve Control - Test 1.seq ‏6 KB

    Obviously there is a way if you look for it
    Since you have an existing object of the "Step" class you can also get a "Module" object for it. Afterwards you have to specify that this is an ActiveX module. If you do not know that - probably you need to get it from the "Adapter" object somehow... Our case is simplier, so you just cast it to the ActiveX module and ... set some properties like ServerId, ActiveXReferenceExpr and so on.
    I have attached an example for you. Interesting thing is the ServerId - I have just read this chain from the TS for similar step and reused it here so don't ask me how to obtain it automatically
    You still have to fill your "Properties" like "file" - but I will graciously leave this job for you =
    Best Regards,
    CLA, CTD, CLED @ Test & Measurements Solutions Poland
    Attachments:
    ActiveX Step_2.vi ‏24 KB

  • Oracle 11i release 2 error "Unable to get the current group"

    Hi oracle gurus,
         I have been trying to install oracle 11g rel 2 on HPUX 11.31 and i am getting the following error
    # more installActions2010-01-06_10-27-37AM.log
    oracle.install.ivw.db.driver.DBInstaller
    -scratchPath
    /u01/tmp/OraInstall2010-01-06_10-27-37AM
    -sourceLoc
    /u01/install/database/install/../stage/products.xml
    -sourceType
    network
    -timestamp
    2010-01-06_10-27-37AM
    INFO: Loading data from: jar:file:/u01/tmp/OraInstall2010-01-06_10-27-37AM/ext/jlib/installcommons_1.0.0b.jar!/oracle/install/driver/oui/resource/ConfigComma
    ndMappings.xml
    INFO: Loading beanstore from jar:file:/u01/tmp/OraInstall2010-01-06_10-27-37AM/ext/jlib/installcommons_1.0.0b.jar!/oracle/install/driver/oui/resource/ConfigC
    ommandMappings.xml
    INFO: Restoring class oracle.install.driver.oui.ConfigCmdMappings from jar:file:/u01/tmp/OraInstall2010-01-06_10-27-37AM/ext/jlib/installcommons_1.0.0b.jar!/
    oracle/install/driver/oui/resource/ConfigCommandMappings.xml
    SEVERE: [FATAL] An internal error occurred within cluster verification framework
    Unable to get the current group.
    Refer associated stacktrace #oracle.install.commons.util.exception.DefaultErrorAdvisor:11
    INFO: Advice is ABORT
    SEVERE: Unconditional Exit
    INFO: Adding ExitStatus FAILURE to the exit status set
    INFO: Finding the most appropriate exit status for the current application
    INFO: Exit Status is -1
    INFO: Shutdown Oracle Database 11g Release 2 Installer
    $
    >>
    # more oraInstall2010-01-06_10-27-37AM.err
    ---# Begin Stacktrace #---------------------------
    ID: oracle.install.commons.util.exception.DefaultErrorAdvisor:11
    oracle.cluster.verification.VerificationException: An internal error occurred within cluster verification framework
    Unable to get the current group
    at oracle.cluster.verification.ClusterVerification.<init>(ClusterVerification.java:200)
    at oracle.cluster.verification.ClusterVerification.getInstance(ClusterVerification.java:294)
    at oracle.install.driver.oui.OUISetupDriver.load(OUISetupDriver.java:407)
    at oracle.install.ivw.db.driver.DBSetupDriver.load(DBSetupDriver.java:161)
    at oracle.install.commons.base.driver.common.Installer.run(Installer.java:216)
    at oracle.install.ivw.db.driver.DBInstaller.run(DBInstaller.java:126)
    at oracle.install.commons.util.Application.startup(Application.java:869)
    at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
    at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
    at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
    at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
    at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)
    ---# End Stacktrace #-----------------------------
    <<
    $ uname -a
    HP-UX rx2600 B.11.31 U ia64 <XXXXXXXX> unlimited-user license
    # swlist | grep -i oe
    HP-Caliper-PERF C.11.31.04 HP Caliper OE Bundle
    HP-WDB-DEBUGGER C.11.31.04 HP DEBUGGER OE Bundle
    HPUX11i-DC-OE B.11.31.0903 HP-UX Data Center Operating Environment
    # swlist | grep -i qpk
    QPKBASE B.11.31.0903.334a Base Quality Pack Bundle for HP-UX 11i v3, March 2009
    # swlist -l product | grep -i c++
    ACXX C.06.20 HP C/aC++ Compiler
    C-ANSI-C C.06.20 HP C/aC++ Compiler
    PHSS_37501 1.0 aC++ Runtime (IA: A.06.16, PA: A.03.76)
    PHSS_39824 1.0 HP C/aC++ Compiler (A.06.23)
    i start the installation as oracle and my group and user id is
    $ id
    uid=109(oracle) gid=102(oinstall) groups=101(dba),104(asmdba)
    Please let me know what else do i need, we might have to use the hardware for testing another application so i am limited in terms of time constraints
    any help is much appreciated, Thank you!!
    Regards,
    Dasjith
    Edited by: user10247524 on Jan 6, 2010 7:52 AM

    Hi Stig Sundqvist
    Where can i find MOS Doc 983713.1 ??You have to login https://support.oracle.com/CSP/ui/flash.html and you have to CSI account. This site is oracle site for tech. documents for can rise SR etc.. for more details please check
    What is CSI:
    Re: Installing Oracle Database 10.2.0.4
    And how do i do to fix this problem ????Login metalink then find upper note and follow document
    Hope it helps
    Regard
    Helios

  • Group Step issue in Workflow

    Hi,
    I'm facing a problem while using the Group step in workflow.
    After the Group step is over, i have used few validate and Assign steps and the a Process step.
    But as the workflow moves from Group to Process, all these steps are ignored.
    I tried entering a Process step immediately after the Group and then the validate Assign steps and then Process. This time it worked as I had inserted an extra Process step immediately after Group.
    Design which did not work: Assign 1 and Assign 2 did not get executed
    Group -> Assign1->Assign2->Process
    Design which worked:  Assign 1 and Assign 2 did not get executed
    Group -> Process ->Assign1->Assign2->Process
    But I cannot just simply enter one more Process step in between in the workflow, as it hinder the flow.
    Plz suggest a solution!
    Regards,
    Ketan

    Hi ketan,
    The assign step can be connected to the group step without any problem. But i do not know why it is failing in your case.
    But if it so, try putting a merge step after group. As merge is an Automatic step, that will allow you to remove the Extra Process stencil that you have added( in order to make your Workflow work). Merge will not require any action from you.
    Then connect your assignments steps to the merge Step.
    Note- Merge will not get connected to Validate step, if in case it is required by you.
    I hope it helps.
    Please reward points if found useful.
    Thanks and Regards
    Nitin Jain

  • The hard drive on my Macbook Pro is getting full (mainly due to the size of my iTunes library). Can I store it on my time capsule and if so, how is it done ?

    The hard drive on my Macbook Pro is getting full (mainly due to the size of my iTunes library). Can I store it on my time capsule and if so, how is it done ?

    You can store your iTunes library on a Time Capsule.  So that you can access on your local (home) network (I wouldn't recommend access via the internat), (off site.....to slow).  
    If you do decide to put your libray on Time Capsule I'd recommend doing this.
    Option 1:
    1.  Don't use TC as a Backup (Time Machine).
    2.  Connect a USB drive to your TC or Computer and backup to the  drive. Backup when a change is made to the library (adding Apps, Songs you get the idea). 
    Option 2:  (What Im doing)
    1.   Two Time Capsule's connected via ethernet cable (roaming mode, bridge).
    2.   Use TC1 as a Time Machine backup
    3.   Use TC2 as network drive.  (The information on TC2 does NOT get backed up to TC1).
    3a. Connect a USB, FW, drive to your desktop computer (if you have one) use SilverKeeper to schedule backups.       Silverkeeper will look at TC2 and back it up to a external or internal HD.  I've been doing the or some time now.  Or connect to your TC and do an archive.
    I have this setup because I don't trust Cloud base services and I want access to my files (in Sync) on TC where ever I am, as long as there's a internet connection.  It's expensive, but does exactly what I expect.
    The most important thing is to safe guard your data in case of a failure.
    In your situation it would probably be better to get a high speed SD or thumb drive, however I've never been successful in backing up those type of drives with TM.  What ever you decide to do make sure you have a GOOD duplicate (backup).

Maybe you are looking for