EPICS for Dummies

From Beam Line Controls
Revision as of 16:39, 10 February 2023 by Rodolakis (talk | contribs)
Jump to navigation Jump to search



What is EPICS?

EPICS (Experimental Physics and Industrial Control System) is a distributed control system, which means that the IOC (software) can run on a different computer as the user interfaces.

What is an IOC?

IOC (Input/Output Controller) is a piece of software running on a computer:

  • serves something called process variables (PVs) that you can read and write to
  • used to run on VMEs, but nowadays it runs on anything.
  • usually talks to hardware, but that isn’t a requirement.


What is a PV?

PV (Process Variables) is a the field from a record: PV = record_name + . + field_name

Most of the interactive parts of user displays have PVs associated with them.

What is a record?

Records are the building blocks of EPICS

  • There is a lot of different types of record, and each type is designed to perform a specific function
  • Records are customizable via fields that allow users to configure how they behave and monitor their state.
  • Records vary significantly in complexity (see #More about records)

More about records

  • Records vary significantly in complexity; one way to classify them would be (*):
    • Simple records are associated with individual data types
    bi, bo, mbbi, mbbo, longin, longout, ai, ao, stringin, stringout, waveform
    • Intermediate records often perform calculations or link multiple records
    calcout, scalcout, acalcout, swait, transform, fanout, dfanout
    • Complex records are associated with devices or higher-level functionality
    motor, scaler, mca, sscan, table, digitel, vs
    • Flexible records allow custom functionality to be implemented
    sub, aSub, luascript

(*) this is not an official classification, nor an exhaustive list of records.

Note that:

  • It is rare for new records to be created, now that asyn device support exists. add link to asyn?
  • areaDetector databases are composed of mostly simple record.




Help: https://www.mediawiki.org/wiki/Help:Formatting