Running a sequence with 2 process models

Hi,
We intend to use 2 different process models, running the same MainSequence.  The reason for the difference in process models is there is large difference in hardware on the stations.  So we need to account for that difference in our mainsequence as well, where we do certain actions when using one process model, and a different action on another.
My question is, what is the preferred property to look at in memory (runstate tree somewhere?) for the MainSequence to have knowledge of what process model it is currently running, so we can add cases in our MainSequence to differentiate actions. 
Thanks
Solved!
Go to Solution.

James' approach is better....
Because then you don't have to worry about if your root is correct.
jigg
CTA, CLA
teststandhelp.com
~Will work for kudos and/or BBQ~

Similar Messages

  • Finding the name of my teststand sequence in the process model

    I would like to be able to find the file path and name of a teststand sequence in the process model. I have created a simple vi which will display this information when run in a sequence. If i insert the vi into the process model, the file path and name returned is that of the process model and not the sequence under exectution. Is there a way of extracting this information in the process model?

    Davepar -
    If you are executing in the process model you can use the following as a lookup string if you are in the root context "RunState.ProcessModelClient.Path" or "RunState.Root.RunState.ProcessModelClient.Path" if you are not in the root context.
    Scott Richardson (NI)
    Scott Richardson
    National Instruments

  • 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

  • Problem with 3PR Eval Run in Payroll Off-Cycle process model

    Utilizing the off cycle process model, we are trying to change from using the 2 steps for Garnishments which include the program RPCALCU0 using schema U500 and then running the 3rd party Evaluation using program RPURMU00.  We are trying to replace those 2 steps with 1 step which involves running program RPURME00.  The 3rd party process appears to run successfully and completes with the desired output, but the HR Process Workbench is indicating an error on that step.  The counts show 1 initial and 1 overall.  Everything else is zero.   We currently have have RPURME00 running after RPCIPP00 in the model.  Can anyone tell me why this might happen?
    Thanks
    Tim

    Hi Tim,
    Can you check once, every thing is fine on selection screen. like HR payee type and Level of detail on double click..
    Thank you.
    Rajanikanth.

  • Can I desynchronize one station with batch process model?

    Hi,
    My project has 5 stations run test in parallel. I decide to use batch process model since I want them to start and stop together. Beside start and stop, I have some certain part in the test sequence need to sync together. But in 5 stations, I want one station work without sync at these steps. I tried using batch synchronize with precondition but it looks like other stations still wait for the one I skip the sync. My another option is using rendervous with number of parallel thread is total - 1. I test and this works. But I still want to know if I can use batch synchronize step or not because this offer the start sync and exit sync feature.
    Thank you!
    Solved!
    Go to Solution.

    NTT wrote:
    Doug,
    Thanks for your answer.
    I want to have something happens parallel with other threads but without affect by batch sync steps. I have multiple stations working parallel in assembly line. They are sync because of pick and place. But I want to have one process works as station manager who keep track of UUT between station and other environment condition like pressure, temperature.
    Thang
    Generally, the intent of the TestSockets in the process models is that they will have a 1 to 1 correspondence to UUTs, does your 5th socket correspond to a UUT? In otherwords are there 5 UUTs under test at one time? UUTs often need things like report generation or database logging. Does your 5th socket require report generation? If not perhaps this 5th socket is really more of a utility thread and thus creating a new thread or execution at runtime makes sense for it. If your 5th socket instead does really correspond to a UUT that is being tested in parallel enitrely separately from the other UUTs then perhaps you should start up a new execution for that socket using the sequential model and just have that running at the same time as your other sockets are running with the batch model.
    So it really depends on what you are using that 5th station/thread for as to what approach would likely work best.
    Hope this helps,
    -Doug

  • Getting sequence filename and sequence name in process model error handler

    We are using the sequential process model and would like to log sequence step error information to a file.  We have an Error Handler callback in SequentialModel.seq and that is where we will write to the error file.  In the Error Handler callback, I can get the error container info for the step where the error occurs and the name of the that step thru the Error Handler Step parameter.  I would also like to record the sequence file and the sequence where the error occurred, but I have not been able to find those in the sequence context.  I know they are available because the TestStand RunTime Error dialog box displays them.  How can I access the name of the sequence file and the name of the sequence where the error occurred?
    Thanks,
    Hans

    Hey hans,
    Use the API.  Since you already have the Step object reference coming in as a parameter you can just use a few ActiveX steps to get the Sequence File and Sequence from which the error was thrown.
    Step.Sequence
    Sequence.Name (gets the name of the sequence)
    Sequence.SequenceFile
    SequenceFile.Path (gets the path of the sequence file)
    So basically just 4 activex steps.  I hope this helps.
    Regards,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Problem with business process modelling

    Hi guys,
    Im facing a new problem, while trying to build a new business process in Solution_Manager im getting the runtime raise_exception each time im activating the business process details button.
    What are the reasons? And how do i handle it?
    P.S. Is there any good documentation on configuration of business process?

    I'm agree with Dimitri,
    Is there any good documentation on configuration of business process?

  • Can we run Payroll Driver in a Process model?

    Hi,
    I need to run the offcycle of the population of 1200, their payids' can be many on single date.
    Can it be possible to run the offcycle of all the employees in one go??
    Note:- We can run offcycle for single payId in one go, means we will be needed to run for 11 times ( 11 payids in one day)
    Saurabh

    Pay id means Payment Id ( it is used in offcycle run).
    My problem is earlier there we only 10-12 people for which off-cycle was run, now next yr there wud be 1200 employees... and every employee has 2-3 payment id means to run offcycle payroll we need to run payroll driver for 2-3 times ( 1200 * 3 = 3600 times)
    Now I want where I can enter all the payment id in one time for all the 1200 employees and run in single time..
    Hope u wud have some clearity abt the problem

  • Implementing interrupt-like funtionality in the process model

    My application requires testing high-power semiconductor devices.  These devices are water-cooled to keep from exceeding operational temperatures.  I am considering developing my process model to handle the water-cooling which entails monitoring water flow, temperature, and pressure and, if any of these parameters leaves an acceptable range, throw an error the test sequence.
    I know that TS can run a sequence in the process model after each step in the sequence file but I don't think that it will be acceptable if my step is longer than it takes for a fault condition to be generated.  For that reason, I am trying to understand if there is a means to terminate the test sequence if any fault in the process model occurs.
    What is the best way to implement this kind of behavior?

    Hi kc64,
    You are right, editing the process model to check the current state your system after each step would not be the best approach.
    I would recommend running a separate sequence in a new thread within your execution.  This standalone thread would check the state of your system and throw the error you desire upon your system going out of desirable ranges. This will run concurrently during your entire test.
    I hope this helps!
    Message Edited by evanp on 11-09-2007 01:16 PM
    Evan Prothro
    RF Systems Engineer | NI

  • Runtime error in process model and sequence still passes

    I am doing some custom initialization in the process model (in the ProcessSetup callback). I call a .NET module that may throw an exception under certain error conditions. This causes the the process model to jump to the Cleanup section of the process model (not the client sequence file cleanup) and that's okay. The problem I have is that in my UI I am getting the AxAppMgr_ExecutionEnded event and the e argument's exec.ResultStatus property indicates "Passed". I want it to indicate "Error" or "Incomplete" or something other than passed. The client sequence never ran at all. While it had no failures, it could not have passed.
    How do I force the status to be "Error" or something other than "Passed"?
    Solved!
    Go to Solution.

    Ryan,
    I am just getting back to this. Thanks for the response.
    I have my own sequence that gets called from ProcessSetup in the process model. That sequence sets up some station global variables for me including some Object References. One of the object references is a .NET object used to read a file. If that file does not exist, then the .NET object throws an exception which results in TestStand presenting a dialog with the error message and options about what to do next. I don't want our technicians getting that dialog box so I changed the Station Options to "Run Cleanup" on Run-time error. 
    The process model jumps to its Cleanup section when the run-time error is received. 
    Does that give you the information you need?
    Incidentally, I am able to look at the e.exec.ErrorObject in the AxAppMgr_EndExecution event handler and I can see the error as suggested by Doug above.
    Thanks.

  • How to release process model sequence file object?

    Calling engine's method GetStationModelSequenceFile we get the reference to the process model sequence file object. According to TestStand Help, you should "Release this reference when you are done using it." The question is: how do you release it? Call engine's method ReleaseSequenceFileEx passing the reference to the model sequence file gotten from GetStationModelSequenceFile won't work, it returns FALSE which means the sequence file can't be released. Similar problems exist with methods SequenceFile.GetModelSequenceFile, Execution.GetModelSequenceFile. My aplication is written in VB. Using the statement like
    Set modelSequenceFile = Nothing also does not solve the problem.  I want to get some information of process model, such as version number, so I call those API functions in my code, which was developed under TestStand 3.1. I post this question because when I ran my application with TestStand 3.5 or 4.0 beta, I got the warning dialog when loading a sequence file and then closing the application. The dialog listed all the unreleased objects which I figured out is due to that the process model file was not released. Because message in the dialog is as following:
    The following top-level objects were not released:
            Sequences [1 object(s) not released]
                Sequence #1:
                    Name: Test UUTs
            Type Definitions [43 object(s) not released]
                Type Definition #1:
                    Name: TimeDetails
                Type Definition #2:
                    Name: ReportOptions
    Of course there are more in the list, but the sequence file loaded into the application is released correctly by calling engine's method ReleaseSequenceFileEx, so it does not appear in the list.
    Any help will be greatly appreciated.

    Here are what I did after launch the operator interface:
    1) Call Engine.GetSequenceFileEx to get a reference to a sequence file.
    2) Display steps of MainSequence of the sequence file in GUI.
    3) Call Engine.GetStationModelSequenceFile to get a reference to the station process model sequence file. The variable used to save the reference of process model sequence file is modelSequenceFile.
    4) Loop through all the sequences in process model sequence file, get the references of entrypoint sequences in the process model and put them in a container (VB Collection).
    At this point,
    Calling modelSequenceFile.CanUnload returns TRUE
    Calling modelSequenceFile.IsExecuting returns FALSE
    Calling Engine.ReleaseSequenceFileEx(modelSequenceFile, ReleaseSeqFile_UnloadFile) returns FALSE
    There is no other loaded process model sequence file reference at this point.

  • How do I make a process model sequence (not entry point) available to the test sequence?

    I have sequences that update process model data in the process model sequence that I would like to make public so that I can call this sequence from the test sequence.
    I am using TS2.
    I know that I could insert a sequence call and when specifying the module simply select the process model sequence file. Is there a more direct way of specifying the process model sequence file? Can I hide sequences in the process model so that they can't be called by the test sequence?Message Edited by Francey on 05-19-2005 06:38 AM

    When creating a custom step type, you can check "Designate an adapter", and use the Sequence Call adapter. If you would like to make the user unable to change this property, you can disable the "Can Specify Module" property on the "Disable Properties" page.
    Warning: If you ever want to change the parameters or the sequence call you are making for all steps, you must load ALL of the sequences that use this step, check the "apply changes in this dialog to all loaded steps of this type" box when you make the changes. This means that you should be very careful to make sure you have your step type designed properly before you begin using instances of it. The reason this is the case, is that the module is a property for each instance of the step, rather than the step type. We are simply giving a default value. By disabling the specify module dialog, we are preventing the user from being able to change from the default.
    Allen P
    NI

  • 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

  • FailureHan​dlerExampl​e does not seem to work when used in the ProcessMod​elPostStep​Failure Sequence of the Sequential​Model

    I've incorporated the FailureHandlerExample into my Test Sequences (with some minor modifications) and it works ok when it is in the SequenceFilePostStepFailure in my Sequence File. However, it says in the Sequence comments that this can be made into a ProcessModel Sequence by putting into the ProcessModelPostStepFailure Sub Sequence of the SequentalModel. I tried this, and it doesn't work. It has the same internal steps as the SequenceFilePostStepFailure Sequence, but it never gets called. What do I need to do to get this to work properly in the event of a failure?

    I have just tried the callback and it works for me. Here is what I did.
    1) open new sequence file.
    2) double click on model path shown at the bottom of the sequence editor. This opens model file associated with the new sequence file.
    3) with the process model file active, select Edit>>Sequence File Callbacks
    4) select ProcessModelPostStepFailure in the dialog box provided, click the Add button and then the Edit button.
    5) Add a message popup to the newly created ProcessModelPostStepFailure.
    6) Return to the new sequence file created in step 1 above.
    7) select the None adapter and insert a Numeric Limit Test step type.
    8) change the step limits to be 5 and 10. The step will then fail since the default measurement is 0, outside of the limits.
    9) run the sequenc
    e by selecting Execute>>Single Pass.
    The step fails and the ProcessModelPostStepFailure is called, displaying the message popup.
    See if this works for you.

  • How to protect process model being modified (using Teststand3​.1)?

    I'm developing a custom Process model, and don't want to be modified by others. I know there's a password protection function in Teststand3.5 but not available in Teststand3.1. Is there any other methods to prevent my process model  being modified by others in Teststand3.1??
    Thanks!
    Jacky

    Protect from whom? Are you using the user manager and are you checking privileges? If you want to protect the process model fro other TestStand administrators, I'm not sure what you can do but the default privileges prevent operator and technicians from editing a sequence file or process model and if you can use the user manager to change the Developer profile Privileges>Configure>Edit Process Model to false.

Maybe you are looking for