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)