Transcript
Page 1: FEC...- 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)

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

Top Related