EPICS and Motion Controls

The lower level of GM/CA control system is constituted by EPICS. EPICS is an abbreviation for "Experimental Physics and Industrial Control System", a distributed hardware control system widely deployed at the APS and other synchrotron radiation facilities. In EPICS each hardware component is interfaced via a database server called input-output controller (IOC).

GM/CA runs multiple IOC for each beamline:

  1. Two PowerPMAC IOCs running inside PowerPMAC motion controllers by Omron can drive up to 128 motors and thus provide all beamline motion controls. These controllers operate under embedded Debian Linux and the EPICS driver for them was implemented in-house.
  2. Linux IOC for beamline Equipment Protection system (EPS).
  3. Linux IOC for Mono Stabilizer (beamline intensity feedback), multiple CAEN AHD501D Quad amplifiers, and Watlow/Omega temperature controllers.
  4. Linux IOC for various Measurement Computing devices providing digital and analog I/O (MCC E-1608 and MCC USB-1808X ADC/DAC/DIO), four multichannel scalers (MCC USBCTR-08), and Smaract motors management.
  5. Linux IOC for two Alvium 1800 U-1620 video cameras by Allied Vision which provide 5328x3040 pixels on- and off-axis images of samples.
  6. Linux IOC providing frame acquisition with Dectris area detectors (Eiger2-16 CdTe, Eiger-16, or Pilatus3-6m depending on beamline),
  7. Linux IOC for JBluIce/PyBluIce communication, Sample Environment Server, Point and Click Server, CryoJet control, Keithley-428 Current Amplifiers, and XIA Falcon DXP for fluorescent detector.
  8. Linux IOC for monitoring consistency of 4 monochromator encoders.

EPICS allows multiple client programs to access the IOC and control hardware in parallel. While our main user interface software is JBluIce/PyBluIce, manual and semi-automated procedures, for example interfacing beamline intensity feedback, can be performed with other EPICS tools such as MEDM and CaQtDMscreens, StripTool (time plots) and various automation scripts. Most of relevant EPICS tools are available via the Beamline Controls Toolbar, which can be accessed either from the JBluIce/PyBluIce Tools menu, or by opening a terminal window and typing 23i, 23o, or 23b for the 23ID-D, 23ID-B or 23BM beamline respectively, or by pressing the icon on the computer desktop (the color may vary per beamline).

Our main EPICS development platform is Linux Mint, a clone of Ubuntu LTS Linux operating system. In 2024 during the APS-U upgrade the beamline control system was fully redesigned. Before APS-U most of beamline controls was utilizing VME-type electronics residing in VME crates operating under the VxWorks operating system. It also included the previous generation of PMAC motion controllers, Turbo PMAC2 VME Ultralite. The VME standard developed around 1980 and VxWorks first released in 1987 became largely outdated. Therefore in 2024 we utilized the users operations pause related to the APS-U construction and fully eliminated VxWorks from the GMCA beamline controls.

The core of the whole control system are PowerPMAC motion controllers that we made available in EPICS. The advantages of these controllers are (see the picture below):

 

Using these controllers we implemented on-the-fly scans for beamline alignment. The scans are partially based on an open-source FastScans project formerly carried by Elena Kondrashkina and Sergey Stepanov while they were employed at BioCAT. The package consists of a number of programs written in C language with user-friendly GUI frontend developed in Java.

As illustrated by the scan plot, the actual motion time of the shutter is about 12.5 ms and the beam blocking occurs within 2.5 ms.

> JBluIce/PyBluIce - EPICS source distribution

 


GM/CA @ APS Sponsors: National Institute of General Medical Sciences (NIGMS) and National Cancer Institute (NCI) of the National Institutes of Health (NIH).

  GM/CA @ APS is an Office of Science User Facility operated for the U.S. Department of Energy by Argonne National Laboratory

  UChicago Argonne LLC | Privacy & Security Notice | Contact Us | A-Z Index | Search