JACoW is a publisher in Geneva, Switzerland that publishes the proceedings of accelerator conferences held around the world by an international collaboration of editors.
TY - CONF AU - Schofield, B. AU - Blanco Viñuela, E. AU - Borrego, J.H.P.D.C. ED - Furukawa, Kazuro ED - Yan, Yingbing ED - Leng, Yongbin ED - Chen, Zhichu ED - Schaa, Volker R.W. TI - Continuous Integration for PLC-based Control System Development J2 - Proc. of ICALEPCS2021, Shanghai, China, 14-22 October 2021 CY - Shanghai, China T2 - International Conference on Accelerator and Large Experimental Physics Control Systems T3 - 18 LA - english AB - Continuous Integration and Continuous Deployment (CI/CD) is a software engineering methodology which emphasises frequent, small changes committed to a version control system, which are verified by a suite of automatic tests, and which may be deployed to different environments. While CI/CD is well established in software engineering, it is not yet widely used in the development of industrial controls systems. However, the advantages of using CI/CD for such systems are clear. In this paper we describe a complete CI/CD pipeline able to automatically build Siemens PLC projects from sources, download the program to a PLC, and run a sequence of tests which interact with the PLC via both a Simulation Unit Profibus simulator and an OPC UA interface provided by Simatic NET. To achieve this, a gRPC service wrapping the Simatic API was used to provide an interface to the PLC project from the pipeline. In addition, a Python wrapper was created for the Simulation Unit API, as well as for the OPC UA interface, which allowed the test suite to be implemented in Python. A particle accelerator interlock system based on Siemens S7-300 PLCs has been taken as a use case to demonstrate the concept. PB - JACoW Publishing CP - Geneva, Switzerland SP - 478 EP - 483 KW - PLC KW - controls KW - interface KW - SCADA KW - hardware DA - 2022/03 PY - 2022 SN - 2226-0358 SN - 978-3-95450-221-9 DO - doi:10.18429/JACoW-ICALEPCS2021-TUPV035 UR - https://jacow.org/icalepcs2021/papers/tupv035.pdf ER -