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.

Warning

In most cases this class should not be instantiated directly. Instead it should be done via the EpicsFactory.getAttribute()

(more info)

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()

(more info)

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()

(more info)

class EpicsFactory(*p, **k)[source]

A Singleton class that provides Epics related objects.

(more info)