XCaliper 6.0
With NoisemasterTM
Robust Pattern Technology


                                                                                 

  

Products & Services

XCaliperTM

XReaderTM

Custom Software Development


Support

Technical Support

System Integrators, Dealers, &OEM's

Training

Software for Graduate Students

What's New

About FSI Automation

Home


                                     

Solving Your Application with XCaliper

 

 

 

Solving your application with XCaliper involves four basic steps:
  1. CONFIGURE THE IMAGE INPUT using XCaliper’s ImageDevice
  2. DESIGN THE INSPECTION using XCaliper’s analysis tools
  3. WRITE CONTROL LOGIC using tool properties, methods, and events.
  4. COMPILE & USE the application
 

Step-1

Configure Image Input

 

 

In this view, an ImageDevice has been placed on a new Visual Basic form and a template image has been loaded. The Image Device property page is open and the properties of the scene are being set.

 

XCaliper’s ImageDevice component organizes your application on the basis of ‘scenes.’ Each scene is comprised of everything you need to analyze an image, including: a camera interface, a template image, a connection to an input channel of the frame grabber or camera, a set of tools to analyze each image, and memory buffers to perform inspections and store results.

The unique design of the ImageDevice allows you to control every aspect of image acquisition, display, and management without writing a line of code—you simply declare the number of scenes and set their properties using the ImageDevice property pages, shown below.

 

 

 

 

Step-2

Design the Inspection

 

 

 

In this view, several Caliper and Edge- Locator tools have been set to find the position of the chip and to measure the spacing and length of the pins. The property page shows the property settings for the caliper along the top row of pins.

 

 

 

For each scene, you design the inspection by dragging and dropping XCaliper’s inspection tools onto the ImageDevice. Each tool has a viewport, a graphical object used to draw and position the tool. When a tool is placed or moved, it automatically executes, updates its display viewport, and fills its result properties.

Each tool also has a property page, which allows for custom configuration. You can change the behavior of a tool by adjusting its properties. When you adjust the properties, the tool’s results change instantly. This unique capability enables you to configure and modify tools and preview how the tools will behave during application run-time, without writing a line of code.

 

 

Step-3

Control Logic

 

 

Next, you code the inspection logic of the program. In most XCaliper applications, the bulk of the processing is done inside the tools. Thus, the main inspection loop simply defines properties of the tools, calls methods supplied by the tools, determines the order in which the tools are executed, and processes the inspection results.

Following is an example, written in VB, from an application used to inspect the leads on an integrated circuit. It begins with the main inspection loop of the program that contains the image acquisition code.

The main control loop contains the image acquisition code. The application first enters processing mode and requests an image to start acquisition.

Upon entering the main loop, a second image is requested to create a queue, then the system waits for an image.

The InspChip line calls a subroutine to apply several XCaliper tools to inspect the leads on a chip.

After the inspection is complete, the active inspection buffer is optionally displayed and then released to the queue to be used for the next available image.

Private Sub Inspect_Click()
'enter processing mode
ImageDevice1.RunMode = "Processing"

'request one image
ImageDevice1.StartSingleGrab 0, "Scene1", 0
Do

'request another image to create a pingpong queue
ImageDevice1.StartSingleGrab 0, "Scene1", 0
'wait until the image is in the inspection buffer
ImageDevice1.WaitGrab
'call a subroutine to inspect the IC pins
InspChip
'if the display menu is checked then show the image
If mnuDisplay.Checked Then _
ImageDevice1.DisplayInspBuffer 0

'release the inspection buffer back into the queue
ImageDevice1.ReleaseInspBuffer 0
'check for Windows events
DoEvents

Loop Until bStop
'do a wait then release for the last image request
ImageDevice1.WaitGrab
ImageDevice1.ReleaseInspBuffer 0
'change back to interactive mode
ImageDevice1.RunMode = "Interactive"
End Sub

 

Step-3

Control Logic (continued)

Each image acquired during the main inspection loop is in turn inspected by the tools. You control the tools by setting properties and applying methods. In this example, the inspection code has been placed in a subroutine. The following code fragments demonstrate how you construct your program to execute tools, examine tool results via properties, and operate on tools using methods.

 

These commands execute two tools, automatically filling their results properties. Note that tools can have descriptive names.

These commands demonstrate the syntax for retrieving and evaluating results properties that are filled when a tool is executed.

This command demonstrates the syntax for calling a method of a tool. Notice that parameters are passed to this method in terms of the results properties of other tools.

'execute the upper and lower legs tools
UpperLegs.Exec
LowerLegs.Exec

'loop through the legs found on the chip
For j% = 0 To UpperLegs.NumResults - 1
'Set the resultindex to the selected lead
UpperLegs.ResultIndex = j%
'add the size result to the aveuppersize var.
AveUpperSize = AveUpperSize + UpperLegs.Size
'track the max and min lead width size
If UpperLegs.Size > MaxUpSize Then _
MaxUpSize = UpperLegs.Size
If UpperLegs.Size < MinUpSize Then _
MinUpSize = UpperLegs.Size

'move the tool to the next inspection location
UpperTip.MoveTool UpperLegs.X, UpperLegs.Y - 15, _
"absolute"

'execute the uppertip tool
UpperTip.Exec

'calculate the height of the lead
If UpperTip.NumResults > 0 Then
UTLength = UpperTipLengths
UTAveLength = UTAveLength + UTLength
End If

Next j%

 

Step-4

Compile & Use

Once an XCaliper application is designed, you may compile it as a stand-alone executable and deploy it in a process control environment. Completed applications are highly portable and can be deployed on any Windows-based PC running NT.

As inspection requirements change, XCaliper applications can be easily adapted or refined. In many situations, it is possible to address new requirements through the use of an additional tool, changing an existing tool’s parameters, or using a new camera or frame grabber. All of these can be done rapidly with little or no impact to the existing application.

 

 

Copyright © FSI Automation, Inc. 2004