Pretest Termination causing FPY Skew

Comments

7 comments

  • Tom Andres Lomsdalen

    Hi David,

    No, disabling "Step Failure Causes Sequence Failure" will not change this issue since the UUT status will still be Terminated.

    You are correct that "any None Passed" will cause poor yield by definition. I see your point but you could also argue that since you "need to Terminate all UUTs", this should affect the Yield (retest time etc.).

    I think the (First Pass) Yield in general does not differentiate what is causing poor yield (unit, production, component, test system, process, firmware, etc issues). Repair report, MI and Root Cause will provide these details.

    One option is to skip logging for the Terminated UUTs since you anyway need to run the pretest again on the same units?

    Another option is to change the operation type to e.g. Test System Issue or takeout on those reports. You will then be able to log the reports to WATS without it affecting you production FPY.

    Would this solve your issue?

    0
    Comment actions Permalink
  • Nelson, David Q [AUTOSOL/MEAS/SHAK]

    Tom,

     

    Thanks for the response.  Based on what you have explained below, I want the unit that failed pretest to go into WATs as a failed unit in “PCBA_Test” status.  However, I want the remaining boards that have passed pretest (but have been terminated) to skip going into WATS.  So the suggestion I like the most of what you state below is the option of skipping logging of the terminated DUTs.  Keep in mind that I am using the modified version of the batch process model, so I need to somehow turn off logging for only the terminated duts but keep the logging on for the failed pretest dut. 

     

    Do you know how I can do that in Teststand? Is there a way to control individual socket logging using the batch process model?

    0
    Comment actions Permalink
  • Tom Andres Lomsdalen

    Hi David,

    I see two options.

    1: Modify the WATS_ReportLogger.seq plug-in (e.g. modify the IF step condition "Parameters.ModelData.EntryPoint == "Test UUTs"" to also include Status != Terminated and Model = Batch).
    The disadvantage  is that you will now have a custom version of the WATS_ReportLogger.seq.

    2: I found a work around for disabling logging dynamically for one socket: add the PostMainSequence callback, add a statement step and create expression: "Parameters.ModelThreadType.IsTestSocket = False". Add the precondition Parameters.UUTStatus == "Terminated". Second, add a similar step in the PreMainSequence callback and "reset socket": Parameters.ModelThreadType.IsTestSocket = True.
    This method seems to work well for me (TS2019) but I haven't tested it very thoroughly and it may impact the batch model behavior for later TS versions.

     

     

     

     

    0
    Comment actions Permalink
  • Nelson, David Q [AUTOSOL/MEAS/SHAK]

    Tom,

     

    A while back, the Gods lead me to use the "Single Pass" instead of  "Test UUT's".  I has been good and working for what we need so I am going to sticking with it.  It has been good.  That being said, I already modified the the "WATS_ReportLogger.seg" and commented out the If "Test UUT's" in the Model Plugin - UUT Done.  Also, I recently made another modification to the "Skip WATS Logging" precondition to include Runstate.Sequence.Parameters.UUTStatue = "Terminated".  When I add this to the "Skip WATS Logging" step, it won't put any records for Terminated status into WATS.    it seems to work.  For our FCT applications, we don't want the Terminated Status to be applied to FPY.  That is what we want.  This code update seems to work and prevent terminated status duts from entering WATS.  So it is different than your suggestion but it seems to work and has also made a customized "WATS_ReportLogger.seq".  Let me know if you see any issues or concern in this implementation.

    0
    Comment actions Permalink
  • Tom Andres Lomsdalen

    David,

    Ok, this should work. Just be aware that this will disable all UUTs with status Terminated, also the ones run with the other process models (e.g Sequential Model).

    You may also consider to rename your custom "WATS_ReportLogger.seq" file as a WATS Client upgrade will overwrite this file.

     

    0
    Comment actions Permalink
  • Nelson, David Q [AUTOSOL/MEAS/SHAK]

    Tom,

     

    I am using a custom process model.  I can't seem to figure out how my process model calls the 'WATS_ReportLogger.seq".  As you mention above, I want to rename the 'WATS_ReportLogger.seq" so that it doesn't get over written by the next Client upgrade.  But I am not sure how my custom process model will distinguish between my custom 'Custom_WATS_ReportLogger.seq" and the a newly installed 'WATS_ReportLogger.seq".  How does it know which one to use?

    0
    Comment actions Permalink
  • Tom Andres Lomsdalen

    Hi David,

    In TestStand, browse to Configure >  Result Prosessing... and disable the "original" WATS Logging entry (you should see your custom WATS logging also listed).

    This article may also give you some insight: https://virinco.zendesk.com/hc/en-us/articles/207424553-Replace-or-create-custome-Identify-UUT

     

    0
    Comment actions Permalink

Please sign in to leave a comment.