1 / 24

EPICS at APS Beamlines

EPICS at APS Beamlines. Tim Mooney Advanced Photon Source Argonne National Laboratory. synApps overview. EPICS applications for synchrotron beamlines (synApps). Standard EPICS base & extensions Standard EPICS modules (e.g., MPF) synApps modules (std, motor, MCA)

cameo
Download Presentation

EPICS at APS Beamlines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EPICS at APS Beamlines Tim Mooney Advanced Photon Source Argonne National Laboratory

  2. synApps overview EPICS applications for synchrotron beamlines(synApps) • Standard EPICS base & extensions • Standard EPICS modules (e.g., MPF) • synApps modules (std, motor, MCA) • synApps-compatible clients (e.g., scan-data display)

  3. synApps overview 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

  4. synApps overview 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 easily be built and configured to run ~80% of a beamline • Second function is to provide generic tools that have proven themselves useful in the development of custom support

  5. Motor Scaler 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 synApps overview Basic record/device support

  6. 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 synApps overview Layered devices, techniques(databases, SNL programs, …)

  7. synApps overview 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) • used by sscan, swait records

  8. synApps overview Motors • Stepper, servo • Oregon Microsystems • Newport • Intelligent Motion Systems • McClennan • Soft support

  9. synApps overview Scalers • Multiple preset scalers • Background count interrupted by data-acquisition count • User-programmable end calculations • Joerger, Struck hardware

  10. synApps overview 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)

  11. synApps overview Serial O/I Block • Combination of • string calc to construct output message • serial record to send and/or receive • string calc to parse reply • Intended for run-time programming • Similar GPIB support

  12. synApps overview 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)

  13. synApps overview Monochromators • Nondispersive (standard) • Dispersive (high resolution) • Nested, in-line • Spherical grating (low energy)

  14. synApps overview Miscellaneous • Slit • Sample Wheel • 4-step measurement

  15. synApps overview 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

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

  17. MCA display (IDL program) scanSee (IDL program for 1D, 2D, 3D data) Plot.py (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 BackUp/Restore Tool StripTool (strip chart) … synApps overview Clients

  18. 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 Include files Macro substitution Dated backups Choose save/restore directories Request-file path Can put request files in same directory as database files synApps overview Autosave/restore

  19. 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

  20. Recent progress String calculations • Operators >? and <? (max, min) • Example: A<?B • Variable # of args for MAX, MIN functions • Example: MAX(A,B,C,MIN(D,E)) • Much faster that previous versions • Numeric op’s are 1-4 ms (~10%) slower than calcPerform (on MV162) • (compare to ~4 ms added for isnan/isinf check) • No memory fragmentation

  21. Can put standard request files with databases Database developer writes default request file Easy version control Can override a standard request file with a local copy (at any include level) Recent progress Save_restore request-file path

  22. Recent progress Conversion to 3.14 • In progress, collaborators: • Mark Rivers (CARS-CAT) • Jens Eden (BESSY) • Kate Feng (NSLS) • Till Straumann (SLAC) • Most of synApps compiles at least, some has been tested, some is even OSI

  23. Recent progress Python tools • We use caPython • Geoff Savage (FNAL) • mcaDisplay.py mcaPeakFit.py • Mark Rivers (CARS) • plot.py

  24. For more information: www.aps.anl.gov/xfd/bcda cars.uchicago.edu/gsecars/index.html

More Related