
- Order:
- Duration: 2:47
- Published: 13 Feb 2010
- Uploaded: 24 Apr 2011
- Author: PsychedelicGuy
Name | EPICS |
---|---|
Logo | |
Developer | Free software community |
Released | |
Latest release version | 3.14.11 |
Latest release date | August 28, 2009 |
Operating system | Cross-platform |
Genre | Open Source |
License | EPICS Open License |
Website | EPICS website |
EPICS uses client/server and publish/subscribe techniques to communicate between the various computers. One set of computers (the servers or input/output controllers), collect experiment and control data in real-time using the measurement instruments attached to it. This information is given to another set of computers (the clients) using the Channel Access (CA) network protocol. CA is a high bandwidth networking protocol, which is well suited to soft real-time applications such as scientific experiments.
Other computers on the network can interact with the IOC via the concept of channels. Take, for example a particle accelerator with shutters between sectors. There would typically be several channels corresponding to a shutter: an output channel to activate shutter motion, an input channel to see the status of the shutter (e.g. shut, open, moving, etc.), and probably some additional analog input channels representing temperatures and pressures on each side of the shutter. Channel names are typically in the form EQUIPMENT:SIGNALNAME (e.g. ACCELERATOR_RING:TEMP_PROBE_4, although they can be much less verbose to save time).
Most operations are driven directly from a standalone GUI package such as EDM (extensible display manager) or MEDM (Motif/EDM). These allow creation of GUI screens with dials, gauges, text boxes, simple animations, etc. Newer control systems and GUI interfaces such as CSS/BOY are being investigated.
However it is not just GUI software which can interact with EPICS: any software which can speak the CA protocol can get and put values of records. For example on the EPICS website there are several extension packages which allow CA support in things like MATLAB, LabVIEW, Perl, Python, Tcl, ActiveX, etc. Hence it is easy to do things like make scripts which can activate EPICS controlled equipment.
Each record has various fields in it, which are used for various tasks. AI and AO Analog Input and Output records can obviously store an analog value, and are typically used for things like set-points, temperatures, pressure, flow rates, etc. A limited amount of conversion to and from raw device data is available natively in the record (typically scaling and offsetting, but not advanced conversion like two's complement or logarithmic). BI and BO Binary Input and Output records are generally used for commands and statuses to and from equipment. Calc and Calcout These two records can access other records and perform a calculation based on their values. (E.g. calculate the efficiency of a motor by a function of the current and voltage input and output, and converting to a percentage for the operator to read). Stepper Motor Control of a stepper motor. Allows settings of things like accelerations and velocities, as well as position.
Alternately records may be set to process only on events.
Category:Science software Category:Physics software Category:Experimental particle physics Category:Industrial computing
This text is licensed under the Creative Commons CC-BY-SA License. This text was originally published on Wikipedia and was developed by the Wikipedia community.