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