Skip to content

MeasmaticTester#

Remotely controls another Measmatic instance (the "tester") from Python: load projects, start and stop measurements, set site coordinates and measurement descriptions, and retrieve data and evaluation results. This class inherits from MeasmaticDevice.


property version#

Gets the version of the remote Measmatic software.

Returns#

Type Description
Any The version (.NET type System.Version ), parsed from the identification string of the software.

Example#

tester = measmatic.get_device('device-measmatic')
version = tester.version

property version_name#

Gets the full version name of the remote Measmatic software.

Returns#

Type Description
str The full version name as reported by the software.

Example#

tester = measmatic.get_device('device-measmatic')
version_name = tester.version_name

method clear_project()#

Loads an empty new project.

Example#

tester = measmatic.get_device('device-measmatic')
tester.clear_project()

method display_update(state: bool)#

Turns the update of the display on or off. Turning it off makes the measurement faster.

Parameters#

Name Description
state True to turn the display update on, False to turn it off.

Example#

tester = measmatic.get_device('device-measmatic')
tester.display_update(False)

method execute_test(testName: str)#

Starts a single test of the loaded project.

Parameters#

Name Description
testName The name of the test.

Example#

tester = measmatic.get_device('device-measmatic')
tester.execute_test('IV Sweep')
tester.wait_until_finished()

method export_data()#

Exports the measurement data according to the project settings. All defined data exports are run.

Returns#

Type Description
Any The paths of the files written by the export script (.NET type IEnumerable<string> ).

Example#

tester = measmatic.get_device('device-measmatic')
files = list(tester.export_data())

method export_data(exportSetting: str)#

Exports the measurement data using the given export setting of the project.

Parameters#

Name Description
exportSetting The name of the export setting to use.

Returns#

Type Description
Any The paths of the files written by the export script (.NET type IEnumerable<string> ).

Example#

tester = measmatic.get_device('device-measmatic')
files = list(tester.export_data('CSV'))

method get_bin(binNumber: Any, binDescription: Any, isFailBin: Any)#

Queries the current bin. The bin is determined by a sorting table and classifies the measurement results.

Parameters#

Name Description
binNumber Out parameter, returned as part of the result tuple.
binDescription Out parameter, returned as part of the result tuple.
isFailBin Out parameter, returned as part of the result tuple.

Returns#

Type Description
int The bin number.
str The description of the bin.
bool True if the bin is a fail bin.

Example#

tester = measmatic.get_device('device-measmatic')
bin_number, bin_description, is_fail_bin = tester.get_bin()

method get_cluster_bins()#

Queries the cluster information with the binning information of the currently tested cluster.

Returns#

Type Description
Any The cluster information (.NET type Atv.Framework.Models.Prober.ClusterInfos ).

Example#

tester = measmatic.get_device('device-measmatic')
cluster_infos = tester.get_cluster_bins()

method get_dat_row_index(testName: str, siteColumn: int, siteRow: int, subSiteIndex: int | None)#

Gets the first index of a data table row with data for the specified site.

Parameters#

Name Description
testName The name of the test with the data table.
siteColumn The site column.
siteRow The site row.
subSiteIndex The sub-site index, or None to ignore the sub-site.

Returns#

Type Description
int The first index of the data table row with data for the specified site.

Example#

tester = measmatic.get_device('device-measmatic')
index = tester.get_dat_row_index('IV Sweep', 3, 5, None)

method get_data()#

Queries all current measurement data.

Returns#

Type Description
str The current measurement data as XML.

Example#

tester = measmatic.get_device('device-measmatic')
xml = tester.get_data()

method get_data_limit_maximum(testName: str, parameterName: str)#

Gets the defined maximum limit of an output parameter of a test.

Parameters#

Name Description
testName The name of the test.
parameterName The name of the output parameter.

Returns#

Type Description
float The defined maximum.

Example#

tester = measmatic.get_device('device-measmatic')
limit = tester.get_data_limit_maximum('IV Sweep', 'Current')

method get_data_limit_minimum(testName: str, parameterName: str)#

Gets the defined minimum limit of an output parameter of a test.

Parameters#

Name Description
testName The name of the test.
parameterName The name of the output parameter.

Returns#

Type Description
float The defined minimum.

Example#

tester = measmatic.get_device('device-measmatic')
limit = tester.get_data_limit_minimum('IV Sweep', 'Current')

method get_data_value(testName: str, parameterName: str, index: int)#

Gets the value of an output parameter of a test.

Parameters#

Name Description
testName The name of the test containing the data value.
parameterName The name of the output parameter.
index The index of the data table row containing the value.

Returns#

Type Description
str The value as returned by the tester.

Example#

tester = measmatic.get_device('device-measmatic')
value = tester.get_data_value('IV Sweep', 'Current', 0)

method get_evaluation_result()#

Queries the result of the evaluation. All measurements are evaluated, including append measurements.

Returns#

Type Description
str The result of the evaluation: Pass , Fail or Undefined .

Example#

tester = measmatic.get_device('device-measmatic')
result = tester.get_evaluation_result()

method get_gui_value(testName: str, guiItemId: str)#

Queries the value of a GUI element of a test. The ID of the GUI element can be found in the test library.

Parameters#

Name Description
testName The name of the test.
guiItemId The ID of the GUI element.

Returns#

Type Description
str The value of the GUI element.

Example#

tester = measmatic.get_device('device-measmatic')
value = tester.get_gui_value('IV Sweep', 'StartVoltage')

method get_last_data()#

Queries the measurement data of the last append measurement.

Returns#

Type Description
str The measurement data as XML.

Example#

tester = measmatic.get_device('device-measmatic')
xml = tester.get_last_data()

method get_last_evaluation_result()#

Queries the result of the evaluation of the last measurement only (for append measurements, the last appended measurement).

Returns#

Type Description
str The result of the evaluation: Pass , Fail or Undefined .

Example#

tester = measmatic.get_device('device-measmatic')
result = tester.get_last_evaluation_result()

method get_measurement_description(description: Any)#

Queries the value of a measurement description.

Parameters#

Name Description
description The measurement description (.NET enum Atv.Framework.Devices.Tester.Measmatic.Measmatic.MeasDescription ).

Returns#

Type Description
str The value of the measurement description.

Example#

from Atv.Framework.Devices.Tester.Measmatic import Measmatic
tester = measmatic.get_device('device-measmatic')
lot = tester.get_measurement_description(Measmatic.MeasDescription.Lot)

method get_site_coodinates(row: Any, column: Any)#

Queries the current site coordinates.

Parameters#

Name Description
row Out parameter, returned as part of the result tuple.
column Out parameter, returned as part of the result tuple.

Returns#

Type Description
int The site row.
int The site column.

Example#

tester = measmatic.get_device('device-measmatic')
row, column = tester.get_site_coodinates()

method get_state()#

Returns the current status of the measurement.

Returns#

Type Description
str The current status: Idle or Running .

Example#

tester = measmatic.get_device('device-measmatic')
state = tester.get_state()

method initialize_devices()#

Initializes all devices of the loaded test site configuration.

Example#

tester = measmatic.get_device('device-measmatic')
tester.initialize_devices()

method list_projects(directory: str = None)#

Lists the projects within the specified directory.

Parameters#

Name Description
directory The directory to scan. If None , the default project directory of Measmatic is scanned. Default: None

Returns#

Type Description
Any The projects found (.NET type IEnumerable<string> ).

Example#

tester = measmatic.get_device('device-measmatic')
projects = list(tester.list_projects())

method load_project(fileName: str)#

Loads a project from a file.

Parameters#

Name Description
fileName The name of the project file.

Example#

tester = measmatic.get_device('device-measmatic')
tester.load_project('C:\\projects\\my_project.mmproj')

method load_project_string(projectStream: str)#

Loads a project from its XML content instead of from a file.

Parameters#

Name Description
projectStream The project as XML string (not the file name).

Example#

tester = measmatic.get_device('device-measmatic')
tester.load_project_string(project_xml)

method save_data(fileName: str)#

Saves the current measurement data as XML file in mmdat format.

Parameters#

Name Description
fileName The name of the file to write.

Example#

tester = measmatic.get_device('device-measmatic')
tester.save_data('C:\\data\\result.mmdat')

method set_additional_title(title: str)#

Sets an additional title in the title bar of the Measmatic window.

Parameters#

Name Description
title The additional title text.

Example#

tester = measmatic.get_device('device-measmatic')
tester.set_additional_title('Wafer 12')

method set_cluster_infos(clusterInfos: Any)#

Sets the cluster information for multi-die probing.

Parameters#

Name Description
clusterInfos The cluster information (.NET type Atv.Framework.Models.Prober.ClusterInfos ).

Example#

tester = measmatic.get_device('device-measmatic')
tester.set_cluster_infos(cluster_infos)

method set_gui_value(testName: str, guiItemId: str, itemValue: str)#

Changes the value of a GUI element of a test. The ID of the GUI element can be found in the test library. After changing values, wait_for_opc should be called.

Parameters#

Name Description
testName The name of the test.
guiItemId The ID of the GUI element.
itemValue The new value.

Example#

tester = measmatic.get_device('device-measmatic')
tester.set_gui_value('IV Sweep', 'StartVoltage', '1.5')
tester.wait_for_opc()

method set_measurement_description(description: str, value: str)#

Sets the value of a measurement description, addressed by its name.

Parameters#

Name Description
description The name of the measurement description, e.g. "Lot" , "Wafer" or "Operator" .
value The value to set.

Example#

tester = measmatic.get_device('device-measmatic')
tester.set_measurement_description('Lot', 'LOT-42')

method set_measurement_description(description: Any, value: str)#

Sets the value of a measurement description, addressed by the enumeration.

Parameters#

Name Description
description The measurement description (.NET enum Atv.Framework.Devices.Tester.Measmatic.Measmatic.MeasDescription ).
value The value to set.

Example#

from Atv.Framework.Devices.Tester.Measmatic import Measmatic
tester = measmatic.get_device('device-measmatic')
tester.set_measurement_description(Measmatic.MeasDescription.Lot, 'LOT-42')

method set_setting_data_send(isActive: bool)#

Activates or deactivates the sending of test data events by the tester. The events are delivered while wait_until_finished is waiting.

Parameters#

Name Description
isActive True to activate the data sending, False to deactivate it.

Example#

tester = measmatic.get_device('device-measmatic')
tester.set_setting_data_send(True)

method set_site_coordinates(row: int, column: int, subSiteIndex: int, subSiteLabel: str = None)#

Sets the current site coordinates, which are used to save the measurement data.

Parameters#

Name Description
row The site row.
column The site column.
subSiteIndex The sub-site index.
subSiteLabel The sub-site label. Only transmitted if the tester software supports it (version 2.3.17 or newer). Default: None

Example#

tester = measmatic.get_device('device-measmatic')
tester.set_site_coordinates(5, 3, 0)

method set_test_is_active(testName: str, isActive: bool)#

Activates or deactivates a test in the test list.

Parameters#

Name Description
testName The name of the test.
isActive True to activate the test, False to deactivate it.

Example#

tester = measmatic.get_device('device-measmatic')
tester.set_test_is_active('IV Sweep', False)

method start()#

Starts a measurement. Use wait_until_finished to wait for its end.

Example#

tester = measmatic.get_device('device-measmatic')
tester.start()
tester.wait_until_finished()

method start_append()#

Starts a measurement without deleting the old measurement data; the new data is appended.

Example#

tester = measmatic.get_device('device-measmatic')
tester.start_append()
tester.wait_until_finished()

method stop()#

Sends the stop signal to the running measurement.

Example#

tester = measmatic.get_device('device-measmatic')
tester.stop()

method wait_for_opc()#

Waits until the previously sent commands have been executed.

Example#

tester = measmatic.get_device('device-measmatic')
tester.wait_for_opc()

method wait_until_finished()#

Blocks until the measurement has finished, either by itself or by stop .

Example#

tester = measmatic.get_device('device-measmatic')
tester.start()
tester.wait_until_finished()

method wait_until_finished_async(cancellationToken: Any)#

Asynchronously waits until the measurement has finished, either by itself or by stop .

Parameters#

Name Description
cancellationToken The token (.NET type System.Threading.CancellationToken ) to cancel waiting.

Returns#

Type Description
Any The task (.NET type System.Threading.Tasks.Task ) that completes when the measurement has finished.

Example#

from System.Threading import CancellationTokenSource
tester = measmatic.get_device('device-measmatic')
cts = CancellationTokenSource()
task = tester.wait_until_finished_async(cts.Token)
task.Wait()