EPICS for Dummies
What is EPICS?
EPICS = Experimental Physics and Industrial Control System
EPICS 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
EPICS records have many fields that allow users to configure how they behave and monitor their state. 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
- Records vary significantly in complexity
- 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