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