Author: Fernandes, R.N.
Paper Title Page
TUPHA046 PLC Factory: Automating Routine Tasks in Large-Scale PLC Software Development 495
 
  • G. Ulm, F. Bellorini, D.P. Brodrick, R.N. Fernandes, N. Levchenko, D.P. Piso
    ESS, Lund, Sweden
 
  The European Spallation Source ERIC (ESS) in Lund, Sweden, is building large-scale infrastructure that is projected to include hundreds of programmable logic controllers (PLCs). Given the future large-scale deployment of PLCs at ESS, we therefore explored ways of automating some of the tasks associated with PLC programming. We designed and implemented PLC Factory, which is an application written in Python that facilitates large-scale PLC development. With PLC Factory, we managed to automate repetitive tasks associated with PLC programming and interfacing PLCs with an EPICS database. A key part of PLC Factory is its embedded domain-specific programming language PLCF#, which makes it possible to define dynamic substitutions. Using a database for configuration management, PLC Factory is able to generate both EPICS database records as well as code blocks in Structured Control Language (SCL) for the Siemens product TIA Portal. Hierarchies of devices of arbitrary depth are taken into account, which means that dependencies of devices are correctly resolved. PLC Factory is in active use at ESS.  
poster icon Poster TUPHA046 [0.185 MB]  
DOI • reference for this paper ※ https://doi.org/10.18429/JACoW-ICALEPCS2017-TUPHA046  
Export • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)  
 
TUPHA156 Controls Configuration Database at ESS 775
 
  • R.N. Fernandes, S.R. Gysin, S. Regnell
    ESS, Lund, Sweden
  • S. Sah, M. Vitorovic
    Cosylab, Ljubljana, Slovenia
  • V. Vuppala
    FRIB, East Lansing, USA
 
  At the European Spallation Source (ESS), thousands of (physical and logical) devices will be in production and execute a wide range of functions to enable both the machine and end-station instruments to perform as expected from a controls point of view. Typical examples of such devices are racks, power supplies, motors, pumps, PLCs and IOCs. To properly manage the information of devices in an integrated fashion and at the same time allow external applications (consuming this information) to perform well, an application called Controls Configuration Database (CCDB) was developed at ESS. The present paper introduces this application, describes its features, architecture and technology stack, data concepts, interfaces, and ecosystem; finally, it enumerates development directions that could be pursued to further improve it.  
DOI • reference for this paper ※ https://doi.org/10.18429/JACoW-ICALEPCS2017-TUPHA156  
Export • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)