# Presentation: 287786

## EPICS at APS Beamlines

- Tim Mooney
- Advanced Photon Source
- Argonne National Laboratory

## EPICS applications for synchrotron beamlines(synApps)

- Standard EPICS base & extensions
- Standard EPICS modules (e.g., MPF)
- synApps modules (std, motor, MCA)
- synApps-compatible clients

## synApps

- Custom EPICS records
- Custom EPICS device-support modules
- Other custom infrastructure (e.g., autosave, recDynLink, saveData)
- Custom EPICS databases, MEDM displays
- Custom clients (e.g., scanSee)
- Matched to a version of EPICS base

## Just to clarify...

- We didn’t write everything in synApps
- One function of synApps is to bundle compatible versions of selected EPICS software – wherever developed – into a single tar file that can run a beamline

## Basic record/device support

- Motors
- Scalers
- Multichannel analyzer
- Multichannel scaler
- Serial (RS-232)
- GPIB
- ADC’s
- DAC’s

- Encoders
- Optical table
- String calc, sequence
- Complex expressions
- Enhanced PID
- Scan
- Scan parameter
- Generic VME

## Layered devices, techniques

- Optical tables
- Slits
- Mirrors
- Monochromators
- Piezo controller
- Digital Multimeter
- Current preamplifier
- Interpolation

- N-step measurement
- Serial I/O block
- GPIB I/O block
- Autocollimator
- Temperature controller
- X-ray microscope
- Insertion device
- Filter/shutter

## Other support

- Autosave (save parameters through reboot)
- saveData (store scan data to disk)
- Clients to display scan/MCA data
- Programs to handle MDA, NeXus data files
- recDynLink (adds notify-when-done link)

## Motors

- Stepper, servo
- Oregon Microsystems
- Newport
- Intelligent Motion Systems
- McClennan
- Soft support

## Scalers

- Multiple preset scalers
- Background count interrupted by data-acquisition count
- User-programmable end calculations

## Multichannel analyzer

- Canberra AIM
- XIA DXP
- 32 regions of interest
- Halt acquisition on ROI preset
- Background subtraction for ROI sums
- Also supports sampling ADC (Acromag IP-330)

## Serial O/I Block

- Combination of string calc to construct output message, serial record to send and/or receive, and string calc to parse reply
- Intended for run-time programming
- Similar GPIB support

## Optical table

- 5/6-motor optical table
- User specifies point about which table rotates
- Exact virtual-to-motor and motor-to-virtual
- Specific geometries (adding a new geometry is hard)

## Monochromators

- Double crystal (dispersive, nondispersive)
- Spherical grating

## Miscellaneous

- Slit
- Sample Wheel
- 4-step measurement

## String Expressions

- Extends CALC record to combine string and numeric expressions
- Useful for run-time programming of serial devices
- EPICS links are *programmable* at run time

## Scans

- Multidimensional
- 4 positioners, 4 detector triggers, 70 signals
- saveData client writes data to NFS-mounted disk
- Can acquire arrays (e.g., MCA spectra)
- ~300 Hz on MV162
- Start/end, table, on-the-fly
- Also for 1-dimensional automated alignment

## Clients

- MCA display (IDL program)
- scanSee (IDL program for 1D, 2D, 3D data)
- Plot_data (Python demonstration)
- PVMail (send email when PV value violates boundary)

- Misc. experiment-specific user interfaces in tcl/tk, python/tk, Igor, IDL, java
- Channel Archiver
**B**ack**U**p/**R**estore **T**ool
- StripTool (strip chart)
- ...

## Autosave/restore

- Saves PV values (e.g., motor positions, scan config) through reboot
- Defends against crash during save operation
- Typically 80 values saved every 5 s, 3000 values every 30 s

- New features:
- Include files
- Macro substitution
- Dated backups (reboot history)
- Choose save/restore directories

## CCD support

- CA server on CCD’s native platform
- Calls vendor-supplied software
- Stores images to local disk (HDF format)
- Some simple image analysis
- Hosts EPICS PV’s for control

## For more information

- EPICS
-   www.aps.anl.gov/epics
- synApps
-   _[www.aps.anl.gov/xfd/bcda](http://www.aps.anl.gov/xfd/bcda)_
-   cars9.uchicago.edu/gsecars/index.html