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 an 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 lowest-level Channel Access library in the ca module, and
higher level abstractions built on top of this basic functionality.
The package includes a simple interface to CA similar to the Unix
command-line tools with functions epics.caget(),
epics.caput(), epics.cainfo(), and
epics.camonitor(). For an object-oriented interface, there is a
pv.PV class which represents an Epics Process Variable as a
full-featured and convenient Python object. Additional modules
provide higher-level programming support to CA, including grouping
related PVs into a device.Device (with a number of predefined
devices ready to use), for creating alarms in alarm.Alarm,
and for 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.
Some applications built with pyepics that are available at https://github.com/pyepics/epicsapps/.
- Downloading and Installation
- PyEpics Overview
- PV: Epics Process Variables
- The
PVclass - 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
PyEpics: Epics Channel Access for Python