Cargando…

Continuous Integration for PLC-based Control Systems

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 sta...

Descripción completa

Detalles Bibliográficos
Autores principales: Schofield, Brad, Blanco Viñuela, Enrique, Borrego, João
Lenguaje:eng
Publicado: 2020
Materias:
Acceso en línea:https://dx.doi.org/10.18429/JACoW-ICALEPCS2019-WESH4003
http://cds.cern.ch/record/2778545
Descripción
Sumario: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.