The Joint Accelerator Conferences Website (JACoW) is an international collaboration that publishes the proceedings of accelerator conferences held around the world.
TY - CONF AU - Ulm, G. AU - Bellorini, F. AU - Brodrick, D.P. AU - Fernandes, R.N. AU - Levchenko, N. AU - Piso, D.P. ED - Schaa, Volker RW ED - Costa, Isidre ED - Fernández, David ED - Matilla, Ãscar TI - PLC Factory: Automating Routine Tasks in Large-Scale PLC Software Development J2 - Proc. of ICALEPCS2017, Barcelona, Spain, 8-13 October 2017 C1 - Barcelona, Spain T2 - International Conference on Accelerator and Large Experimental Control Systems T3 - 16 LA - english AB - 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. PB - JACoW CP - Geneva, Switzerland SP - 495 EP - 500 KW - ion KW - PLC KW - factory KW - controls KW - EPICS DA - 2018/01 PY - 2018 SN - 978-3-95450-193-9 DO - 10.18429/JACoW-ICALEPCS2017-TUPHA046 UR - http://jacow.org/icalepcs2017/papers/tupha046.pdf ER -