taurus.core.epics
Epics extension for taurus core model.
The epics extension provides access to Epics control system objects via Channel Access
Note
The Epics scheme is only a proof of concept. The final syntax of the model names is not yet set in stone and only basic functionality is implemented.
The Epics extension implements taurus.core
objects that connect to Epics
PVs. The scheme name for channel access epics models is ‘ca’ (‘epics’ also
works at this moment).
You should never instantiate models from epics model classes directly. Instead,
use the taurus.core.taurusmanager.TaurusManager
and
taurus.core.taurusmanager.TaurusFactory
APIs to access all elements.
For example, to get a reference to the epics process variable (PV) “my:example.RBV” you should do something like:
>>> import taurus
>>> myattr = taurus.Attribute('ca:my:example.RBV')
Epics attributes (should) work just as other Taurus attributes and can be referred by their model name wherever a Taurus Attribute model is expected. For example, you can launch a TaurusForm with an epics attribute:
$> taurus form ca:my:example
Similarly, you can combine epics attributes with attributes from other schemes:
$> taurus form 'ca:my:example' 'tango:sys/tg_test/1/float_scalar' 'eval:{ca:my:example}*{tango:sys/tg_test/1/float_scalar}'
Currently, the taurus epics scheme just supports epics PVs, implementing them as taurus attributes. Other model types such as the Authority, and Device classes are just convenience dummy objects in the epics scheme at this point. Epics records may eventually be mapped as Devices.
Submodules
Classes
- class EpicsAttribute(name='', parent=None, storeCallback=None)[source]
A
TaurusAttribute
that gives access to an Epics Process Variable.See also
Warning
In most cases this class should not be instantiated directly. Instead it should be done via the
EpicsFactory.getAttribute()
- class EpicsAuthority(complete_name='', parent=None)[source]
Dummy authority class for Epics (the authority concept is not yet used in the Epics scheme)
Warning
In most cases this class should not be instantiated directly. Instead it should be done via the
EpicsFactory.getAuthority()
- class EpicsDevice(name='', **kw)[source]
Dummy device class for Epics (the device concept is not yet used in the Epics scheme)
Warning
In most cases this class should not be instantiated directly. Instead it should be done via the
EpicsFactory.getDevice()