16-23 September 2016
Oak Ridge National Laboratory
US/Eastern timezone

Service-layer IOCs and their implementation in Python

20 Sep 2016, 15:20
Conference Center (Oak Ridge National Laboratory)

Conference Center

Oak Ridge National Laboratory

Building 5200 Oak Ridge National Laboratory Oak Ridge, TN 37831 USA
Regular Talk (15min) Experiment control, data acquisition EPICS Collaboration Meeting


Bogdan Vacaliuc (Spallation Neutron Source)


The EPICS system provides a robust process variable distribution system upon which software clients and servers are able to interact. The servers interface to physical inputs and outputs of the machine, while the clients interface to users and operators (humans). During the beamline instrumentation upgrade at the SNS, we faced challenges in reproducing similar levels of instrument control automation present in the previous system while holding to a common set of servers and avoiding extensions in the user interface clients. To overcome these challenges, we introduce the service-layer IOC that acts as both client and server and operates autonomously. Our implementations to date provide such functions as automated 3-axis alignment, nested scan generation and experiment completion estimation, temperature-compensated experiment control and auto-reduction visualization. This talk will describe our implementation using the Python language and its EPICS components.

Primary author

Bogdan Vacaliuc (Spallation Neutron Source)

Presentation Materials