U.S. Particle Accelerator School

EPICS Control Systems course

Sponsoring University:

University of California, Berkeley


EPICS Control Systems


Robert Dalesio, LANL, Kay-Uwe Kasemir, ORNL, and Andrew Johnson, ANL

Purpose and Audience
Large technical facilities like accelerators or astronomical facilities etc. require extensive control systems. A general control system toolkit (EPICS) was developed for such facilities and has gained broad acceptance throughout the world. This course is designed to introduce the student to the use of the most popular EPICS tools and the main techniques needed to develop a control system using EPICS.

Experience in using Unix/Linux, and some knowledge of C and/or C++ programming.

Upon completion of this course, the student will understand the general architecture of a control system that is based on EPICS, and the purpose and capabilities of the more commonly used client tools. The student is expected to be able to create and control a simple 'soft' control system complete with graphical user interface using an EPICS IOC.

Instructional Method
Instruction will comprise a mixture of lectures and student exercises in approximately equal proportion. All exercises and assignments will require the use of EPICS tools on Linux-based PC workstations, and will require the students to work together in groups of 2 or 3 per PC.

Course Content
EPICS has been used to build control systems for many different kinds of "large physics" experiments throughout the world and is designed to facilitate the construction of highly distributed multi-computer systems with large numbers of I/O points. This course provides an introduction to the most commonly-used parts of the toolkit: The client tools that are used to build user-interfaces, archive and retrieve data; design of the real-time databases that perform most I/O and control actions; state notation sequence programming; creating drivers and record types for new kinds of I/O hardware; writing new client applications, and interfacing to other control systems by writing portable server applications.

Reading Requirements
Instructors will provide lecture notes.

Credit Requirements
Students will be evaluated based on performance in the final exam (50% of final grade) and project assignment (50% of final grade).