2.13. 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, University Stuttgart

Requires:

Plugin SerialIO

2.13.1. Overview

PI actuators following the GCS2 command set (e.g. E753) This plugin is developped 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.

2.13.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.13.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}

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