How do I automate parallel process model?

Hello,
I need to modify parallel process model so it runs in automated mode. The serial number will come from a serial bar code reader and the operator does not have to press OK on the operator screen. How can I do it?
Thanks
CT.

Either you can write your own preUUT callback sequence or you can modify modelsupport2.dll which provides the standard serialnumber input panel. You can find the source code for modelsupport2.dll in <teststand directory>/Components\Models\TestStandModels.

Similar Messages

  • Parallel Process Model vs Asynchrono​us Sequence

    I've been studying the features of TestStand, and learning how to use it for about a month, so still very new to the environment (although I have been using Labview and Veristand pretty heavily for about a year).  I wanted to get a little clarification on the use of the different process models, because I think I may be misunderstanding some of the terminology.  
    Here is a little background of my project:
    I have a Labview VI that I created to interface with a remote target (emulator).  I previously used the VI to run tests manually, and would like to use it as a code module in TestStand so that I can run automated tests.  I intend to use the same VI repeatedly throughout the test sequence.  The functionality of the system is dependent on maintaining constant communication with the emulator, so I can't be opening and closing the code module repeatedly.  Once it is open, it has to stay open and continually communicate  (I'm hoping I will not have to create "wrapper" code modules to be the go-between with my current VI).  Breaking communication would cause most of the test results to become invalid.  For these reasons, I had chosen to call the VI as a code module in a sub sequence so that it can be run asynchronously, outside of the main sequence.
    Now, as I learn more about the details of TestStand, I am introduced to the concept of "Process Models".  I had initially been using the default Sequential Process model, but would like to know if I should switch to the Parallel Process model.  From what I can tell, the parallel process model is used when testing multiple UUTs, or running tests in parallel.  Is this correct?  To clarify my situation, I will only be testing 1 UUT, I will only be using 1 code module, and I will be running several test steps with that 1 code module.  I will need to continually pass data back and forth with the code module as it runs in parallel to the main sequence, and there will likely be several sub sequences called during the process, so that I can maintain modularity with my testing.
    So the question is, do I switch to the Parallel Process Model, or should I continue with the Sequential Process Model and the asynchronous sequence to run my code module in parallel?  Thanks much.
    GSinMN          
    Solved!
    Go to Solution.

    Hey GSinMN,
    Are you wanting to run your test steps in parallel with each other, or will that need to be a sequential process? The Parallel model is probably not the right choice for this application. The purpose of the Parallel model is to run the same test program on multiple UUT's at once, as you mentioned. Since you are just testing with a single UUT, the best approach would be to run the emulator communication module asynchronously, as you mentioned. You can easily pass data to this code module using a TestStand queue or a similar synchronization object.
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • Parallel Process Model Entry

    Hello,
    First, using LabVIEW 2011 and TestStand 2010 SP1.
    We have a custum GUI setup to use the sequential model.  At the heart of it, when we hit start, it accesses the Single Pass entry point and runs it with some modifications we've made.  Now, we'd like to have a setup that can test multiple DUTs and use the Parallel Process Model.  I'd like to have our GUI basically perform the same functions as the built in popup when running the TestUUTs entry point.  I've seen the PreUUT callback where you can disable the built in popup.  But what I can't seem to figure out is how to initiate a test socket test because it doesn't seem to line up with an entry point necessarily.
    When they push the start button next to DUT 0, I want to start socket 0.  And if they hit the start button next to DUT 1, I want to start socket 1.  What entry point does the GUI use to make this happen?  Does the GUI need to start an entry point (IE Test UUTs) then send more information later to start a test?  if so, where does TestStand wait for that information within the parallel process model?
    Thanks.

    One way you could do it is as follows:
    Still override PreUUT like in the example and add code which posts a UIMessage synchronously to the UI and then waits for a persocket notification (e.g. you can use the socket index as part of the name to make a per socket notification). Then in your UI, handle the UIMessageEvent on the ApplicationMgr. When you get the UIMessage from your PreUUT you will know it's ready and you can then update your UI to enable the start button, and when the user presses it, you can then Set() the notification to tell the testsocket thread to continue.
    for example, in preuut:
    Create Notification "MyUIStartNotification Socket 1"
    Thread.PostUIMessage(UIMsg_UserMessageBase + 1, RunState.TestSockets.MyIndex, "MyUIStartNotification Socket 1", null, true)
    Wait on Notification "MyUIStartNotification Socket 1"
    In your UI
    Handle UIMsg_UserMessageBase + 1
    Enable Start Button
    When start button pushed, Set Notification that corresponds to that socket. Pass any data needed with the notification, for example, create a container that contains a serialnumber property and a continuetesting property and pass that with the Set operation. In your PreUUT code get that data from the notification and update your parameters.
    Not simple, but doable.
    -Doug

  • How to map expdp parallele process to output file

    How to map expdp parallel process to its output file while running...
    say i use expdp dumpfile=test_%U.dmp parallel=5 ..
    Each parallele process writing to its related output file.. i want to know the mapping in run time...

    I'm not sure if this information is reported in the status command but it's worth a shot. You can get to the status command 2 ways:
    if you are running a datapump job from a terminal window, then while it is running, type ctl-c and you will get the datapump prompt. Either IMPORT> or EXPORT>
    IMPORT> status
    If you type status, it will tell you a bunch of information about the job and then each process. It may have dumpfile information in there.
    If you run it interactively, then you need to attach to the job. To do this, you need to know the job name. If you don't know, you can look at sys.dba_datapump_jobs if prived, or sys.user_datapump_jobs if not prived. You will see a job name and a schema name. Once you have that, you can:
    expdp user/password attach=schema.job_name
    This will bring you to the EXPORT>/iMPORT> prompt. Type status there.
    Like I said, I'm not sure if file name information is specified, but it might be. If it is not there, then I don't know of any other way to get it.
    Dean

  • How to create automatic timer process in BPM?

    Can anyone tell me how to create an automatic timer process in BPM?
    Can I just create an manual process, and drag the timer event into the swam lane, can connect the timer to the service and then to the end event?
    Thank you

    Hi,
    You can make use of Global Automatic activity to kick off your process at a particular time. Place a Global Automatic activity in your process and right click on the Global Automatic activity and select Properties --> General --> Global Automatic Type: Automatic Schedule, Automatic Schedule: <Configure with your requirement>.
    Else you can make use of due transition/timer activity to get your task done.
    Bibhu

  • How can I implement parallel processing feature in Oracle 9i?

    I need to load (and transform) millions of data from Table1 to Table2. How can I speed the process using parallel processing. The server has 4 processors (running on Win2k Advanced server).
    Can anyone guide me what are the exact steps required to enable parallel loading. I've already partitioned Table1 into 4 parts.

    insert /*+ PARALLEL(8) */ into table A select * from table B ;
    or alter table A parallel 8 ;
    or alter session enable parallel dml ;
    Look for PARALLEL on http://tahiti.oracle.com for more infos.
    Fred

  • 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 can we automate the process of selective deletion in process chain

    Hi,
    I got to delete data from ODS and InfoCube selectively every Tuesday. So I am aware that there is an ABAP program through which we can automate the process of selective deletion in Process chain. So plz let me know the proceedure to automate this process.

    Hi,
    Try this.
    Need to genrate the deletion program using tcode Delete_Facts.
    steps : 1 run the Delete_Facts tcode and give your cube name in the input parameter
    step2 . select deletion program and execute . you will get the system genarated program
    step 3 copy this prg and save as zprg.
    step4 : run the program with selection
    step 5. if your selection is date then you need to create dynamic varient needs to be populate the value for the date fields
    step 6: you need to maintain the date values in the TVAR table if necessary
    step 7. you need to use this custom prg in your process chain after completion of test
    source : SDN.
    Thanks,
    JituK

  • Some Executions Are Not Terminated by Using Terminate All in Parallel Process Model

    Hi,
    This issue confued me recently, I'd like to use a parallel model process, and to terminate all execution at once.
    If there's some action steps in the sequence, it seemed all execution will be terminated.
    However, I put a wait function instead of action steps, there are some executions not terminated while I pressed the Terminate All button in the toolbar.
    Hope someone can give me some help. Thanks a lot.
    ps. the number of testsockets is set to 9 in my teststand.
    Solved!
    Go to Solution.
    Attachments:
    Terminate_Test.seq ‏7 KB

    Hi, Ting,
    Thanks for your help.
    I'd like to add some additional remarks,
    What I'd like to know is what cause the termination unstable in such a situation.
    The timing seemed to play an important role, but it is not my orignal concern.
    I used the testsocket of the last one to send the TerminateAll() command, but the choise is an accident...
    Originally I take the first testsocket to send TerminateAll() command, it works "well".
    I've notice the terminating action is always done in the reverse order of the testsocket(i,e, from the last testsocket to the first one),
    it seemed to make each testsocket go to cleanup and then not allow the testsocket continue.
    If we trace the executions more detailedly, it can be found the executions not terminated are actually received the command of the TerminateAll().
    They went to cleanup, and waited for the following "not continue" procedure, but somehow it missed so that they survived to repeat the execution.
    This consquence is a little like the termination is terminated...(not tongue twister...XD)
    If my postulation is true, it is safe to put the TerminateAll() command to the first testsocket so that the latter executions will be terminated before the first one terminated.
    If I put it to the latter testsocket or the last one, the termination will be terminated and some executions will revive.
    If I skip the wait function in the cleanup, the situation is not optimistic as my thought, the last testsocket will revive itself and back to the terminate command to send it again so that it makes me feel that it is better if I skipped the wait function.
    The above is my unconfirmed idea, maybe it totally wrong, if someone can correct my understanding I would be greatly appreciated.
    BTW, it is really special case, so we can take it easy, hope this will not add your loading and we can discuss freely as an amateur

  • How To Access Variables In Process Model For Use In Main Sequence

    Hi everyone, in my sequence file I callback the PreUUT sequence file.  I want to be able to use one of the local variables I assign in this callback sequence in my main sequence.  In my main sequence this variable will trigger if I should run some tests or not in my main sequence.  Is this possible?  How would I do this?
    Thanks so much!

    U need to make a parameter in your Callback, parameters are seen outside of sequences, then in PreUUT u will make statement to update parameter, or use the parameter in your callback  directly
    Parameters.MyPara=Locals.MyLoc
    etc

  • Getdescrip​tionex not working in parallel proces model

    Hi All,
              In parallel process model, I would like to get the description of the called step. So I make use of the function Runstate.CallingStep.GetDescriptionEx(0) in the ProcessModelPostStep sequence. TestStand is getting hanged once the control reaches that particular step. I used the same function in the Sequential Process model I didn't face any problem over there.
    How shall I get the description of the client sequence Step? Is there any alternative way..?
    Thanks
    Arun Prasath E G

    Hi Arun,
    When you modify the ProcessModelPostStep (or any other ProcessModel... callback), it only affects the particular Process Model that you modify the callback on.
    Did you add the custom step to the callbacks of both the ParallelModel.seq and the SequentialModel.seq files? You might have just modified the Sequential Model and not the Parallel Model.
    Also, another option you might want to persue (based on what you are trying to accomplish) would be to simply use the Sequence File callback, SequenceFilePostStep. This will affect all the process models, but only for a single sequence file.
    Here is an article that discusses the differences:
    KnowledgeBase 2LT9BI6E: What is the Difference Between Using a "SequenceFile..." callback and a "Pro...
    Jervin Justin
    NI TestStand Product Manager

  • Process chain-parallel process

    How do we do parallel processing in Process chain? Please answer.

    This may mean 2 things.
    1. If you load data to same target from same source, you can do this in parallel; that means you can split the data in multiple info packages and load.
    2.Second is when you load multiple targets from multple sources.
    To what extent you can run jobs in parallel depends on factors such as available memory, no of jobs, frequency of loads,   and top it all, the business needs.
    Ravi Thothadri

  • Process modeling for HR

    Hi all,
    could you please let me know how to do the HR process modeling????

    Raju,
    Welcome to BPX..
    By HR Process Modeling - what exactly do you seek ... you could look into the solution maps available for SAP HR and see if anything there interests you..
    Look up the various business maps available @ http://www.sap.com/solutions/businessmaps/index.epx
    and see if there is anything specific to your industry...
    Arun
    Message was edited by:
            Arun Varadarajan

  • CIF compare/reconcile -- Parallel process profile in R/3

    Dear experts, I'm opening a complete new discussion with this topic...
    does anybody have experience setting up parallel processing for CCR?
    I did create 2 parallel profiles in customizing (1 for APO and 1 for R3) and I executed the report in background.
    Most of the performance time that the report uses is spent on R3 side reading tables like VAPMA and VLPMA. In order to improve runtime performance I set up the 2 parallel process profiles as shown above (defiining server, number of processes and block size in customizing following SAP recommendations already).
    In APO I am perfectly able to see how more than one process is being triggered and therefore parallelization works.
    Nevertheless, I never see in R/3 the same thing happening. No matter how I define the parallel process profile for R/3, I always see one unique process in transations SM51 and SM66 on this system as shown below.
    Is there a specific setting I need to maintain to achieve this process parallelization in R/3? Is it even possible to split processes in R3? and if not, what is the purpose of having Parallel Process profiles in R3?
    Thanks for your support
    Salvador

    Hi Rupesh,
    indeed a good remark, but we already got this note in R3 upfront.
    Regarding VBBE, we did ran CCR without it being selected. This has an equivalent effect to running report SDRQCR21 as it will also update index tables. It is recommented by SAP to schedule it on a regular basis and that's the direction we took.
    These ones certainly improve performance significantly, but still we are wondering about parallel processing in R3.
    If there is a profile for parallel process available in CCR, why are we not able to see parallel processes in R3 when executing the report? This should also help in improving even more performance if we could get it working properly...
    Further information...
    Is maybe someone aware of the following points?
    - RFC call is using DIA processes. Are these suitable for parallellization in any case?
    - what are the profile parameters that need to be set up (RZ10) and is there a direct link with parallel processing? For example, I notice that rdisp/rfc_pool_size is equal to zero in my R3 system but it is 10% in APO.
    - are there other parameters like rdisp/rfc* that can really block me from getting parallel processes?
    Thanks for your interventions
    Salvador
    Message was edited by: Salvador García

  • Parallel processing using arfc.

    Hi experts,
    Does any have a presntation on how to proceed with parallel processing with ARFC?
    Thanks in Advance.

    look at the piece of code ....
    FORM start_onhand_extract_task .
      DO.
        IF g_num_running < g_avail_wps.
          EXIT.
        ENDIF.
        WAIT UP TO 5 SECONDS.
      ENDDO.
    Creating the file name with task number
      ADD 1 TO g_task_num.
      CONCATENATE p_file1 g_task_num INTO g_task_name.
      CONCATENATE g_filename g_task_name  INTO task_tab-filename1.
      CONDENSE task_tab-filename1 NO-GAPS.
      task_tab-task_name    = g_task_name.
      APPEND task_tab.
      CLEAR g_msg_text.
      CALL FUNCTION 'ZMIO_GET_MARD_DATA'
        STARTING NEW TASK g_task_name
        DESTINATION IN GROUP p_grp
        PERFORMING decrease_wp ON END OF TASK
        EXPORTING
          i_filename = task_tab-filename1
        TABLES
          i_matnr    = r_matnr
          i_werks    = r_werks.
      CASE sy-subrc.
        WHEN 0.
          ADD 1 TO g_num_running.
          g_num_submitted = g_num_submitted + 1.
        WHEN 1.
          error_rec-task_name    = g_task_name.
          error_rec-filename1    = task_tab-filename1.
          APPEND error_rec.
          APPEND it_exp_t001w TO it_err_t001w.
          ADD 1 TO g_num_err.
          g_hold_num = g_num_running.
          WAIT UNTIL g_num_running < g_hold_num OR
                     g_hold_num = 0
                     UP TO 5 SECONDS.
        WHEN OTHERS.
          error_rec-task_name    = g_task_name.
          error_rec-filename1    = task_tab-filename1..
          error_rec-msg_text     = g_msg_text.
          APPEND error_rec.
          APPEND it_exp_t001w TO it_err_t001w.
          ADD 1 TO g_num_err.
      ENDCASE.
    ENDFORM.                    " start_onhand_extract_task

Maybe you are looking for

  • Reading from home directory in linux using ~/ or $HOME and BufferedReader

    I'm working on an app that reads in a number from a user's home directory using BufferedReader. The file is written by an external script to ~/filename. I don't know if the user of the app's home directory will be /homes/username, /home/username, or

  • Video Clear

    Hi everyone, I'm trying to create a videochat using Flex 3 and Flash Media server and I have some problems with the method "Clear" of Video object. When a user stop publishing its stream (from the webcam), I receive an event because a shared object p

  • Max_io_size equivalent in Linux and block/stripe sizes

    I'm configuring a linux Red Hat 7.1 for Oracle 9i Rel2. I'm trying to determine the best db_block_size, and db_file_multiblock_read_count parameters. I know that these Oracle settings are dependent on the OS block size and the max_io_size of the OS.

  • % of ANSAL

    Hi, I need to calculate into a wagetype an entered percentage of the ANSAL.  For example: Annual Salary is $10000, wage type NNNN should be XX% multiplied by Annual Salary where XX% is based on what HR enters. I tried setting the indirect evaluation

  • Behaviour for Calender in iOS 5 has changed - but rather irritating

    After upgrading to iOS 5 the behaviour in Calendar in iPhone has changed - and not to it's advantage. There are two issues, and they go like this: 1. Before: When I moved an event in Calendar fra e.g. Nov. 2nd to Dec 2nd the Calender window stay posi