Paper |
Title |
Page |
TUPV035 |
Continuous Integration for PLC-based Control System Development |
478 |
|
- B. Schofield, E. Blanco Viñuela, J.H.P.D.C. Borrego
CERN, Geneva, Switzerland
|
|
|
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.
|
|
DOI • |
reference for this paper
※ https://doi.org/10.18429/JACoW-ICALEPCS2021-TUPV035
|
|
About • |
Received ※ 08 October 2021 Accepted ※ 20 November 2021
Issue date ※ 25 December 2021 |
|
Cite • |
reference for this paper using
※ BibTeX,
※ LaTeX,
※ Text/Word,
※ RIS,
※ EndNote (xml)
|
|
|