Skip to content

Prober#

The prober class allows you to control a compatible probe station such as MPI SENTIO, SUSS ProberBench or Cascade Velox. This class inherits from Device.


property loader#

Returns a reference to the loader associated with the probe station. A loader is an optional component often found at fully automated probe stations. It is responsible for transporting wafers in between the different probe station stations.

Returns#

Type Description
Loader A reference to the loader associated with the probe station.

Example#

The loader object is your gateway to the material handling capabilities of the connected probe station.

probe_station = measmatic.GetDevice('device-probe-station')
has_cassette = probe_station.loader.is_cassette_present(0)

property software_controller#

Returns a reference to the software prober controller. This object represents the control software of the probe station. Each probe station is controlled by a software running on the operating system of the machine.

Returns#

Type Description
SoftwareController A reference to the software prober controller.

Example#

The software controller is your gateway to the prober control software. You can use it for loading projects and controlling the prober software directly.

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.software_controller.load_project("myproject.trex")

property thermal_chuck_controller#

Returns a reference to thermal chuck controller of the probe station. This object is only valid if the probe station has a thermal chuck controller.

Returns#

Type Description
ThermalController A reference to thermal chuck controller of the probe station.

Example#

The thermal chuck controller is your gateway to controlling heating and cooling of a connected thermal chuck.

probe_station = measmatic.GetDevice('device-probe-station')
temperature = probe_station.thermal_chuck_controller.get_current_temp()

property wafermap#

Returns a reference to wafermap handler. The wafermap handler is controlling the stepping and binning operations of the probe station and handles has the information about the basic wafer layout.

Returns#

Type Description
Wafermap A reference to wafermap handler.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.wafermap.clear_bins()

method actuate_inker(inker_id: int)#

Actuate an inker given by an inker id. The probe station must have an inker attached to it in order to use this function.

Parameters#

Name Description
inker_id An integer value representing the inker id.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.actuate_inker(0)

method align_wafer()#

Performs a wafer alignment.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.align_wafer()

method clear_contact_height(chuck_site: int)#

Clears the contact height of a given chuck site.

Parameters#

Name Description
chuck_site An integer representing a chuck site. Must be either on of the following:

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.clear_contact_height(0)

method enable_auto_probe_cleaning(enable: bool, cycle: int)#

Enables the automatic cleaning of probes during stepping.

Parameters#

Name Description
enable A boolean flag to enable of disable automated probe cleaning.
cycle The number of stepping cycles in between two cleaning actions.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.enable_auto_probe_cleaning(true, 10)

method enable_overtravel(System.Boolean)#

Enable overtravel. Overtravel will push the probes slightly beyond their contact height in order to make sure contact is achieved. The amount of overtravel can be set up in the prober control software.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.enable_overtravel(true)

method find_home()#

Finds the trained home position using image recognition.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.find_home()

method get_chuck_site_position(chuck_site: int)#

Get the absolute position of a given chuck site.

Parameters#

Name Description
chuck_site An integer value representing the chuck site.

Returns#

Type Description
float x position of the chuck in micrometers
float y position of the chuck in micrometers
float chuck angle in degree

Example#

probe_station = measmatic.GetDevice('device-probe-station')
xpos, ypos, angle = probe_station.get_chuck_site_position(0)

method get_chuck_theta()#

Get the current chuck angle

Returns#

Type Description
float Angle of the chuck in degrees.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
angle = probe_station.get_chuck_theta()

method get_chuck_xy()#

Get the absolute position of the chuck.

Returns#

Type Description
float x position of the chuck in micrometers
float y position of the chuck in micrometers

Example#

probe_station = measmatic.GetDevice('device-probe-station')
xpos, ypos = probe_station.get_chuck_xy()

method get_chuck_z()#

Get the current z-position of the chuck.

Returns#

Type Description
float The current absolute z-position of the chuck in microns.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
zpos = probe_station.get_chuck_z()

method get_contact_height(chuck_site: int)#

Get the contact height of a chuck site. The contact height of a chuck site depends on the width of the substrate. Therefore each chuck site has a different contact height.

Parameters#

Name Description
chuck_site An integer value representing the chuck site.

Returns#

Type Description
float The chuck contact height of the site specified by the parameter chuck_site.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
zcontact = probe_station.get_contact_height(0)

method get_door_closed_state(door: int)#

Get the closed state of a prober door. This command is only applicable if the probe station has a corresponding door.

Parameters#

Name Description
door An integer value defining which door shall be checked.

Returns#

Type Description
bool True if the door is open or False if it is closed.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
prober_door_state = probe_station.get_door_closed_state(0)

method get_door_locked_state(door: int)#

Get the locked state of a prober door. This command is only applicable if the probe station has a corresponding door which must also be lockable.

Parameters#

Name Description
door 0 - prober door, 1 - loader door, 2 - side door, 3 - back door, 4 - cassette1 door, 5 - cassette2 door

Returns#

Type Description
bool True if the door is locked or False if it is unlocked.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
prober_door_state = probe_station.get_door_locked_state(0)

method get_vacuum_state()#

Get the vacuum state.

Returns#

Type Description
bool True if vacuum is turned on or False if it is turned off.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
vac_state = probe_station.get_vacuum_state()

method has_chuck_position(chuck_position: int)#

Check whether a certain chuck position is present. Probe stations may define a number of special chuck positions for specific purposes. This function can be used to check for the presence of such a chuck position.

Parameters#

Name Description
chuck_position An integer value representing the chuck work position.

Returns#

Type Description
bool True if the position exists at the connected probe station, otherwise False .

Example#

probe_station = measmatic.GetDevice('device-probe-station')
stat = probe_station.has_chuck_position(0)

method move_chuck_center()#

Moves the chuck to its center position and return the chuck coordinates of this position.

Returns#

Type Description
float x position of the chuck in micrometers
float y position of the chuck in micrometers

Example#

probe_station = measmatic.GetDevice('device-probe-station')
xcenter, ycenter = probe_station.move_chuck_center()

method move_chuck_contact()#

Moves the chuck vertically to its contact position.

Returns#

Type Description
float The contact height in microns.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
z = probe_station.move_chuck_contact()

method move_chuck_home()#

Moves the chuck laterally to its home position.

Returns#

Type Description
float x position of the chuck in micrometers
float y position of the chuck in micrometers

Example#

probe_station = measmatic.GetDevice('device-probe-station')
xhome, yhome = probe_station.move_chuck_home()

method move_chuck_hover()#

Moves the chuck vertically to its hover height position. The hover height is a z-position slightly above the contact height.

Returns#

Type Description
float The chuck z-position after the move.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
z = probe_station.move_chuck_hover()

method move_chuck_separation()#

Moves the chuck vertically to its separation height position. The separation height is a z-position above the contact height.

Returns#

Type Description
float The chuck z-position after the move.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
z = probe_station.move_chuck_separation()

method move_chuck_xy(x_in_micrometers: float, y_in_micrometers: float, is_relative: bool)#

Moves the chuck laterally to a given xy-position. Depending on the third parameter the chuck will either execute a relative or an absolute motion.

Parameters#

Name Description
x_in_micrometers Chuck x target positions in microns.
y_in_micrometers Chuck y target positions in microns.
is_relative If this flag is true a relative motion is executed otherwise the motion will be in absolute coordinates.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
xhome, yhome = probe_station.move_chuck_xy(1000, 2000, false)

method move_chuck_z(z: float, relative: bool)#

Moves the chuck vertically to a given z-position. Depending on the second parameter the chuck will either execute a relative or an absolute motion.

Parameters#

Name Description
z Chuck z target positions in microns.
relative If this flag is true a relative motion is executed otherwise the motion will be in absolute coordinates.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
xhome, yhome = probe_station.move_chuck_z(-100, true)

method move_to_site(chuck_site: int)#

Move the chuck to a different site. The chuck will remain at its current work position.

Parameters#

Name Description
chuck_site An integer representing a chuck site. Must be either on of the following:

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.move_to_site(1)

method prealign(angle: int, type: int)#

Prealign a wafer.

Parameters#

Name Description
angle An integer number specifying the prealign angle in degrees. Only multiples of 90
type An integer representing the wafer type.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.prealign(90, 0)

method set_chuck_site_home_position(chuck_site: int, x_absolute_in_micrometers: float, y_absolute_in_micrometers: float)#

Sets the home position of a given chuck site.

Parameters#

Name Description
chuck_site An integer representing a chuck site. Must be either on of the following:
x_absolute_in_micrometers The home x-position in microns.
y_absolute_in_micrometers The home y-position in microns.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.set_chuck_site_home_position(0, 10000, 5000)

method set_contact_height(z_contact: float, chuck_site: int)#

Sets the contact height of a chuck site.

Parameters#

Name Description
z_contact The contact height to set. This is a chuck absolute height in microns.
chuck_site An integer representing a chuck site. Must be either on of the following:

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.set_contact_height(16000, 0)

method set_door_lock(door: int, is_locked: bool)#

Lock or unlock a probe station door.

Parameters#

Name Description
door An integer value defining which door shall be locked or unlocked.
is_locked True to lock the door or False to unblock the door.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.set_door_lock(0, true)

method set_overtravel_offset(overtravel: float)#

Sets the overtravel distance. The overtravel distance is the distance which the probes are allowed to move beyond contact. It only takes effect if overtravel is enabled.

Parameters#

Name Description
overtravel The overtravel distance in microns.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.set_overtravel_offset(20)

method set_separation_gap(separation_gap: float)#

Sets the separation gap. The separation gap is the gap between contact height and the separation height.

Parameters#

Name Description
separation_gap Size of the separation gap in microns.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.set_separation_gap(250)

method set_signal_color(signal_color: int)#

Switch colors of the signal beacon. This command only has an effect if the probe station is equipped with a beacon light.

Parameters#

Name Description
signal_color An integer value to specify which light shall be switched.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.set_signal_color(1)

method switch_light(light: int, is_turned_on: bool)#

Switch camera lights.

Parameters#

Name Description
light An integer value to specify which light shall be switched.
is_turned_on True to turn on the light or False to turn it off.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.switch_light(0, True)

method switch_vacuum(enable: bool)#

Switch the chuck vacuum.

Parameters#

Name Description
enable True to switch on the vacuum or False to switch it off.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.switch_vacuum(True)

method transfer_chuck(chuck_position: int)#

Transfer the chuck to a different work position.

Parameters#

Name Description
chuck_position An integer value representing the chuck work position.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.transfer_chuck(1)