epics developments at the australian synchrotron dsp epics driver for the general standards 16aio...

15
EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor controllers Author: Mark Clift Presented by Nicholas Hobbs

Upload: ronald-bell

Post on 12-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

EPICS Developments at the Australian Synchrotron

DSP EPICS driver for the General Standards 16AIO analog card

EPICS driver for the Galil range of motor controllers

Author: Mark Clift

Presented by Nicholas Hobbs

Page 2: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

1. Analog Acquisition

• Many Analog acquisition cards are used, the 16AIO from General Standards is the most commonly used on site

• 16AIO card linearity and noise characteristics are average for a 16 bit card

• 16AIO is faster than average (300K samples cumulative), allowing DSP methods to be applied within the EPICS driver

• The 16AIO is a mezzanine board and is available in many form factors, we use PCI at the Australian Synchrotron

Page 3: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

16AIO EPICS Driver

• The 16AIO EPICS Driver was created using the IP330 driver as initial basis

• It has an Asyn based structure and is compatible with the fast PID feedback software written by Mark Rivers

• 16AIO hardware includes a 32Kb sample buffer which allows rapid data acquisition

• At the driver layer, sample rates up to 30 KHz are used

• The maximum EPICS update rate is 1.5 KHz

• Achievable speed depends on computing hardware, operating system, and machine load.

Page 4: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

16AIO Updates to registered clients (eg. EPICS)

• The 16AIO driver functionality is based on regular updates to registered clients (eg. EPICS layer) via Interrupt I/O

• Fundamental frequency of updates to clients is specified by the LcaioSetup comand

• Update frequency of individual signals is specified by a combination of the fundamental update frequency and the LcaioAiSignalSetup command. The LcaioAiSignalSetup command simply divides the fundamental update frequency by an integer

Page 5: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

16AIO DSP methods

• Two very basic DSP methods are employed by the 16AIO driver, they are: Sample Averaging Effective number of bits (ENOB)

• The ENOB and averaging algorithms do not operate when only one sample is available per client update period, multiple samples are required

• The effective bit (ENOB) resolution of the resultant data is calculated from the following Fos = 4w x fs Fos = Sampling frequency used fs = Original sampling frequency requirement W = Extra bit(s) of resolution

Page 6: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

Uses of 16AIO at the Australian Synchrotron

• Fast feedback system on the Microspectroscopy beamline• General analog inputs at the Imaging beamline• Booster and Storage ring current measurement (see below, red line)

Page 7: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

2. Galil EPICS driver for motor control

• The Galil driver has a native EPICS driver/device layer, and does not use Asyn

• Galil driver interfaces with the motor record and a collection of standard EPICS records

• The standard records are used to provide control/monitor interfaces for features that the motor record does not support (e.g. gear ratio)

• The Galil driver is compatible with all motor controllers in the Galil range

• The Galil driver has an extensive list of parameters which can be difficult for first time users to comprehend

Page 8: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

Galil EPICS driver

The Galil driver has many unique features including:

Ability to accept and work with user-written Galil code

Ability to read two encoders at all times per motor. The encoder used in the motor record can be swapped at run time while the motor is stopped

A generic interface is provided so new functionality can be added to the driver, whilst providing a full EPICS interface

Allows master/slave relationships amongst motors

Has closed loop stepper control that is compatible with master/slave relationships

Page 9: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

Galil EPICS driver

Further features:

Stall detection of any active encoder that is related to a motor

EGU travelled after limit activation can be specified, useful for tricky switches, or fast moving heavy loads

Page 10: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

Galil controllers in use at Australian Synchrotron

Location Motor count

Powder diffraction - End station 24

Powder diffraction - Diffractometer 4

X-ray Absorption - End station 24

SAXS/WAXS - End station 28

SAXS/WAXS - IVU 2

Infrared - End stations 17

Protein Crystallography - IVU 2

Microspectroscopy - End station 16

Microspectroscopy - IVU 2

Imaging beamline - Wiggler 2

Imaging beamline - End stations 36

Total 157

Page 11: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

• MC – 8000• Based on the 2183 Galil motor controller• Eight axis, integrated parker drive system• Beamline and End station motors

• Front Internal Rear

Galil controller models that we use

Page 12: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

• MC – 4000/2000

• Based on the 2143/2123 Galil motor controller

• Four/two axis, external drive system

• Insertion devices, and heavy equipment (e.g. SAXS/WAXS table)

IVU Control rack IVU

Galil controller models that we use

Page 13: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

Galil motor controllers, our impression

• Reliable, had no hardware failures

• Easy to use and quick to get going

• In comparison we have had many hardware failures in PC-104 Delta Tau controllers, particularly the communications board

• AS very satisfied with Galil support (e.g. They provided generic SSI encoder interface firmware)

Page 14: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

Australian Synchrotronwww.synchrotron.vic.gov.auwww.synchrotron.org.au

Thank you for your attention

Page 15: EPICS Developments at the Australian Synchrotron DSP EPICS driver for the General Standards 16AIO analog card EPICS driver for the Galil range of motor

For more information and software:

DSP EPICS drivers for 16AIO analog card

EPICS drivers for Galil motor controllers

Mark Clift

[email protected]

ftp.synchrotron.org.au/pub/EPICS09