Science and Engineering at SLAC National Accelerator Laboratory
From 2021 to the spring of 2023, I worked as a Science and Engineering Associate (SEA) at the SLAC National Accelerator Laboratory in Palo Alto. SLAC had a number of directorates for different purposes; I worked in the Linac Coherent Light Source (LCLS) directorate, currently the word's brightest X-ray source. At LCLS, I was apart of the Experimental Control Systems group, focusing on control system delivery. As a SEA, my responsibilities range from troubleshooting existing problems on the beamline, to installation and integration of new devices into the controls system architecture. These tasks require an understanding of Beckhoff programmable logic controllers, the backbone of the controls hardware stack, and EPICS, the supervisory control and data acquisition system in use at LCLS. During my time at SLAC, I integrated new devices from arriving in a box, all the way through to deployment and remote control using human machine interfaces. I was exposed to a variety of disciplines: optics, metrology, engineering (vacuum, mechanical, electrical), information technology, programming and, of course, controls engineering. Nearly everyday this role requires that I learn something new, which I found to be an exciting and deeply satisfying experience.

I was typically assigned to the RIXS Hutch, a soft x-ray beamline dedicated to liquid sample pump-probe experiments. Here's me working on getting a piezo-electric motor driver connected to the local network.
Here is a device called a solid attenuator. It inserts various optics into the beampath to change the characteristics of the x-ray laser. One project that I worked on was integrating this device into our control system architecture. This entailed:
-
Ordering and installing cables
-
Designing motion rail (EL7041s, EL5042s, EL3202s)
-
Linking IO
-
Open and closed-loop testing, determining encoder scaling factor for unique third stage
-
Created calculator python class for calculating photon transmission based on filters inserted
-
Integrated into PMPS system, keeping people and the device safe from unwanted moves




In addition to installing new subsystems, I was also tasked with diagnosing problems with existing architecture. A fun example of this was when I successfully diagnosed and fixed a motion problem on the spectrometer arm of the chemRIX endstation.
The focus mirror was driven by an actuator that would angle the mirror like a lever. This linear motion was then converted to an angle in millirad. The scientists had noticed that the mrad values didn’t seem to match up with other diagnostics . A CMM was brought in, measured deviation of ~3.5 mrad from GUIs. We determined that actual moves and predicted moves were off by nearly 25%.
​
This pointed to an issue with the encoder scaling factor (the relationship between the position in User’s units and the actual movement in Counts). I calculated this based on the motor parameters, and nothing changed… Went with the old fashioned way, measuring motor travel increments and step counts of the encoder. This gives new quadratic equation relating linear motion of the set screw to pitch of the mirror. This new scaling factor reduced average error from 0.25mm to 0.00048mm (a lot when you are working with wavelengths in nanometers).

A large part of my job was building what we called IOCs, or input output controllers. IOCs linked the EPICS stack to the physical hardware, allowing us to instantiate process variables to read and control hardware. Here is a six-axis piezo electric positioning system; I worked on its IOC and also designed the HMI for the scientists to control the thing with.
​
I also made IOCs for RF Over Fiber generators, cryostats, lighting systems and more.
I also worked on HMI design for existing subsystems. Here is the vacuum system HMI that I designed. Speaking of the vacuum system, I designed and implemented the interlocking system for the two cryo-pumps. This makes sure that gate valves VGC10 and VGC 11 can only open/close when it is safe to do so.
