WESH4 —  Speakers’ Corner   (09-Oct-19   18:00—19:45)
Chair: S. Nemesure, BNL, Upton, New York, USA
Paper Title Page
caproto: An EPICS Channel Access Interface in Pure Python  
WEPHA084   use link to see paper's listing under its alternate paper code  
  • K.R. Lauer
    SLAC, Menlo Park, California, USA
  • D.B. Allan, T.A. Caswell
    BNL, Upton, New York, USA
  Funding: This work was performed in support of the LCLS project at SLAC supported by the U.S. Department of Energy, Office of Science, Office of Basic Energy Sciences, under Contract No. DE-AC02-76SF00515.
Caproto is a complete, pure-Python EPICS Channel Access protocol implementation. Caproto provides a toolkit for building Python programs that communicate via EPICS Channel Access, with a reusable core that handles tracking of client/server state and all serialization with a "sans-I/O" architecture. Several client and server implementations built on that core are also provided, along with a continuously growing suite of examples. Caproto is intended as a friendly entry-point to EPICS, allowing beginners with a bit of Python experience to spin up Channel Access servers (IOCs) in a matter of minutes.
WESH4002 A PyDM User Interface for an LCLS Simulator -1
WEPHA055   use link to see paper's listing under its alternate paper code  
  • M.L. Gibbs, W.S. Colocho, A. Osman, J. Shtalenkova, H.H. Slepicka
    SLAC, Menlo Park, California, USA
  PyDM (Python Display Manager) is a framework for building control system user interfaces. A user interface for the LCLS (Linac Coherent Light Source) simulator has been built in PyDM. The simulator interface gives a realistic experience of operating many parts of the LCLS accelerator, and can be used for training new accelerator operators on routine tasks. This interface also provides a good demonstration of the experience of using PyDM in a real-world environment.  
WESH4003 Continuous Integration for PLC-based Control Systems -1
WEPHA140   use link to see paper's listing under its alternate paper code  
  • B. Schofield, E. Blanco Viñuela
    CERN, Geneva, Switzerland
  • J.H.P.D.C. Borrego
    IPFN - IST, Bobadela, Portugal
  Continuous integration is widespread in software development, but a number of factors have thus far limited its use in PLC (Programmable Logic Controller) application development. A key requirement of continuous integration is that build and test stages must be automated. Automation of the build stage can be difficult for PLC developers, as building is typically performed with proprietary engineering tools. This has been solved by developing command line utilities which use the APIs of these tools. Another issue is that the program must be deployed to a real target (PLC) in order to test, something that is typically easier to do in other types of software development, where virtual environments may easily be used. This is solved by expanding the command line utilities to allow fully automated deployment of the PLC program. Finally, testing the PLC program presents its own challenges, as it is typically undesirable to alter the program in order to implement the tests natively in the PLC. This is avoided by using an industry standard protocol (OPC UA) to access PLC variables for testing purposes, allowing tests to be performed on an unaltered program.