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)