EPICS is a set of software tools and applications which provide a software infrastructure for use in building distributed control systems to operate devices such as Particle Accelerators, Large Experiments and major Telescopes. Such distributed control systems typically comprise tens or even hundreds of computers, networked together to allow communication between them and to provide control and feedback of the various parts of the device from a central control room, or even remotely over the internet.
EPICS uses Client/Server and Publish/Subscribe techniques to communicate between the various computers. Most servers (called Input/Output Controllers or IOCs) perform real-world I/O and local control tasks, and publish this information to clients using the Channel Access (CA) network protocol. CA is specially designed for the kind of high bandwidth, soft real-time networking applications that EPICS is used for, and is one reason why it can be used to build a control system comprising hundreds of computers.
At the Advanced Photon Source, EPICS is used extensively within the control system for the accelerator itself as well as by many of the experimental beamlines. There are about 250 IOCs (mostly Motorola VME boards using MC680x0 and PowerPC CPUs that run vxWorks, but we have a growing number of IOCs now on Linux, MacOS and RTEMS) that directly or indirectly control almost every aspect of the machine operation, while 40 Sun workstations and servers in the control room provide higher level control and operator interfaces to the systems, and perform data logging, archiving and analysis.
A Channel Access Gateway allows engineers and physicists elsewhere in the building to examine the current state of the IOCs, but prevents them from making unauthorized adjustments to the running system. In many cases the engineers can make a secure internet connection from home to diagnose and fix faults without having to travel to the site.
EPICS has to be reliable, and provide facilities to ensure the resulting control system is maintainable and easily upgraded. Many of those 200 IOCs can cause the APS accelerator to dump the beam if they go wrong or stop working, and in some cases a wrong output could cause damage to equipment which would cost many thousands of dollars and take days or even weeks to repair. Our IOCs have to run continuously for many months without being rebooted, thus the reliability of EPICS helps APS achieve its target of 95% or better availability of user-beam.
Originally all EPICS IOCs had to run the vxWorks Real-Time Operating System from Wind River, but since 2004 it has been possible to run IOCs on GNU/Linux, Solaris, MS Windows, MacOS and RTEMS. Portable software is available that allows non-EPICS control systems to act as CA servers. CA clients have always been able to run on a wide range of computers and operating systems — most flavors of Unix, GNU/Linux, Windows, RTEMS and vxWorks.
EPICS is also the name of the collaboration of organizations that are involved in the software's development and use. It was originally written jointly by Los Alamos National Laboratory and Argonne National Laboratory, and is now used by many large scientific facilities throughout the world (see the EPICS Sites page for some of the major users). Development now occurs cooperatively between these various groups, with much sharing of I/O device support and client applications.
There is a mailing list called tech-talk where most EPICS-related discussions occur. The collaboration runs hands-on training courses to learn how to use EPICS, and once or twice a year holds conferences where the latest developments are presented and future work is discussed (see the Meetings page for details).
If you want to learn more about EPICS, a good place to start is the Getting Started with EPICS lecture series which provides online videos of a series of lectures presented at Argonne in 2004-2005.
EPICS is provided under an open source license called the EPICS Open License, which is similar to the BSD license. See the Licensing pages for details and some history.
This web-server (but not this version of the EPICS site!) was one of the earliest to appear on the internet - it was announced as being live on the NCSA Mosaic What's New page on August 17th, 1993.