Passing information between parallel Teststand sequences.

The ExecutingCodeModulesInParallel example that came with Teststand 3.0 almost does exactly what I want. The example uses steps that run CVI. I am trying to create a LabVIEW equivalent of this example. Basically, I want a LabVIEW Display panel 1 to write to FileGlobals.Counter1 and a LabVIEW Display panel 2 to read from it during parallel execution.
Right now, I can’t seem to get the information to pass between the two displays.
Once I figure out how do this, I believe I will be able to apply it my specific task.
I’m a newbie when it comes to Teststand and LabVIEW. Any help would be greatly appreciated

Hi,
The problems is your VI loops dont actual set the FileGlobals.Finish1 boolean and Counter1 until the stop buttons are press by which time you probably have missed them and like wise your other VI only reads the TestStand variables when the VI is launched.
You need to call the PropertyObject.SetValBoolean method either by using the appropiate VI from the Teststand palette or via the Invoke node. In the other VI you will have to call the PropertyObject.GetValBoolean method and GetValNumber method. This also means you will need to pass the SequenceContext to both VI's.
Have a look at the original example again and you will spot the relavant calls in the two C functions.
I will post you your modified VIs later today.
Hope this helps
Regards
Ray Farmer
Regards
Ray Farmer

Similar Messages

  • How can pass information between 2 par file in iView???

    Hello,using PDK i've have created an iview calling 2 .par file, the first par file contains a menu that the user selects a products and then when press load button generates a table with information. The table with information is generated in second .par file, that collects the information passed by the menu (through beans) and with a BAPI generates the table. I made it because the menu must be separated in one frame, and the table in other...(and the first frame must displace, how a html frame)
    The question, how can pass information between two par files or if are another method to made 2 frames????
    I'm using jsp,HTMLB .
    Thanks.

    Hi,
    try to have a look to the docs contained in this zip file.
    They explain how to implement a portal component, a portal service and how to implement comunication between portal components, using POM and other features.
    Maybe could be a good starting point for you
    the file is
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sapportals.km.docs/documents/a1-8-4/component and service creation tutorial.zip
    Ciao
    Roberto

  • Passing information between class

    Greetings Fellow Developers,
    I have what I believe to be a simple question but my brain is only thinking in procedural at the moment so I'm in a bit of a fix.
    I'm working on a midlet and creating an message book application
    I must pass informatin class mesaj to JSMS
    public class mesaj extends DisplayTextBox{
          private static String mes="";   
        public mesaj() {
            super("mesajınız",TextField.ANY);
       public  void setMesaj(){
            mes=getString();
        public static String getMesaj(){
            setMesaj();//there is problem with use static method
            return mes;
    public class JSMS extends MIDlet implements CommandListener{
       public void commandAction(Command c, Displayable d) {
             if(c==add){
                AddRecord(mesaj.getMesaj);
    }I have a problem using getMesaj method...
    can I passed information without non-static method
    thanx
    muratti32

    Hi,
    I think that your set and get methods are a bit wrong. Maybe they should be like this
    public void setMesaj(String m)
      mes = m;
    public static String getMesaj()
      return mes;
    }if you don't want to make static methods, you'll have to make an instance of the class, which methods you want to call.
    public class JSMS extends MIDlet implements CommandListener{
    private mesaj m = new mesaj();
       public void commandAction(Command c, Displayable d) {
             if(c==add){
                AddRecord(m.getMesaj);
    }kari-matti

  • Pass information between dom0 & domU thanks to web service API

    I have to build automation API in Java programming language for application deployment on virtualized infrastructures. Is there any way to pass information to application running inside the deployed virtual machine and to notify the host about some application's states? Everything using only the Webservice API...
    The principal examples I can give:
    For VMware (Virtual Infrastructure compliant products) & Virtualbox infrastructures, WS API give use the capability to set variables to retrieve them thanks to the guest tools ( vmware-guestd & VBoxControl )...
    For XenServer and Hyper-V, the only way we found to get that done is to directly write the variables in a part of the virtual machine configuration. Then, from the virtual machine, we need to connect to the XenServer/Hyper-V, identify the virtual machine which is currently running our application, and use it to retrieve the application configuration... The problem with the later is that we have to "hard write" the authentication information in the virtual machine, and to find a way to determine in which virtual machine the application is running ( this is done so far using NIC Mac address ).
    Because of the "light" documentation, i don't know if such a thing is possible for OVM manager...

    My mistake...
    on [http://download.oracle.com/docs/cd/E11081_01/doc/web.21/e14979/toc.htm|http://download.oracle.com/docs/cd/E11081_01/doc/web.21/e14979/toc.htm] , the method
    void      createPropertiesFileOnVirtualMachine(java.util.Properties props, VirtualMachine vm, java.lang.String propFileName)seems to do what I need...
    Now, because my test environment only allow PV Guests, I'd like to know if that also work for HW Guests?

  • How can I pass arguments to a TestStand sequence with LabWindows 6 ?

    Hi
    I have created sequences in a TestStand file.
    I want to program a sequence with Labwindows 6 which would call all these existing sequences (containing parameters).
    I don't have any problems to create the steps "SequenceCall" but i don't know how to pass arguments to the sequences with the TS API.
    I have used the look-up strings "TS.SData.SFPath", "TS.SData.SeqName", "TS.SData.ThreadOpt" to program the sequence file / sequence and the multithread option. But now how to program the arguments passing ? I think there is something with the lookup string "ST.SData.ActualArgs"...
    Thank u very much for any help

    I'm not sure if you want to pass values from TestStand to LabWindows or if you want to pass values in TestStand from a sequence call step to a called sequence.
    To get TestStand variables from LabWIndows, use the following function:
    tsErrChk (TS_PropertyGetValNumber(testData->seqContextCVI, &errorInfo, "Locals.StartPoint", 0, &dStartPt));
    iStartPt = (int)dStartPt;
    The TS_PropertyGetValNumber gets the TestStand variable Locals.StartPoint and puts it into the LabWindows variable called dStartPoint. Numbers to and from Test Stand are always a double type. The next line converts it to an integer.
    To put a LabWindows value to TestStand, use TS_PropertyPutValNumber.
    To pass values from a sequence call step to a called sequence, create variables in the Parameters t
    ab on your main sequence. Create same variables on the Parameters tab of the called sequence. In main, specify module to be called in calling step. There is a paramters section on the Edit Sequence Call dialog box which appears. Check the Use Prototype of the Selected Sequence box. You can then list all the parameter variables in the parameters section.
    Hope this is what you want.
    - tbob
    Inventor of the WORM Global

  • What is the fastest way to pass data between parallel threads?

    I have a top level vi running with 6 parallel threads. I need to pass some data from digital I/O to several of the threads. What is the fastest responding way to do this. I am controlling a machine that has quite a few sensed events happening at very close intervals, some as close together as 1 to 2 milliseconds, and I seem to be randomly missing the signal from these sensors. How can I distribute the I/O to the different threads and not miss any inputs?

    I usually use a Queue to pass data from one loop to another. Other
    choices are Functional Globals or Notifiers. It kind of depends on what
    you need to do as to which one is best, so it's a bit hard to recommend
    one over the others without knowing more about your application.
    Both Queues and the Functional Globals (if written correctly) can
    buffer data so you're less likely to lose data if one loop gets behind
    the others.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

  • How pass information between different Form

    Hi all,
    I have the following situation for the moment in my little project in Scout with Luna:
    I have a main form that I use for different search in two different DB Oracle to compare the value and a second one where the users can modify the configuration, for example the DB connection info, etc.
    The main form obviously depends directly from the information defined in the second one.
    Now my problem is: find the better way to pass the information from the configuration form to the main form.
    I hope I was clear in my request.
    Thanks in advance for any help.

    You don't specify exactly what your setup is, but if your main form is creating and showing the second form, it should be fairly easy to make the second form's formData available to the main form:
    // some (incomplete) code snippets
    class MainForm extends AbstractForm {
    SecondFormData secondFormData = null;
    public void showSecondForm() {
    SecondForm form = new SecondForm();
    form.startNew();
    form.waitFor();
    secondFormData = form.getFormData();
    // from now on, the last state of SecondForm is available in main form
    If this is not what you wanted to know, you'll need to be a bit clearer in what it is that you want to achieve.

  • Passing information between servers

    There are two weblogic servers that talk to each other - only URL redirection controlled
    via proxy settings.
    The first one is the main server and the second one piggybacks on it. During startup
    of the first server, certain information is read from the database and then cached
    into a data structure - Hashtable.
    At the startup of the second server the same information needs to be cached as
    well. Instead of hitting the database again to get the information, is there a
    way to just get the Hashtable on the main server and copy to the one on the other
    server?

    Depending on hown you call the forms, you may not need to pass variables. If you open all 3 forms in one session, a commit or rollback is performed for all open windows. See the open_form built-in online help about session_mode:
    NO_SESSION (The default.) Specifies that the opened form should share the same database session as the current form. POST and COMMIT operations in any form will cause posting, validation, and commit processing to occur for all forms running in the same session.
    SESSION Specifies that a new, separate database session should be created for the opened form.

  • Process chain - passing information between tasks?

    hi
    we are starting an info package to load data to PSA as a part of a process chain.
    After the info package is executed we want to run an abap program. We want to pass the the request id which was generated when the info package was started, to the abap program.
    Is there any way of doing this?
    Regards
    Murali

    Hi Murali,
    when you implement a custom defined process type for the execution of your report, you can check the contents of the signature table i_t_processlist in your EXECUTE method.
    You might also want to call the GET_INFO (or another) method from the CL_RSSM_LOADING class to provide details about the InfoPackage executed, which is the implementation of the loading process.
       Cheers
         Andreas

  • How do I pass arguments to a TestStand sequence from an operator interface written in LabWindows​?

    I intend to use TS_EngineNewExecution() which takes a VARIANT parameter for the arguments.
    I have only found example code for C++ where a propertyObject containing the arguments is converted to a VARIANT using the constructor of the _variant_t class.
    How do I accomplish this in LabWindows?

    Hi webprofile,
    I did not extensively test this code, but based on the previous posts, this is what the function might look like (I bolded the changes from what ships by default):
    TERetval Eng_BeginSeqExecution(tSeqFileRec *seqFileRec, // must NOT be NULL
                                   tSeqRec *seqRec,            // must NOT be NULL
                                   ListType checkedStepList,
                                   TEBool breakAtFirstTest)
        HRESULT res = 0;
        ERRORINFO errorInfo;
        TEBool errorOccurred = FALSE;
        CAObjHandle newExeH = 0;
        VARIANT editArgsVar;
        CAObjHandle editArgsH = 0;
        CAObjHandle params = 0;
        LPDISPATCH dispPtr; // varible used to convert parameters from CAObjHandle to Variant
        // Create container that will hold two parameters. First parameter is a number, second is a string.
        oleErrChkReportErrInfo(TS_EngineNewPropertyObject (sTEEngineObj, &errorInfo, TS_PropValType_Container, VFALSE, "", 0,&params));
        TS_PropertySetValNumber (params, &errorInfo, "Param1", 1, 45);
        TS_PropertySetValString (params, &errorInfo, "Param2", 1, "This is a string");
        // Converts CAObjHandle to Dispatch pointer
        TERetChk(CA_GetDispatchFromObjHandle (params, &dispPtr));
        TERetChk(CreateEditArgsObj(0, seqFileRec->seqFileH, seqRec->seqH, checkedStepList, &editArgsH));
        if (editArgsH) {
            LPDISPATCH editArgsDispatch = NULL;
            CA_GetDispatchFromObjHandle (editArgsH, &editArgsDispatch);
            editArgsVar = CA_VariantDispatch(editArgsDispatch);
        } else
            editArgsVar = CA_DEFAULT_VAL;
        oleErrChkReportErrInfo(TS_EngineNewExecution (sTEEngineObj, &errorInfo,
                                                      seqFileRec->seqFileH,
                                                      seqRec->seqName, 0,
                                                      TEBool2VBOOL(breakAtFirstTest),
                                                      TS_ExecTypeMask_Normal,
                                                      CA_VariantDispatch(dispPtr),
                                                      editArgsVar,
                                                      CA_DEFAULT_VAL, &newExeH));
        /* we'll get this again later on the StartOfExecution event
         * so free this reference to it */
        CA_DiscardObjHandle(newExeH);
    Error:
        if (editArgsH)
            CA_DiscardObjHandle(editArgsH);
        return !(errorOccurred || res < 0); /* return TRUE if no errors occurred */

  • How to Pass O.I. Settings from Sequence to O.I.?

    If I don't use customstrings.txt, may I pass the settings include application titles, and those string from TestStand Sequences?
    It will be better if the test station have to frequently switch between different sequence and display what it is running.

    Km9394,
    I'm not sure if I understand your question completely. However, I will try and answer my best and if this does not answer your question, please respond with a clearly defined question.
    First, I could not find a file names customstrings.txt. There are some files that are used for language translation purposes, but from your post it doesn't look like you want to use these either. They don't allow you to dynamically change any strings.
    If you have string data that is stored in your TestStand sequence and you want to somehow display this information in your TestStand Operator Interface, probably the best solution would be to use UI Messages. UI Messages allow you to send information from your TestStand sequence through the TestStand Engine to your Operator Interface. Then when the information is in the Operator Interface, you can change values of your Operator Interface program.
    Using UI Messages is broken down into 2 steps, posting the UI Message and receiving the UI Message. To post a UI Message from your TestStand sequence, simply use the ActiveX adapter to call the TestStand API method PostUIMessage (or PostUIMessageEx if you are using TestStand 3.0). You identify the message you are posting with a unique number above 10000 as one of the method's parameters. You can also pass string, numeric, or ActiveX data with the UI Message. This method will pass the data to the TestStand Engine.
    Once the TestStand Engine receives the UI Message, it will send the UI Message to either the TestStand Sequence Editor or to the TestStand Operator Interface, depending on what application is currently being used to run the sequence. If the sequence editor is used, custom UI Messages are discarded.
    If in the Operator Interface, there is a section of the code that explicitly handles these UI Messages. Depending on what version of TestStand you are using and what programming environment you are using, this is handled differently. On a high level, all of the different operator interfaces handle UI Messages by receiving and sorting UI Messages by the UIMessageCode (the number that identifies what kind of UI Message was sent). Then based upon that number, the program determines what to do. This is usually implemented using a case or switch statement.
    In your case, whenever you receive this custom UI Message, you can retrieve the string data and write that string value to your Operator Interface value you wish to change.
    If this concept of using UI Messages does not seem to be a plausible solution, please respond including a more detailed problem description.
    Regards,
    Shannon R.
    National Instruments

  • Talking to different forms and passing information

    Hi all
    I am using netbeans to make my hci.
    now in my form1 i have a button that when pressed takes me to form2 (class2) on form2 i want to press a button to change the color of button in form 1. as well as this i want to pass information between the two forms.
    can any one help
    thankyou in advance
    james_bond

    HCI?
    human computer interation?
    what happened to GUI?

  • Q: Best Method for TCL scripts to pass info between routers?

    I want to have routers tell each other how busy their links are.  Whats the best method to pass information between TCL scripts running on different routers?
    Thanks!
    Tim

    Likely the easiest approach is to use SNMP traps from one router to another.  See https://supportforums.cisco.com/message/3713232#3713232 for an example.

  • How to pass parameters between main and sub vi during parallel execution using the VI server technique?

    Hello All,
    I am working with the following example (from previous postings on this
    board) that demonstrates how to run a sub vi in parallel with the main
    vi.  I'd like to pass parameters between the main and sub such as
    the control (delay) and indicator (value) parameters of my subvi
    example.  Does any one know how to do this?  Parallel
    execution is important for me, I cannot just paste the subvi icon into
    my main diagram (two nested while loops...)
    Many thanks,
    Luis
    Message Edited by cascao on 08-16-2005 08:42 PM
    Message Edited by cascao on 08-16-2005 08:42 PM
    Attachments:
    VI_Server_technique.vi ‏32 KB
    SubVI_1.vi ‏19 KB

    cascao wrote:
    Hello All,
    I am working with the following example (from previous postings on this
    board) that demonstrates how to run a sub vi in parallel with the main
    vi.  I'd like to pass parameters between the main and sub such as
    the control (delay) and indicator (value) parameters of my subvi
    example.  Does any one know how to do this?  Parallel
    execution is important for me, I cannot just paste the subvi icon into
    my main diagram (two nested while loops...)
    Many thanks,
    Luis
    Luis, you can use the VI Server methods 'Set Control Value' and 'Get Control Value', as demonstrated in the attached examples.
    -Franz
    Attachments:
    VI Server.zip ‏26 KB

  • Difference between parallel sequence and parallel operation in a routing.

    Hi Experts,
    Can any one explain me with example the difference between parallel sequence and parallel operation in a routing? wHEN CAN WE USE PARALLEL OPEARTION AND PARALLEL SEQUNCE WITH COMPONENT ALLOCATION.
    Regards
    Deepak sharma

    I think u need to modify ur quest... i think u r asking about Parallel sequence and alternate seq. Below are the details from SAP site.
    A parallel sequence enables you to process several operations at the same time.
    You use an alternative sequence for example, if
    --The production flow is different for certain lot-size ranges
    For instance you can machine a work piece on conventional machine or on NC machines. A NC machine has a longer set-up time than a conventional machine. However the machining costs are considerably less. Therefore whether you use NC machines will depend on the lot size.
    ---The production flow changes under certain business conditions.
    For instance, if you have a capacity problem, you have some production steps performed externally by a vendor.

Maybe you are looking for

  • "phone offline" and other syncing issues

    There's been several threads on the "phone offline" issue across many of the big Pre forums, but we're really not heard anything constructive from Palm on the matter...  It's basically leaving me unable to do email and a number of other features that

  • I don't see the Airplay button

    I just update to 4.2 and I don't see the Airplay button, is it only visible when you have a airplay device compatible visible from the Ipad? Thanks Message was edited by: Bidulle Message was edited by: Bidulle

  • Release orders against contract 4600000069 not possible (contract not relea

    Hai, I had created a contract and had a release procedure for it. I had released the contract using ME35k. When i try to raise a p.o agaist the contract i am getting the error as "Release orders against contract 4600000069 not possible (contract not

  • Extender for Fios Quantum Router

    Fios quantum installed a month ago... Not crazy about ..I had better coverage with the old system. I bought the net gear 350 wireless extender because wifi coverage was poor. Didn't work. Should I buy the one Verizon sells? Hate to waste the money if

  • Find unique row with max func

    I am really stupid of this right now. Have not tried the regular SQL for long time, so my question is that I have a table- Cost A     B     C     D     E     F 0002     6002     5     55     68.35     6.12 0003     6003     5     99.26     89.33