Epics Channel Access for PythonΒΆ
PyEpics is an interface for the Channel Access (CA) library of the Epics
Control System to the Python Programming
language. The pyepics package provides a base epics
module to python,
with methods for reading from and writing to Epics Process Variables (PVs) via
the CA protocol. The package includes a thin and fairly complete layer over
the low-level Channel Access library in the ca
module, and higher level
abstractions built on top of this basic functionality.
The package includes a very simple interface to CA similar to the Unix
command-line tools and EZCA library with functions epics.caget()
,
epics.caput()
, epics.cainfo()
, and epics.camonitor()
.
For an object-oriented interface, there is also a pv.PV
class
which represents an Epics Process Variable as a full-featured and
easy-to-use Python object. Additional modules provide higher-level
programming support to CA, including grouping related PVs into a
device.Device
, creating alarms in alarm.Alarm
, and saving
PVs values in the autosave
module. There is also support for
conveniently using epics PVs to wxPython widgets in the wx
module,
and some support for using PyQt widgets in the qt
module.
In addition to the Pyepics library described here, several applications built with pyepics are available at http://github.com/pyepics/epicsapps/. See http://pyepics.github.com/epicsapps/ for further details.
- Downloading and Installation
- PyEpics Overview
- PV: Epics Process Variables
- The
PV
class - String representation for a PV
- Automatic Monitoring of a PV
- User-supplied Callback functions
- User-supplied Connection Callback functions
- User-supplied Access Rights Callback functions
- Put with wait, put callbacks, and put_complete
- The
get_pv()
function and_PVcache_
cache of PVs - Examples
- The
- ca: Low-level Channel Access module
- Working with waveform / array data
- Devices: collections of PVs
- Alarms: respond when a PV goes out of range
- Auto-saving: simple save/restore of PVs
- wx: wxPython Widgets for Epics
- Advanced Topic with Python Channel Access