J750 Test System
J750 Programming
V3.40
Training Manual
Module 9
Custom Coding
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 1
J750 Test System
This slide is blank
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 2
J750 Test System
Module Overview
• This module covers the concepts and activities used to create and use
interpose functions in an IG-XL workbook.
• This module contains the following sections:
• Visual Basic Overview Pg 3
• Creating Interpose Functions Pg 29
• Using Visual Basic Editor for Debug Pg 45
• Review Pg 55
• Lab 5 - Exercise 3 Pg 57 in Lab Section
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 3
J750 Test System
This slide is blank
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 4
J750 Test System
J750 Programming
V3.40
Training Manual
Module 9
Custom Coding
Visual Basic Overview
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 5
J750 Test System
Visual Basic for Applications
• Visual Basic for Applications (VBA) is
the source programming language for a
J750 Test Program.
• Most of the code is already provided,
i.e., Templates, etc. However, there
may be requirements for user-written
code.
• Typical examples for coding are:
– Interpose Functions
– Custom Templates
– Custom Test Functions
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 6
J750 Test System
Visual Basic for Applications
• The Visual Basic Editor (VBE)
provides the user interface to Visual
Basic code.
• Visual Basic Editor may be started
from Data Tool by either:
– Alt + F11
– Tools Menu
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 7
J750 Test System
Visual Basic Editor
• The typical Visual Basic Editor
display has three (3) windows:
– Project Explorer Window
– Code Window
– Immediate Window
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 8
J750 Test System
VBE - Project Explorer
• The Project Explorer window
displays three project folders
holding code associated with:
– DataTool (DataTool.xla)
– Template (Template.xla)
– VBAProjects (user projects,
i.e., test program workbooks)
• To access the folders within each
project, it is necessary to expand
the column using the (+) that is to
the left of each segment.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 9
J750 Test System
Projects in Project Explorer
• DataTool.xla DataTool code (password protected)
• Template.xla : Template source code.
– Modules : Contain the VB code for the functions
– Forms Files: Contain the Graphical User Interface
– Class Files : Contain the variables
– Reference : Call function to the Datatool (reference to used
functions from the DataTool)
• VBAProject (mylab4.xls) Test Program Workbook
– There may be multiple folders if multiple workbooks are open at one time
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 10
J750 Test System
VBE - Code Window
• The Code Window of the Visual
Basic Editor may be used to:
– Display existing code, i.e.
Template code
– Create new code, i.e. interpose
functions, etc.
• To display template code:
1. Expand Modules Folder of
Template Project (Template.xla)
2. Double left-click on a template,
i.e. BoardPmu_T
3. Code for template will be
displayed in Code window
• Using the Code Window to create
new code will be discussed later in
this module.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 11
J750 Test System
VBE - Immediate Window
• The Immediate Window of the
Visual Basic Editor may be used to
enter and execute Visual Basic
code in real-time.
• Type in statement + Enter
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 12
J750 Test System
Visual Basic for Test
• Visual Basic for Test (VB-Test): This is the programmer’s interface to the
J750 hardware and tester executive functions.
• It is implemented as a Visual Basic interface to the underlying software
drivers of the tester.
• Use Excel’s Visual Basic Editor to write your own interpose or
customization procedures using the methods and properties of VB-Test.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 13
J750 Test System
VBT Model
• The VBT Model has two main
components: VBT
Tester Hardware
Digital
Digital Subsystem
TheHdw TheExec
(Instruments)
All other programmable
hardware: i.e., BPMU,
PPMU, DPS, PinLevels,
MTO, CTO, UtilityBits (Instruments) Digital
Tester Executive functions
• Two global VB handles are used to
access these components:
TheHdw
TheExec
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 14
J750 Test System
TheHdw Object
TheHdw BPMU
PPMU
Digital HRAM DPS
• TheHdw is the highest-level object that PatGen PinLevels
provides access to objects relating to
the Test System Hardware Patterns MTO
Relays CTO
• The following line of code would rerun
the currently loaded pattern:
Timing UtilityBits
TheHdw.Digital.PatGen.Restart
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 15
J750 Test System
TheHdw Object
• TheHdw is an object that provides
access to Properties and Methods TheHdw
relating to the test system
hardware.
• The Properties and Methods for
TheHdw are themselves objects
corresponding to the instruments (Instruments) Digital
used for testing.
Properties Properties
• A Property is a named attribute of
an object. Methods Methods
• A Method is a procedure that can
act on an object.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 16
J750 Test System
TheHdw - Instruments
• The following tester components are programmed through the TheHdw object.
– BPMU
– PPMU
– DPS
– PinLevels
– MTO
– CTO
– UtilityBits
• For example, TheHdw.DPS is the path to the Properties and Methods for the
DPS.
– TheHdw.DPS.chans(0).CurrentLimit = 0.100
Set the CurrentLimit parameter (Isc) of DPS0 to 100ma
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 17
J750 Test System
TheHdw - Digital
• Programming of the Digital Subsystem of the J750 is also provided through the
TheHdw object.
– TheHdw.Digital
• The Digital object, in turn, provides access to the elements of the Digital
Subsystem via their corresponding objects:
– HRAM TheHdw.Digital.HRAM.----
– Patgen TheHdw.Digital.Patgen.----
– Patterns TheHdw.Digital.Patterns.----
– Relays TheHdw.Digital.Relays.----
– Timing TheHdw.Digital.Timing.----
• Example - Rerun the current pattern - same as pressing Restart button in Pattern
Control
– TheHdw.Digital.PatGen.Restart
• Example - Load pattern file ‘a.pat’ - same as using Load in Pattern Control
– TheHdw.Digital.Patterns.Pat(“a.pat”).Load
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 18
J750 Test System
VBT Help
• Producing a Visual Basic statement
to program a tester component can
be complex.
• VB-Test Help can offer assistance
and information.
• A simple method for accessing VB-
Test Help
1. Start IG-XL Help
2. Use Find.
Enter ‘Complete List’
3. Display
• This will display ‘Complete List of
Objects, Properties, and Methods’
– Provides a starting point to work
your way through the hierarchy
of TheHdw or TheExec objects.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 19
J750 Test System
VBT - Pins vs. Chans
• Most of the hardware objects offer two (2) different ways to read from or write to
the tester hardware:
1. By DUT pin:
TheHdw.DPS.Pins("Vdd").ForceValue(dpsPrimaryVoltage) = 3.9
\\ Set Vps of Power pin ‘Vdd’ to 3.9
2. By Channel:
TheHdw.DPS.Chans(0).ForceValue (dpsAlternateVoltage) = 3.9
\\ Set Alt of DPS0 to 3.9
DUT pin programming is recommended as it handles multisite testing automatically.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 20
J750 Test System
Visual Basic - With Construct
• Visual Basic’s “With” construct can simplify programming:
With <object-path>
statements
End With
• The object-path will be applied to all relative references within the With construct
– Relative references begin with ‘.’, i.e., .ForceValue(dpsPrimaryVoltage)
• For Example, the following code:
With TheHdw.DPS.Pins(“Vdd”)
.ForceValue(dpsPrimaryVoltage) = 3.1
.CurrentLimit = .45
End With
Is the same as:
TheHdw.DPS.Pins(“Vdd”).ForceValue(dpsPrimaryVoltage)= 3.1
TheHdw.DPS.Pins(“Vdd”).CurrentLimit = .45
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 21
J750 Test System
Visual Basic - With Construct
• Allows programming to setup a block of code that focuses on a particular instrument
or set of pins or parameter.
• Object references that are not relative to the With Construct’s object reference must
be absolute references (complete path).
With TheHdw.Pins("db1")
.PinLevels.ModifyLevel(chDriveHi) = 3.0 // relative
.Timing.ReadEdgeTimingRam(time_PHLZ) // relative
// Next statement is different object path
TheHdw.Digital.Timing.Chans(29).EdgeTime(chEdgeR0) = 6.5*ns
.Timing.WriteEdgeTimingRam (time_PHLZ) // relative
End With
Note: Timing edges are read from hardware to memory, modified in memory and
then written back to the hardware.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 22
J750 Test System
Pins Object
• The ‘Pins’ object allows programming to focus on the DUT pins rather than the
instruments to be used. Many of the objects referenced from the Pins object are the
same instrument objects referenced by TheHdw.
• Both statements below modify the chDriveHi parameter of pin db1.
TheHdw.Pins("db1").PinLevels.ModifyLevel(chDriveHi) = 3.0
TheHdw.PinLevels.Pins(“db1”).ModifyLevel(chDriveHi) = 3.0
• Useful when working with a wide range of pin-related parameters. See previous slide -
both PinLevels object and Timing object are being accessed for pin ‘db1’. Also
note - Timing is being accessed directly from Pins rather than through the Digital
object.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 23
J750 Test System
TheExec Object
• TheExec is a high-level object that
provides access to objects relating to TheExec
the Test System Executive.
Datalog
• For example, accessing the Datalog
object can provide the same types of
results as using the Datalog Tab in the DataManager
DataCollect Setup Window.
• The following line of code would cause Flow
a line of output to be added to the
Datalog output:
RunOptions
TheExec.Datalog.WriteComment(
“Functional Relay has been
opened”) Sites
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 24
J750 Test System
Building a VB Statement
• When entering code, in the
Immediate Window or Code Window,
the statement may be built item by
item with the help of drop-down lists.
1. Enter high-level object, e.g. TheHdw
followed by a period (‘.’), After the
period is entered a drop-down list
appears. This list will be the
available choices at this point.
2. Select choice (Digital) with a
double left-click. The choice is added
to the statement. Enter a period.
A new drop-down list appears.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 25
J750 Test System
Building a VB statement
3. Select choice (Relays) with a double
left-click. Enter a period. A new
drop-down list appears. Select
choice (pins) with a double left-click.
Enter a period. A drop-down list
appears. And so on.
4. Eventually, no more drop-down lists
appear when a period is entered.
The statement has reached the end
of its path. Delete the last period.
5. Press Enter Key and the statement
will be translated and executed.
3. Sometimes an error message may
be displayed. (See next slide)
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 26
J750 Test System
Building a VB Statement
• Some objects have parameter lists.
Some do not. A missing parameter
list will cause an error.
• In this case, the ‘pins’ object has a
parameter list. The drop-down
parameter lists did not indicate that
a parameter list was needed.
• Instead of entering a period after
each object, first enter a space
character. If the object does not
have a parameter list, nothing will
change. Delete the space
character and add the period.
• If the object has a parameter list,
the list will be displayed. Enter the
parameters within parentheses.
Complete the statement and press
Enter. Now the statement will
translate and execute.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 27
J750 Test System
This slide is blank
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 28
J750 Test System
J750 Programming
V3.40
Training Manual
Module 9
Custom Coding
Creating Interpose Functions
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 29
J750 Test System
Interpose Functions - Overview
• Teradyne Templates provide a basis for many general test conditions.
• Some testing conditions will require actions beyond that of the standard Teradyne
Template. Consequently user-written code will be necessary.
• These requirements are typically handled as:
Interpose Functions
Custom Templates
Custom Test Functions
• We will focus on the creation of Interpose Functions.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 30
J750 Test System
Interpose Functions - Overview
• Interpose Functions can satisfy most customization needs including:
modifying the behavior of a template without modifying the code.
making calls to the drivers, to get and set driver values.
• Arguments can be passed to an interpose Function.
• When possible, it is recommended that you use interpose functions instead of
creating customized templates.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 31
J750 Test System
Calling Interpose Functions
• The following are conditions (events) in the body of the typical template where an
interpose function may be called:
1. StartOfBodyF: Called as the first operation in the Template body.
2. PrePatF: Called before each pattern burst.
3. PreTestF: Called before the test is executed or the measurement is made.
4. PostTestF: Called after the test is executed or the measurement is made.
5. PostPatF: Called after each pattern burst.
6. EndOfBodyF: Called as the last operation in the Template body.
7. PatFlagFunc: Called to modify tester setups while the pattern is running.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 32
J750 Test System
Calling Interpose Functions
• An Interpose Function is typically
called by entering its name in one
of the Interpose Function Value
fields in an instance.
• An Interpose Function may require
a parameter list. This comma-
separated list is entered as strings
of characters.
• In this example, the function,
PrintStuff, is being executed at
each of the six points available in a
template. The output, on the next
slide, will show the relative position
of each of the function calls.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 33
J750 Test System
Calling Interpose Functions
• The order of execution for the
Interpose Functions within the Body
of a template is:
1. StartOfBody
2. PreTest
3. PrePat
4. PostPat
5. PostTest
6. EndOfBody
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 34
J750 Test System
PatFlagFunc
• The PatFlagFunc Tab of the
Functional Test Template includes a
PatFlagF parameter, specifying a
function to be called when certain
flag conditions are met. The
PatFlagF parameter is identical to
the Interpose Functions.
• The WaitFlags will identify the
condition(s) that must be met for this
special Interpose Function to be
executed.
• The Interpose Function called by
PatFlagF usually needs to reset the
WaitFlags condition(s) that called it.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 35
J750 Test System
Adding Interpose Functions to a Workbook
• New code, i.e. Interpose Functions,
are added to a workbook as .bas files
and are stored in the Modules folder
of the VBAProject.
• Interpose Functions may be added to
a workbook by:
– Importing a module
– Creating the function with VBE
• To import a module:
1. Open the Visual Basic Editor
2. Select the workbook folder in
Project Explorer
3. Left-click File, left-click Import File
4. Select file (*.bas), left-click Open
• Creating an interpose function is
discussed in the following slides.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 36
J750 Test System
Creating Interpose Functions
• The following steps are used to create an interpose function with VBE:
1. Open VBE
2. Select workbook folder
3. Insert Module
4. Code the Function Declaration statement
5. Add function code
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 37
J750 Test System
Function Declaration Statement
• An Interpose Function has the following structure:
Public Function <name> (argc As Long, argv() As String) As Long
<function code>
End Function
• The ‘Public Function ….’ line is the Function Declaration. In the example below, the
function ‘SetFlag’ is being declared.
Public Function SetFlag(argc As Long, argv() As String) As Long
• The portion in parentheses after the function name will always be the same
(see next slide)
(argc As Long, argv() As String) As Long
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 38
J750 Test System
Function Declaration Statement - (Cont.)
• The code in parentheses after the function name is the function’s parameter list.
– Where argc is a Long indicating the number of arguments passed to the
function.
– Where argv() is an Array of Strings, one element for each argument
passed.
Example: Parameter list = “VCC”, “3.5”, “100ma”
argc = 3
argv() = “VCC” argv(0) = first element
“3.5”
“100ma”
• If the function does not processes input arguments, the parameter list is ignored.
• If the function has parameters, the list is automatically translated into the argc, argv
format and passed to the function.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 39
J750 Test System
Interpose Function without Arguments
• The example function Demo does not process any input arguments:
Public Function Demo(argc As Long, argv() As String) As Long
TheExec.Datalog.WriteComment ("This is a Test")
End Function
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 40
J750 Test System
Interpose Function with Arguments
• The function SetFlag processes one input argument.
If the argument = “cpuA” then that flag will be set.
If the argument = any other string, i.e. “none” then it will not set the cpuA flag.
• There must be at least one argument or a ‘subscript out of range’ error will occur
when referring to argv(0) in the function code:
Public Function SetFlag(argc As Long, argv() As String) As Long
If argc > 0 Then
If argv(0) = "cpuA" Then
Call TheHdw.Digital.Patgen.Continue( cpuA, 0)
End If
TheExec.Datalog.WriteComment(“ CPU Flags = “ _
+ Cstr(TheHdw.Digital.Patgen.CpuFlags))
End If
End Function
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 41
J750 Test System
Visual Basic Operations
• Three common Visual Basic operations are used in the line below:
TheExec.Datalog.WriteComment(“ CPU Flags = “ _
+ Cstr(TheHdw.Digital.Patgen.CpuFlags))
1. Continuation
To put a single VB statement on multiple lines, insert a Continuation
Operator (_) into the line. Otherwise, the translator will interpret the Carriage
Return as a premature end of the statement.
3. Concatenation of Strings
To concatenate strings, use the (+) operator: “...“ + Cstr(...)
3. Conversion from Long to String
Cstr(TheHdw.Digital.Patgen.CpuFlags)
Cstr is a VB function that converts the input expression into a String
In this example, CpuFlags is a value of type Long
• Refer to MicroSoft Visual Basic Help for details and operations.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 42
J750 Test System
Using Interpose Functions - Example
• For this example, the SetFlag function is
being written to be used with the pattern
7408_FullPat_ICC.
• 7408_FullPat_ICC is being used with
the test instances DynamicIcc08 and
FullFunc08.
• For both instances, the SetFlag function
will be called prior to running the pattern
- PrePatF
• For DynamicIcc08, the input parameter
will be ‘cpuA’.
• For FullFunc08, the input parameter will
be ‘none’
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 43
J750 Test System
Using Interpose Functions - Example (Cont.)
• Pattern 7408_FullPat_ICC is shown
here.
• If parameter list <> cpuA, then the
function will not set cpuA. As a
result, the pattern will execute
vector 0 and then jump to vector 5
and execute the functional test
portion of this pattern.
• If parameter list = cpuA, then the
function will set cpuA. As a result,
the pattern will go from vector 0 to
vector 1 for a dynamic loop for the
ICCH measurement, then proceed
to a loop to measure ICCL and then
jump the last vector and stop.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 44
J750 Test System
J750 Programming
V3.40
Training Manual
Module 9
Custom Coding
Using Visual Basic Editor for Debug
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 45
J750 Test System
Visual Basic Code Debug - Overview
• The following activities are involved in using VBE for code debug:
1. Open VBE
2. Set Breakpoint at line of interest
3. Start by a Left-click Debug Run in Datatool
Program stops at line with the breakpoint
4. View values of variables
5. Change values of variables in Immediate Window
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 46
J750 Test System
Open VBE
• Open the Visual Basic Editor by either of the following:
– (Tools) -> (Macro) -> (Visual Basic Editor)
– Alt + F11
• Display the template code or user-written function code in the Code Display
window of VBE.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 47
J750 Test System
Set Breakpoint in VBE Code
• A breakpoint in VB code may be set by a left-click in the gray area next to the VB
line where the breakpoint is required.
• A dot in this area indicates that a breakpoint has been set for this line.
• The breakpoint may be removed by a left-click in the gray area.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 48
J750 Test System
Run to Breakpoint
• After setting a breakpoint in VB code, the Debug Run button of Datatool can be
used to step to the breakpoint.
• A yellow arrow and yellow shading on the line, indicate that the breakpoint has
been reached. Note: The highlighted statement has not been executed yet.
• The breakpoint may be removed by another left-click in the same gray area.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 49
J750 Test System
Displaying Variable Contents
• While stopped at a breakpoint in VB code, the contents of any variables in the
function may be displayed. The variables do not have to be on the current
breakpoint line.
– Move cursor over the variable
– Variable contents will be displayed. (left-click and drag are not required to
select the variable).
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 50
J750 Test System
Changing Variable Contents
• While stopped at a breakpoint, variable contents may be changed in the
Immediate Window before executing the current (highlighted ) statement.
• After typing a command in the Immediate Window, press the Enter key to execute
the command in the Immediate Window.. In this case, argv(0) will be changed
from its original value to “cpuA”.
• When code execution moves on from this breakpoint, the new value of argv(0) will
be used.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 51
J750 Test System
Debug Run Buttons
• While stopped at a breakpoint in VB code, the Debug Run buttons of Datatool are
no longer enabled. The Debug Run buttons of VBE should be used
step to next statement
step to next breakpoint (if any)
• ‘Step to next statement’ has been used here to move past the breakpoint
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 52
J750 Test System
Debug Run Buttons
• When breakpoints are set in both
the flow table and VB code, Debug
Run in Datatool is used to step to
the breakpoint in the code.
• At this point, the Debug Run
buttons will cycle through the code
in the function where the VB code
trap is located but will not exit from
the code.
• To exit the code, step to the
beginning of the function. Then the
Debug Run buttons of Datatool
would become enabled again.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 53
J750 Test System
This slide is blank
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 54
J750 Test System
J750 Programming
V3.40
Training Manual
Module 9
Custom Coding
Review
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 55
J750 Test System
Custom Coding: Review/Exercise
1. Identify and describe the three typical Visual Basic Editor display windows.
- Project Explorer Window - used to display three key IG-XL folders: DataTool (for DataTool
code), Template (a subsystem of all IG-XL template code) and VBAProjects (user test
program workbook).
- Code Window - is used to display existing code (template code) and used to create new
code such as interpose functions.
- Immediate Window - The Immediate window of the Visual Basic Editor may be used to enter
and execute Visual Basic code in real-time
2. List and describe the components of the Visual Basic for Test programmers
interface model.
- the VBT model has two main components, Hardware (TheHdw) which is made of two J750
subsystems: Digital and Instruments (PPMU, BPMU, DPS, Pin Levels, MTO, CTO,
Utility Bits etc); and the second component being the tester executive
(operating system) functions.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 56
J750 Test System
Custom Coding: Review/Exercise
3. Describe the purpose of the Instruments and Digital components of TheHdw object
and describe the function of their properties and methods.
- TheHdw object provides J750 hardware access at the highest level, while the properties and
methods are objects that correspond to the J750 instruments and digital subsystems.
Properties are named attributes of the object, while a method is a procedure that can act
on the object.
4. Describe the primary purpose for using the Visual Basic “With” construct.
- the With construct can simplify programming since the <object-path> will be applied to all
relative reference statements in that block of code which allows the programming to focus
on a particular instrument or a set of pins or a parameter.
5. Describe the purpose of the high-level object TheExec.
- “TheExec” high level object provides access to the Test System Executive (the J750 OS)
such as the Datalog, DataManager, Flow, RunOptions and Site objects for providing
alternative executive functionality in the program debug process.
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 57
J750 Test System
This slide is blank
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 58
J750 Test System
J750 Programming
V3.40
Training Manual
Module 9
Custom Coding
Lab 5 - Exercise 3
Go to Pages 57 to 60 in Lab Section to
complete Lab 5 Exercise 3
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 59
J750 Test System
This slide is blank
PN 553-405-50 Rev - August 2002 J750 Programming - V3.4 Custom Coding - 60