EPICS Control Systems
USPAS, July 13 - 17, 2026, St Paul, Minnesota
This introduction to the Experimental Physics and Industrial Control System (EPICS) toolkit is planned for the summer 2026 US Particle Accelerator School (USPAS).
Preparation
We use a Virtual Machine (VM) with a a small but complete control system setup. The VM can be used on Windows, Mac OS or Linux, and you'll have everything available on your own laptop. The setup is conceptually simple:
- Download VirtualBox from https://www.virtualbox.org/wiki/Downloads
- Download the VM Image from right here, either TrainingIntel.ova () for Windows and older "Intel" Macs, or TrainingApple.ova () for "Apple Silicon" Macs.
- Start VirtualBox
- Import the VM image
Here are the above steps in more detail.
- Your computer must run a 64 bit version of Windows, Linux or Mac OS X.
It should have at least 8GB of memory.
For Windows and Linux users: In the BIOS of your computer, you may have to enable theVT-XorAMD-voption to support 64 bit guest operating systems, see "In case of problems..." later on. - Download and install Virtualbox for your operating system. You only need the "Virtual Box Platform Package" for Windows, Mac Intel/Apple or Linux. You can skip the "VirtualBox Extension Pack". Versions 7.2.8 or 7.2.10 were used in the preparation of this training session.
- Download the VM image.
- Start VirtualBox, invoke the menu 'File', 'Import Appliance...'
- Select the
*.ovafile that you just downloaded, press 'Continue'. - In the Virtual Box program, you should now see the imported virtual machine.
- Start the VM by double-clicking on it.
After about a minute, you should see a desktop.
If you are not automatically logged in,
log in as user
epics-devwith password$epics-dev. If you get a message about installing updates, cancel it. - To close the VM, open the drop-down at the right edge of the desktop menu bar which includes a "power off" option .
In case of problems, see VirtualBox FAQ. Here are some common issues:
If the mouse pointer appears at an offset within the VM window, change the VM settings for "Motherboard", "Pointing Device" to "USB Tablet".
The VM desktop should resize with changes to the window size, but this doesn't seem to work in all setups. The desktop will respond a little quicker to mouse moves etc. if the desktop size is kept smaller. On high-DPI monitors, the desktop might appear too small to read. As you increase the window size, the desktop will grow but fonts will still be small, until the desktop eventually turns black as the VM window exceeds a certain size. If that happens, reduce its size, and use the Menu View, Virtual Screen 1, Scale To 200% to enlarge it.
In case your keyboard is different from an English (US) layout, click on "Activities" in the upper left, then the "9-dot"-button in the bottom right corner of the desktop to show applications, and then click "Settings". Find the "Keyboard" section, and note the "Input Sources". Click the "+" button, "...", scroll to bottom, "Other", then locate for example "German". From now on you will see a drop-down icon in the upper right of the desktop to switch between English (US) and the added keyboard layout.
Presentations
01a Control Systems (PDF)
(PPT)
01b EPICS Overview (PDF)
(PPT)
02 Linux (PDF)
(PPT)
03 EPICS Database (PDF)
(PPT)
03a VDCT (PDF)
(PPT)
03e EPICS Database Exercises (PDF)
(PPT)
03e PID Record (PDF)
(PPT)
04a User Interfaces (PDF)
(PPT)
04b Display Builder (PDF)
(PPT)
04c Display Web Runtime (PDF)
(PPT)
04d SNS CSS (PDF)
(PPT)
05 makeBaseApp (PDF)
(PPT)
06 Autosave (PDF)
(PPT)
06e Autosave Lab (PDF)
(PPT)
07 Stream Device (PDF)
(PPT)
07l Stream Device Lab (PDF)
(PPT)
08 Channel Access (PDF)
(PPT)
09 CA vs Records vs CAS (PDF)
(PPT)
10 CA Security (PDF)
(PPT)
10l CA Security Lab (PDF)
(PPT)
11 EPICS Database Updates (PDF)
(PPT)
12 AreaDetector (PDF)
(PPT)
13 Allen Bradley PLCs (PDF)
(PPT)
13b Sheet to DbOpi (PDF)
(PPT)
14 Archive (PDF)
(PPT)
15 PV Access (PDF)
(PPT)
16 EPICS Automation (PDF)
(PPT)
17 Sequencer (PDF)
(PPT)
17l SequencerLab (PDF)
(PPT)
18 Busy Record (PDF)
(PPT)
18l Busy Record Lab (PDF)
(PPT)
19 Python (PDF)
(PPT)
19b PyDevice (PDF)
(PPT)
20 DeviceSupportIntro (PDF)
(PPT)
20b BasicDeviceSupport (PDF)
(PPT)
20c Custom Register Device Support (PDF)
(TXT)
20d Device Support Problematic (PDF)
21 PVA Gateway (PDF)
(PPT)
22 Alarm System (PDF)
(PPT)
22a Alarm Guidelines (PDF)
(PPT)
23 Channel Finder Name Server (PDF)
(PPT)
Record Reference Manual (Older PDF), (R7-0-6)

