Skip to content

Prober#

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


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.IsCassettePresent(0)


property SoftwareController#

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.SoftwareController.LoadProject("myproject.trex")


property ThermalChuckController#

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
{{T:Atv.Framework.Python.Proxies.Prober.PyProxyThermalController}} 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.ThermalChuckController.GetCurrentTemp()


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.ClearBins()

method ActuateInker(inkerId: 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
inkerId An integer value representing the inker id.

Example#

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

method AlignWafer()#

Performs a wafer alignment.

Example#

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

method ClearContactHeight(chuckSite: int)#

Clears the contact height of a given chuck site.

Parameters#

Name Description
chuckSite An integer representing a chuck site. Must be either on of the following: 0 - Wafer, 1 - AuxLeft, 2 - AuxRight, 3 - AuxLeft2, 4 - AuxRight2,

Example#

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

method EnableAutoProbeCleaning(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.EnableAutoProbeCleaning(true, 10)

method EnableOvertravel()#

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.EnableOvertravel(true)

method GetChuckSitePosition(chuckSite: int)#

Get the absolute position of a given chuck site.

Parameters#

Name Description
chuckSite An integer value representing the chuck site. 0 - Wafer, 1 - AuxLeft, 2 - AuxRight, 3 - AuxLeft2, 4 - AuxRight2

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.GetChuckSitePosition(0)

method GetChuckTheta()#

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.GetChuckTheta()

method GetChuckXy()#

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.GetChuckXy()

method GetChuckZ()#

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.GetChuckZ()

method GetContactHeight(chuckSite: 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
chuckSite An integer value representing the chuck site. 0 - Wafer, 1 - AuxLeft, 2 - AuxRight, 3 - AuxLeft2, 4 - AuxRight2

Returns#

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

Example#

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

method GetDoorClosedState(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. 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 open or False if it is closed.

Example#

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

method GetDoorLockedState(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.GetDoorLockedState(0)

method GetVacuumState()#

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.GetVacuumState()

method HasChuckPosition(chuckPosition: 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
chuckPosition An integer value representing the chuck work position. 0 - OffAxis, 1 - Scope, 2 - FrontLoad, 3 - SideLoad

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.HasChuckPosition(0)

method MoveChuckCenter()#

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.MoveChuckCenter()

method MoveChuckContact()#

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.MoveChuckContact()

method MoveChuckHome()#

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.MoveChuckHome()

method MoveChuckHover()#

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.MoveChuckHover()

method MoveChuckSeparation()#

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.MoveChuckSeparation()

method MoveChuckXy(xInMicrometers: float, yInMicrometers: float, isRelative: 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
xInMicrometers Chuck x target positions in microns.
yInMicrometers Chuck y target positions in microns.
isRelative 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.MoveChuckXy(1000, 2000, false)

method MoveChuckZ(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.MoveChuckZ(-100, true)

method MoveToSite(chuckSite: int)#

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

Parameters#

Name Description
chuckSite An integer representing a chuck site. Must be either on of the following: 0 - Wafer, 1 - AuxLeft, 2 - AuxRight, 3 - AuxLeft2, 4 - AuxRight2,

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.MoveToSite(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 (0, 90, 180 or 270) are allowed.
type An integer representing the wafer type. 0 - Notch, 1 - Flat

Example#

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

method SetChuckSiteHomePosition(chuckSite: int, xAbsoluteInMicrometers: float, yAbsoluteInMicrometers: float)#

Sets the home position of a given chuck site.

Parameters#

Name Description
chuckSite An integer representing a chuck site. Must be either on of the following: 0 - Wafer, 1 - AuxLeft, 2 - AuxRight, 3 - AuxLeft2, 4 - AuxRight2,
xAbsoluteInMicrometers The home x-position in microns.
yAbsoluteInMicrometers The home y-position in microns.

Example#

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

method SetContactHeight(zContact: float, chuckSite: int)#

Sets the contact height of a chuck site.

Parameters#

Name Description
zContact The contact height to set. This is a chuck absolute height in microns.
chuckSite An integer representing a chuck site. Must be either on of the following: 0 - Wafer, 1 - AuxLeft, 2 - AuxRight, 3 - AuxLeft2, 4 - AuxRight2,

Example#

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

method SetDoorLock(door: int, isLocked: bool)#

Lock or unlock a probe station door.

Parameters#

Name Description
door An integer value defining which door shall be locked or unlocked. 0 - prober door, 1 - loader door, 2 - side door, 3 - back door, 4 - cassette1 door, 5 - cassette2 door
isLocked

Example#

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

method SetOvertravelOffset(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.SetOvertravelOffset(20)

method SetSeparationGap(separationGap: float)#

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

Parameters#

Name Description
separationGap Size of the separation gap in microns.

Example#

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

method SetSignalColor(signalColor: 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
signalColor An integer value to specify which light shall be switched. 0 - Off, 1 - Red, 2 - Yellow, 3 - Green, 4 - Blue

Example#

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

method SwitchLight(light: int, isTurnedOn: bool)#

Switch camera lights.

Parameters#

Name Description
light An integer value to specify which light shall be switched. 0 - OffAxisCamera, 1 - Scope light, 2 - All lights
isTurnedOn

Example#

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

method SwitchVacuum(enable: bool)#

Switch the chuck vacuum.

Parameters#

Name Description
enable

Example#

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

method TransferChuck(chuckPosition: int)#

Transfer the chuck to a different work position.

Parameters#

Name Description
chuckPosition An integer value representing the chuck work position. 0 - OffAxis, 1 - Scope, 2 - FrontLoad, 3 - SideLoad

Example#

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