Difference between revisions of "EPICS for Dummies"
Jump to navigation
Jump to search
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 | ||
(*) this is not an official classification, nor an exhaustive list of records. <br> | (*) this is not an official classification, nor an exhaustive list of records. <br> <br> | ||
Note that: | Note that: | ||
* It is rare for new records to be created, now that asyn device support exists. | * It is rare for new records to be created, now that asyn device support exists. |
Revision as of 16:26, 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
- 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; 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.
- areaDetector databases are composed of mostly simple record.