2.8. Thorlabs ISM#

Summary:

ThorlabsISM

Type:

Actuator

License:

Licensed under LGPL.

Platforms:

Windows

Devices:

One axis motor controllers of type Thorlabs Integrated Stepper Motors, e.g. K10CR1 Rotation Stage

Author:

M. Gronle (ITO Uni Stuttgart)

2.8.1. Overview#

ITOM Plugin to be used for interaction with the Thorlabs Integrated Stepper Motors Device Series.

ThorlabsISM is an acutator plugin to control the following integrated devices from Thorlabs:

  • Long Travel Stage (e.g. LTS150 and LTS300)

  • Lab Jack (e.g. MLJ050)

  • Cage Rotator (K10CR1)

It requires the new Kinesis driver package from Thorlabs and implements the interface Thorlabs.MotionControl.IntegratedStepperMotors.

Please install the Kinesis driver package in advance with the same bit-version (32/64bit) than itom.

This plugin has been tested with the cage rotator K10CR1.

2.8.2. Initialization#

The following parameters are mandatory or optional for initializing an instance of this plugin:

  • serialNo: str, optional

    Serial number of the device to be loaded, if empty, the first device that can be opened will be opened

    default: “”

  • additionalGearFactor: float, optional

    There seems to be an additional conversion factor for some devices between device and real world units. This can be given here.

    Value range: [1e-10, 1e+12], Default: 1

  • connectToKinesisSimulator: int, optional

    If 1, a connection to the running Kinesis Simulator is established before starting to search for devices.

    Value range: [0, 1], Default: 0

2.8.3. Parameters#

These parameters are available and can be used to configure the ThorlabsISM instance. Many of them are directly initialized by the parameters of the constructor. During the runtime of an instance, the value of these parameters is obtained by the method getParam, writeable parameters can be changed using setParam.

accel: {float}

Target acceleration in °/s^2 (travelMode == 2) or mm/s^2 (travelMode == 1)

async: {int}

asynchronous (1) or synchronous (0) mode

deviceName: {str}, read-only

Description of the device

enabled: {int}

If 1, the axis is enabled and power is applied to the motor. 0: disabled, the motor can be turned by hand.

homed: {int}, read-only

1 if actuator is ‘homed’, else 0

homingAvailable: {int}, read-only

1 if actuator supports a home drive, else 0

moveCurrent: {int}

Percentage of full power to give while moving.

name: {str}, read-only

Name of the plugin

numaxis: {int}, read-only

number of axes (channels)

restCurrent: {int}

Percentage of full power to give while not moving.

serialNumber: {str}, read-only

Serial number of the device

speed: {float}

Target speed in °/s (travelMode == 2) or mm/s (travelMode == 1)

stagePosMax: {float}, read-only

Maximum stage position in mm (travelMode == 1) or ° (travelMode == 2). For °, given positions will be wrapped by 360° for absolute moves.

stagePosMin: {float}, read-only

Minimum stage position in mm (travelMode == 1) or ° (travelMode == 2). For °, given positions will be wrapped by 360° for absolute moves.

timeout: {float}

timeout for move operations in sec

travelMode: {int}, read-only

travel mode: linear (1), rotational (2), undefined (0)

2.8.4. Compilation#

To compile this plugin, install the Thorlabs KINESIS from https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control&viewtab=0 driver package in the same bit-version than itom (32/64bit). It has been implemented using KINESIS version 1.14.32. Then set the CMake variable THORLABS_KINESIS_DIRECTORY or the environment variable THORLABS_KINESIS_ROOT to the base directory of Kinesis (e.g. C:/Program Files/Thorlabs/Kinesis). The required libraries from Kinesis will automatically be copied to the lib folder of itom.

Kinesis 1.7.0 requires the Microsoft C++ Redistributable 2012.

2.8.5. Changelog#

  • This plugin is part of itom with version > 2.1.0.

  • itom setup 2.2.0: This plugin has been compiled with Thorlabs Kinesis 1.7.0; it requires the Microsoft C++ Redistributable 2012

  • itom setup 3.0.0: This plugin has been compiled with Thorlabs Kinesis 1.9.3; it requires the Microsoft C++ Redistributable 2012

  • itom setup 3.1.0: This plugin has been compiled with Thorlabs Kinesis 1.14.5; it requires the Microsoft C++ Redistributable 2012

  • itom setup 3.2.1: This plugin has been compiled with Thorlabs Kinesis 1.14.15; it requires the Microsoft C++ Redistributable 2012

  • itom setup 4.0.0: This plugin has been compiled with Thorlabs Kinesis 1.14.23;

  • itom setup 4.1.0: This plugin has been compiled with Thorlabs Kinesis 1.14.25.

  • itom setup 4.2.0: This plugin has been compiled with Thorlabs Kinesis 1.14.28.

  • itom setup 4.3.0: This plugin has been compiled with Thorlabs Kinesis 1.14.47.