Skip to content

SentioProber

Bases: ProberBase

This class represents the SENTIO probe station in python. It provides wrapper for most of the remote commands exposed by SENTIO.

Attributes:

Name Type Description
aux AuxCommandGroup

The aux command group provides access the the aux site modules functionality.

loader LoaderCommandGroup

The loader command group provides access to the loader modules functionality.

map WafermapCommandGroup

The wafermap command group provides access to the wafermap modules functionality.

probe ProbeCommandGroup

The probe command group provides access to the probe modules functionality.

qalibria QAlibriaCommandGroup

The qalibria command group provides access to the qalibria modules functionality.

service ServiceCommandGroup

The service command group provides access to the service modules functionality.

siph SiPHCommandGroup

The siph command group provides access to the SiPH modules functionality.

status StatusCommandGroup

The status command group provides access to the dashboard modules functionality. (formerly called status module)

vision VisionCommandGroup

The vision command group provides access to the vision modules functionality.

__init__(comm)

Construct a SENTIO prober object.

The prober must be initialized with a communication object that specifies how the system communicates with the probe station.

Parameters:

Name Type Description Default
comm CommunicatorBase

The communicator to use for communication with the prober.

required

abort_command(cmd_id)

Stop an ongoing asynchronous remote command.

Parameters:

Name Type Description Default
cmd_id int

The id of the async command to abort.

required

Returns:

Type Description
Response

A response object with the result of the command.

clear_contact(site=None)

Clear contact positions.

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to clear. If None is given all sites will be cleared.

None

Returns:

Type Description
Response

A response object with the result of the command.

create_prober(comm_type='tcpip', arg1='127.0.0.1:35555', arg2='') staticmethod

Create an instance of a SentioProber object that is bound to a certain communication method. Your choices of communication are tcpip, gpib and visa.

Parameters:

Name Type Description Default
comm_type str

The type of communication to use. Valid values are "tcpip", "gpib" and "visa".

'tcpip'
arg1 object

For tcpip this is a single string specifying address and port like "127.0.0.1:35555". For visa this is the address of the device like "GPIB0::20::INSTR". For gpib two parameters are needed. The first one is the type of driver/card installed in the system, the second parameter is the address of the device like "GPIB0:20".

'127.0.0.1:35555'
arg2 str

Only used for gpib communication. This is the GPIB address of the prober i.e. "GPIB0:20".

''

enable_chuck_hover(stat)

Enable chuck hover height.

The Hover height is a height that is significantly closer to the chuck compared to the separation height. It is closer to the wafer but it is not safe for fast or long chuck moves as the chuck may be slightly tilted.

This function wraps SENTIO's "enable_chuck_hover" remote command.

Parameters:

Name Type Description Default
stat bool

True to enable, False to disable.

required

Returns:

Type Description
Response

A response object with the result of the command.

enable_chuck_overtravel(stat)

Enable chuck overtravel.

This function wraps SENTIO's "enable_chuck_overtravel" remote command.

Parameters:

Name Type Description Default
stat bool

True to enable, False to disable.

required

Returns:

Type Description
Response

A response object with the result of the command.

enable_chuck_site_hover(site, stat)

Enable chuck site hover height.

The Hover height is a height that is significantly closer to the chuck compared to the separation height. It is closer to the wafer but it is not safe for fast or long chuck moves as the chuck may be slightly tilted.

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to enable hover height for.

required
stat bool

True to enable, False to disable.

required

Returns:

Type Description
Response

A response object with the result of the command.

enable_chuck_site_overtravel(site, stat)

Enable overtravel distance for a specific chuck site.

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to enable overtravel distance for.

required
stat bool

True to enable, False to disable.

required

Returns:

Type Description
Response

A response object with the result of the command.

file_transfer(source, dest)

Transfer a file to the prober.

This function will transfer a file to the prober. The file will be stored in the position specified by the dest argument. Transmission of the file may take some time.

Parameters:

Name Type Description Default
source str

The path to the file to transfer.

required
dest str

The destination path on the prober. Must be a complete path including file name. Make sure that SENTIO has write access to the given destination.

required

get_chuck_site_height(site)

Retrieves height information of a chuck site

Example:

contact, separation, overtravel_dist, hover_gap = get_chuck_site_height(ChuckSite.Wafer)

Gets for chuck site "Wafer" contact height, separation heights ,overtravel distance and hover height

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to query.

required

Returns:

Name Type Description
contact float

contact height

separation float

separation gap

overtravel_dist float

overtravel distance

hover_gap float

hover gap

get_chuck_site_status(site)

Get status of a chuck site.

Wraps SENTIO's "get_chuck_site_status" remote command.

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to query.

required

Returns:

Name Type Description
hasHome bool

True if the chuck site has a home position.

hasContact bool

True if the chuck site has a contact position.

overtravelActive bool

True if the overtravel is active.

vacuumOn bool

True if the vacuum is on.

get_chuck_theta(site)

Get the current angle of the chuck.

Wraps SENTIO's "get_chuck_theta" remote command.

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to query.

required

Raises:

Type Description
ProberException

If no available port is found.

Returns:

Name Type Description
angle float

The current angle of the chuck site in degrees.

get_chuck_xy(site, ref)

Get current chuck xy position with respect to a given reference.

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to query.

required
ref ChuckXYReference

The reference to use for the query.

required

Returns:

Name Type Description
x float

x position in micrometer.

y float

y position in micrometer.

get_chuck_z(ref)

Get chuck z position.

Parameters:

Name Type Description Default
ref ChuckZReference

The reference to use for the query.

required

Returns:

Name Type Description
height float

The actual z position of the chuck in micrometer (from axis zero).

get_project(pfi=ProjectFileInfo.FullPath)

Get the name of the current project.

Parameters:

Name Type Description Default
pfi ProjectFileInfo

The type of information to get.

FullPath

Returns:

Name Type Description
project_name str

The name of the current project.

get_scope_xy()

Get current scope xy position.

The returned position is an absolute position with respect to the axis zero in micrometer.

Returns:

Name Type Description
x float

The current x position in micrometer.

y float

The current y position in micrometer.

get_scope_z()

Get scope z position in micrometer from axis zero.

Returns:

Name Type Description
height float

The z position in micrometer.

has_chuck_xyz()

Returns True if the chuck has xyz axes.

Returns:

Name Type Description
has_xyz bool

True if the chuck has xyz axes.

has_scope_xyz()

Returns True if the scope has xyz axes.

Returns:

Name Type Description
has_xyz bool

True if the scope has xyz axes.

has_scope_z()

Returns true if the microscope has a motorized z axis.

Returns:

Type Description
bool

True if the scope has z axes.

initialize_if_needed()

Initialize the prober if it is not already initialized.

This command will check if the prober is already initialized. If not it will start the initialization process and wait for it to complete.

You do not have to call waitcomplete after this function on your own!

local_mode()

Switch the prober back into local mode.

The probe station will automatically enter remote mode when a remote command is received. It will remian in remote mode even after the script is finished. This command can be used to switch the machine back into local mode and thus enable its UI.

move_chuck_contact()

Move the chuck to contact height.

Wraps SENTIO's "move_chuck_contact" remote command.

Returns:

Name Type Description
height float

The contact height in micrometer from chuck z axis zero.

move_chuck_home()

Move chuck to its home position.

Returns:

Name Type Description
x float

The x position in micrometer.

y float

The y position in micrometer.

move_chuck_load(pos)

Move chuck to load position.

Wraps SENTIO's "move_chuck_load" remote command.

Parameters:

Name Type Description Default
pos LoadPosition

The load position to move to.

required

Returns:

Type Description
Response

A response object with the result of the command.

move_chuck_separation()

Move the chuck to separation height.

Returns:

Type Description
float

The separation height in micrometer from chuck z axis zero.

move_chuck_site(site)

Moves chuck to the last active position of the selected chuck site.

Wraps SENTIO's "move_chuck_site" remote command.

Returns:

Name Type Description
x float

The x position in micrometer.

y float

The y position in micrometer.

z float

The z height in micrometer.

theta float

The theta angle in degrees.

move_chuck_theta(ref, angle)

Move chuck theta axis to a given angle.

Wraps SENTIO's "move_chuck_theta" remote command.

Parameters:

Name Type Description Default
ref ChuckThetaReference

The reference to use for the move.

required
angle float

The angle to move to in degrees.

required

move_chuck_work_area(area)

Move the chuck to a given work area.

A SENTIO probe station can have different work areas. One area is for probing. This is the default work area and present on all probe stations. When the chuck is at probing position is is roughly centered with respect to the platen and located in a space were probes can go into contact. Depending on the machine type a prober may be equipped with a second work area. This area is located under an optional off-axis camera. The off-axis camera allows inspection of the wafer when the scope camera view is blocked by certain probe card types.

This function wraps SENTIO's "move_chuck_work_area" remote command.

Parameters:

Name Type Description Default
area WorkArea

The work area to move to.

required

Returns:

Type Description
Response

A response object with the result of the command.

move_chuck_xy(ref, x, y)

Move chuck to a given xy position.

Wraps SENTIO's "move_chuck_xy" remote command.

Parameters:

Name Type Description Default
ref ChuckXYReference

The reference to use for the move.

required
x float

The x position to move to in micrometer.

required
y float

The y position to move to in micrometer.

required

Returns:

Name Type Description
x float

The chuck x position after the move in micrometer (from zero)

y float

The chuck y position after the move in micrometer (from zero)

move_chuck_z(ref, z)

Move chuck to a given z position.

Wraps SENTIO's "move_chuck_z" remote command.

Parameters:

Name Type Description Default
ref ChuckZReference

The z-reference to use for the move.

required
z float

The z position to move to in micrometer.

required

Returns:

Type Description
float

The actual z position in micrometer after the move.

move_scope_lift(state)

Move scope to its lift position.

The scope lift position is a position where the scope is at its axis maximum. This position will give you the maximum possible are of unhindered operation when changing probe cards or other maintenance tasks.

Parameters:

Name Type Description Default
state bool

True to move to the lift position, False to move away from the lift position.

required

move_scope_xy(ref, x, y)

Move scope to a given xy position.

Parameters:

Name Type Description Default
ref ScopeXYReference

The reference to use for the move.

required
x float

The x position to move to in micrometer.

required
y float

The y position to move to in micrometer.

required

Returns:

Name Type Description
x float

Scope x position after the move in micrometers (from zero)

y float

Scope x position after the move in micrometers (from zero)

move_scope_z(ref, z)

Move scope to a given z position.

Parameters:

Name Type Description Default
ref ScopeZReference

The reference to use for the move.

required
z float

The z position to move to in micrometer.

required

Returns:

Type Description
float

The actual z position in micrometer after the move.

move_vce_z(stage, ref, z)

Move VCE stage to a given z position.

Parameters:

Name Type Description Default
ref VceZReference

The reference to use for the move.

required
z float

The z position to move to in micrometer.

required

Returns:

Type Description
float

The actual z position in micrometer after the move.

name()

Returns the name of the prober.

Returns:

Type Description
str

This function will always return the string "SentioProber".

open_project(project, restore_heights=False)

Open a SENTIO project file.

Wraps SENTIO's "open_project" remote command.

Parameters:

Name Type Description Default
project str

The name or path of the project to open. If a full path to the trex project file is given SENTIO will try to open this file. If the argument does not contain a path SENTIO will look in its default project folder for a matching project and open it.

required
restore_heights bool

If set to true SENTIO will restore the contact heights from the project. Be carefull when using this option because the contact heights may have been become invalid since creating the project due to a probe card change.

False

query_command_status(cmd_id)

Query the status of an async command.

This command will send a query to the prober to get the status of an async command. The submitted command id must be a valid id of an async command that was previously started at the prober.

When an async command is being executed SENTIO can receive other remnote commands. This command is intended to be used in a polling loop to query the status of ongoing remote commands.

Example:

while True:
    time.sleep(1)
    resp = prober.query_command_status(cmd_id)
    if (resp.errc()!=RemoteCommandError.CommandPending):
        break;

Parameters:

Name Type Description Default
cmd_id int

The id of the async command to query.

required

Returns:

Type Description
Response

A response object with the result of the command.

save_config()

Save the SENTIO configuration file.

Wraps SENTIO's "save_config" remote command.

save_project(project)

Save the current SENTIO project.

Wraps SENTIO's "save_project" remote command.

select_module(module)

Activate a given SENTIO module.

In response to this function SENTIO will switch its user interface to make the given module the active one.

This function wraps the "select_module" remote command of SENTIO.

Parameters:

Name Type Description Default
module Module

The module to activate.

required

send_cmd(cmd)

Sends a command to the prober and return a response object.

This function is intended for directly sending remote commands that are not yet included in the python wrapper. It will send the command and parse the respone from SENTIO.

Do NOT send low level commands that do not have a response (i.e. "*LOCAL"). This will lock the communication pipeline as it is waiting for a response that never arrives.

It will then return a Response object with the extracted data from SENTIO's response.

Returns:

Type Description
Response

A response object with the result of the command.

set_chuck_site_height(site, contact, separation, overtravel_dist, hover_gap)

Sets z position information of a chuck site

Example:

prober.set_chuck_site_height(ChuckSite.Wafer,16000,250,20,50)

Will set the contact height of the wafer site to 16000 µm with a separation height of 250 µm an overtravel of 20 and a hover height of 50

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to query.

required
contact float

The new contact height in micrometer.

required
separation float

The new separation height in micrometer.

required
overtravel_dist float

The new overtravel distance in micrometer.

required
hover_gap float

The new hover gap in micrometer.

required

set_stepping_contact_mode(mode)

Change the stepping contact mode.

The stepping contact mode defines what happens during stepping over a wafer. The following modes are available:

  • BackToContact: The chuck will step into contact position
  • StepToSeparation: The chuck will step into separation position. You have to move into contact with a seaparate command.
  • LockContack: The Chuck is not allowed to leave contact position automatically as part of a stepping command. You have to move into separation with a separate command bevore being able to step to the next die..

Parameters:

Name Type Description Default
mode SteppingContactMode

The stepping contact mode to set.

required

set_vacuum(site, stat)

Switches the vacuum of a chuck site on or off.

Parameters:

Name Type Description Default
site ChuckSite

The chuck site to switch the vacuum for.

required
stat bool

True to switch the vacuum on, False to switch it off.

required

Returns:

Type Description
Response

A response object with the result of the command.

show_hint(msg, subtext)

Show an on screen message (hint) and return immediately

Hints are on screen messages that pop up in SENTIO's lower left corner. This hint will disappears automatically after a few seconds.

This function wraps SENTIO's "status:show_hint" remote command.

Parameters:

Name Type Description Default
msg str

The message to display.

required
subtext str

The subtext to display.

required

show_hint_and_wait(msg, subtext, button_caption, timeout=180, lock_ui=True)

Show an on screen message with a button wait for a button to be pressed.

Hints pop up in SENTIO's lower left corner. This function will display a hint with a button and only return once the button has been pressed.

Parameters:

Name Type Description Default
msg str

The message to display.

required
subtext str

The subtext to display. Subtext is displayed in a second line with a slightly smaller font.

required
button_caption str

The caption of the button.

required
timeout int

An optional timeout in seconds after which the dialog will be closed automatically. (default = 180 s)

180
lock_ui bool

An optional flag that determines wether the UI shall be locked. Most of the UI is disabled in remote mode anyway. This button affects only the on screen interactions on the right side of the main module view. (default = True)

True

show_message(msg, buttons, caption, dialog_timeout=180)

Pop up a message dialog in SENTIO and wait for the result.

Parameters:

Name Type Description Default
msg str

The message to display.

required
buttons DialogButtons

The buttons to display.

required
caption str

The caption of the message box.

required
dialog_timeout int

An optional dialog timeout in seconds after which the dialog will be closed automatically.

180

Returns:

Type Description
DialogButtons

The button that was as an DialogButtons enum value.

start_initialization()

Start the initialization of the probe station.

This function will start the initialization of the prober. This is an async command that will return immediately.

The initialization process will take some time to complete. Use waitcomplete to wait for the initialization to complete.

wait_all(timeout=90)

Wait until all async commands have finished.

Parameters:

Name Type Description Default
timeout int

The timeout in seconds.

90

Returns:

Type Description
Response

A response object with the result of the command.

wait_complete(cmd_id, timeout=90)

Wait for a single async command to complete.

Parameters:

Name Type Description Default
cmd_id int

The id of the async command to wait for.

required
timeout int

The timeout in seconds.

90

Returns:

Type Description
Response

A response object with the result of the command.

handler: python options: members: SentioProber