1 / 14

PYDM: A Python Alternative to EDM

PYDM is a Python-based display manager that provides a flexible and customizable solution for controlling and displaying data in scientific and control systems. This alternative to EDM offers improved support for image handling, color displays, window management, and higher-level application design. With a large development community and existing Python interfaces for IOC applications, PYDM is a powerful tool for creating dynamic and user-friendly displays.

rego
Télécharger la présentation

PYDM: A Python Alternative to EDM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. September 22nd, 2016 PYDM A Python Alternative to EDM Teddy Rendahltrendahl@slac.stanford.edu LCLS Controls & Data Systems Division

  2. Motivation for a new Display Manager • Development Issues • Support for image handling is poor • Unnecessary strain on network • No color displays • Basic client side functionality is non-existent • Higher level application design is time consuming • Hard to customize style • Widget positioning is absolute • User Issues • Window management is difficult • Flexibility between different resolution monitors

  3. Why Python? Python is the most commonly used language among controls , data acquisition/analysis and scientific groups Willing to trade a small amount of performance to leverage a larger development community Python interfaces are already ubiquitous for IOC applications and tools

  4. A Fork in the Road Existing solutions for getting EPICS information in both caQtDM and EPICSQt No choice has Python capabilities Python bindings can be created using SIP for C++ Widgets Automatic conversion scripts in caQtDM • Over 5000 EDM files to convert

  5. Maintenance

  6. Strength in Flexibility Needs to support a dynamic experimental environment Applications can be created in a WYSIWYG editor The option to create screens programmatically Provide a unified Widget set for the existing higher level applications Generate screens procedurally

  7. PYDM Widgets must be source agnostic Contains a flexible plugin based system • Allows for information from data aquisition, Python services, EPICS, and EPICS Archiver Plugins are relatively simple to code • 100 to 200 lines of code Browser-like setup for better Window Management

  8. How it Works Uses pyca for Channel Access • C with Python Interface Utilizes Qt’s signals/slots framework Different data sources with unique interfaces transmit information using a generic ‘PyDM Channel’ • Protocol is selected with a URL like structure • ca:// • arch:// • py://

  9. Current Infrastructure

  10. Future Infrastructure

  11. Deployments : Camera Viewer Already in use for EPICS image displays Monitors dead time to disable forgotten windows Was created before cameras were merged into areaDetector Improvements • Work directly with areaDetector plugins • Include motion for camera zoom and focus

  12. Deployments : Network Switch • Easy to embed other Applications • Information that can be accessible through V4 in the future • Not necessary to create IOC • Created command line interface along with UI • minimal code required • Dynamically created, no changes to source code necessary

  13. Future Developments Limitations need to be quantified • How fast? • How many? Use SIP to introduce caQtDm Widgets Create a flexible camera viewing screen that works directly with areaDetector Begin converting existing screens

  14. Acknowledgements Matt Gibbs Alisha Babbit Zachary Lentz AmedeoPerazzo Dan Flath Alex Wallace Dan Damiani

More Related