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)
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