Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python Tools for Control System Access

Similar presentations


Presentation on theme: "Python Tools for Control System Access"— Presentation transcript:

1 Python Tools for Control System Access
T. Levens, R. De Maria M. Betz, M. Fitterer, C. Hernalsteens + other contributors

2 Brief overview of available tools
PyTimber PyJapc cmmnbuild-dep-manager

3 PyTimber CERN Accelerator Logging Service (CALS) stores a large quantity of data required for analysis of accelerator performance Timber GUI has analysis capabilities but is difficult to use for complex/automated analysis Command line tool for extraction only supports a limited subset of features  PyTimber developed to fill the gaps

4 PyTimber design criteria
Goal: provide a simple interface to CALS for interactive data analysis: Get data with a few lines of code Work well in the typical scientific Python ecosystem (numpy, Jupyter, etc) Use native python objects for input and output: string, list/dict, np.array Expose a stable & predictable API Keep performance under control Available from lxplus, TN consoles, SWAN, users machines Reduce prerequisites to the minimum

5 PyTimber example More examples…

6 PyTimber developments
Developed as an “open source” model… contributions welcome! Hosted on GitHub: Work started on “helper classes” for commonly used data processing Example for LHC BSRT:

7 PyJapc Python script PyJapc Access to accelerator devices requires communication via CMW (RDA+RBAC) Bindings in C++/Java Desire for Python support for rapid development and scripting of MDs  PyJapc developed

8 PyJapc simple example Setup: Get a parameter: Set a parameter: Get again: Documentation: Examples:

9 LHC Transverse Damper Diagnostics (Matt Mician)
Booster Diagnostics (Simon Albright) BBQ Viewer (Tom Levens)

10 cmmnbuild-dep-manager
PyTimber & PyJapc use JPype for access to Java classes Requires management of Java dependencies (.JAR files) CO provide CommonBuild CBNG for this task  wrapper in Python New version 2.0 migrates to CBNG (using web service for resolution) Please upgrade if you have a local Python installation: pip install cmmnbuild-dep-manager --upgrade --no-deps

11 Conclusion Various tools have been developed in the past for access to accelerator data from Python  now trying to combine efforts PyJapc and PyTimber are now (reasonably) stable Developed with an open source model – we welcome patches and more developers! Please join MD Scripting Tools community and get involved:


Download ppt "Python Tools for Control System Access"

Similar presentations


Ads by Google