The datalogging routines are enabled or disabled by the values of variables in a subroutine called Set_Custom_Options in testplan file.


1. Change QSTATS_Mode variable to Histo:
 QSTATS_Mode = Histo
    • Off : turns off data logging
    • No_Histo : logs failing data and disables random sampling (enabled by Histo).
    • Histo : logs failing data and enables the random sampling of data from 10% (the default) of the analog components that pass. 
2. Set Analog_Sample_Rate (data sampling) : 0.1=10%    1=100%

Define board datalogging sampling rate. The remaining boards are then logged with a log level of failures. 

Analog_Sample_Rate = 1


3. Change datalogging directory (defined in sub Initialize_Constants):

Default value is : 

Log_Path$ = btgetenv$("AGILENT3070_ROOT")&"/qm/logdata/testerq/"

This default location is also used by Pushbutton QSTAT translator wich will process and then delete all log files located in qm/logdata/testerq directories and sub directories.

Changing Log_Path$ directory will allo you to keep native log file.


4. Log level: 

The log level is function establishes the level of information that is to be generated as log records. When a level is selected, all lower levels, except none, are automatically included; when none is specified, it turns all logging off.

Once the level is established, it remains established through all subsequent program runs until another log level is function changes it, or until the user logs out of the system. The log records are generated (unless none is specified) even if the default log file is not open. The log records are held in a buffer until a log out, log clear, log clear for retest, or wait for start function is executed.

    • none – Turns all types of logging off (the default). This includes logging activities for all other logging statements. This parameter can be used to temporarily stop data logging. Resume data logging by using another log level is function.
    • manual – Generate records for the log and log using statements.
    • board – Generate records for the log board, log board start and log board end statements. Includes manual level.
    • failures – Generate records for tests that fail. Includes board and manual levels.
    • indictments – Generates records as in the failures level, plus specific information on devices indicted as potential (or known) failures.
    • analog – Generate records for analog tests which pass. Includes failures, board and manual levels.
    • all – Generate records for digital tests which pass. Includes analog, indictments, failures, board and manual levels.

To collect maximum data, it is recommanded to force log level to all (ensure HDD capacity is sufficient) in sub Start_Logging.

sub Start_Logging 
global Analog_Sample_Rate, QSTATS_Mode, Histo, Board$, Tests_On_This_Board 
global Sampling, True, False 
global Proc_Step$, Batch$, Oper$, Board_Rev$, Testplan$ 
global Testrev$, Known_Good$, Serial$, Version_Label$ 
Sampling = False

if learning then
  log level is all
  if rnd < Analog_Sample_Rate * (QSTATS_Mode = Histo) then
    log level is analog without nhls, pins
    Sampling = True
    log level is indictments without nhls
  end if
end if

log level is all 

print "Log level: ";lli$;";  Report level: ";rli$;";  Board type: ";Board$
PS$ = Proc_Step$
if Tests_On_This_Board = 1 then
  log board Board$, PS$, Batch$, Oper$, Board_Rev$, Testplan$, Testrev$, "", "", Version_Label$
end if
log board start Serial$, Known_Good$