Difference between revisions of "EPICS for Dummies"

From Beam Line Controls
Jump to navigation Jump to search
Line 21: Line 21:
* Each record type performs a specific function
* Each record type performs a specific function
* Records are customizable via fields that allow users to configure how they behave and monitor their state.
* Records are customizable via fields that allow users to configure how they behave and monitor their state.
* Records vary significantly in complexity
* Records vary significantly in complexity; one way to classify them would be (*):
** Simple records are associated with individual data types
** Simple records are associated with individual data types
*::;bi, bo, mbbi, mbbo, longin, longout, ai, ao, stringin, stringout, waveform
*::;bi, bo, mbbi, mbbo, longin, longout, ai, ao, stringin, stringout, waveform
Line 30: Line 30:
** Flexible records allow custom functionality to be implemented
** Flexible records allow custom functionality to be implemented
*::;sub, aSub, luascript
*::;sub, aSub, luascript
 
(*) not an official classification, nor an exhaustive list of record





Revision as of 16:23, 10 February 2023

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

  • Each record type performs 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; 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

(*) not an official classification, nor an exhaustive list of record





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