2.14. PI GCS2#

Summary:

PI actuators following the GCS2 command set (e.g. E753)

Type:

Actuator

License:

Licensed under LGPL.

Platforms:

Windows, Linux

Devices:

Piezo controllers from Physik Instrumente that can be controlled using the GCS2 command set (e.g. E753)

Author:

M. Gronle (ITO Uni Stuttgart)

Requires:

Plugin SerialIO

2.14.1. Overview#

PI actuators following the GCS2 command set (e.g. E753) This plugin is developed for single axis controllers following the GCS2 commandset.

Tested with E753 and C663, don’t work with E-662 and E-665!

For the initialization you can connect to the device (if possible) via a USB port, a serial port or a TCP/IP connection. Depending on the connection you should use the initialization parameters in the following way: * RS232: give the COM-port number (number only in Windows, COM-port name in Linux) as deviceName and indicate a valid baudrate as optional parameter. * TCP/IP: give the full name of the device as deviceName or let deviceName empty in order to print out a list of all detected devices (the device name is one full line of the output! * USB: similar to TCP/IP

Please note that you only need to indicate a baudrate for RS232 connections, in the other cases, the default baudrate 0 forces the controller to connect with a default baudrate which is recommended for TCP/IP or USB connections.

Plugin to interface with Physik Instrumente (PI) GCS Controllers for X/Y and Z motion.

2.14.2. Initialization#

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

  • connection: str

    type of the connection (‘RS232’, ‘USB’, ‘TCPIP’)

    Match: [“RS232”, “USB”, “TCPIP”], Default: “RS232”

  • deviceName: str

    name of the device to connect or in case of a RS232 connection the number of the com port or the name of the com device (linux)

    default: “”

  • baudRate: int, optional

    baudrate to use for a RS232 or USB connection. If 0 is given, a default baudrate is used

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

2.14.3. Parameters#

An instance of this plugin has the following internal parameters:

PI_CMD: {str}

use this parameter followed by :YourCommand in order to read/write value from/to device (e.g. PI_CMD:ERR?)

async: {int}

asynchronous (1) or synchronous (0) mode

checkFlags: {int}

Check flags (or-combination possible): 0x01: check position boundaries before positioning and actualize current position after positioning (default: on), 0x02: check for errors when positioning (default: off), 0x04: if device has a on-target flag, it is used for checking if the device is on target (default: on), else a simple time gap is used that lets the driver sleep after positioning

comPort: {int}, read-only

The current com-port ID of this specific device. -1 means undefined

ctrlName: {str}, read-only

device information string

ctrlType: {str}, read-only

Current type of controller, e.g. E-662, E-665, E-753…

delayOffset: {float}

offset delay [s] per movement (independent on step size)

delayProp: {float}

delay [s] per step size [mm] (e.g. value of 1 means that a delay of 100ms is set for a step of 100mu)

hasLocalRemote: {int}, read-only

defines whether the device has the ability to switch between local and remote control (1), else (0)

hasOnTargetFlag: {int}, read-only

defines whether the device has the ability to check the ‘on-target’-status (1), else (0)

local: {int}

defines whether system is in local (1) or remote (0) mode.

name: {str}, read-only

name of the plugin

numaxis: {int}, read-only

Number of axes (here always 1)

piezoName: {str}, read-only

piezo information string

posLimitHigh: {float}

higher position limit [mm] of piezo (this can be supported by the device or by this plugin)

posLimitLow: {float}

lower position limit [mm] of piezo (this can be supported by the device or by this plugin)

referenced: {int}, read-only

Axis is referenced (1), not referenced (0), idle (-1)

velocity: {float}

velocity of the stage for the controller type C663 in mm per s