fec...- apache maven - java 1.7, python 2.6 - oracle instant client 11 - 8 virtual machines with 2...
TRANSCRIPT
The solution allowed to produce and to successfully deploy control software in all sectors of the cryogenics systems of the LHC tunnel and also to implement all requested last-minute changes.
Until now two sectors are being cooled down while others are operational, in recommissioning phase.
Continuous Integration practice, including automated builds and tests, is used successfully in software engineering since many years. Discussed developments, experiences and results of applying this approach to improve process of producing control system software for cryogenics in the LHC tunnel proved that the methodology can be equally useful in the field of industrial automation. It allows significantly optimize development process and (with help of hardware simulation devices) raise quality of the software produced for large-scale control systems.
Conclusions
Improved software production for the LHC tunnel cryogenics control system Czeslaw Fluder1, Tomasz Wolak2, Adam Drozd2, Michal Dudek1, Francesco Frassinelli 3, Marco Pezzetti1, Antonio Tovar-Gonzalez1, Marcin Zapolski2 1. CERN, CH-1211 Geneva 23, Switzerland 2. AGH UST, 30 Mickiewicza Av, 30-059 Krakow, Poland 3. Politecnico di Milano, Piazza Leonardo da Vinci 32, 20133 Milan, Italy
Presented at the 25th International Cryogenic Engineering Conference & International Cryogenic Materials Conference 2014 Technology Department, CERN, 1211 Genève 23, Switzerland
The software development for the control system of the cryogenics in the LHC is partially automatized. However, every single modification requires a sequence of consecutive and interdependent tasks to be executed manually by software developers. A large number of control system consolidations and evolution of used IT technologies lead to reviewing the software production methodology. As a result, an open-source continuous integration server has been employed integrating all development tasks, tools and technologies in a predefined time and event triggers. This paper describes the main improvements that have been made to fully automate the process of software production and achieved results
Abstract
Soft
war
e d
eve
lop
me
nt
pro
cess
Dev
elo
pm
en
t p
roce
ss w
ith
C
on
tin
uo
us
Inte
grat
ion
se
rvic
e
The architecture of Continuous Integration system for control system software development.
Superconducting magnets at 1.9 K
Cryogenics in the LHC tunnel
Superconducting cavities at 4.5 K Electrical Distribution Feed Boxes at 4 K
The control system
The architecture of one sector [3.3 km]
Generate control system
configuration
Control system object specification
The LHC Layout DB
PLC Hardware configuration
Data validation Data validation rules
Source code generation
Control system object specification verified
Code templates
Database for SCADA
Source code for PLC
Database import Build PLC project
SCADA Project PLC Project
Deployment
Control system deployed in testing environment
Testing
Release and deployment in production environment
15 min
40 min
10 min
20 min
30 min
Static components (UCPC and CRG)
1h
many h
Execute job
Results andbuild artifacts
The LHC Layout DB
Build servers SLC6 (Linux)
Continuous Integration service CRG (Jenkins)
Version control
Update
Commit
Execute job
Pull
Hardware configuration dataControl system
configuration data
Pull
Get results or artifacts
Build servers Microsoft Windows
Pull
Issue tracking, code reviews
Check systemresponse
Set conditions,(Deploy)
Test system
Deploy
- Generate hardware conf. - Check data consistency - Generate source code
- Generate object specification - Build PLC project - (Deploy) - Test
- UNICOS CPC6 UAB 1.6.0 - Apache Maven - Java 1.7, Python 2.6 - Oracle Instant Client 11 - 8 virtual machines with 2 or 4 job slots (24 in total)
- Siemens SIMATIC Step7 V5.5 - s7cli (cmd-line for SIMATIC) - Oracle Instant client 11 - UNICOS simulation and testing framework - Cygwin, Python 2.6 - 8 virtual machines with 1 job slot (SIMATIC limitations)
Continuous integration service
Jenkins
Result and artifact
Data consistency check
Result andartifact
Execute
Source code generation
ExecuteResult and
artifact Build PLC project
Execute
Result andartifact
Testing
ExecuteResult
Result
Version control (GIT)
The LHC Layout DB
Correct / update
Exec job,Get report
Pull
Commit
Control system configuration
generation
Execute
SCADA database importation and
deployment
Execute
FEC
WCC OA
WCC OA
PLC
SCADA
CIET
PLC
FEC