Skip to content
/ beemer Public

Python package for working with EPICS process variables

Notifications You must be signed in to change notification settings

wigging/beemer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beemer

Beemer is a Python package for working with process variables (PVs) from EPICS input/output controllers (IOCs). The PVs are exposed via the channel access (CA) protocol using the included EPICS Docker container or caproto's CA server. Examples of each approach are provided in this repository.

Installation

Use conda to create a Python environment where beemer is installed in editable (developer) mode.

conda env create --file environment.yml
conda activate beemer

Examples

The examples demonstrate two approaches of using beemer to access PVs. One approach uses softIoc from an EPICS Docker container as shown in the diagram below. See the epics-base/Dockerfile to build the Docker image and container.

flowchart LR
    CaClient --> Docker
    subgraph Docker
        direction LR
        EPICS --> PVs
    end
Loading

The other approach uses caproto's CA server for the PVs as shown below.

flowchart LR
    CaClient --> B["Caproto Server"] --> PVs
Loading

Both approaches can be implemented over HTTP using the HttpClient instead of the CaClient. See the comments in the examples for usage instructions.

Further reading

See the links below for more information about EPICS and caproto.

About

Python package for working with EPICS process variables

Topics

Resources

Stars

Watchers

Forks